传输层之一传输服务与传输连接_第1页
传输层之一传输服务与传输连接_第2页
传输层之一传输服务与传输连接_第3页
传输层之一传输服务与传输连接_第4页
传输层之一传输服务与传输连接_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟1 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟r本讲内容本讲内容可靠数据传输可靠数据传输连接管理连接管理传输控制协议传输控制协议TCP报文格式报文格式TCP传输特性传输特性TCP流量控制流量控制TCP定时器设定定时器设定r基本要求基本要求熟练掌握连接管理熟练掌握连接管理掌握可靠数据传输掌握可靠数据传输熟练掌握熟练掌握TCP协议协议r阅读阅读1 6.1、6.23 3.4.1、3.4.22

2、 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟ABABpacket可靠数据传输可靠数据传输协议(发送)协议(发送)可靠数据传输可靠数据传输协议(接收)协议(接收)packet应用层应用层传输层传输层网络层网络层rdt_send()deliver_data()udt_send()rdt_rcv()3 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟rrdt1.0假设假设底层网络提供可靠底层网络提供可靠数据传输服务数据传输服务接收端有能力及

3、时接收端有能力及时接收数据接收数据r特性特性Data与与packet相同相同无需反馈机制无需反馈机制packet=make_pkt(data)udt_send(packet)rdt_send(data)发送端发送端initialextract (packet, data)deliver_data (data)rdt_rcv (packet)接收端接收端initial4 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟rrdt2.0假设假设报文在传输过程中可能出错报文在传输过程中可能出错报文在传输过程中不会丢失报文在传

4、输过程中不会丢失ACK和和NAK在传输过程中不会出错在传输过程中不会出错r新增三种功能新增三种功能差错检测(软件校验和、硬件循环码差错检测(软件校验和、硬件循环码)接收端反馈(接收端反馈(ACK、NAK)重发机制重发机制isACK(rcvpkt):收到的报文是肯定确认:收到的报文是肯定确认ACKisNAK(rcvpkt):收到的报文是否定确认:收到的报文是否定确认NAKcorrupt(rcvpkt):收到的报文在传输过程中出错:收到的报文在传输过程中出错5 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟发送端发送端

5、udt_send(sndpkt)rdt_rcv(rcvpkt)&isNAK(rcvpkt)sndpkt=make_pkt(data,checksum)udt_send(sndpkt)rdt_send(data)rdt_rcv(rcvpkt)&isACK(rcvpkt)extract (rcvpkt, data)deliver_data (data)sndpkt=make_pkt(ACK)udt_send(sndpkt)rdt_rcv (rcvpkt)&notcorrupt(rcvpkt)接收端接收端rdt_rcv(rcvpkt)&currupt(rcvpkt)s

6、ndpkt=make_pkt(NAK)udt_send(sndpkt)6 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟rrdt2.1假设假设报文在传输过程中可能出错报文在传输过程中可能出错ACK和和NAK也有可能出错也有可能出错ACK和和NAK不会丢失不会丢失isACK(rcvpkt):收到的报文是肯定确认:收到的报文是肯定确认ACKisNAK(rcvpkt):收到的报文是否定确认:收到的报文是否定确认NAKcorrupt(rcvpkt):收到的报文在传输过程中出错:收到的报文在传输过程中出错notcorrupt

7、(rcvpkt):收到的报文无措:收到的报文无措7 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟rdt2.1发送端发送端sndpkt=make_pkt (0,data,checksum)udt_send(sndpkt)rdt_send(data)udt_send(sndpkt)rdt_rcv(rcvpkt)&(corrupt(rcvpkt)|isNAK(rcvpkt)rdt_rcv(rcvpkt)&notcorrupt(rcvpkt&isACK(rcvpkt)sndpkt=make_pkt

8、 (1,data,checksum)udt_send(sndpkt)rdt_send(data)udt_send(sndpkt)rdt_rcv(rcvpkt)&(corrupt(rcvpkt)|isNAK(rcvpkt)rdt_rcv(rcvpkt)&notcorrupt(rcvpkt&isACK(rcvpkt)8 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟rtd2.1接收端接收端sndpkt=make_pkt(ACK,checksum)udt_send(sndpkt)rdt_rcv(r

9、cvpkt)&notcorrupt(rcvpkt)&has_seq0(rcvpkt)rdt_rcv(rcvpkt)&corrupt(rcvpkt)extract(rcvpkt,data)deliver_data(data)Sndpkt=make_pk(ACK, checksum)udt_send(sndpkt)rdt_rcv(rcvpkt)&notcorrupt(rcvpkt)&has_seq0(rcvpkt)sndpkt=make_pkt(NAK,checksum)udt_send(sndpkt)rdt_rcv(rcvpkt)&(corrupt

10、(rcvpkt)extract(rcvpkt,data)deliver_data(data)sndpkt=make_pk(ACK, checksum)udt_send(sndpkt)rdt_rcv(rcvpkt)&notcorrupt(rcvpkt)&has_seq1(rcvpkt)sndpkt=make_pkt(NAK,checksum)udt_send(sndpkt)sndpkt=make_pkt(ACK,checksum)udt_send(andpkt)rdt_rcv(rcvpkt)&notcorrupt(rcvpkt)&has_seq1(rcvpkt)9

11、 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟rrdt2.2假设假设报文在传输过程中可能出错报文在传输过程中可能出错ACK和和NAK传输可能出错传输可能出错ACK和和NAK可能丢失可能丢失isACK(rcvpkt):收到的报文是肯定确认:收到的报文是肯定确认ACKisNAK(rcvpkt):收到的报文是否定确认:收到的报文是否定确认NAKcorrupt(rcvpkt):收到的报文在传输过程中出错:收到的报文在传输过程中出错notcorrupt(rcvpkt):收到的报文无措:收到的报文无措10 http:/ Co

12、pyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟rtd2.2发送端发送端sndpkt=make_pkt (0,data,checksum)udt_send(sndpkt)rdt_send(data)udt_send(sndpkt)rdt_rcv(rcvpkt)&(corrupt(rcvpkt)|isACK(rcvpkt,1)rdt_rcv(rcvpkt)&notcorrupt(rcvpkt&isACK(rcvpkt)sndpkt=make_pkt (1,data,checksum)udt_send(sndpkt

13、)rdt_send(data)udt_send(sndpkt)rdt_rcv(rcvpkt)&(corrupt(rcvpkt)|isNAK(rcvpkt,0)rdt_rcv(rcvpkt)&notcorrupt(rcvpkt&isACK(rcvpkt,1)11 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟rtd2.2接收端接收端udt_send(sndpkt)rdt_rcv(rcvpkt)&(corrupt(rcvpkt)|has_seq0(rcvpkt)extract(rcvpk

14、t,data)deliver_data(data)sndpkt=make_pkt(ACK,0,checksum)udt_send(sndpkt)rdt_rcv(rcvpkt)&notcorrupt(rcvpkt)&has_seq0(rcvpkt)extract(rcvpkt,data)deliver_data(data)sndpkt=make_pkt(ACK,1, checksum)udt_send(sndpkt)rdt_rcv(rcvpkt)&notcorrupt(rcvpkt)&has_seq1(rcvpkt)udt_send(andpkt)rdt_rcv(

15、rcvpkt)&(corrupt(rcvpkt)|has_seq1(rcvpkt)12 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟r增加三类事件增加三类事件上层调用过程:是否成功取决于当前窗口大小上层调用过程:是否成功取决于当前窗口大小收到收到ACK的处理:采用累计确认技术的处理:采用累计确认技术超时事件:重传所有的报文超时事件:重传所有的报文basenext segnum窗口大小窗口大小Ngetacknum():从报文中提取确认号;:从报文中提取确认号;hasseqnum():验证序号是否正确;:验证

16、序号是否正确;start_timer:启动计时器;:启动计时器;stop_timer:停止其时器;:停止其时器;13 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟If(nextseqnumbase+N) sndpktnextseqnum=make_pkt(nextseqnum,data,checksum) udt_send(sndpktnextseqnum) if(base=nextseqnum) start_timer nextseqnum+ else refuse_data(data)rdt_send(dat

17、a)start_timerudt_send(sndpktbase)udt_send(sndpktbase+1)udt_send(sndpktnextseqnum-1)timeoutbase=1nextseqnum=1rdt_rcv(rcvpkt)&corrupt(rcvpkt)base=getacknum(rcvpkt)+1If(base=nextseqnum) stop_timerelse start_timerrdt_rcv(rcvpkt)&notcorrupt(rcvpkt)发送端发送端14 http:/ Copyright 2006 YAN Wei. All right

18、s reserved.北京大学 计算机系 严伟extract(rcvpkt,data)deliver_data(data)sndpktnextseqnum=make_pkt(expectedseqnum,ACK,checksum)udt_send(sndpkt)expectedseqnum+rdt_rcv(rcvpkt) &notcorrupt(rcvpkt) &hasseqnum(rcvpkt,expectedseqnum)expectedseqnum=1sendpkt=make_pkt(0,ACK,checksum)接收端接收端udt_send(sndpkt)defaut1

19、5 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟m每一端确保其他端的存在每一端确保其他端的存在m允许两端协商参数允许两端协商参数m触发传输实体资源的分配触发传输实体资源的分配r传输层连接模式传输层连接模式面向连接面向连接无连接无连接r与网络层虚电路的区别与网络层虚电路的区别网络层的虚电路由每个交换机上的网络层的虚电路由每个交换机上的VC表项维护;表项维护;传输层的连接仅由两个主机上的传输实体维护;传输层的连接仅由两个主机上的传输实体维护;根据服务模根据服务模式分别处理式分别处理16 http:/ Copyrigh

20、t 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟r“二次握手二次握手”发起连接请求的传输实体向另一方发送一个发起连接请求的传输实体向另一方发送一个SYN请求请求;对方传输实体将该请求排入队列,直到对方传输实体将该请求排入队列,直到TS用户用户发出发出Open;传输实体中断或向传输实体中断或向TS用户发信号通知到达一个用户发信号通知到达一个请求被挂起;请求被挂起;17 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟被动打开被动打开Close Close 收到收到SYN收

21、到收到SYN发送发送SYN收到收到FIN收到收到FIN Close发送发送FIN Close 发送发送FIN主动打开主动打开发送发送SYN18 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟r可能发生的错误情况可能发生的错误情况连接发起方的连接发起方的SYN丢失丢失连接接受方的应答连接接受方的应答SYN丢失丢失出现重复出现重复SYN的情况的情况A发起的发起的SYN被延迟被延迟B的响应丢失的响应丢失B的响应被延迟的响应被延迟SYN重传计时器重传计时器延迟或重复数据会延迟或重复数据会影响连接的建立影响连接的建立途径:维

22、护状态信息途径:维护状态信息19 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟关闭连接关闭连接SYNSYNSN0SN1SN2SYNSYNSN0SN1SN2B接受并确认接受并确认A发起连接发起连接A打开新连接打开新连接接受已废段接受已废段SN2因因重复而丢弃合法重复而丢弃合法SN2ABA开始传输开始传输B接受并确认接受并确认A开始传输开始传输20 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟SYN i废废SYN i到达;到达;B响应;

23、响应;SYN kSYN jSN k+1B丢弃重复丢弃重复SYN;因为乱序因为乱序B拒收段拒收段现在两边认为合现在两边认为合法连接已存在法连接已存在解决办法:每一边都显式解决办法:每一边都显式确认对方的确认对方的SYN和序号和序号ABA发起发起SYN;21 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟SYNxSYNy, ACKxSNx, ACKyB接受接受并确认并确认A确认并确认并开始传输开始传输ABA发起连接发起连接B接收接收数据数据一旦连接建好后两个传输一旦连接建好后两个传输实体便可用任何滑动窗口实体便可用任何

24、滑动窗口协议实现流量控制;协议实现流量控制;22 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟SYN xSYN y, ACK xREJECT, ACK y废废SYN到达到达B接受并确认接受并确认A拒绝拒绝B的连接的连接AB23 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟SYN iSYN k, ACK pA发起连接发起连接废废SYN到达到达A拒绝拒绝REJECT, ACK kB接受并确认接受并确认SYN j, ACK iA确认并确认

25、并开始传输开始传输SN i, ACK jAB24 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟r主机崩溃时主机崩溃时所有保持的有关连接状态信息全部失去;所有保持的有关连接状态信息全部失去;重新建立的连接必须采用不受之前报文影响的序号;重新建立的连接必须采用不受之前报文影响的序号;r基于时钟方法基于时钟方法每台机器的始终采用二进制计数器的形式;每台机器的始终采用二进制计数器的形式;连接建立时用时钟的低连接建立时用时钟的低k位作为初始序号;位作为初始序号;r解决方法解决方法确保两个序号相同的报文永远不会同时有效;确保

26、两个序号相同的报文永远不会同时有效;主机恢复后等待主机恢复后等待T秒;秒;限制对序号的使用;限制对序号的使用;25 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟序号序号时间时间崩溃崩溃后用序后用序号号70重启重启T序号不能序号不能进入禁止进入禁止区域区域70t1=30s,创建一个连,创建一个连接并发送数据;接并发送数据;t2=40s,发完序号为,发完序号为80的报文后,宕机;的报文后,宕机;t3=70s,主机恢复建,主机恢复建立新连接,初始序号立新连接,初始序号70;t4=85s,发出序号为,发出序号为80的报文

27、;的报文;t5=某个时刻,序号为某个时刻,序号为80的报文到达目的地可的报文到达目的地可能因重复而被丢弃能因重复而被丢弃一个序号在被一个序号在被使用后使用后T时间时间之内不得再用之内不得再用26 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟2k-1时间时间序序号号TT实际使实际使用序号用序号发送太发送太慢从上慢从上方进入方进入发送太发送太快从下快从下方进入方进入27 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟SYN xSYN y,

28、 ACK xSN x, ACK yB接受并确认接受并确认A确认并确认并开始传输开始传输SN x+1FIN, ACK xB释放连接释放连接数据丢失数据丢失ABA发起连接发起连接?28 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟r非对称方式非对称方式连接的任何一方均可向对方发释放连接请求;连接的任何一方均可向对方发释放连接请求;一旦该请求到达对方连接即告终止;一旦该请求到达对方连接即告终止;r对称方式对称方式释放连接后不能发数据但仍能接收;释放连接后不能发数据但仍能接收;只有在双方均释放连接后连接才算彻底终止;只有

29、在双方均释放连接后连接才算彻底终止;29 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟最后发出信息的蓝军指挥官永远无最后发出信息的蓝军指挥官永远无法确定信息是否安全到达对方。法确定信息是否安全到达对方。蓝军是否蓝军是否存在获胜存在获胜的机会?的机会?30 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟r三次握手方式释放连接三次握手方式释放连接FINA发发FIN启动启动定时器定时器B发发FIN启动启动定时器定时器FIN, ACK释放连接

30、释放连接ACKA发发ACK释放连接释放连接AB31 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟FINA发发FIN启动启动定时器定时器B确认并发确认并发FIN启动启动定时器定时器FIN,ACK释放连接释放连接ACKA发发ACK(超时)(超时)释放连接释放连接AB32 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟FINA发发FIN启动启动定时器定时器B发发FIN启动启动定时器定时器FIN释放连接释放连接ACKA发发ACK释放连接释放连

31、接A重发重发FIN启动启动定时器定时器FINB发发FIN启动启动定时器定时器FINAB33 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟FINA发发FIN启动启动定时器定时器B发发FIN启动启动定时器定时器FIN(N次超时)次超时) 释放连接释放连接(超时)(超时)释放连接释放连接A重发重发FIN启动启动定时器定时器FINAB34 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟rTCP定义了定义了交换数据信息和确认信息的格式;交换数据

32、信息和确认信息的格式;确保数据正确传送的过程;确保数据正确传送的过程;rTCP规定了规定了如何识别给定机器上的多个目的进程;如何识别给定机器上的多个目的进程;如何处理丢失或重复等差错情况;如何处理丢失或重复等差错情况;如何初始化一个数据流传输;如何初始化一个数据流传输;如何协商结束数据流;如何协商结束数据流;35 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟r面向连接的面向连接的只在两个端系统上保持连接状态;只在两个端系统上保持连接状态;不同于不同于TDM/FDM;不同于虚电路;不同于虚电路;r连接是全双工的连接

33、是全双工的可同时双向传送数据;可同时双向传送数据;r连接是点连接是点-点的点的只能一对一通信(不支持一对多通信)只能一对一通信(不支持一对多通信)r有缓冲的发送有缓冲的发送r无结构的数据流无结构的数据流36 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟D(512B)C(512B)B(512B)A(512B)A(512B)B(512B)C(512B)D(512B)CD(1024B)AB(1024B)ABCD(2048B)?socketsocketTCPsendbufferTCPreceivebuffer端端-端之间

34、不保留消息边界;端之间不保留消息边界;应用程序通过应用程序通过socket发送的数据被缓存在发送的数据被缓存在send buffer中,何时从本地发出取决于具体的中,何时从本地发出取决于具体的TCP实现;实现;37 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟Data (optional)URGACKPSHRSTSYNFINunusedHeaderlengthReceive windowUrgent data pointer ChecksumOptions (0 or more words)Acknowledge

35、ment numberDest. Port#Source port#Sequence numberTCP报文固定报文固定头长头长20字节字节38 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟rSource/Dest. Port# (16b)用于多路复用和分用用于多路复用和分用rSequence number/ack. Number (32b)用于可靠的数据传送用于可靠的数据传送rHeader length (4b)TCP头以头以32位字计的长度位字计的长度TCP头的长度可变头的长度可变rReceive windo

36、w (16b)用于流量控制;指出接收端愿意接收的字节数;用于流量控制;指出接收端愿意接收的字节数;rChecksum (16b)rUrgent data pointer(16b)指向指向urgent数据的最后一个字节数据的最后一个字节;39 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟标志位标志位 意义意义URGACKPSHRSTSYNFIN紧急指针字段有效紧急指针字段有效确认字段有效确认字段有效该段请求紧迫操作该段请求紧迫操作重置连接重置连接请求建立连请求建立连接同步序号接同步序号连接释放请求连接释放请求rOp

37、tions收发双方用来协商收发双方用来协商MSS、窗口扩展因子、时间戳等;、窗口扩展因子、时间戳等;rData应用层数据受最大段长应用层数据受最大段长MSS限制;限制;40 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟rTCP segmentTCP协议交换的数据单元(协议交换的数据单元(TPDU)r最大段长(最大段长(MSS)MSS太小降低网络利用率太小降低网络利用率MSS太大降低网络性能太大降低网络性能rMSS的选择的选择连接两端处于同一物理网络连接两端处于同一物理网络选择的选择的MSS应使应使IP数据报的大小

38、与网络数据报的大小与网络MTU适应;适应;连接两端处于不同物理网络连接两端处于不同物理网络设置为途径网络的最小设置为途径网络的最小MTU或省缺值或省缺值(536字节字节);连接两端必须协商连接两端必须协商MSSSegment独立确认独立确认Fragment不能独立确认不能独立确认Fragment不能独立重传不能独立重传41 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟rTCP为每个字节编号为每个字节编号rTCP确认号为等待的下一个字节确认号为等待的下一个字节rTCP采用累计确认(采用累计确认(cumulative

39、 ack. )rTCP缓存到达的乱序数据缓存到达的乱序数据01ii+1200500900第一段第一段数据数据第二段第二段数据数据确认号未收到未收到未收到未收到面向连接的面向连接的TCP如何接收如何接收乱序数据?乱序数据?42 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟r紧迫数据的发送紧迫数据的发送URG强迫强迫TCP发送当前数据流中的字节;发送当前数据流中的字节;URG指针指出指针指出urgent数据所在;数据所在;TCP将将PSH位置位置1使接收端执行紧迫操作;使接收端执行紧迫操作;r带外数据带外数据允许发方

40、将数据标为紧急的允许发方将数据标为紧急的收方收到紧急数据后通知相应的应用程序进入收方收到紧急数据后通知相应的应用程序进入“紧紧急方式急方式”当应用程序希望不必等待另一端把数据流当应用程序希望不必等待另一端把数据流接收完毕后就能发送接收完毕后就能发送out of band数据。数据。43 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟rTCP报文的报文的options格式格式选项表结束选项表结束( kind=0)无操作无操作( kind=1)最大段长最大段长( kind= 2)窗口扩大因子窗口扩大因子( kind=3

41、)Kind=2 Length=4MSSKind=3 Length=3移位数0/1当网络具备高带宽、高延迟特点时,一次发送当网络具备高带宽、高延迟特点时,一次发送64KB字节可能带来字节可能带来发送的低效率。发送的低效率。TCP用窗口扩大选项来加大每次发送的数据量。用窗口扩大选项来加大每次发送的数据量。假设线路带宽假设线路带宽T1=45Mbps;报文长度;报文长度64KB; T发送时间发送时间=12ms; T往返延迟往返延迟=50ms;发送效率发送效率约为约为1/444 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟

42、r移位数值表示窗口大小扩大的位数(至多移位数值表示窗口大小扩大的位数(至多14)允许窗口大小从允许窗口大小从216扩大到扩大到230个字节个字节r收到窗口通告时要左移才能获得实际的窗口大小收到窗口通告时要左移才能获得实际的窗口大小r发送窗口通告时要右移发送窗口通告时要右移r该选项必须在连接建立时协商该选项必须在连接建立时协商r每个方向上的扩大因子可不同每个方向上的扩大因子可不同45 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟r被动打开与主动打开被动打开与主动打开双方双方TCP软件模块进行通信来建立和检验一个连接

43、;软件模块进行通信来建立和检验一个连接;r建立连接建立连接TCP的连接建立采用三次握手方法;的连接建立采用三次握手方法;TCP采用基于时钟的序号产生方案(每采用基于时钟的序号产生方案(每4us)双方协商初始序号;双方协商初始序号;ABSYNxSYNy, ACKx+1SYNx+1, ACKy+1SYN用于初始化连接时,用于初始化连接时,segment只包含一个字节只包含一个字节的数据。的数据。46 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟FINxACKy+1ACKx+1FINy, ACKx+1关闭连接关闭连接通

44、知应通知应用程序用程序关闭连接关闭连接rTCP协议用改进的三次握手协议用改进的三次握手来关闭连接来关闭连接;r每个方向连接单独释放;每个方向连接单独释放;r超时值设定为超时值设定为2倍的倍的MSL;AB在在2*MSL时间内未收到时间内未收到FIN的确认,则的确认,则FIN发送端直接释放连接。发送端直接释放连接。47 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟主动关闭主动关闭被被动动关关闭闭ACK/ -SYN+ACK/ACKCONNECT/SYNSYN/SYN+ACKCLOSE/FINFIN/ACKACK/ -C

45、LOSE/FINFIN/ACKACK/ -timeout同时关闭同时关闭被动打开被动打开主动打开主动打开FIN/ACKACK/ -48 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟SYN SENT(主动打开主动打开)LISTEN(被动打开被动打开)SYN RCVDESTABESTABFIN WAIT1(主动关闭主动关闭)CLOSE WAIT(被动关闭被动关闭)FIN WAIT2TIMED WAITLAST ACKCLOSEDSYNiSYNj, ACKi+1ACKj+1FINmACKm+1FINnACKn+149 http:/ Copyright 2006 YAN Wei. All rights reserved.北京大学 计算机系 严伟空空(4K) 2K应用程序应用程序写入写入2K应用程序应用程序写入写入2K阻塞阻塞应用程序读出应用程序读出2K2K2K 接收缓冲区接收缓冲区rTCP采用大小动态变化的滑动窗采用大小动态变化的滑动窗口协议口协议r由接收端通过由接收端通过window size字段字段反馈当前可接收的字节数反馈当前可接收的字节数Seq=0Ack=2048;Win=2048Seq=2048Ack=4096;Win=0Ack=4096;Win=2048应用程序应用程序写入写

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论