第七章-传输层new课件

上传人:494895****12427 文档编号:241257171 上传时间:2024-06-13 格式:PPT 页数:46 大小:242.35KB
返回 下载 相关 举报
第七章-传输层new课件_第1页
第1页 / 共46页
第七章-传输层new课件_第2页
第2页 / 共46页
第七章-传输层new课件_第3页
第3页 / 共46页
点击查看更多>>
资源描述
主要内容:主要内容:u 传输层的主要功能传输层的主要功能u 进程的复用和分用进程的复用和分用u UDP协议协议TCP协议协议u 传输层的连接管理传输层的连接管理u 传输层的流量控制传输层的流量控制u 传输层的重传机制传输层的重传机制主要内容:传输层的主要功能18.1 传输层的主要功能传输层的主要功能v网络层的主要不足:网络层的主要不足:面向无连接,不可靠面向无连接,不可靠 对数据不检错对数据不检错v传输层是网络层的重要补充:传输层是网络层的重要补充:实现端到端的可靠通信实现端到端的可靠通信实现实现进程的复用和分用进程的复用和分用实现进程管理实现进程管理8.1 传输层的主要功能网络层的主要不足:2v运输层只存在于通信子网以外的主机中运输层只存在于通信子网以外的主机中运输层只存在于通信子网以外的主机中3v运输层为应用进程之间提供逻辑通信(收发员),但运输层为应用进程之间提供逻辑通信(收发员),但网络层是为主机之间提供逻辑通信(收发室)网络层是为主机之间提供逻辑通信(收发室).运输层为应用进程之间提供逻辑通信(收发员),但网络层是为主机4v端口与端口号:端口与端口号:应用层和传输层之间的接口应用层和传输层之间的接口实际上为缓冲区,用实际上为缓冲区,用16bit的端口号进行标识(的端口号进行标识(065535)熟知端口(熟知端口(01023):分配给常用的应用层程序固定:分配给常用的应用层程序固定使用的如使用的如FTP(21),),TELNET(23),),SMTP(25),),DNS(53),),HTTP(80),),SNMP(161)一般端口(一般端口(102465535):用来随时分配给请求通信:用来随时分配给请求通信的客户进程,显然不固定。的客户进程,显然不固定。插口(插口(socket):IP地址端口号,在整个因特网中,地址端口号,在整个因特网中,通信的一对插口必须是唯一的。通信的一对插口必须是唯一的。端口与端口号:5第七章-传输层new课件6v利用传输层屏蔽下层的不同利用传输层屏蔽下层的不同 传输层还执行许多其它功能。它的主要作用之一是为传输层还执行许多其它功能。它的主要作用之一是为更高层协议屏蔽下层操作的细节。传输层的目标是在更高层协议屏蔽下层操作的细节。传输层的目标是在源端机和目的主机之间提供源端机和目的主机之间提供可靠或不可靠可靠或不可靠的传输服务,的传输服务,而且由于传输服务独立于网络服务,故可以采用一个而且由于传输服务独立于网络服务,故可以采用一个标准的原语集提供传输服务(不必经过会话层和表示标准的原语集提供传输服务(不必经过会话层和表示层),层),用传输服务原语编写的应用程序能广泛地适用用传输服务原语编写的应用程序能广泛地适用于各种网络。于各种网络。利用传输层屏蔽下层的不同78.2 TCP/IP中的传输层中的传输层v两种不同的协议两种不同的协议 传输层主要提供面向连接的服务,但面向连接的服务传输层主要提供面向连接的服务,但面向连接的服务效率低,尤其对于突发性的短报文通信,所以在效率低,尤其对于突发性的短报文通信,所以在TCP/IP模型中有辅以面向无连接的服务。具体地为:模型中有辅以面向无连接的服务。具体地为:TCP协议协议传输控制协议,面向连接传输控制协议,面向连接 UDP协议协议用户数据报协议,面向无连接用户数据报协议,面向无连接8.2 TCP/IP中的传输层两种不同的协议8第七章-传输层new课件9常用的应用层服务(协议)所用的传输层协议常用的应用层服务(协议)所用的传输层协议常用的应用层服务(协议)所用的传输层协议108.3 UDPUDP协议协议vUDP协议的用途协议的用途(1)发送数据之前不需要建立连接)发送数据之前不需要建立连接(当然发送数据结束时当然发送数据结束时也没有连接需要释放也没有连接需要释放),因而减少了开销和发送数据之,因而减少了开销和发送数据之前的时延。前的时延。(2)UDP没有拥塞控制没有拥塞控制,也不保证可靠交付,因此主机,也不保证可靠交付,因此主机不需要维持具有许多参数的、复杂的连接状态表。不需要维持具有许多参数的、复杂的连接状态表。(3)UDP用户数据报只有用户数据报只有8个字节的首部开销,比个字节的首部开销,比TCP的的20个字节的首部要短。个字节的首部要短。(4)由于)由于UDP没有拥塞控制,因此网络出现的拥塞不会没有拥塞控制,因此网络出现的拥塞不会使源主机的发送速率降低。使源主机的发送速率降低。8.3 UDP协议UDP协议的用途11vUDPUDP格式格式伪首部:真首部只包含端口号。但在计算检验和时,用的是IP地址端口号。检错方法:IP数据报所用的方法相似即检验和检验范围:首部数据差错处理由上层保证,但常常被忽略,所以仅在LAN上工作得很好无序号(?)可见可见用户数据报协议用户数据报协议UDPUDP只在只在IPIP的数据报服务之上增的数据报服务之上增加了加了端口的功能端口的功能和和差错检测的功能差错检测的功能,主要应用于选路,主要应用于选路协议协议RIPRIP、网络管理协议、网络管理协议SMTPSMTP等短且可靠性要求不高等短且可靠性要求不高的数据报文的传输。的数据报文的传输。UDP格式12第七章-传输层new课件138.4 TCP协议协议vTCPTCP服务服务定定时时当当系系统统的的条条件件不不能能按按用用户户定定义义的的超超时时参参数数及及时时传传递递数数据据时时,TCPTCP通通知知自自己己的的高高层层协协议议,告告诉诉它它服服务务失失败败。高层协议随后可能会中止该连接或采取其它一些措施。高层协议随后可能会中止该连接或采取其它一些措施。有序有序实际上协议本身不能完全保证。实际上协议本身不能完全保证。标标记记TCPTCP在在建建立立连连接接时时,相相互互之之间间协协商商由由高高层层协协议议提提出出的的安安全全性性和和优优先先级级要要求求,若若在在连连接接期期间间出出现现了了安安全全性性的值不匹配情况,的值不匹配情况,TCPTCP将中断该连接。将中断该连接。8.4 TCP协议TCP服务14流流量量控控制制TCPTCP在在其其连连接接的的通通信信过过程程中中,能能够够调调整整流流量量,以以防防止止内内部部的的TCPTCP数数据据传传递递出出现现拥拥挤挤,从从而而导导致致服服务务质质量量下降和出错。下降和出错。错错误误控控制制TCPTCP能能在在它它的的检检验验和和所所允允许许的的范范围围内内保保证证数数据的无差错传递。据的无差错传递。总总结结:TCPTCP协协议议的的功功能能是是保保证证数数据据报报文文正正确确、有有序序、及及时时地到达目的地,同时防止网络出现拥塞。地到达目的地,同时防止网络出现拥塞。流量控制TCP在其连接的通信过程中,能够调整流量,以防15vTCP的报文编号与确认的报文编号与确认 TCP不是按传送的报文段来编号,而是按字节流编号。不是按传送的报文段来编号,而是按字节流编号。TCP将所要传送的整个报文将所要传送的整个报文(这可能包括许多个报文段这可能包括许多个报文段)看成看成是一个个字节组成的数据流,然后对每一个字节编一个序号。是一个个字节组成的数据流,然后对每一个字节编一个序号。在连接建立时,双方要商定初始序号。在连接建立时,双方要商定初始序号。TCP的确认是对接收到的数据的最高序号表示确认。但返回的确认是对接收到的数据的最高序号表示确认。但返回的确认序号是已收到的数据的最高序号加的确认序号是已收到的数据的最高序号加1。由于由于TCP能提供全双工通信,因此通信中的每一方都不必专能提供全双工通信,因此通信中的每一方都不必专门发送确认报文段,可以在传送数据时门发送确认报文段,可以在传送数据时捎带捎带传送确认信息。传送确认信息。TCP的报文编号与确认 TCP不是按传送的报文段来编号,16v TCPTCP的重传的重传 若发送方在规定的设置时间内没有收到确认,就要将末被确认的报文段重新发送。接收方若收到有差错的报文段,则丢弃此报文段(不发送否认信息)。若收到重复的报文段,也要将其丢弃,但要发回(或捎带发回)确认信息。这与数据链路层非常类似。TCP的重传 17vTCP的排序 若TCP收到的报文段无差错,只是末按序号,那么应如何处理?TCP对此未作明确规定,而是让TCP的实现者自行确定。可行的方法是或者将不按序的报文段丢弃,或者先将其暂存于接收缓存内,待所缺序号的报文段收齐后再一起上交应用层。如有可能,采用后一种策略对网络的性能会更好些。TCP的排序18vTCP性能的改善性能的改善推迟发送推迟发送NagIe算法算法 应对傻瓜窗口应对傻瓜窗口在在TCP的实现中广泛使用,具体算法如下:的实现中广泛使用,具体算法如下:若数据是逐个字节地到达发送端,则发送端就将第一个字符先发若数据是逐个字节地到达发送端,则发送端就将第一个字符先发送出去,将后面到达的字符都缓存起来送出去,将后面到达的字符都缓存起来;当收到对第一个字符的确认后,再将缓存中的所有字符装成一个当收到对第一个字符的确认后,再将缓存中的所有字符装成一个报文段发送出去,同时继续对到达的字符进行缓存报文段发送出去,同时继续对到达的字符进行缓存;只有在收到确认后才继续发送下一个报文段只有在收到确认后才继续发送下一个报文段;算法还规定,当到达的字符已达到算法还规定,当到达的字符已达到接收端缓存的空间的一半大小接收端缓存的空间的一半大小或已达到报文段的最大长度时,就立即发送下一个报文段。或已达到报文段的最大长度时,就立即发送下一个报文段。但有时不宜采用但有时不宜采用Nagle算法。?算法。?TCP性能的改善 推迟发送NagIe算法 应对傻瓜窗口19 推迟确认推迟确认 应对糊涂窗口综合症应对糊涂窗口综合症(sillywindowsyndrome)(sillywindowsyndrome)设想这种情况设想这种情况:接收端的缓存己满,而交互式的应用进程接收端的缓存己满,而交互式的应用进程一次只从缓存中读取一个字符一次只从缓存中读取一个字符(这样就在缓存产生这样就在缓存产生 1 1个字个字节的空位子节的空位子),然后向发送端发送确认,并通知窗口为,然后向发送端发送确认,并通知窗口为1 1个个字节字节(但发送的数据报是但发送的数据报是4040字节长字节长)。接着,发送端又发来。接着,发送端又发来1 1个字符个字符(但发来的数据报是但发来的数据报是4141字节长字节长)。接收端发回确认,。接收端发回确认,仍然通知窗口为仍然通知窗口为1 1个字节。如此进行下去,网络的效率当个字节。如此进行下去,网络的效率当然很低。要解决这个问题,可让接收端等待一段时间,使然很低。要解决这个问题,可让接收端等待一段时间,使得缓存得缓存 己能有足够的空间容纳一个最长的报文段己能有足够的空间容纳一个最长的报文段 或者已有一半的空间处于空的状态。或者已有一半的空间处于空的状态。只要出现这两种情况之一,就发出确认报文,并向发送端通只要出现这两种情况之一,就发出确认报文,并向发送端通知当前的窗口大小。知当前的窗口大小。推迟确认 应对糊涂窗口综合症(sillywindows208.5 TCP的流量控制的流量控制vTCP采用采用可变发送窗口可变发送窗口的方式进行流量控制。的方式进行流量控制。v发送窗口的大小写在发送窗口的大小写在TCP报文段首部的窗口字段。报文段首部的窗口字段。v在连接建立时发送窗口大小由双方商定。在连接建立时发送窗口大小由双方商定。v在通信的过程中,接收端可根据自己的资源情况,在通信的过程中,接收端可根据自己的资源情况,随时动态地调整。随时动态地调整。P203图图88表示的是在表示的是在TCP中使用的窗口概念。中使用的窗口概念。8.5 TCP的流量控制TCP采用可变发送窗口的方式进行流量21第七章-传输层new课件22第七章-传输层new课件238.6 TCPTCP的的拥塞技术拥塞技术 一一.拥塞窗口的设置拥塞窗口的设置基于接收端的流量控制仅能保证接收端来得及接收。但如果基于接收端的流量控制仅能保证接收端来得及接收。但如果发送端发送报文的速率太快会造成网络的拥塞。发送端发送报文的速率太快会造成网络的拥塞。为了避免发生拥塞,发送端主机应主动控制发送速率为了避免发生拥塞,发送端主机应主动控制发送速率,发送,发送端的发送窗口应按以下方式确定端的发送窗口应按以下方式确定:发送窗口发送窗口=Min通知窗口,拥塞窗口通知窗口,拥塞窗口 通知窗口是接收端根据其接收能力许诺的窗口值,是来自通知窗口是接收端根据其接收能力许诺的窗口值,是来自接收端的流量控制。接收端的流量控制。拥塞窗口是发送端根据网络拥塞情况得出的窗口值,是来拥塞窗口是发送端根据网络拥塞情况得出的窗口值,是来自发送端的流量控制。自发送端的流量控制。8.6 TCP的拥塞技术 一.拥塞窗口的设置24二二.拥塞控制技术拥塞控制技术指拥塞窗口的大小控制技术。指拥塞窗口的大小控制技术。因特网标准推荐使用以下三种技术,即慢启动、加速递减和拥塞避因特网标准推荐使用以下三种技术,即慢启动、加速递减和拥塞避免,具体以拥塞控制操作步骤说明免,具体以拥塞控制操作步骤说明:(1)(1)当一个连接初始化时,将拥塞窗口置为当一个连接初始化时,将拥塞窗口置为1(1(即窗口允许发送即窗口允许发送1 1个个报文段报文段)。并设置慢启动的。并设置慢启动的门限窗口值门限窗口值。(2)(2)发送端若收到了对所有发出的报文段的确认,就在下一次发发送端若收到了对所有发出的报文段的确认,就在下一次发送时将拥塞窗口加倍。若出现了超时,则将当时的拥塞窗口值减半,送时将拥塞窗口加倍。若出现了超时,则将当时的拥塞窗口值减半,作为新的门限窗口值,同时拥塞窗口再次变为作为新的门限窗口值,同时拥塞窗口再次变为1 1。(3)(3)拥塞窗口重新从拥塞窗口重新从1 1开始按指数规律增长。但当增长到新的门限开始按指数规律增长。但当增长到新的门限窗口值(增长快慢的分界线)时,就每次只将拥塞窗口加窗口值(增长快慢的分界线)时,就每次只将拥塞窗口加1 1,使拥,使拥塞窗口按线性规律增长。当网络又出现超时,仍重复上述过程。塞窗口按线性规律增长。当网络又出现超时,仍重复上述过程。二.拥塞控制技术指拥塞窗口的大小控制技术。25在上述步骤中,在上述步骤中,TCP共用了三种拥塞控制技术:共用了三种拥塞控制技术:v 慢启动慢启动 是指每出现一次超时,拥塞窗口都降低到是指每出现一次超时,拥塞窗口都降低到1,使报文段慢慢注人到网络中(不过这个名词不太准确,使报文段慢慢注人到网络中(不过这个名词不太准确,因为拥塞窗口增长的速率并不很慢)。因为拥塞窗口增长的速率并不很慢)。v 加速递减加速递减 是指每出现一次超时,就将门限窗口值减半。是指每出现一次超时,就将门限窗口值减半。若超时频繁出现,则门限窗口减小的速率是很快的。若超时频繁出现,则门限窗口减小的速率是很快的。v 拥塞避免拥塞避免 是指当拥塞窗口增大到门限窗口值时,就将是指当拥塞窗口增大到门限窗口值时,就将拥塞窗口指数增长速率降低为线性增长速率,避免网拥塞窗口指数增长速率降低为线性增长速率,避免网络再次出现拥塞。络再次出现拥塞。vP255习题习题726在上述步骤中,TCP共用了三种拥塞控制技术:268.7 TCP的重传机制的重传机制一一.重传问题重传问题 重传机制是重传机制是TCP中最重要和最复杂的问题之一中最重要和最复杂的问题之一。这是因为这是因为TCP下层的互连网环境是一个非常复杂的环境:下层的互连网环境是一个非常复杂的环境:差异性与动态性。差异性与动态性。P205图图810画出了数据链路层和运输层的往返时延概率分画出了数据链路层和运输层的往返时延概率分布的对比:布的对比:对于数据链路层,其往返时延的方差很小,因此将超时时对于数据链路层,其往返时延的方差很小,因此将超时时间设置为最大时延,即如图中的间设置为最大时延,即如图中的Tl即可。即可。对网络层来说,其往返时延的方差很大。超时时间设置最对网络层来说,其往返时延的方差很大。超时时间设置最小如图中的小如图中的T2,或最大如图中的,或最大如图中的T3都不合适。都不合适。8.7 TCP的重传机制一.重传问题27第七章-传输层new课件28二二.TCP重传处理重传处理 TCP采用了一种自适应算法:采用了一种自适应算法:(1)记录每一个报文段发出的时间,以及收到相应的确认报文段)记录每一个报文段发出的时间,以及收到相应的确认报文段的时间,并以这两个时间之差作为报文段的往返时延。的时间,并以这两个时间之差作为报文段的往返时延。将各个报文将各个报文段的往返时延样本加权平均,就得出报文段的平均往返时延段的往返时延样本加权平均,就得出报文段的平均往返时延T。(2)另外每测量到一个新的往返时延样本(不一样的),就按下)另外每测量到一个新的往返时延样本(不一样的),就按下式重新计算一次平均往返时延式重新计算一次平均往返时延:平均往返时延平均往返时延T=(旧的往返时延旧的往返时延 T)+(1-)(新的往返时延样本新的往返时延样本)式中,式中,0 1。若。若接近于接近于1,表示新算出的往返时延,表示新算出的往返时延T和原来的值和原来的值相比变化不大,即新的往返时延样本的影响不大相比变化不大,即新的往返时延样本的影响不大(T值更新较慢值更新较慢)。若。若选择选择a接近于零,则表示加权计算的往返时延接近于零,则表示加权计算的往返时延T受新的往返时延样本受新的往返时延样本的影响较大的影响较大(T值更新较快值更新较快)。典型的权值为典型的权值为7/8。二.TCP重传处理29(3)计时器所设的重传时间应略大干上面的平均住返时)计时器所设的重传时间应略大干上面的平均住返时延,即延,即 重传时间重传时间=(平均往返时延平均往返时延)这里这里是个大于是个大于1的系数。实际上,系数值是很难确定的系数。实际上,系数值是很难确定的。若取接近于的。若取接近于1,则发送端可以很及时地重传丢失的,则发送端可以很及时地重传丢失的报文段,从而可以提高效率。但若报文段并未丢失,报文段,从而可以提高效率。但若报文段并未丢失,而仅仅是增加了一点时延,那么过早地重传未收到确而仅仅是增加了一点时延,那么过早地重传未收到确认的报文段,则反而会加重网络的负担。认的报文段,则反而会加重网络的负担。TCP的标准的标准推荐值取为推荐值取为2。(3)计时器所设的重传时间应略大干上面的平均住返时延,即30(4)多次重传时延)多次重传时延Kam算法算法:报文段每重传一次,就将重传时间增大一些报文段每重传一次,就将重传时间增大一些:新的重传时间新的重传时间=(旧的重传时间)旧的重传时间)这里系数这里系数的典型值是的典型值是2。(4)多次重传时延318.8 TCP报文段的格式报文段的格式TCP首部最小长度是首部最小长度是20字节字节。固定部分各字段的意义如下。固定部分各字段的意义如下:v源端口和目的端口各占源端口和目的端口各占2个字节。个字节。16bit的端口号加上的端口号加上32bit的的IP地址,构成了相当于运输层服务访问点地址,构成了相当于运输层服务访问点TSAP的的地址地址(总共是总共是48bit)。v序号占序号占4字节字节,是本报文段所发送的数据部分第一个字节,是本报文段所发送的数据部分第一个字节的序号。的序号。由于序号字段有由于序号字段有32bit,可对,可对4GB(即即4干兆字节干兆字节)的数据进的数据进行编号。这样就可保证当序号重复使用时,旧序号的数行编号。这样就可保证当序号重复使用时,旧序号的数据早已在网络中消失了。据早已在网络中消失了。8.8 TCP报文段的格式TCP首部最小长度是20字节。固32w确认序号占确认序号占4字节,是期望收到对方下次发送的数据的字节,是期望收到对方下次发送的数据的第一个字节的序号,也就是期望收到的下一个报文段第一个字节的序号,也就是期望收到的下一个报文段首部中的序号。首部中的序号。w数据偏移占数据偏移占4bit,它指出数据开始处与,它指出数据开始处与TCP报文段起始报文段起始处之间的距离处之间的距离这实际上就是这实际上就是TCP报文段首部的长报文段首部的长度(最大度(最大?)。)。确认序号占4字节,是期望收到对方下次发送的数据的第一个字节的33u6个比特控制字段个比特控制字段(或称为标志或称为标志):紧急比特紧急比特URG 当其为当其为l时,表明此报文段应尽快传送时,表明此报文段应尽快传送(相当于高优先级),例如从键盘发出中断信号;相当于高优先级),例如从键盘发出中断信号;确认比特确认比特ACK 只有当只有当ACK=l时确认序号字段才有意时确认序号字段才有意义。当义。当ACK0时,确认序号没有意义。时,确认序号没有意义。急迫比特急迫比特PSH 当当PSH=l时,表明请求远地时,表明请求远地TCP将本报将本报文段立即传送给其应用层,而不要等到整个缓存都填文段立即传送给其应用层,而不要等到整个缓存都填满了后再向上交付。满了后再向上交付。复位比特复位比特RST 当当RST=l时,表明出现严重差错时,表明出现严重差错(如由如由于主机崩溃或其他原因于主机崩溃或其他原因),必须释放连接,然后再重建,必须释放连接,然后再重建运输连接。运输连接。复位比特还用来拒绝一个非法的报文段或复位比特还用来拒绝一个非法的报文段或拒绝打开一个连接拒绝打开一个连接。6个比特控制字段(或称为标志):34u同步比特同步比特SYN 在连接建立时使用。当在连接建立时使用。当SYNl而而ACK0时,表明这是一个连接请求报文段。对方若同意建时,表明这是一个连接请求报文段。对方若同意建立连接,则应在发回的报文段中使立连接,则应在发回的报文段中使SYNl和和ACK=l。因此,同步比特因此,同步比特SYN置为置为1时,就表示这是一个连接请时,就表示这是一个连接请求或连接接受报文,而求或连接接受报文,而ACK比特的值用来区分是哪一比特的值用来区分是哪一种报文。种报文。u终止比特终止比特FIN 用来释放一个连接。当用来释放一个连接。当FTN=l时,表明时,表明欲发送的字节串己经发完,并要求释放运输连接。欲发送的字节串己经发完,并要求释放运输连接。同步比特SYN 在连接建立时使用。当SYNl而ACK035u窗口窗口 占占2字节(?一次最多可连续发送多少数据)字节(?一次最多可连续发送多少数据)。窗口字段是报文段发送方的接收窗口,单位为字节。窗口字段是报文段发送方的接收窗口,单位为字节。u检验和检验和 占占2字节字节。检验和字段检验的范围包括首部和。检验和字段检验的范围包括首部和数据这两部分。但和用户数据报数据这两部分。但和用户数据报UDP一样,在计算检一样,在计算检验和时,用的是验和时,用的是伪首部伪首部来计算检验和。来计算检验和。u选项选项 长度可变。长度可变。TCP只规定了一种选项,即只规定了一种选项,即最大报最大报文段长度文段长度MSS(Maximum SegmentSize)。MSS告诉对告诉对方的方的TCP:我的缓存所能接收的报文段的最大长度是我的缓存所能接收的报文段的最大长度是MSS。窗口 占2字节(?一次最多可连续发送多少数据)。窗口36vMSS的选择并不简单。的选择并不简单。“当当MSS长度减小时,网络的利长度减小时,网络的利用率就降低。但反过来,若用率就降低。但反过来,若TCP报文段非常长,那么在报文段非常长,那么在IP层传输时就可能要分解成多个短数据报片。在目的站层传输时就可能要分解成多个短数据报片。在目的站要将收到的各个短数据报片装配成原来的要将收到的各个短数据报片装配成原来的TCP报文段。报文段。另外传输出错的概率也要增大。另外传输出错的概率也要增大。一般认为,一般认为,MSS应尽可能大些,只要在应尽可能大些,只要在 IP层传输时不需层传输时不需要再分片就行要再分片就行。在连接建立的过程中,双方部将自己能。在连接建立的过程中,双方部将自己能够支持的最大报文长度够支持的最大报文长度MSS写入这一字段。在以后的数写入这一字段。在以后的数据传送阶段,据传送阶段,MSS取双方提出的较小时那个数值。取双方提出的较小时那个数值。若主机未填写这项,则若主机未填写这项,则MSS的默认值是的默认值是536字节长的净字节长的净负荷。因此,所有在因特网上的主机都应能够接受的报负荷。因此,所有在因特网上的主机都应能够接受的报文段长度是文段长度是53620=556字节。字节。MSS的选择并不简单。“当MSS长度减小时,网络的利用率就降378.9 TCP的传输连接管理的传输连接管理 一一.连接应解决的问题:连接应解决的问题:(1)(1)要使每一方能够确知对方的存在。要使每一方能够确知对方的存在。(2)(2)要允许双方协商一些参数要允许双方协商一些参数 (如最大报文段长如最大报文段长 度、度、最大窗口大小最大窗口大小、服务质量等、服务质量等)。(3)(3)能够对传输实体资源能够对传输实体资源(如缓存大小、连接表中如缓存大小、连接表中 的项目等的项目等)进行分配。进行分配。8.9 TCP的传输连接管理 一.连接应解决的问题:38二二.连接的建立连接的建立三次握手三次握手TCPTCP的连接和建立都是的连接和建立都是采用客户采用客户/服务器方式服务器方式-主动发起连主动发起连接建立的进程叫做客户接建立的进程叫做客户(client)(client),而被动等待连接建立的,而被动等待连接建立的进程叫做服务器进程叫做服务器(Server)(Server):服务器端:服务器端:服务器进程运行后,先发出一个被动打开服务器进程运行后,先发出一个被动打开(passive open)(passive open)命令,告诉其命令,告诉其TCPTCP要准备接受客户进程的要准备接受客户进程的连接请求。然后连接请求。然后服务器进程就处于服务器进程就处于“听听”(listen)”(listen)的状态的状态(永久性的)(永久性的),不断检测是否有客户进程要发起连接请求。,不断检测是否有客户进程要发起连接请求。如有,即作出响应。如有,即作出响应。客户端:客户端:客卢进程运行后先向其客卢进程运行后先向其TCPTCP发出主动打开发出主动打开(active(active open)open)命令(命令(临时性的临时性的),表明要向某个),表明要向某个IPIP地址的某个端地址的某个端口建立运输连接。口建立运输连接。二.连接的建立三次握手TCP的连接和建立都是采用客户39 例:例:P P249249图图7 7116 6 第一次握手第一次握手 主机主机A A的的TCPTCP向主机向主机B B的的TCPTCP发出连接请求报文段,其首发出连接请求报文段,其首部中的同步比特部中的同步比特SYNSYN应该为应该为1 1,同时,同时选择一个序号选择一个序号X X,表,表明在后面传送数据时的第一个数据字节的序号是明在后面传送数据时的第一个数据字节的序号是X X;第二次握手第二次握手 主机主机B的的TCP收到连接请求报文段后,如同意,则发收到连接请求报文段后,如同意,则发回确认。在确认报文段中应将回确认。在确认报文段中应将SYN置为置为1,确认序号应,确认序号应为为X+l,同时也为自己选择一个序号同时也为自己选择一个序号y。例:P249图71640第三次握手第三次握手 主机主机A的的TCP收到此报文段后,还要向收到此报文段后,还要向B给出确认,其给出确认,其确认序号为确认序号为y+l。同时主机。同时主机A的的TCP通知上层应用进程,通知上层应用进程,连接已经建立连接已经建立(或打开或打开)。当运行服务器进程的主机。当运行服务器进程的主机B的的TCP收到主机收到主机A的确认后,也通知其上层应用进程,连的确认后,也通知其上层应用进程,连接巳经建立。接巳经建立。v书中书中ACKX1表示法不太正确表示法不太正确第三次握手41三三.连接的释放连接的释放四次握手四次握手 在数据传输结束后,在数据传输结束后,通信的双方都需发出释放连接的请求通信的双方都需发出释放连接的请求和相应和相应的响应,可以是异步的全双工的响应,可以是异步的全双工 例例P P250250图图7 7117 7 主机主机A的应用进程先向其的应用进程先向其TCP发出连接释放请求,并且不再发送发出连接释放请求,并且不再发送数据。数据。TCP通知对方要释放从通知对方要释放从A到到B这个方向的连接,将发往主机这个方向的连接,将发往主机B的的TCP报文段首部的报文段首部的终止比特终止比特FIN置置l,其序号其序号X等于前面已传送等于前面已传送过的数据的最后一个宇节的序号加过的数据的最后一个宇节的序号加1。主机。主机B的的TCP收到释放连接收到释放连接通知后即发出确认,其序号为通知后即发出确认,其序号为X+l,同时通知高层应用进程。这,同时通知高层应用进程。这样,从样,从A到到B的连接就释放了,连接处于半关闭的连接就释放了,连接处于半关闭(half-close)状态。状态。三.连接的释放四次握手 在数据传输结束后,通信42此后,主机此后,主机B不再接收主机不再接收主机A发来的数据。但若主机发来的数据。但若主机B还还有一些数据要发往主机有一些数据要发往主机A,则可以继续发送。主机,则可以继续发送。主机A只只要收到数据,仍应向主机要收到数据,仍应向主机B发送确认。发送确认。在主机在主机B向主机向主机A的数据发送结束后,其应用进程就通知的数据发送结束后,其应用进程就通知TCP释放连接。释放连接。主机主机B发出的连接释放报文段除必须将终止比特发出的连接释放报文段除必须将终止比特FIN置置l,并使其序号,并使其序号y等于前面已传送过的数据的最后一个字等于前面已传送过的数据的最后一个字节的序号加节的序号加1,还必须重复上次已发送过的还必须重复上次已发送过的ACKx+l。主机主机A必须对此发出确认,给出必须对此发出确认,给出ACKy+l。这样才这样才将从将从B到到A的反方向连接释放掉。主机的反方向连接释放掉。主机A的的TCP再向其再向其应用进程报告,整个连接已经全部释放。应用进程报告,整个连接已经全部释放。此后,主机B不再接收主机A发来的数据。但若主机B还有一些数据438.10 TCP的有限状态机的有限状态机vTCP连接表连接表连接表连接表:为了管理因特网,在网络管理中心设有为了管理因特网,在网络管理中心设有管理信息库管理信息库管理信息库管理信息库MIB(Management Information Base)。管。管理信息库存放着各主机的理信息库存放着各主机的TCP连接表连接表连接表连接表(Connection Table),其格式如表,其格式如表8-2所示。所示。TCP连接表对每个连接连接表对每个连接都登记了其连接信息。除本地和远地的都登记了其连接信息。除本地和远地的IP地址和端口地址和端口号外,还要记录每一个连接所处的状态。号外,还要记录每一个连接所处的状态。8.10 TCP的有限状态机TCP连接表:为了管理因特网,在44第七章-传输层new课件45vTCP的的有限有限状态机状态机(正常可能的状态)(正常可能的状态)TCP的有限状态机46
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!