(8.4.1)--8.3TCP传输控制协议(8.3.3)学习资料.ppt
-
资源ID:84314347
资源大小:8.05MB
全文页数:38页
- 资源格式: PPT
下载积分:8金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
(8.4.1)--8.3TCP传输控制协议(8.3.3)学习资料.ppt
第八章8.3.3 TCP 传输控制TCP实现可靠传输的机制是什么?1、可靠传输的基本原理理想传输条件的特点传输信道不会产生差错1不管发送端以何种速率发送数据,接收端都来得及处理所接收到的数据。2因此理想条件下,不必采取任何措施能够可靠传送。在计算机网络发展初期,由于通信线路不可靠,在数据链路层采用可靠的通信协议,其中最简单的是停止等待协议(简称停等协议)。在非理想传输条件下,信道会产生错误,且接收端可能来不及接收,这就要求采用一些可靠的传输协议。全双工通信的双方既是发送方也是接收方。“停止等待”就是每发送完一个分组就停止发送,等待对方的确认。在收到确认后再发送下一个分组。8.3.3 TCP 传输控制(1)停止等待协议A 发送分组 M1,发完就暂停发送,等待 B 的确认。B 收到了M1 向 A 发送ACK1。A在收到了对 M1的确认后,就再发送下一个分组 M2。ABM1M2ACK1ACK2停止发送,等停止发送,等待待 ACK收到收到 ACK,继续发送继续发送确认确认 M1确认确认 M2时间时间时间时间(a)正常情况 正常情况B 收到 A发来的一个分组,如果检测出传输过程中出现差错,则丢弃该分组;或者分组在传送过程中丢失,则 A通过超时计时器的超时,再重传前面发送过的分组。出错重传A发送 M1B超时重传 M1发送 M2确认 M1丢弃有差错的报文(b)出错超时重传出错超时重传tt 出错或丢失B 收到 A发来的一个分组,如果未检测出传输过程中出现差错,则发回一个确认应答,但这个确认应答却在回传过程中丢失了。此时,A在设定的超时重传时间内没有收到确认,也无法知道是自己发送的分组是出错或丢失,还是 B发回的确认丢失了。因此,只能在 A超时计时器到期后重传前面发送过的分组当 B再次收到重传的分组时,应丢弃该重传分组,并向A发送确认。确认丢失(c)确认丢失A发送 M1确认 M1B超时重传 M1发送 M2丢弃重复的 M1重传确认M1tt 丢失B 收到 A发来的一个分组,如果未检测出传输过程中出现差错,则发回一个确认应答,但这个确认应答却在回传过程中延误了。此时,A因在设定的超时重传时间内没有收到确认,只得超时重传。当 B再次收到重传的分组时,应丢弃该重传分组,并向 A发送确认,且发送下一个分组。A 对迟到确认则以丢弃处理之。A发送 M1B发送 M2确认 M1(d)确认迟到tt丢弃重复的 M1重传确认M1收下迟到的确认,丢弃超时重传 M1确认迟到停止等待协议又称自动重传请求ARQ(Automatic Repeat reQuest)。l优点:简单连续AQR协议:为了提高信道利用率,发送端可以采用流水线的发送方式。l缺点:信道利用率太低为了提高传输效率,发送方可以不使用低效率的停止等待协议,而是采用流水线传输。8.3.3 TCP 传输控制(续16)(2)连续ARQ协议流水线传输就是发送方可连续发送多个分组,不必每发完一个分组就停顿下来等待对方的确认。这样可使信道上一直有数据不间断地传送。显然,由于信道上一直有数据不间断地传送,这种传输方式可获得很高的信道利用率。8.3.3 TCP 传输控制(续16)(2)连续ARQ协议连续ARQ协议的基本要点8.3.3 TCP 传输控制(续17)A 在发送完一个分组后,不是停下来等待应答的到来,而是连续地再发送若干个分组。1B 收到 A发来的分组,只按序接收没有差错的分组,并给出相应的确认应答,或者只对按序到达的无差错的最后一个分组发送确认应答。对于检测出差错的分组则丢弃。2A 在每发完一个分组时都要开启该分组的超时计时器。如果在所设置的超时时间内收到了确认应答,就立即将超时计时器清零。若在设置的超时时间内未收到确认应答,则要重传前面发送过的分组。3如果 B检测出传输过程中出现的差错、丢失或延误,其处理方法同停等协议。48.3.3 TCP 传输控制(续21)TCP协议是面向字节的。TCP将所要传送的报文看成是一个个字节组成的数据流,并对每一个字节进行按序编号,以解决传输失序的问题。在连接建立时,通信双方要商定初始序号。TCP每次发送的报文段的首部中的序号字段数值表示该报文段中的数据部分的第一个字节的序号。2、序号确认TCP 的确认是对接收到的数据的最高序号表示确认。由接收端返回的确认号是已收到的数据的最高序号加1。亦即确认号表示。8.3.3 TCP 传输控制(续21)2、序号确认 即时确认(immediate)。指接收端收到的数据正确而被接受,就立即返回一个确认报文。8.3.3 TCP 传输控制(续22)接收端传输实体在确认时序上的两种选择 累积确认(cumulative)。指接收端收到的数据正确而被接受,先将其作为需要确认的报文段记 录在案,但不立即发送确认报文,而是在收到几个分组后,仅对按序 到达的最后一个分组发送确认。即时确认策略很简单,但需要额外地传输用于ACK的无数据报文段,会导致更多的网络负荷。8.3.3 TCP 传输控制(续22)接收端传输实体在确认时序上的两种选择因TCP连接提供全双工通信,常用累积确认。即在传送数据时采用捎带确认的方法,这有利于提高传输效率。8.3.3 TCP 传输控制流量控制的目的是让发送端的发送速率不要过快,一定要使接收端来得及接收。为了提高报文段的传输效率,TCP采用的滑动窗口进行流量控制。1.流量控制8.3.3 TCP 传输控制这里希望编导能帮忙做一下的动画。对应我的第二页ppt讲稿。当我念到“主机 A先发送2个报文段,序号分别为 0和1024 对应的将图上的字或者框变一下颜色,可以给学生指示。后面以此类推。利用滑动窗口实现流量控制ABtt发送端被阻塞空2K1K,SN=01K,SN=10241K,SN=20484K1K,SN=30722K1K,SN=40962K1K1K1K,SN=51201K1K应用程序读取2K数据应用程序读取2K数据应用程序写入4K数据应用程序最多写入2K数据接收端缓冲区ACK=1,AN=4096,WIN=0ACK=1,AN=4096,WIN=2048ACK=1,AN=5120,WIN=1024ACK=1,AN=5120,WIN=3072利用滑动窗口在TCP 连接上实现流量控制举例8.3.3 TCP 传输控制紧急数据仍可以发送。如要求用户中止远程主机上运行的某一个进程;当窗口为0时,原则上发送端是不能再正常地发送报文段了,但有两种意外情况:8.3.3 TCP 传输控制在本例中,B 向A 发送了窗口 WIN=0 的确认报文段后,因应用程序读取了数据,B 的接收缓冲区又有了存储空间。于是向A 发送窗口 WIN0的确认报文段。但是,如果这个报文段在传送过程中丢失,A 将一直等待接收 B 发送的非零的窗口通知,这样,就会造成相互等待的死锁现象。TCP 为每一个连接设置一个持续计时器(persistence timer)可解决这个问题。当窗口为0时,原则上发送端是不能再正常地发送报文段了,但有两种意外情况:在传送报文段过程中,凡出现下列两种情况须将该报文段重传。8.3.3 TCP 传输控制2.重传控制报文段到达接收端时,因传输受损被接收端检验出差错,接收实体将其丢弃。而发送端等待应答超时,必须重传原来发送过的报文段;1报文段传送被丢失,没能到达接收端目的站。此时,由于发送端的传输实体并不知道这个报文段的传输已经丢失,因此也要重传原来发送过的报文段。28.3.3 TCP 传输控制为了控制丢弃的或丢失的报文段,TCP对每一个发送的报文段,都设置一次重传计时器。该计时器用来处理报文段的确认与等待重传的时间。当 TCP发送报文段时,就要创建该报文段的重传计时器,并设定超时重传时间重传机制RTO(Retransmission Time-Out)。如果在报文段被确认之前重传计时器超时,那么发送端就要重传这一报文段。8.3.3 TCP 传输控制重传控制8.3.3 TCP 传输控制超时重传时间的选择是非常复杂。因为TCP面临的是互联网环境。如把超时重传时间设置得太短,就会引起报文段不必要的重传,增大网络负荷。若把超时重传时间设置得过长,则使网络空闲时间增大,降低了的传输效率。重传机制该算法记录着一个报文段发出的时间和收到相应确认的时间。这两个时间之差就是报文段的往返时间 RTT。8.3.3 TCP 传输控制TCP采用重传的自适应算法8.3.3 TCP 传输控制TCP 保留了 RTT 的一个加权平均往返时间RTTS(称为平滑的往返时间)。TCP采用重传的自适应算法8.3.3 TCP 传输控制当第一次测量到RTT样本时,RTTS值就取为所测量到的RTT样本值。但以后每测量至一个新的RTT样本,就按下式重新计算:TCP采用重传的自适应算法在上式中,0 1。RFC 2988 推荐的 值为1/8(即 0.125)。感 谢 您 的 观 看