您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > TCPIP协议分析及应用课件--第8章-传输控制协议
1第8章传输控制协议(TCP)2主要内容TCP的服务TCP的端口号和套接字地址TCP的报文段TCP的连接管理与释放TCP的连接管理状态转换图流量控制傻瓜窗口综合症差错控制拥塞控制定时器管理38.1TCP的服务面向连接的服务要获得TCP服务,在一个应用进程向另一个应用进程开始发送数据之前,必须先在双方之间建立一条连接,数据传送结束后要释放连接。4全双工服务TCP连接提供全双工服务,所有TCP连接都是点到点的。字节流传递服务一个TCP连接就是一个字节流,端到端之间不保留消息的边界。58.2TCP的端口号和套接字地址8.2.1TCP的端口号TCP采用16bit端口号来识别应用程序。服务器一般都是通过熟知端口来识别。而客户端通常使用的是临时端口号。68.2.2套接字地址要使用TCP的服务,需要一对套接字地址。一个套接字有可能同时被用于多个连接。也就是说,两个或多个连接可能终止于同一个套接字。78.3TCP的报文段TCP报文段由首部和数据两部分组成。首部前20字节是固定部分,后面有4N字节是根据需要而增加的选项。选项部分最多是40字节。8源端口号和目的端口号:分别标识发送和接收这个报文段的应用程序的端口。序号:指每一个报文段数据的第一个字节的编号。确认号:期望接收的对方的下一个报文段的第一个字节的序号。9首部长度:表明TCP首部的长度共有多少个4字节。控制字段:定义6种不同的控制位或标记。这些位用于TCP的流量控制、连接建立和终止以及数据传送的方式等。窗口大小字段:用来定义对方必须维持的窗口值(以字节为单位).检验和:覆盖了整个的TCP报文段。10紧急指针:只有当紧急标志置位时,这个字段才有效,指示这个报文段中包括紧急数据。选项:在TCP首部中有40字节的可选信息。最重要的选项是MSS(MaximumSegmentSize)。代码:2长度:4最大报文段长度(8bit)(8bit)(16bit)选项MSS的格式118.4.1建立连接TCP协议中建立连接采用三次握手(three-wayhandshake)的方式实现。8.4TCP的连接管理与释放12seq=xack:-seq=yack=x+1seq=x+1ack=y+1报文段1:SYN报文段2:SYN+ACK报文段3:ACK主机A主机B(客户端)(服务器端)TCP协议建立连接三次握手的过程时间138.4.2连接释放TCP连接释放四次握手的步骤:1)首先进行关闭的客户端TCP发送第一个报文段,终止比特FIN标志置1。将执行主动关闭,不再发送数据。2)服务器端TCP发送第二个报文段,用来确认从客户发来的FIN报文段。3)当服务器端没有数据发送时,它就发送第三个报文段,终止比特FIN标志置1。4)客户端TCP发送第四个报文段,用来确认从服务器端TCP收到了FIN报文段。148.4.3连接复位当TCP需要连接复位时使用RST报文段,其复位比特RST置1。158.5TCP的连接管理状态转换在任何时刻,机器只处于某一种状态,并一直保持这个状态,直到某个事件发生。发生的事件使机器进入一个新的状态,即事件可使机器完成某种操作。状态转换表示一个状态到另一个状态的迁移,包括迁移的条件和迁移的动作。168.6流量控制TCP采用可变大小的滑动窗口协议进行流量控制。TCP的滑动窗口是面向字节的。窗口包括已发送的字节和未被确认的字节,以及可以发送的字节。接收方窗口是说明接收方还能再接收的字节数。在TCP报文段首部的窗口大小字段的值就是当前给对方设置的窗口值。178.7傻瓜窗口综合症接收方通告一个小的窗口,引起发送的报文段很小,而降低传输效率。该现象可发生在两端中的任何一端.188.7.1Nagle算法Nagle算法试图解决由于发送应用程序每次向TCP发送小的报文段,如报文段只包括1个字节的数据而引起的问题。强迫发送端TCP等待,让它收集数据,以便发送大块数据。198.7.2Clark解决方案Clark解决方案是只要数据到达就发送确认,但宣布窗口值为零,直到在缓存有足够的空间能容纳具有最大长度的报文或者缓存已有一半的空间为空了,再发送窗口更新报文段。208.7.3延迟确认对于应用程序消耗数据比到达得慢所产生的这种糊涂窗口综合症,还有第二种解决方法,即延迟发送确认。在TCP中,发送方并不要求一接到应用进程传递过来的数据就必须马上将数据传送出去;接收方也不要求尽可能快地发送确认报文段。218.8差错控制TCP差错控制包括检测受到损伤的报文段、丢失的报文段、失序的报文段和重复的报文段,以及检测出差错后纠正差错,它除了使用检验和,还使用确认技术和超时机制。22TCP发送方使用超时机制来恢复报文段丢失问题。TCP使用累计确认系统。238.9拥塞控制接收端通知的窗口和拥塞窗口接收端通知的窗口是接收方根据其可用缓存大小准许的窗口值。拥塞窗口是发送端根据所感知到的网络拥塞程度得出的窗口值。24慢启动算法拥塞避免算法25268.10定时器管理定时器重传定时器持续定时器保活定时器时间等待定时器重传定时器持续定时器保活定时器时间等待定时器定时器为了实现TCP协议,对每个连接TCP管理4个不同的定时器。
本文标题:TCPIP协议分析及应用课件--第8章-传输控制协议
链接地址:https://www.777doc.com/doc-5104673 .html