《传输控制协议》PPT课件.ppt
《《传输控制协议》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《传输控制协议》PPT课件.ppt(70页珍藏版)》请在三一办公上搜索。
1、第7章 传输控制协议TCP,要求:1.掌握TCP的可靠性机制:确认、重传、序号;2.掌握TCP的流控和提高传输效率策略:滑动窗口机制;3.掌握TCP连接的建立与关闭协议:三次握手;4.掌握TCP的报文段格式;5.掌握TCP的拥塞控制技术;6.掌握TCP避免糊涂窗口综合症的技术;7.了解紧急数据发送和强迫数据发送。,问题?,IP协议的特点是什么?无连接不保证可靠性尽最大努力传输应用程序如果要得到高可靠性服务,有哪些途径?在IP层上增加一层功能模块由应用程序自身完成可靠性功能UDP能否满足应用程序的需求?,7.1 概述,1.可靠性:防丢失:确认与重传;防重复:报文段序号;2.传输效率、流量控制:滑
2、动窗口机制;3.拥塞控制:加速递减与慢启动技术;4.建立连接:三次握手协议;5.关闭连接:改进的三次握手协议。,要实现可靠的数据流传输服务,必须解决哪几个问题?,面向数据流;虚电路连接;有缓冲的传输;无结构的数据流;全双工连接。,可靠传输服务有哪些特点?,7.2 TCP的特点,7.3 TCP连接1.建立连接:三次握手,功能:1.同意连接协商,做好传输数据的准备;2.协商各自报文段ISN(初始序列号,不能为1);3.协商MSS(只有SYN报文段能协商MSS)。说明:SYN报文段占用初始序号,发送数据的第一字节序号为ISN+1。,接收ACK,关于ISN和MSS,ISN不能取1,为什么?ISN的设置
3、方法是有一定规律的。MSS为什么要选择MSS?如果连接的两端在同一个物理网络中,TCP协议软件能计算出合适的MSS;如果连接的两端不在同一个物理网络中,则把路径上最小的MTU除去首部后的数据大小作为MSS.选择合适的MSS非常困难:太小,网络利用率低;太大,会降低网络性能。,2.关闭连接:改进的三次握手,说明:FIN报文段占用一个序号;单纯的ACK报文段不占用序号。TCP提供了半关闭能力:连接的一端在结束它的发送后还能接收来自另一端数据。有些编程接口提供close来关闭TCP连接,提供shutdown加特殊参数来实现半关闭。,接收ACK,接收ACK,3.TCP连接异常关闭 异常关闭:出现异常情
4、况使得应用程序或网络软件 中断连接。连接复位 RST:发起端发RST报文段,双方立即停 止传输,并退出连接。,4.端口、端点和连接(1)端口(21、23、25、53、79、80、88、139、161)(2)端点 一对整数:(host IP,port)标识通信一方的一个应用程序。(3)连接 一对端点:表示通信双方应用程序间的一条虚电路。主动打开 去请求 被动打开 等待来(4)说明 一台机器上的一个TCP端口可被多个连接共享;TCP、UDP可用相同的端口号,但不会冲突。,一个DOS命令:NetstatActive Connections Proto Local Address Foreign Ad
5、dress StateTCP koukou:1056 202.196.56.240:https ESTABLISHEDNetstat o:列出与每个端口相关的进程Netstat r:显示路由表,7.4 提供可靠性1.防丢失 带重传的肯定确认技术,接收方收到数据后向源站发确认(ACK);设置定时器,源站在限定时间内未收到ACK,则重发。,接收确认,两个问题,如何识别和处理重复的数据?序号抛弃定时器时限设置多长?,2.防重复和乱序,报文段重复产生的原因?“假“丢失:确认丢失或确认延迟(超时)到达,致使发送方重传造成的。解决方法:为每一分组赋予一个序号,用以检测重复。序号同时保证了分组间的正确顺序。
6、确认时通过确认号指明哪些分组已经收到。(累计确认),序号与确认号,序号(seq)seq1=ISNseqn+1=seqn+第n个报文段的长度(以字节计)确认号(ACK)确认号=期望接收的下一个报文段的序号,可提高效率的捎带累计确认技术,什么是累计确认?只确认前面连续收到的报文什么是捎带确认?把对上一个报文的确认信息放到发给发送方的数据报文中捎带回去。,3.RTT与重传定时器,对于超时重传的情况,如何设置重传定时器的时限?时限设置的过大过小会出现什么问题?网络性能不断变化,定时时限应动态调整两个概念:RTT:往返时间,报文段发出到收到确认信息间的时间段。自适应重传算法:监视每个连接的性能,由此推算
7、出合适的定时时限。当连接的性能变化时,随时修改定时时限。,重传定时时限的计算方法,重传定时时限的计算方法:早期的方法 改进的方法 Karn算法和定时器补偿,(1)早期的方法R:RTT的估计值(之前RTT的加权平均值)M:本次测量的RTT值RTO:定时时限修改估计值:R R+(1-)M(01,通常取=0.9)计算时限:RTO=R(早期取2,后改为4)缺陷:在RTT变化较大的场合,说明网络某处处于拥塞状态,但上述方法对此反映不敏感,从而造成不必要的重传,进一步加重网络负担。,(2)改进的方法 R:RTT的估计值 M:本次测量的RTT值 RTO:定时时限 Diff:本次测量结果与上次RTT估计值的偏
8、差 Dev:平均偏差的估计值 Diff M-R R R+*Diff Dev Dev+*(|Diff|-Dev)(Dev的估计值)RTO R+*Dev、在01之间,通常取:=1/8,=1/4,=8,(3)Karn算法和定时器补偿 确认二义性:对于重传的报文段,收到确认后是对哪一次传输的确认无法确定。结果:RTT样本值无法使用;Karn算法:思想:当超时重传发生时,不再更新RTT估计值,忽略重传样本。定时器补偿:超时重传发生,加大定时时限:RTO*RTO(通常取2,即指数避退)。对重传分组的后续分组,定时时限不变,直到获得一个新的有效样本时再更改时限值。,7.5 传输效率和流量控制-滑动窗口机制停
9、-等机制:等前一个报文的确认到来后才能发送下一个报文,效率太低。1.一般的滑动窗口机制 思想:允许发送方不必等确认到来就可继续发送下面的分组,但规定一个上限。若多个分组的确认未到时,则暂停发送。,TCP的滑动窗口按字节操作而不是按报文段或 分组操作。TCP窗口大小为字节数。最大为65535字节。发送方为每个连接设置3个指针,定义了滑动窗口三要素:(1)左边界指针:区分已发送字节流中已确认部分与未确认部分。(2)右边界指针:序列中未得到确认情况下可以发送的最高字节的序号。(3)已发与未发边界指针:窗口中已发送和未发送字节的界限。,2.TCP的滑动窗口技术,1 2.100 101 102 4100
10、 4101 4102,分组流,WindowSize=4000,右边界指针,左边界指针,已发与未发边界指针,通信双方都设有发送和接收缓冲区(相当于发送窗口和接收窗口)。默认大小各系统有差异,如4096、8192、16384等。发送缓冲区大小为默认窗口大小。TCP连接两端各有两个窗口(发送窗口和接收窗口),3.TCP端到端流量控制-窗口大小可变技术 时机:目的主机缓冲区变小而不能接收源主机更多的数据时,就要进行流量控制。TCP技术:可随时改变窗口大小。目的主机在确认时,向源主机告知目的主机接收缓冲区的大小。,说明:接收方使用0窗口通告来停止所有的传输。此时,除了紧急数据和窗口试探报文外,不发其它数
11、据。,101 200 201 320 321399,如何防止死锁?,当接收方缓存有了空间时,如何让对方继续发送数据给自己?如果窗口变为非0时,则接收方会向发送方发非0窗口的通告;但是,若该确认丢失,则会造成死锁。如何防止死锁?坚持定时器:发送方接收到0窗口通告时进行设置。用于周期性地向对方询问窗口大小。窗口试探报文:在坚持定时器时间到、但仍没收到接收方非0窗口的通知时发送。防止非0窗口通告丢失造成死锁。,发送端要发送 900 字节长的数据,划分为 9 个 100 字节长的报文段,而发送窗口确定为 500 字节。发送端只要收到了对方的确认,发送窗口就可前移。发送 TCP 要维护一个指针。每发送一
12、个报文段,指针就向前移动一个报文段的距离。,举例,发送端已发送了 400 字节的数据,但只收到对前 200 字节数据的确认,同时窗口大小不变。现在发送端还可发送 300 字节。,发送端收到了对方对前 400 字节数据的确认,但对方通知发送端必须把窗口减小到 400 字节。现在发送端最多还可发送 400 字节的数据。,主机 A,主机 B,允许 A 再发送 300 字节,A 还能发送 200 字节,A 还能发送 200 字节,A 还能发送 300 字节,A 还能发送 100 字节,A 超时重发,但不能发送序号 500 以后的数据,允许 A 再发送 200 字节(序号 501 至 700),A 还能
13、发送 100 字节(序号 601 至 700),不允许 A 再发送(到序号 600 的数据都已收到),利用可变窗口大小进行流量控制双方确定的窗口值是 400,1.什么是SWS?接收方的小窗口通告造成发送方发送一系列小的报文段,严重浪费网络带宽。2.启发式的避免策略:接收方:(1)避免小窗口通告,在零窗口通告之后,只在可用缓冲区显著增加(缓冲区空间的一半或一个MSS)后才发送新的窗口通告(2)推迟确认(最多500ms),窗口大小不到避免SWS策略所需的尺寸时,不确认。为了使发送方正确估计RTT,至少每隔一个报文段要进行正常的确认。,4.糊涂窗口综合症SWS,发送方:避免小报文段发送Nagle算法
14、:自适应推迟传输以便将数据组块(1)连接建立后,最初的数据会立即发送。(2)当缓冲区中数据不足一个报文段,则推迟发送。等到一个确认来到(确认触发)时,发送缓冲区中的小报文段。3.说明 Nagle算法的两个优点:自适应:确认到达得越快,数据也就发送得越快;计算简单:不需要定时器。可关闭Nagle算法,应用程序接口一般提供选项TCP-NODELAY来关闭Nagle算法。,拥塞:交换节点(如路由器)数据报负载过重的现象。回顾:IP层的拥塞控制技术:(ICMP源站抑制报文),是一种被动机制。TCP拥塞控制的必要性:在TCP层,拥塞造成时延增加,这又会造成超时重传,控制不当会进一步加重拥塞。,7.6 T
15、CP拥塞控制技术,TCP控制拥塞的两个变量,每一个TCP连接需要有以下两个状态变量:接收端窗口(receiver window),又称为通知窗口(advertised window)。接收端根据其目前的接收缓存大小向发送方所许诺的最新的窗口值来自接收端的流量控制拥塞窗口(congestion window)。发送端根据自己估计的网络拥塞程度而设置的窗口值它对一个发送方能向网络中发送流量的速率进行限制来自发送端的流量控制。,发送窗口的上限值,发送窗口的上限值取决于接收端窗口rwnd和拥塞窗口cwnd这两个变量中较小的一个,即应按以下公式确定:发送窗口的上限值 min rwnd,cwnd,慢启动门
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 传输控制协议 传输 控制 协议 PPT 课件

链接地址:https://www.31ppt.com/p-5462189.html