传输服务

向上层提供的服务

  • 传输实体:传输层内部,利用网络层提供的服务,向它的用户提供高效、可靠和性价比合理的服务的硬件/软件
  • 传输服务提供者、传输服务用户

信道分配问题

  • LAN与MAN中静态信道分配方案:多用FDM,只能满足少数目拥有繁重任务的用户。
  • LAN与MAN中动态信道分配方案:5个假设:站(终端)模型、单信道假设、冲突假设、持续时间/分槽时间、载波监测/无载波检测。

多路访问协议

ALOHA

  • 纯ALOHA:随时发送,检测到冲突(或未收到确认)则等待随机时间,尝试再次发送
  • 分槽ALOHA:等待下一时槽开始时才发送

载波检测多路访问协议

  • 1-持续CSMA(carrier sense multiple access):持续检测信道,空闲则立即发送,冲突后等待随机时间后,再次检测和发送
  • 非持续的CSMA:检测到信道空闲则发送,信道占用则等待随机的时间后重复算法
  • p-持续CSMA:检测到空闲,p的可能性发送,1-p的可能性延迟到下一时槽,重复该算法
  • 冲突检测的CSMA(CSMA/CD,CSMA with collision detection):传送过程中检测到冲突则立即放弃任务

无冲突的协议

  • 位图协议(一种预留协议,reservation protocol):每个竞争周期包含N个时槽,j号站要发送则在j时槽传送1位(此时槽j号站专有),这是所有站按照此队列进行传送,都结束后开始另一个N位竞争周期。
  • 二进制倒计数(binary countdown)协议:要传送的站以二进制传送自己地址(从高位开始),然后取或运算,如果一个站看到自己的高位被改为1则放弃传送。

有限竞争协议

  • 负载轻时竞争方法更理想;负载重是无冲突协议更好,结合起来形成有限竞争协议(limited-contention protocol)
  • 自适应树搜索协议(深度优先):0号时槽,所有站尝试获得信道;若冲突则1号时槽只有左支可以竞争;直到没有冲突,左支某站获得信道,下一时槽只允许右枝竞争。

波分多路访问协议 WDMA(wavelength division multiple access)

  • 一个固定波长接收器:监听控制信道
  • 一个可调波长发送器:在其他站的控制信道发送信息
  • 一个固定波长发送器:发送数据
  • 一个可调波长接收器:选择监听一个数据发送器

无线LAN协议

  • 隐藏站问题:A检测到B而检测不到C,错误滴认为可以与B通信
  • 暴露站问题:A检测到介质中B与C的通信,错误的认为不能与D通信
  • MACA(multiple access with collision avoidance,避免冲突的多路访问):A给B发送RTS(request to send),B以CTS(clear to send)应答,这两帧均包含数据长度;此时听到RTS和CTS的站保持足够时间的沉默。
  • MACAW(MACA for wireless):引入ACK帧,及时重传。

以太网

以太网电缆

  • 10Base5 粗同轴电缆(粗以太网),使用插入式分接头,在10Mbps上可支持500m
  • 10Base2 细同轴电缆(细以太网),BNC连接器(T型接头),这两种通过时间域反射计检测故障。
  • 10BaseT 双绞线,通过集线器连接
  • 10BaseF 光纤,支持上千米。每一版本的网络都可以通过中继器(repeater)扩大范围。
  • 100BaseT4 3类UTP
  • 100BaseTX 全双工,5类UTP
  • 100BaseFX 全双工,长距离,两根多模光纤
  • 1000Base-SX 多模光纤
  • 1000Base-LX 单模或多模光纤
  • 1000Base-CX 两对STP(shield twisted pair,屏蔽双绞线)
  • 1000Base-T 四对5类UTP

编码

  • 曼彻斯特编码:1(高电压+低电压)、0(低电压+高电压)
  • 差分曼彻斯特编码:间隔起始处没有相变为1,相变为0

太网的性能

  • 二元指数后退法:第i次冲突后,随机等待0~2^i-1个时槽

  • 交换式以太网:核心为交换机,每块插卡构成自己的冲突域

逻辑链路控制子层

  • LLC(logical link control):IEEE 802.2,与MAC构成数据链路层

无线LAN

802.11物理层

  • 红外线:1M和2Mbps
  • FHSS(frequency hopping spread spectrum,调频扩频),使用79个信道,停延时间小于400ms,对多径衰减有很好的抵抗能力
  • DSSS(direct sequence spread spectrum,直接序列扩频):使用巴克序列,每一位需要11个时间片
  • OFDM(orthogonal frequency division multiplexing,正交频分多路复用):802.11a,54Mbps,52个频率
  • HR-DSSS(high rate direct sequence spread spectrum,高速率的直接序列扩频):802.11b,支持1、2、5.5、11Mbps;802.11g为802.11b的增强版本,理论速度为54Mbps。

802.11 MAC子层

  • DCF(distributed coordination function,分布式协调功能),使用CSMA/CA协议,支持两种操作方法
  • 信道监听:空闲则送出整个帧,冲突后采用二元指数后退法计算等待时间
  • 虚拟信道监听:以MACAW为基础,NAV(network allocation vector,网络分配向量)

  • PCF(point coordination function,点协调功能):周期性广播信标帧(调频和停延时间、时钟同步等)
  • PCF与DCF同时运行,4种间隔:
  • SIFS(short interframe spacing,短帧间间隔):允许一个会话中各部分有机会首先被送达
  • PIFS(PCF interframe spacing,PCF帧间间隔):若SIFS后得到授权的站未开始传送,则基站可能广播信标帧或表决帧
  • DIFS(DCF interframe spacing,DCF帧间间隔):若基站未有动作,任一站开始尝试得到信道,冲突采用二元指数后退法
  • EIFS(extended interframe spacing,扩展帧间间隔):收到坏帧和未知帧的站使用这个间隔

服务

  • 分发服务:基站提供
  • 关联:连接到基站
  • 分离:解除与基站的联系
  • 重新关联:改变首选基站
  • 分发:如何路由发送给基站的帧
  • 融合:翻译非802.11网络的帧
  • 站服务:单元内部进行
  • 认证:联系基站,确认新进入的站通过了基站的认证
  • 解除认证:离开网络
  • 私密性:指定使用RC4加密算法
  • 数据投递:参考以太网的模型,不保证可靠性,由上层处理检错和纠错

宽带无线网络

  • 802.16:无线MAN,或无线本地回路,包括数据链路层与物理层
  • 带宽分配:FDD(frequency division duplexing,频分双工制);TDD(time division duplexing,时分双工制)

蓝牙技术 802.15

  • 微微网:蓝牙系统的基本单元。微微网中有一个主节点,可以有7个活动的从节点,255个静观节点。
  • 分散网:一组互相连接的微微网,通过当作桥的从节点连接
  • 应用轮廓:一般访问、服务发现、串行端口、一般的对象交换、LAN访问……
  • 协议栈:物理层(物理无线电、基带)->数据链路层(基带、链路控制)->中间件层(电话、服务发现)->应用程序(应用轮廓)

数据链路层交换

  • 802.x到802.y的网桥:在LLC层进行翻译
  • 本地网络互连:网桥使用扩散算法、逆向学习法
  • 生成树网桥:,采用序列号生成树,低位变为根;解决并行的透明网桥产生的回路
  • 远程网桥:采用PPP协议,将完整的MAC帧放入净荷域
  • 交换设施区别:物理层(转发器、集线器);数据链路层(网桥、交换机);网络层(路由器);传输层(传输网关);应用层(应用网关) *虚拟LAN(VLAN)
  • 通过网桥或交换机的配置表来路由
  • 每个端口分配一个VLAN颜色:VLAN所有机器在统一端口才可以
  • 每个MAC地址分配一个VLAN颜色:从帧中提出MAC地址进行匹配
  • 每个3层协议或IP分配一个VLAN颜色:须检查净荷域
  • IEEE 802.1Q:改变以太网的帧头、可理解VLAN的交换机

传输服务原语

  • LISTEN、CONNECT、SEND、RECEIVE、DISCONNECT
  • TPDU(transport protocol data unit,传输协议数据单元):从传输实体发送到另一个传输实体的消息。

伯克利套接字(berkeley socket)

  • Berkeley UNIX使用的TCP socket原语:SOCKET、BIND、LISTEN、ACCEPT、CONNECT、SEND、RECV、CLOSE

传输协议的要素

编址

  • 为监听连接请求的进程定义相应的传输地址,Internet:端口(port);ATM:AAL-SAP;一般术语:TSAP(transport service access point,传输服务访问点)
  • 同样,网络层的端点称为NSAP(network service access point,网络服务访问点),IP为一个特例。
  • 初始连接协议:采用进程服务器为那些较少使用的服务器提供代理功能(监听一组端口),请求到达时启动相应的服务器,继承与客户的连接。
  • 名字服务器(目录服务器):在特殊硬件运行,不能在用户通话时临时创建

建立连接

  • 分组生存周期:受限制的子网设计、分组设置跳计数器、分组时间戳
  • TPDU编号,相等编号的TPDU不会同时有效,序列号空间应足够大,序列号回绕时同样编号的TPDU都已经消失

释放连接

  • 两军队问题

流控制和缓冲

多路复用

  • 向上多路复用:传输实体将TPDU交给上层指定的进程
  • 向下多路复用:将流量分布到多个网络连接

崩溃恢复

有限状态机描述传输协议

Internet 传输协议-UDP

UDP介绍

  • UDP(User Datagram Protocol,用户数据报协议)数据段由8字节头和净荷域构成。
  • UDP头:源端口、目标端口、UDP长度、UDP校验和

远程过程调用

  • RPC(remote procedure call,远程过程调用):让远程调用像本地过程调用一样,客户程序需要绑定一个小的库过程(客户存根),服务器程序绑定一个服务器存根。
  • 参数包装:列集(marshaling)

实时传输协议

  • RTP(real-time transport protocol,实时传输协议):RFC 1889
  • 用户空间(多媒体应用->RTP)->套接字接口->操作系统内核(UDP->IP->以太网)
  • RTCP(realtime transport control protocol,实时传输控制协议):处理反馈、同步和用户界面等。

Internet 传输协议-TCP

  • TCP(transport control protocol,传输控制协议):在不可靠的互联网络提供一个可靠的端到端字节流。
  • TCP服务模型:16位端口,1024以下为知名端口
  • 守护进程(unix中称inetd,internet daemon):同时关联到多个端口,连接进入时fork出新的进程
  • 紧急数据:URGENT标记
  • TCP数据段(TCP segment);MTU(maximum transfer unit,最大传输单元),以太网通常为1500字节净荷。
  • TCP数据段(包括20字节的头):源端口、目标端口、序列号、确认号、TCP长度、URG、ACK、PSH、PST、SYN、FIN、窗口大小、校验和、紧急指针、可选项、数据
  • TCP连接的建立:SYN(SEQ=x)->SYN(SEQ=y, ACK=x+1)->SYN(SEQ=x+1, ACK=y+1)
  • TCP传输策略:Nagle算法,数据进入发送方后只发送第一字节,其后的字节缓冲起来,直到第一字节被确认为止。
  • TCP拥塞控制:网络容量(拥塞窗口)、接收方容量(接收方准许窗口)、慢启动法、阈值
  • TCP定时器管理:重传定时器、持续定时器(确认超时的探询消息)、保活定时器(一段时间后发送,对方不应答则终止连接)
  • 无线TCP和UDP:间接TCP、同质的网络
  • 事务型TCP:用UDP来实现RPC的高效率,用TCP实现可靠性,T/TCP(transaction TCP,事务型TCP);SCTP(stream control transmission protocol,流控制传输协议)

性能问题

广播风暴、带宽-延迟乘积

网络性能的测量

  • 确保样本空间足够大
  • 确保样本具有代表性
  • 使用粗粒度时钟时要谨慎
  • 确保在测试过程中不会发生不可预知的事情
  • 缓存机制可能会破坏测量的正确性
  • 理解所测量的指标
  • 在往外推广结果时要谨慎

具有更好性能的系统设计

  • CPU速度比网络速度更加重要
  • 减少分组的数量可以减少软件开销
  • 使环境切换的次数减到最少
  • 使复制操作的次数减到最少
  • 可以购买更多的带宽,但无法要求更低的延迟
  • 应该想办法避免拥塞,而不是从拥塞中恢复
  • 避免超时

快速的TPDU处理

  • 分离出正常的发送操作病对它们作特殊处理

针对千兆网络的协议

旧的协议面临的问题

  • 32位序列号:对于1Gbps的以太网,一轮序列号回绕时间为34s,大于internet上最大分组生存周期120s
  • 通信速度的提高比计算速度的提高快得多
  • 如果一条线路的带宽-延迟乘积非常大,则回退n步协议的性能会非常差
  • 千兆位线路本质上不同于1兆位线路,因为长的千兆位线路的主要制约因素是延迟,而不是带宽
  • 对于许多千兆位应用,分组到达时间的偏差与平均延迟本身一样重要

本文采用 知识共享署名 4.0 国际许可协议(CC-BY 4.0)进行许可,转载注明来源即可: https://harttle.land/2014/04/21/computer-network-transport-layer.html。如有疏漏、谬误、侵权请通过评论或 邮件 指出。