版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计 算 机 网 络计 算 机 网 络第5章 运输层第 5 章 运 输 层本章的主要内容本章的主要内容: :5.1 5.1 运输层协议概述运输层协议概述5.2 5.2 用户数据报协议用户数据报协议 UDPUDP5.3 5.3 传输控制协议传输控制协议 TCP TCP 概述概述5.4 5.4 可靠传输的工作原理可靠传输的工作原理5.5 TCP 5.5 TCP 报文段的首部格式报文段的首部格式5.6 TCP 5.6 TCP 可靠传输的实现可靠传输的实现5.7 TCP5.7 TCP的流量控制的流量控制5.8 TCP 5.8 TCP 的拥塞控制的拥塞控制5.9 TCP 5.9 TCP 的运输连接管理的运
2、输连接管理5.1.15.1.1远程远程主机间主机间进程的通信(功能需求)进程的通信(功能需求)5.1 5.1 运输层协议概述运输层协议概述n创建创建设备间设备间端端( (进程进程) )到到端端( (进程进程) )的的逻辑通信通道逻辑通信通道 允许允许一台设备上同时运行多个一台设备上同时运行多个网络通信网络通信进程进程/ /应用程序应用程序n为为主机间应用进程的通信主机间应用进程的通信提供提供端到端端到端传输传输/ /传送服务传送服务 可以可以确保进程确保进程/ /应用程序间数据可靠、有序地传送应用程序间数据可靠、有序地传送5 54 43 32 21 1运输层提供应用进程运输层提供应用进程间的逻
3、辑间的逻辑通信通信通道通道应用进程应用进程应用进程应用进程IP IP 层层APAP1 1APAP2 2APAP4 4端口端口端口端口5 54 43 32 21 1APAP3 3传输传输服务:服务:可以为不同传输需求的应用提供不同的传输服务可以为不同传输需求的应用提供不同的传输服务n 面向连接面向连接/ /无连接的服务无连接的服务n 带确认带确认/ /无确认的服务无确认的服务n 将异样网络服务隐藏在一组同样传输服务下将异样网络服务隐藏在一组同样传输服务下n 为应用层保障传输服务质量为应用层保障传输服务质量运输层运输层的主要功能:的主要功能:不同传输层协议针对传输需求包含不同不同传输层协议针对传输
4、需求包含不同的规则及其功能的规则及其功能n 编址与寻址编址与寻址( (标识标识) )进程进程n ( (进程间进程间) ) 创建创建( (会话会话) )连接连接n ( (进程间进程间) )数据分段数据分段/ /重组重组n ( (进程间进程间) )连接状态检测和控制连接状态检测和控制n ( (进程间进程间) )传输传输差错检测和控制差错检测和控制n ( (进程间进程间) )流量检测和控制流量检测和控制n 网络拥塞控制网络拥塞控制传输服务传输服务& &运输层的主要功能运输层的主要功能:传输层传输层网络层网络层链路层链路层物理层物理层应用层应用层主机相主机相关层关层网络相网络相关层关层
5、内容无内容无关传输关传输内容相内容相关传输关传输跟跟踪踪会会话话不同的应用对数据有不同的传输要求 需要开发/选择不同的传输层协议5.1.2 5.1.2 两个主要运输层协议两个主要运输层协议 TCP/IPTCP/IP体系中的运输层设有两个不同的协议:体系中的运输层设有两个不同的协议:(1)UDP (1)UDP 用户数据报协议基本属性:用户数据报协议基本属性:n提供提供无连接无确认服务无连接无确认服务, ,非非可靠可靠逻辑通信通道逻辑通信通道。n采用尽力方式传送,提供低开销数据传输。采用尽力方式传送,提供低开销数据传输。n数据单元称数据单元称UDPUDP报文报文或或用户数据报用户数据报. .(2)
6、TCP(2)TCP传输控制协议基本属性传输控制协议基本属性: :n提供提供面向连接和确认服务面向连接和确认服务, , 可靠可靠逻辑通信通道逻辑通信通道 跟踪已发送的数据跟踪已发送的数据 确认已接收的数据确认已接收的数据 重新传输未确认的数据重新传输未确认的数据 原序处理原序处理 流量控制。流量控制。n传送的数据单元称传送的数据单元称TCPTCP报文段报文段。TCPUDPIP应用层与各种网络接口5.1.3 5.1.3 运输层的端口运输层的端口协议端口号协议端口号: :传输层地址。对传输层地址。对TCP/IPTCP/IP体系中应用进程的标识。体系中应用进程的标识。 公认端口号公认端口号:数值范围:
7、数值范围0 10230 1023。 注册端口号注册端口号:数值范围:数值范围1024 1024 4915149151,必须在,必须在IANA IANA 注册,以防重复。注册,以防重复。 客户端口号客户端口号:数值范围:数值范围49152 49152 6553565535,留给客户进,留给客户进 程选择暂时使用。程选择暂时使用。应用进程应用进程 应用层应用层传输层传输层网络层网络层网络实体网络实体传输实体传输实体传输地址(传输地址(进程地址)进程地址)网络地址网络地址(主机地址)(主机地址)主机主机A A(用户)(用户)传输层传输层/ /网络层接口网络层接口应用层应用层/ /传输层接口传输层接口
8、应用进程应用进程 网络实体网络实体传输实体传输实体主机主机B B(服务器)(服务器)TPDUTPDU逻辑通信通逻辑通信通道道端口(端口(TSAPTSAP)互联网编号指派机构 (IANA) 负责分配端口号进程寻址:源端口与目的端口进程寻址:源端口与目的端口5.2 5.2 用户数据报协议用户数据报协议UDPUDP5.2.1 UDP5.2.1 UDP概述概述 UDPUDP在在IPIP的数据报服务之上增加进程标识(即端口号)的数据报服务之上增加进程标识(即端口号)和差错检测的功能。和差错检测的功能。 UDP UDP 的主要特点的主要特点nUDPUDP是无连接的是无连接的,不维护连接。,不维护连接。nU
9、DPUDP使用尽最大努力交付使用尽最大努力交付。nUDPUDP是面向报文的是面向报文的,既不合并,也不拆分上下层报文。,既不合并,也不拆分上下层报文。n没有序列号,不关注信息传输的次序。没有序列号,不关注信息传输的次序。n没有拥塞控制。没有拥塞控制。 nUDPUDP的首部开销小,只有的首部开销小,只有8 8个字节。个字节。n一种简单设计,所需开销较低,数据传输速度较快。一种简单设计,所需开销较低,数据传输速度较快。 5.2.2 UDP5.2.2 UDP的首部格式的首部格式伪首部伪首部源端口源端口目的端口目的端口长长 度度检验和检验和数数 据据首首 部部UDPUDP长度长度源源 IP IP 地址
10、地址目的目的 IP IP 地址地址0 01717IP IP 数据报数据报4 44 41 11 12 212122 22 22 22 2字节字节数数 据据首首 部部UDP UDP 用户数据报用户数据报 用户数据报用户数据报UDPUDP有两个字段:数据字段和首部字段。有两个字段:数据字段和首部字段。首部字段有首部字段有8 8个字节,由个字节,由4 4个字段组成,每个字段都是两个个字段组成,每个字段都是两个字节。字节。 5.2.2 UDP5.2.2 UDP的首部格式的首部格式伪首部伪首部源端口源端口目的端口目的端口UDPUDP长度长度检验和检验和数数 据据首首 部部UDPUDP长度长度源源IPIP地
11、址地址目的目的IPIP地址地址0 01717IP IP 数据报数据报4 44 41 11 12 212122 22 22 22 2字节字节发送在前发送在前数数 据据首首 部部UDP UDP 用户数据报用户数据报5.2.2 UDP5.2.2 UDP的首部格式的首部格式 在计算检验和时,临时把在计算检验和时,临时把“伪首部伪首部”和和UDPUDP用户数据报用户数据报连接在一起。伪首部仅仅是为了计算检验和。连接在一起。伪首部仅仅是为了计算检验和。伪首部伪首部源端口源端口目的端口目的端口长长 度度检验和检验和数数 据据首首 部部UDPUDP长长源源IPIP地址地址目的目的IPIP地址地址0 01717
12、IPIP数据报数据报4 44 41 11 12 212122 22 22 22 2字字节节发送在前发送在前数数 据据首首 部部UDP UDP 用户数据报用户数据报UDPUDP复用复用和和分用(解复用)分用(解复用)是基于端口的是基于端口的IP IP UDP UDP 数据报到达数据报到达端口端口2 2端口端口3 3端口端口1 1UDPUDP复用和解复用复用和解复用UDPUDP的复用和分用的复用和分用UDP UDP 数据报出发数据报出发5.3.1 TCP5.3.1 TCP最主要的特点最主要的特点5.3 5.3 传输控制协议传输控制协议TCPTCP概述概述n 面向连接的运输层协议面向连接的运输层协议
13、 n 每一条每一条TCPTCP连接只能有两个端点连接只能有两个端点n 提供面向字节流提供面向字节流的的全双工通信全双工通信n 提供可靠交付服务提供可靠交付服务 监控乱序、差错、重复、丢失监控乱序、差错、重复、丢失 确认(重传)确认(重传) 超时重传超时重传 端到端流量控制端到端流量控制 端到端拥塞控制端到端拥塞控制5.3.2 TCP 5.3.2 TCP 的连接的连接创建套接字创建套接字n一条一条TCPTCP连接有两个连接有两个端点端点。nTCPTCP的每个连接的每个连接端点端点叫做叫做套接字套接字(socket)(socket)或插口或插口。 socket = (IPsocket = (IP地
14、址地址: :端口号端口号) )n一条一条TCPTCP连接连接即通信的两个端点即通信的两个端点( (或两个套接字或两个套接字) )的关联。的关联。 TCP TCP 连接连接 := socket1, socket2 := socket1, socket2 := (IP1:Port1), (IP2:Port2) := (IP1:Port1), (IP2:Port2)nTCPTCP连接是运输层实现连接是运输层实现可靠通信可靠通信的基础。的基础。TCPTCP的套接字原语的套接字原语原语原语功能含义功能含义SOCKET创建一个新的通信端点创建一个新的通信端点BIND将一个本地地址关联到一个套接字上将一个本
15、地地址关联到一个套接字上LISTEN宣布愿意接受连接,并给出队列大小等宣布愿意接受连接,并给出队列大小等ACCEPT阻塞调用方,直到有连接到来阻塞调用方,直到有连接到来CONNECT主动地尝试建立一个连接主动地尝试建立一个连接SEND在指定的连接上发送数据在指定的连接上发送数据RECV从指定的连接上接收数据从指定的连接上接收数据CLOSE释放指定的连接释放指定的连接TCPTCP面向字节面向字节流流的通信的通信n以以字节字节为单位。即:对应用层报文无长度限制。为单位。即:对应用层报文无长度限制。n依据接收窗口值、网络拥塞状况等控制依据接收窗口值、网络拥塞状况等控制报文段字节数报文段字节数长度。长
16、度。n可把大数据块划短传送,也可等待积累有足够多的字节后再可把大数据块划短传送,也可等待积累有足够多的字节后再构成报文段发送出去构成报文段发送出去。 7 7 6 68 8H H 发送发送TCPTCP报文段报文段发送方发送方接收方接收方把字节写入把字节写入发送缓存发送缓存从接收缓存从接收缓存读取字节读取字节应用进程应用进程应用进程应用进程1 12 23 30 01818 171716161515 14141919202021214 45 5131312121111 H H1010 9 9 H H加上加上TCPTCP首部首部构成构成TCPTCP报文段报文段TCPTCPTCPTCP字字节节流流字字节
17、节流流H H 表示表示 TCP TCP 报文段的首部报文段的首部TCP TCP 连接连接x表示序号为表示序号为 x 的数据字节的数据字节5.4 5.4 可靠传输的工作原理可靠传输的工作原理5.4.1 5.4.1 停止等待协议停止等待协议(a) (a) 无差错情况无差错情况A发送发送M M1 1确认确认M M1 1B发送发送M M2 2发送发送M M3 3确认确认M M2 2确认确认M M3 3A发送发送M M1 1B超时重传超时重传M M1 1发送发送M M2 2确认确认M M1 1丢弃有差错丢弃有差错的报文的报文(b) (b) 有差错超时重传有差错超时重传t tt tt tt tn一种确认和
18、重传机制一种确认和重传机制: :实现可靠通信的协议技术。实现可靠通信的协议技术。n称为支持重传的肯定确认机制(称为支持重传的肯定确认机制(PARPAR)n或称自动重传请求或称自动重传请求(ARQ): (ARQ): 发送方无需接收方请求的出错分发送方无需接收方请求的出错分组重传组重传5.4.1 5.4.1 停止等待协议停止等待协议- -续续确认丢失和确认迟到确认丢失和确认迟到A发送发送M M1 1B超时超时重传重传M M1 1发送发送M M2 2丢弃重复的丢弃重复的M M1 1重传确认重传确认M M1 1(a) (a) 确认丢失确认丢失确认确认M M1 1A发送发送M M1 1B超时超时重传重传
19、M M1 1发送发送M M2 2丢弃重复的丢弃重复的M M1 1重传确认重传确认M M1 1(b) (b) 确认迟到确认迟到确认确认M M1 1收下迟到收下迟到的确认的确认但什么也不做但什么也不做t tt tt tt t5.4.1 5.4.1 停止等待协议停止等待协议停止等待协议简单,但信道利用率太低。停止等待协议简单,但信道利用率太低。T TD DRTTRTTA AT TD D + RTT + + RTT + T TA AB B分组分组确认确认t tt t分组分组确认确认ADDTTTURTT信道利用率信道利用率RTTRTT:往返时间:往返时间( (信道空闲时间信道空闲时间) )T TD D:
20、 A A发送数据分组的时间发送数据分组的时间T TA A: B B发送确认分组的时间发送确认分组的时间对停止等待协议的改进:对停止等待协议的改进:n发送方可连续发送多个分组,不必每发完一个分组就停顿发送方可连续发送多个分组,不必每发完一个分组就停顿下来等待对方的确认。下来等待对方的确认。n由于信道上一直有数据不间断地传送,这种传输方式可获由于信道上一直有数据不间断地传送,这种传输方式可获得较高的信道利用率。得较高的信道利用率。 流水线传输流水线传输B分组分组ttAACKACKn对应使用连续对应使用连续ARQARQ协议和滑动窗口机制协议和滑动窗口机制滑动窗口协议滑动窗口协议5.4.2 5.4.2
21、 连续连续ARQARQ协议协议1 12 23 34 45 56 67 78 89 9101011111212(a)(a)发送方维持发送窗口发送方维持发送窗口( (允许发送的或发送了还未被确认的分组序号)允许发送的或发送了还未被确认的分组序号)( (c c) ) 收到一个确认后发送窗口向前滑动收到一个确认后发送窗口向前滑动向前向前1 12 23 34 45 56 67 78 89 9101011111212发送窗口发送窗口 尺度尺度=5=5发送窗口发送窗口 尺度尺度=5=5( (b b) ) 收到一个分组后,发确认分组,窗口向前滑动收到一个分组后,发确认分组,窗口向前滑动向前向前1 12 23
22、34 45 56 67 78 89 9101011111212接收窗口接收窗口 尺度尺度=5=5例:例:停止等待停止等待ARQARQ,窗口尺度,窗口尺度=1=10 01 12 23 34 45 56 67 7初始状态初始状态无无待待发送数据发送数据发送方发送方接收方接收方1 12 23 34 45 56 67 70 01 12 23 34 45 56 67 70 01 12 23 34 45 56 67 71 12 23 34 45 56 67 71 12 23 34 45 56 67 70 00 00 0第一分组接收后等第一分组接收后等待第二序号分组待第二序号分组1 12 23 34 45
23、56 67 70 00 01 12 23 34 45 56 67 7第一确认接收后第一确认接收后窗口滑动(差错窗口滑动(差错/ /流量控制)机制流量控制)机制初始状态:初始状态:等待第一序号分组等待第一序号分组第一分组发送后第一分组发送后连续连续ARQ-ARQ-回退回退N N重传重传n发送方重传首个超时或发送方重传首个超时或否定确认(否定确认(NAK)分组后的所分组后的所有已发分组。有已发分组。n接收方可累积确认。即对按序到达的最后一个有效分接收方可累积确认。即对按序到达的最后一个有效分组发送确认。组发送确认。错误错误连续连续ARQ-ARQ-选择重传选择重传n发送方仅重传发送方仅重传否定确认(
24、否定确认(NAK)分组。分组。n接收方可累积确认,即对按序到达的最后一个有效分组发接收方可累积确认,即对按序到达的最后一个有效分组发送确认。送确认。错误错误TCP 可靠通信可靠通信(确认重传机制)的具体实现确认重传机制)的具体实现n TCP TCP连接的每一端设有两个窗口:连接的每一端设有两个窗口: 发送窗口发送窗口 接收窗口接收窗口n TCPTCP对对字节字节进行进行序号序号控制控制n TCPTCP的的确认基于序号确认基于序号n TCPTCP两端的四个窗口可动态变化。两端的四个窗口可动态变化。n TCPTCP连接的往返时间连接的往返时间 RTT RTT 不是固定不变的。需要使不是固定不变的。
25、需要使 用特定的算法估算较为合理的重传时间。用特定的算法估算较为合理的重传时间。5.5 TCP5.5 TCP报文段的首部格式报文段的首部格式TCPTCP首部首部2020字节的字节的固定首部固定首部目的端口目的端口数据数据偏移偏移检检 验验 和和选选 项项 (长(长 度可变)度可变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留F FI IN N32 32 位位S SY YN NR RS ST TP PS SH HA AC CK KU UR RG G填填 充充TCPTCP数据部分数据部分TCPTCP首部首部TCPTCP报文段报文段IPIP数据部分数据部分IP
26、IP首部首部发送在前发送在前位位 0 8 16 24 31 0 8 16 24 31 TCPTCP首部首部2020字节的字节的固定首部固定首部目的端口目的端口数据数据偏移偏移检检 验验 和和选选 项项 (长(长 度可变)度可变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留F FI IN N32 32 位位S SY YN NR RS ST TP PS SH HA AC CK KU UR RG G填填 充充位位 0 8 16 24 31 0 8 16 24 31 源端口和目的端口字段源端口和目的端口字段n2 2字节。字节。n运输层地址运输层地址( (运输层服
27、务接口运输层服务接口TSAP)TSAP),标识进程。,标识进程。n支持运输层的复用和分用功能。支持运输层的复用和分用功能。TCPTCP首部首部2020字节的字节的固定首部固定首部目的端口目的端口数据数据偏移偏移检检 验验 和和选选 项项 (长(长 度可变)度可变)源源 端端 口口序号序号 (120120)紧紧 急急 指指 针针窗窗 口口确认号确认号 501501保保 留留F FI IN NS SY YN NR RS ST TP PS SH HA AC CK KU UR RG G填填 充充位位 0 8 16 24 31 0 8 16 24 31 序号字段:序号字段:4 4字节。字节。TCPTCP
28、为数据流中的每一个字节编号。序号为数据流中的每一个字节编号。序号字段的值指字段的值指示示本报文段数据的第一个字节的序号。本报文段数据的第一个字节的序号。确认号字段确认号字段: : 4 4字节,字节,TCPTCP将期望收到的下一个报文段数据的将期望收到的下一个报文段数据的第一个字节的序号,作为确认信息。第一个字节的序号,作为确认信息。序号字段和确认号字段序号字段和确认号字段TCPTCP数据部分数据部分TCPTCP首部首部120120121121500500TCPTCP数据部分数据部分TCPTCP首部首部占占4 4位位, ,指示指示TCPTCP报文段的数据字段起始字节距离报文段的数据字段起始字节距
29、离TCPTCP首部起点的偏移。或首部长度首部起点的偏移。或首部长度(4(4字节为计算单位字节为计算单位) )数据偏移(即首部长度)数据偏移(即首部长度)TCPTCP首部首部2020字节的字节的固定首部固定首部目的端口目的端口5 5检检 验验 和和源源 端端 口口序号序号 (120120)紧紧 急急 指指 针针窗窗 口口确认号确认号 501501保保 留留F FI IN NS SY YN NR RS ST TP PS SH HA AC CK KU UR RG G位位 0 8 16 24 31 0 8 16 24 31 TCPTCP数据部分数据部分TCPTCP首部首部120120121121500
30、5005 5 保留字段保留字段: : 占占6 6位,保留今后使用,但目前应置为位,保留今后使用,但目前应置为0 0。 紧急紧急URG:URG: URG URG 1,1,表明紧急指针字段有效。告诉系统此报表明紧急指针字段有效。告诉系统此报文段中有紧急数据文段中有紧急数据, ,应尽快应尽快传送传送( (相当于高优先级的数据相当于高优先级的数据) )。 确认确认 ACK:ACK: 只有当只有当ACK ACK 1 1时确认号字段才有效。时确认号字段才有效。 推送推送(Push):(Push): 收到收到PSH = 1 PSH = 1 的报文段,应尽快地的报文段,应尽快地交付交付接接收应用进程收应用进程
31、, ,不必等到整个缓存都填满了后再向上交付。不必等到整个缓存都填满了后再向上交付。 复位复位(Reset):(Reset): 当当RST RST 1 1 时,表明时,表明TCPTCP连接中出现严连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。然后再重新建立运输连接。 5.5 TCP5.5 TCP报文段的首部格式报文段的首部格式TCPTCP首部首部目的端口目的端口检检 验验 和和源源 端端 口口序号序号 (120120)紧紧 急急 指指 针针窗窗 口口确认号确认号 501501保保 留留F FI IN NS
32、SY YN NR RS ST TP PS SH HA AC CK KU UR RG G数据数据偏移偏移同步同步SYN:SYN: SYN=1, SYN=1,表示这是一个连接请求或连接接受报文。表示这是一个连接请求或连接接受报文。 终止终止(FINis(FINis):): FIN FIN 1,1,表明此报文段的发送端的数据已发送表明此报文段的发送端的数据已发送完毕,并要求释放运输连接完毕,并要求释放运输连接。 窗口字段窗口字段: : 占占2 2字节字节, ,是对方设置发送窗口的依据是对方设置发送窗口的依据, ,单位为字节。单位为字节。检验和检验和: : 占占2 2字节。检验和字段检验的范围包括首部
33、和数据字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在这两部分。在计算检验和时,要在TCPTCP报文段的前面加上报文段的前面加上1212字节的伪首部字节的伪首部. .5.5 TCP5.5 TCP报文段的首部格式报文段的首部格式TCPTCP首部首部目的端口目的端口检检 验验 和和源源 端端 口口序号序号 (120120)紧紧 急急 指指 针针窗窗 口口确认号确认号 501501保保 留留F FI IN NS SY YN NR RS ST TP PS SH HA AC CK KU UR RG G数据数据偏移偏移紧急指针字段紧急指针字段: : 占占1616位,指出在本报文段中紧
34、急数据共位,指出在本报文段中紧急数据共有多少个字节(紧急数据放在本报文段数据的最前面)。有多少个字节(紧急数据放在本报文段数据的最前面)。选项字段选项字段: : 长度可变,最长为长度可变,最长为4040字节。字节。例:例:最大报文段长度最大报文段长度MSSMSS。MSSMSS告诉对方告诉对方TCP:“TCP:“我的缓存所我的缓存所能接收的报文段的能接收的报文段的数据字段数据字段的最大长度是的最大长度是MSS MSS 个字节。个字节。” ” 填充字段填充字段: : 这是为了使整个首部长度是这是为了使整个首部长度是4 4字节的整数倍。字节的整数倍。 5.5 TCP5.5 TCP报文段的首部格式报文
35、段的首部格式TCPTCP首部首部2020字节的字节的固定首部固定首部目的端口目的端口数据数据偏移偏移检检 验验 和和选选 项项 (长(长 度可变)度可变)源源 端端 口口序序 号号紧紧 急急 指指 针针窗窗 口口确确 认认 号号保保 留留F FI IN N32 32 位位S SY YN NR RS ST TP PS SH HA AC CK KU UR RG G填填 充充位位 0 8 16 24 31 0 8 16 24 31 5.6.1 5.6.1 以字节为单位的滑动窗口以字节为单位的滑动窗口-窗口机制窗口机制5.6 TCP5.6 TCP可靠传输的实现可靠传输的实现图示图示: :根据根据B B
36、给出的给出的( (接收接收) )窗口值窗口值,A,A设置自己的发送窗口。设置自己的发送窗口。 前移前移不允许发送不允许发送已发送并已发送并收到确认收到确认A 的发送窗口的发送窗口 = 20允许发送的序号允许发送的序号2626 2727 2828 2929 3030 3131 3232 3333 3434 3535 3636 3737 3838 3939 4040 4141 4242 4343 4444 4545 4646 4747 4848 4949 5050 5151 5252 5353 5454 5555 5656B期望期望收到的序号收到的序号前沿前沿后沿后沿前移前移不允许发送不允许发送已
37、发送并已发送并收到确认收到确认A 的发送窗口位置不变的发送窗口位置不变允许发送但尚未发送允许发送但尚未发送26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55已发送但未收到确认已发送但未收到确认56P1P2P3不允许接收不允许接收已发送确认已发送确认并交付主机并交付主机B 的接收窗口的接收窗口允许接收允许接收26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 5
38、3 54 55 56未按序收到未按序收到可用窗口可用窗口5.6.15.6.1以字节为单位的滑动窗口以字节为单位的滑动窗口5.6.1 5.6.1 以字节为单位的滑动窗口以字节为单位的滑动窗口 A A收到新的确认号,发送窗口向前滑动收到新的确认号,发送窗口向前滑动 允许发送但尚未发送A 的发送窗口向前滑动262728293031323334353637383940414243444546474849505152535455已发送并收到确认不允许发送已发送但未收到确认56P1P2P3允许接收B 的接收窗口向前滑动26272829303132333435363738394041424344454647
39、4849505152535455已发送确认并交付主机不允许接收56未按序收到先存下,等待缺少的数据的到达5.6.1 5.6.1 以字节为单位的滑动窗口以字节为单位的滑动窗口 A A的发送窗口内的序号都已用完,但还没有再的发送窗口内的序号都已用完,但还没有再收到确认,必须停止发送。收到确认,必须停止发送。不允许不允许发送发送已发送并收到确认已发送并收到确认A 的发送窗口已满,有效窗口为零的发送窗口已满,有效窗口为零26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55已发送
40、但未收到确认已发送但未收到确认56P1P2P3发送缓存发送缓存最后被确认的字节发送应用程序写缓存发送缓存最后发送的字节发送窗口TCP序号增大5.6.1 5.6.1 以字节为单位的滑动窗口以字节为单位的滑动窗口发送缓存:发送缓存:用来暂时存放发送应用程序传送给发送方用来暂时存放发送应用程序传送给发送方TCPTCP准备发送的数据;准备发送的数据;TCPTCP已发送出但尚未收到确认的数据已发送出但尚未收到确认的数据5.6.1 5.6.1 以字节为单位的滑动窗口以字节为单位的滑动窗口接收缓存接收缓存接收应用程序读缓存已收到接收窗口TCP接收缓存下一个读取的字节序号增大下一个期望收到的字节(确认号)接收
41、缓存:接收缓存:用来暂时存放按序到达的、但尚未被接收用来暂时存放按序到达的、但尚未被接收应用程序读取的数据;或不按序到达的数据。应用程序读取的数据;或不按序到达的数据。5.6.2 5.6.2 超时重传时间(定时器之一)的选择超时重传时间(定时器之一)的选择TCPTCP最关键和最复杂的问题之一最关键和最复杂的问题之一, ,分析:分析:时间运输层:延迟具有较高的随机性运输层:延迟具有较高的随机性(动态性动态性)T1TT3往返时间的概率分布子网子网链路链路传输层环境传输层环境:多路径多路径,TCPTCP连接连接的往返时间(的往返时间(RTTRTT)不稳定。)不稳定。链路层环境链路层环境:点到点:点到
42、点链接链接, ,链路连链路连接的往返时间接的往返时间(RTT)(RTT)相对稳定。相对稳定。链路层:延迟具有较高的预测性超时间隔大,吞吐量下降超时间隔大,吞吐量下降超时间隔小,产生过多的不必重发超时间隔小,产生过多的不必重发5.6.2 5.6.2 超时重传时间的选择超时重传时间的选择 解决方案:采用高度解决方案:采用高度动态动态的的自适应自适应算法,即根据对网算法,即根据对网络性能的连续测量,不断地调整超时重传时间间隔。络性能的连续测量,不断地调整超时重传时间间隔。1.1.计算:计算:RTTRTT 方法:方法:加权平均往返时间加权平均往返时间RTTSRTTS。首次测量到首次测量到RTTRTT的
43、样的样 本就为本就为RTTSRTTS值。每测量到一新的值。每测量到一新的 RTT RTT 样本,样本, 按下式重新计算按下式重新计算RTTSRTTS的平滑值的平滑值 : RTTSRTTS (1(1 ) ) 旧旧RTTSRTTS新新RTTRTT样本样本 = =旧旧RTTSRTTS( (新新RTTRTT样本样本- -旧旧RTTS)RTTS) 或或 = 1= 1 ,有:,有: RTTSRTTS 旧旧RTTSRTTS (1-1- ) 新新RTTRTT样本样本 其中其中 为平滑因子为平滑因子 0 01 1。可见:。可见: 若若 很接近于零,很接近于零, 则则RTTSRTTS调节幅度小。调节幅度小。 若选
44、择若选择 接近于接近于1 1,则,则RTTSRTTS调节幅度大。调节幅度大。 参数:参数:推荐的推荐的 值为值为1/8(1/8(即即0.125)0.125)。保持一定的平滑。保持一定的平滑。 2. 2.计算:计算:超时重传时间超时重传时间(RetransmissionTime-Out,(RetransmissionTime-Out,RTORTO) ) 方法:方法:RTO RTO 应略大于加权平均往返时间应略大于加权平均往返时间 RTTSRTTS。 (1)(1)计算计算RTTRTT期望值与观察值之期望值与观察值之偏差偏差: RTTSRTTS 新新RTT RTT 样本样本 (2) (2)随后随后,
45、 ,使用下式计算使用下式计算偏差偏差值的平滑值值的平滑值RTTDRTTD: 新新RTTD =(1RTTD =(1) ) ( (旧旧RTTD) RTTD) + +RTTSRTTS 新新RTT RTT 样本样本 RTTDRTTD 是是 RTTRTT偏差偏差的加权平均值的加权平均值。 首次测量时,首次测量时,RTTD RTTD 值取值取RTT/2RTT/2 (3)(3)最后计算最后计算RTORTO RTO RTO RTTS + RTTS + 4 4 RTTD RTTD 可见:可见: 若若 很接近于零,很接近于零, 则新偏差值调节作用小。则新偏差值调节作用小。 若选择若选择 接近于接近于1 1,则新偏
46、差值调节作用大。,则新偏差值调节作用大。 参数参数: 可用资源可用资源网络产生拥塞网络产生拥塞, ,网络网络吞吐量吞吐量将随输入负荷的增大而下降。将随输入负荷的增大而下降。n拥塞拥塞因过载而发生,又因网络异构性而加重。因过载而发生,又因网络异构性而加重。 拥塞控制与流量控制的关系拥塞控制与流量控制的关系: :n流量控制仅流量控制仅是发送端和接收端之间的点对点通信量的控制是发送端和接收端之间的点对点通信量的控制问题,是一种避免接收方资源过载的问题,是一种避免接收方资源过载的端到端端到端的控制机制。的控制机制。n 拥塞控制拥塞控制是一个全局性(无论是发送方还是接收方都没是一个全局性(无论是发送方还
47、是接收方都没有有“瓶颈瓶颈”在何处以及瓶颈带宽是多少的准确信息)的问在何处以及瓶颈带宽是多少的准确信息)的问题,是一种避免网络资源过载的题,是一种避免网络资源过载的端到端端到端的控制机制。的控制机制。 端到端的拥塞控制致力于解决的问题端到端的拥塞控制致力于解决的问题n当丢包表明拥塞发生时,发送方该如何回应?当丢包表明拥塞发生时,发送方该如何回应? n在任一时刻,发送方如何确定一个数据流的可能容量在任一时刻,发送方如何确定一个数据流的可能容量5.8.1 5.8.1 拥塞控制的一般原理拥塞控制的一般原理拥塞控制所起的作用拥塞控制所起的作用提供的负载提供的负载吞吐量吞吐量理想的拥塞控制理想的拥塞控制
48、实际的拥塞控制实际的拥塞控制0死锁(吞吐量死锁(吞吐量 = 0)无拥塞控制无拥塞控制严重拥塞严重拥塞轻度拥塞轻度拥塞网络的最大吞吐量网络的最大吞吐量拥塞开始拥塞开始5.8.1 5.8.1 拥塞控制的一般原理拥塞控制的一般原理 控制方案控制方案 开环控制开环控制: :就是在设计网络时就是在设计网络时事先事先将发生拥塞的因将发生拥塞的因素考虑周到素考虑周到, ,力求网络在工作时不产生力求网络在工作时不产生( (避免避免) )拥塞。拥塞。 闭环控制闭环控制: :基于反馈信息的控制基于反馈信息的控制, ,需要:需要: 监测网络系统以便检测到拥塞在何时、何处发生。监测网络系统以便检测到拥塞在何时、何处发
49、生。将拥塞发生的信息传送到可采取行动的地方。将拥塞发生的信息传送到可采取行动的地方。调整网络系统的运行以解决出现的问题。调整网络系统的运行以解决出现的问题。5.8.2 5.8.2 几种拥塞控制方法几种拥塞控制方法 拥塞控制结合了几种技术来避免网络中链路和路拥塞控制结合了几种技术来避免网络中链路和路由器的过载由器的过载 (1) (1) 拥塞窗口和慢开始算法拥塞窗口和慢开始算法 拥塞窗口拥塞窗口(cwnd(cwnd) ):发送方维持的一个状态变量。发送方用发送方维持的一个状态变量。发送方用此窗口来确定任意时刻它可以在网络中有多少个未应答的数此窗口来确定任意时刻它可以在网络中有多少个未应答的数据包,
50、据包, cwndcwnd由发送方跟踪网络拥塞程度动态自动调节大小。由发送方跟踪网络拥塞程度动态自动调节大小。 慢开始算法:慢开始算法: 开始发送报文段时可设置拥塞窗口开始发送报文段时可设置拥塞窗口 cwndcwnd = 1 = 1(MSSMSS) 每收到一新的报文段的确认后每收到一新的报文段的确认后, ,将拥塞窗口加将拥塞窗口加1 1(MSSMSS) 。 5.8.2 5.8.2 几种拥塞控制方法几种拥塞控制方法 慢开始算法举例慢开始算法举例发送方发送方接收方接收方发送发送M M1 1 确认确认M M1 1发送发送M M2 2- M- M3 3确认确认M M2 2 - - M M3 3 发送发送
51、M M4 4 - - M M7 7 确认确认M M4 4 - - M M7 7 cwndcwnd= 1 = 1 cwndcwnd= 2 = 2 cwndcwnd=4 =4 发送发送M M8 8 - - M M1515cwndcwnd= 8 = 8 t tt t轮次轮次1 1轮次轮次2 2轮次轮次3 35.8.2 5.8.2 几种拥塞控制方法几种拥塞控制方法 慢开始门限状态变量慢开始门限状态变量ssthreshssthresh 慢开始门限的用法如下:慢开始门限的用法如下: 当当 cwnd ssthreshcwnd ssthreshcwnd ssthresh 时,停止使用慢开始算法时,停止使用慢开
52、始算法而改用拥塞避免算法。而改用拥塞避免算法。 当当 cwnd = ssthreshcwnd = ssthresh 时,既可使用慢开始算法,时,既可使用慢开始算法,也可使用拥塞避免算法。也可使用拥塞避免算法。 22221616“乘法减乘法减小小”2 24 46 68 81010121214141616181820200 00 04 48 8121220202424拥塞窗口拥塞窗口 cwndcwnd新的新的ssthreshssthresh值值网络拥塞网络拥塞指数规律增长指数规律增长ssthreshssthresh的初始值的初始值慢开始慢开始慢开始慢开始慢开始慢开始拥塞避免拥塞避免“加法增大加法增
53、大”拥塞避免拥塞避免“加法增大加法增大”传输轮次传输轮次 慢开始门限状态变量的设置方法慢开始门限状态变量的设置方法: : 当网络出现拥塞时(根据是没有按时收到确认),就当网络出现拥塞时(根据是没有按时收到确认),就要把慢开始门限要把慢开始门限 ssthreshssthresh 设置为出现拥塞时的发送方设置为出现拥塞时的发送方窗口值的一半(但不能小于窗口值的一半(但不能小于2 2)。)。 把拥塞窗口把拥塞窗口cwndcwnd重新设置为重新设置为1,1,执行慢开始算法。执行慢开始算法。5.8.2 5.8.2 几种拥塞控制方法几种拥塞控制方法22221616“乘法减乘法减小小”2 24 46 68
54、81010121214141616181820200 00 04 48 8121220202424拥塞窗口拥塞窗口 cwndcwnd新的新的ssthreshssthresh值值网络拥塞网络拥塞指数规律增长指数规律增长ssthreshssthresh的初始值的初始值慢开始慢开始慢开始慢开始慢开始慢开始拥塞避免拥塞避免“加法增大加法增大”拥塞避免拥塞避免“加法增大加法增大”传输轮次传输轮次 (2 2)快恢复算法)快恢复算法 当发送端收到连续三个重复的确认时,就执行当发送端收到连续三个重复的确认时,就执行“乘乘法减小法减小”算法,把慢开始门限算法,把慢开始门限 ssthreshssthresh 减半
55、。但接下减半。但接下去去不执行慢开始算法。不执行慢开始算法。 由于发送方现在认为网络很可能由于发送方现在认为网络很可能没有发生拥塞没有发生拥塞,因,因此现在不执行慢开始算法,即拥塞窗口此现在不执行慢开始算法,即拥塞窗口 cwndcwnd 现在不设现在不设置为置为 1 1,而是设置为慢开始门限,而是设置为慢开始门限 ssthreshssthresh 减半后的数减半后的数值,然后开始执行拥塞避免算法(值,然后开始执行拥塞避免算法(“加法增大加法增大”),使),使拥塞窗口缓慢地线性增大。拥塞窗口缓慢地线性增大。 5.8.2 5.8.2 几种拥塞控制方法几种拥塞控制方法 一种基于路由器的拥塞避免机制,
56、一种队列管理算法一种基于路由器的拥塞避免机制,一种队列管理算法 TCPTCP报文段的传输超时,大都是由于路由器转发慢或缓冲区爆报文段的传输超时,大都是由于路由器转发慢或缓冲区爆满时造成的。当发送方出现超时后,就进入慢开始状态。当网满时造成的。当发送方出现超时后,就进入慢开始状态。当网络中有多个络中有多个TCPTCP连接进入慢开始状态时,网络的通信量将会突连接进入慢开始状态时,网络的通信量将会突然下降很多,这些现象称为全局同步问题。可以采用随机早检然下降很多,这些现象称为全局同步问题。可以采用随机早检测测(RED)(RED)方法避免全局同步的出现。方法避免全局同步的出现。 RED RED 将路由
57、器的到达队列划分成为三个区域将路由器的到达队列划分成为三个区域从队首发送最小门限 THmin最大门限 THmin分组到达平均队列长度 Lav排队丢弃以概率 p 丢弃5.8.3 5.8.3 随机早检测随机早检测(RED)(RED) 丢弃概率丢弃概率 p p 与与 THminTHmin 和和 ThmaxThmax 的关系的关系 当当 L LAV AV ThminThmin 时,丢弃概率时,丢弃概率 p p = 0 = 0。 当当 L LAV AV ThmaxThmax 时,丢弃概率时,丢弃概率 p p = 1 = 1。 当当 THminTHmin L LAV AV THmax THmax时,时,
58、0 0 p p 1 1。 例如,按线性规律变化,从例如,按线性规律变化,从 0 0 变到变到 p p maxmax最小门限最小门限THTHminmin最大门限最大门限THTHmaxmax平均队列长度平均队列长度L Lavav分组丢弃概率分组丢弃概率p p1.01.00 0p pmaxmax。5.8.3 5.8.3 随机早检测随机早检测(RED)(RED) 瞬时队列长度和平均队列长度的区别瞬时队列长度和平均队列长度的区别 路由器中的队列长度经常会很快出现变化,如果丢弃概路由器中的队列长度经常会很快出现变化,如果丢弃概率按瞬时队列长度来计算,就可能出现一些不合理的现象。率按瞬时队列长度来计算,就可
59、能出现一些不合理的现象。为此,为此,REDRED采用了加权平均原理计算平均队列的长度。具体采用了加权平均原理计算平均队列的长度。具体计算方法见书计算方法见书P214.P214.队列长度队列长度时间时间瞬时队列长度瞬时队列长度平均队列长度平均队列长度5.8.3 5.8.3 随机早检测随机早检测(RED)(RED)5-9 TCP5-9 TCP的运输连接管理的运输连接管理 客户服务器方式客户服务器方式TCP TCP 连接的建立都是采用客户服务器方连接的建立都是采用客户服务器方式。主动发起连接建立的应用进程叫做客户式。主动发起连接建立的应用进程叫做客户(client)(client)。被动等待连接建立
60、的应用进程叫做服务器被动等待连接建立的应用进程叫做服务器(server)(server)。 (1) (1) 运输连接的三个阶段运输连接的三个阶段 运输连接需要连接建立、数据传送和连接释放三个阶段。运输连接需要连接建立、数据传送和连接释放三个阶段。运输连接的管理就是使连接的建立和释放都能正常地进行。运输连接的管理就是使连接的建立和释放都能正常地进行。 连接建立过程中要解决以下三个问题:连接建立过程中要解决以下三个问题: 要使每一方能够确知对方的存在。要使每一方能够确知对方的存在。 要允许双方协商一些参数(如最大报文段长度,最要允许双方协商一些参数(如最大报文段长度,最大窗口大小,服务质量等)。大窗口大小,服务质
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030全球植物生长室和房间行业调研及趋势分析报告
- 2025版个人店面租赁合同(含违约责任细化)
- 2025年度租赁车辆合同解除及终止合同样本3篇
- 二零二五年度雏鸡养殖基地与冷链物流企业服务合同4篇
- 二零二五年度车辆租赁合同标准版7篇
- 2025年度商业中心打印机设备共享及售后服务协议3篇
- 二零二五年度车辆挂靠汽车租赁公司合作协议3篇
- 二零二五年度铝扣板智能家居系统安装协议3篇
- 2025年度房地产工程合同支付台账(含合同变更与解除条款)
- 二零二五年度车辆牌照租用与车辆交易咨询服务协议4篇
- 项目工地春节放假安排及安全措施
- 印染厂安全培训课件
- 红色主题研学课程设计
- 胸外科手术围手术期处理
- 装置自动控制的先进性说明
- 《企业管理课件:团队管理知识点详解PPT》
- 移动商务内容运营(吴洪贵)任务二 软文的写作
- 英语词汇教学中落实英语学科核心素养
- 《插画设计》课程标准
- 高中英语名词性从句讲解
- 尤单抗注射液说明书
评论
0/150
提交评论