计算机网络第11章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
11.3.1 TCP的编号与确认 的编号与确认
1. 数据流、报文段和编号 数据流、 数据流: 无结构的字节序列,数据流按字节编号。 数据流 无结构的字节序列,数据流按字节编号。 报文段, 段(segment) : 报文段 数据流划分为若干个不定长 的段, 封装到一个IP数据报中传输 数据报中传输。 的段 封装到一个 数据报中传输。 序号: 为单位的32位 序号 32位;基于时钟方案,1µs为单位的 位 位 基于时钟方案, 为单位的 时钟,循环一周4000s﹥TTL 120s,不重号。 时钟,循环一周 ﹥ ,不重号。 初始序号建立连接时商定;不由0/1开始 开始, 初始序号建立连接时商定;不由 开始,随机 选取。 选取。
11.3.2 滑动窗口与流量控制(续3) 滑动窗口与流量控制( )
糊涂窗口综合症避免策略: 糊涂窗口综合症避免策略: • 收方 通告窗口后,等到缓冲区可用空间达 收方0 通告窗口后, 到缓冲区总空间一半或最大报文段长度 最大报文段长度MSS 到缓冲区总空间一半或最大报文段长度 (Maximum Segment Size)后再更新通告窗口。 )后再更新通告窗口。 • 另一种:推迟确认。 另一种:推迟确认。 发方:Nagle算法, 确认到达前,TCP暂存后 发方: 算法, 确认到达前, 暂存后 算法 续的字节不发送,收方确认触发新的发送; 续的字节不发送,收方确认触发新的发送;数 据达到MSS时,立即发送一个报文段。 据达到 时 立即发送一个报文段。
图11.6 TCP 可变 窗口 流量 控制 示例
11.3.2 滑动窗口与流量控制(续2) 滑动窗口与流量控制( )
3.糊涂窗口综合症( Silly Window Syndrome) .糊涂窗口综合症( ) 及其对策 * 收方 收方TCP在应用程序从接收缓冲区取走多少数 在应用程序从接收缓冲区取走多少数 据后更新通告窗口?发送端TCP是不是当应用 据后更新通告窗口?发送端 是不是当应用 程序送来数据后就马上发送? 程序送来数据后就马上发送? * 发方应用程序工作速率远高于收方,收方确 发方应用程序工作速率远高于收方, 认会通告小的窗口,传输小的报文段; 反之, 认会通告小的窗口,传输小的报文段; 反之, 发方TCP 每次发送小的报文段;极端情况下会 每次发送小的报文段; 发方 传输仅包含1个字节数据的报文段 效率低。 个字节数据的报文段, 传输仅包含 个字节数据的报文段,效率低。
11.2.3 UDP的多路复用和多路分解 的多路复用和多路分解
UDP软件与多个应用程序之间的多路复用和多 软件与多个应用程序之间的多路复用和多 路分解是通过端口机制实现的。 路分解是通过端口机制实现的。
图11.4 UDP多路复用 多路复用
11.3 传输控制协议 传输控制协议TCP
* 使用IP提供面向连接 使用IP提供面向连接 的可靠的传输服务; 的可靠的传输服务; * 可靠性控制 可靠性控制: 面向连接, 超时重传, 面向连接, 超时重传, 流量控制, 拥塞控制。 流量控制, 拥塞控制。
2. 累积确认 累积确认(cumulative acknowledgement) * 收方确认已正确收到的积累的字节序列,确 收方确认已正确收到的积累的字节序列, 认序号为该序列的最高序号加1。 认序号为该序列的最高序号加 。 * 推迟确认:推迟一段时间(200ms)确认。推 推迟确认:推迟一段时间( )确认。 迟期间有新的数据到达, 迟期间有新的数据到达,对新老数据只发一个 确认。推迟期间收方若有发给发方的数据, 确认。推迟期间收方若有发给发方的数据,数 据捎带确认 (piggybacking)。 )。 * 对于中间有的序号未收到(或有差错)而前后 对于中间有的序号未收到(或有差错) 都正确收到的情况, 使用回退 确认机制 都正确收到的情况,TCP使用回退 确认机制 使用回退-N确认机制, 后来又引入负确认NAK机制。 机制。 后来又引入负确认 机制
0
UDP 源 端 口 UDP 长度 8 ~ 65535字节 ) 长度( 字节 数 据
16
UDP 目 的 端 口 UDP 校 验 和
31
11.2.2 UDP伪报头 伪报头(pseudo header) 伪报头
• 校验时与 校验时与UDP用户数据报组合在一起,补充了目 用户数据报组合在一起, 用户数据报组合在一起 的站和源站IP地址 校验和计算后丢弃,不传送 地址, 不传送; 的站和源站 地址 校验和计算后丢弃 不传送 • 取自 报头。 取自IP报头 报头。
11.3.2 滑动窗口与流量控制
1. 滑动窗口机制 TCP滑动窗口机制:传输效率和流量控制 滑动窗口机制: 滑动窗口机制 图11.5 TCP数据流编号和滑动窗口示意图 数据流编号和滑动窗口示意图
11.3.源自文库 滑动窗口与流量控制(续1) 滑动窗口与流量控制(
2. 可变窗口与流量控制 通告窗口( 通告窗口(advertisement window): 收方根据 ) 接收缓冲区的情况通知发方按此数值调整发送 窗口。 通告值停止连接上的数据流。 窗口。 0 通告值停止连接上的数据流。 坚持定时器( 坚持定时器(persistence timer): 0 通告后的 ) 通告报文丢失,双方互等死锁。 通告后 通告后, 非0 通告报文丢失,双方互等死锁。 0通告后, 发方启动坚持定时器,定时时间到, 发方启动坚持定时器,定时时间到,发探测报 收方响应通告窗口值。 文;收方响应通告窗口值。
图11.7 拥塞控制的一个例子
11.3.4 TCP重传机制 重传机制
重传定时器( 重传定时器(retransmission timer) ) 重传定时时限RTO (Retransmission Time Out) 重传定时时限 1. 返往时间估计与重传定时时限 • 使用自适应重传算法 使用自适应重传算法(adaptive retransmission algorithm)计算 以适应互联网时延的变化。 )计算RTO以适应互联网时延的变化。 以适应互联网时延的变化 • 报文段样本往返时间 报文段样本往返时间RTT( round trip time) 平滑往返时间SRTT( Smoothed Round Trip Time) 平滑往返时间
11.1 传输层端口
• 协议端口 协议端口(protocol port):简称端口,相当于 ) 简称端口, OSI传输层 传输层TSAP,用于与上层应用进程交互。 传输层 ,用于与上层应用进程交互。 • 端口号 端口号(port number):整数,各65536个。 :整数, 个 • 保留端口,周知端口 保留端口,周知端口(well-known port):全局 : 方式统一分配,服务器进程使用, 方式统一分配,服务器进程使用 0~1023, 例: WWW server : 80 。 • 自由端口:本地分配,自由使用,1024~ 65535。 自由端口:本地分配,自由使用, 。 当某一进程与远地的进程通信, 当某一进程与远地的进程通信,首先在本地申请 一个自由端口, 一个自由端口,然后使用周知端口与远地服务器 建立联系,才能开始传输数据。 建立联系,才能开始传输数据。
发送窗口 = Min(通告窗口 拥塞窗口) (通告窗口, 拥塞窗口)
11.3.3. TCP拥塞控制 续2) 拥塞控制(续 拥塞控制
• 拥塞控制4项策略: 拥塞控制4项策略: (1) 慢启动 慢启动(slow start): 拥塞时将慢启动门限(slow start threshold)减 拥塞时将慢启动门限 ) 为发送窗口的一半,并将拥塞窗口降到1个报 为发送窗口的一半,并将拥塞窗口降到 个报 文段长度, 文段长度,收到发出的发送窗口中所有报文段 的确认后, 的确认后,将拥塞窗口加倍 。 (2) 拥塞避免 拥塞避免(congestion avoidance): : 当拥塞窗口加到慢启门限之后,进行加性递增 当拥塞窗口加到慢启门限之后, (additive increase)。 )
11.3.3
TCP拥塞控制(congestion control) 拥塞控制( 拥塞控制 )
1. 引言 • 网络中交换结点(如路由器 超载,造成严重的 如路由器)超载 网络中交换结点 如路由器 超载, 传输时延;若数据报充满缓存,路由器不得 传输时延;若数据报充满缓存, 不丢弃。 不丢弃。 • 拥塞控制手段:源抑制 拥塞控制手段:源抑制(source quench) • 网络层也有一些措施抑制拥塞 : * 路由选择算法:将通信量分散到所有线路; 路由选择算法:将通信量分散到所有线路; * 路由器的分组丢弃策略,生存时间 路由器的分组丢弃策略,生存时间TTL 。 • TCP/IP拥塞控制主要还是由传输层 拥塞控制主要还是由传输层TCP实现。 实现。 拥塞控制主要还是由传输层 实现
11.2 用户数据报协议 用户数据报协议UDP 11.2.1 UDP用户数据报 用户数据报
1.UDP用户数据报的封装 (图11.1) . 用户数据报的封装 ) UDP用户数据报 UDP 报头 用户数据报: 用户数据报 UDP IP数据报 数据报: 数据报
IP报头 报头 IP 数 据 数 据
UDP用户数据报格式: (图11.2) 用户数据报格式: 用户数据报格式 )
11.3.3. TCP拥塞控制 续3) 拥塞控制(续 拥塞控制
(3) 快速重传 快速重传(fast retransmission): 若丢失报文段,收方每收到后续报文段 收方每收到后续报文段, 若丢失报文段 收方每收到后续报文段,立即 发出一个对丢失序号的确认,当收到第3个重 发出一个对丢失序号的确认,当收到第 个重 复的确认后就重发报文段,而不等待重传定 复的确认后就重发报文段, 时器到时。 时器到时。 (4) 快速恢复 快速恢复(fast recovery): 快速重传后不执行慢启动, 快速重传后不执行慢启动,不把拥塞窗口降 到1个报文段长度,而是而是执行拥塞避免。 个报文段长度,而是而是执行拥塞避免。 个报文段长度 • TCP Reno : 快速重传和快速恢复 重传定时超 快速重传和快速恢复; 慢启动和拥塞避免。 时, 慢启动和拥塞避免。
0 8 16 源 站 IP 地 址 目 的 站 IP 地 址 填 充(0) 协 议 UDP 用户数据报长度 31
图11.3 UDP伪报头格式 伪报头格式
• 在UDP/IP协议组合中,UDP校验和是检验数据 协议组合中, 协议组合中 校验和是检验数据 传输正确性的唯一手段,而且还是可选的。 传输正确性的唯一手段,而且还是可选的。
11.3.3. TCP拥塞控制 续1) 拥塞控制(续 拥塞控制 2.拥塞控制 . • 发现拥塞: 发现拥塞: * 报文段重传定时器超时 报文段重传定时器超时; * ICMP源抑制报文 源抑制报文; 源抑制报文 * 重复的确认。 重复的确认。 • 拥塞窗口(congestion window) 拥塞窗口( )
第11章 TCP/IP 传输层 章
• 提供端到端 提供端到端(end to end)的进程间的通信; 的进程间的通信; 的进程间的通信 • 加强底层网络数据传输的服务质量 QoS(Quality of Service)。 。 • 两个并列协议共存于互联网中: 两个并列协议共存于互联网中: *传输控制协议 *传输控制协议TCP(Transport Control Protocol) 传输控制协议TCP(Transport 使用IP提供面向连接的可靠的传输服务。 使用 提供面向连接的可靠的传输服务。 提供面向连接的可靠的传输服务 *用户数据报协议 用户数据报协议UDP(User Datagram Protocol) 用户数据报协议 使用IP提供无连接的不可靠但效率高的传输服 使用 提供无连接的不可靠但效率高的传输服 可靠性可由上层应用程序提供。 务。可靠性可由上层应用程序提供。
11.3.4 TCP重传机制(续1) 重传机制( 重传机制 )
• RTO的自适应算法 : 的自适应算法