版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机网络原理与应用计算机网络原理与应用第第8 8章章 运输层运输层 8.1 8.1 运输协议概述运输协议概述 8.2 TCP/IP8.2 TCP/IP体系中的运输层体系中的运输层 8.3 8.3 用户数据报协议用户数据报协议UDP UDP 8.4 8.4 传输控制协议传输控制协议TCPTCP 运输协议运输协议(transport protocol)(transport protocol)是整个网络体系结构中的关键是整个网络体系结构中的关键之一。本章讨论之一。本章讨论TCP/IPTCP/IP体系中的运输协议体系中的运输协议TCPTCP。8.1 8.1 运输协议概述运输协议概述 q运输层的任务就
2、是运输层的任务就是为主机间两个应用进程的进程之间提供逻辑通信为主机间两个应用进程的进程之间提供逻辑通信,其数据传输的单位是,其数据传输的单位是报文报文(segment)(segment)。运输层提供的是端运输层提供的是端( (的传输进程的传输进程) )到端到端( (的传输进程的传输进程) )的传输的传输。端。端到端的信道是由一段段点到点的信道构成的。端到端的协议建到端的信道是由一段段点到点的信道构成的。端到端的协议建立在点到点的协议上,提供应用程序进程之间的通信,以便上立在点到点的协议上,提供应用程序进程之间的通信,以便上层应用程序利用网络的信息传递服务来实现资源共享。层应用程序利用网络的信息
3、传递服务来实现资源共享。运输层具有运输层具有复用复用和和分用分用的功能。运输层中的多个进程可复用下的功能。运输层中的多个进程可复用下面网络层的传输功能,到了目的主机的网络层后,再使用分用面网络层的传输功能,到了目的主机的网络层后,再使用分用功能,将数据交付给相应的进程。功能,将数据交付给相应的进程。运输层只能存在于通信子网外面的主机之中运输层只能存在于通信子网外面的主机之中。运输层以上的各。运输层以上的各层就不再关心信息传输的问题了。层就不再关心信息传输的问题了。因特网的运输层使用面向连接的因特网的运输层使用面向连接的TCPTCP和无连接的和无连接的UDPUDP两种协议两种协议。运输层要对收到
4、的报文进行运输层要对收到的报文进行差错检测和流量控制差错检测和流量控制。而。而IPIP数据报数据报首部中的检验和字段,只检验首部而不检查数据部分。首部中的检验和字段,只检验首部而不检查数据部分。运输层为相互通信的应用进程提供了逻辑通信运输层为相互通信的应用进程提供了逻辑通信运输层为运输层为应用进程之间应用进程之间提供逻辑通信,提供逻辑通信,网络层为网络层为主机之间主机之间提供逻辑通信。提供逻辑通信。 服务质量与服务质量与TCP、UDP协议协议p 在计算计网络中,服务质量简称在计算计网络中,服务质量简称 QoS (Quality Of Service)QoS (Quality Of Servic
5、e)。p 提出网络服务质量的问题,是由于提出网络服务质量的问题,是由于通信子网是用户无法控制通信子网是用户无法控制的,的,通信子网往往不能满足用户对网络传输服务的要求。作为用户应用与通信子网往往不能满足用户对网络传输服务的要求。作为用户应用与通信子网之间的运输层起着承上启下的作用,通信子网之间的运输层起着承上启下的作用,通过运输层协议对通信通过运输层协议对通信子网的屏蔽,就可以给用户提供标准而完善的服务界面子网的屏蔽,就可以给用户提供标准而完善的服务界面。p 因特网的通信子网的种类很多,提供的网络传输质量差异很大因特网的通信子网的种类很多,提供的网络传输质量差异很大;用户对于网络服务的要求种类
6、也很多,有要求高可靠性的,有要求高用户对于网络服务的要求种类也很多,有要求高可靠性的,有要求高吞吐率的,也有要求低时延的等等。既然通信子网用户不可选择,用吞吐率的,也有要求低时延的等等。既然通信子网用户不可选择,用户要求的服务又是千差万别。为此,运输层协议往往形成了一个协议户要求的服务又是千差万别。为此,运输层协议往往形成了一个协议簇,以应对多变的服务要求。簇,以应对多变的服务要求。p TCP/IPTCP/IP协议的运输层包含了协议的运输层包含了TCPTCP和和UDPUDP两个协议,以满足不同应用两个协议,以满足不同应用的要求。的要求。8.2 TCP/IP8.2 TCP/IP体系中的运输层体系
7、中的运输层 qTCP/IPTCP/IP的运输层有两个协议,的运输层有两个协议,TCPTCP和和UDPUDP都使用相同的网络层都使用相同的网络层(IP):(IP):用户数据报协议用户数据报协议UDP(User Datagram Protocol): UDP(User Datagram Protocol): UDPUDP在传送数据之前在传送数据之前不需要先建立连接。远地主机的运输层在收到不需要先建立连接。远地主机的运输层在收到UDPUDP数据报后,不需要给数据报后,不需要给出任何确认。广泛应用于只需一次的客户服务器模式的请求出任何确认。广泛应用于只需一次的客户服务器模式的请求应答查应答查询,或者要
8、求提供高效率数据传输的场合。询,或者要求提供高效率数据传输的场合。 传输控制协议传输控制协议TCP(Transmission Control Protocol): TCP(Transmission Control Protocol): TCPTCP提供提供可靠可靠的的、面向连接面向连接的运输服务,用于高可靠性数据的传输。的运输服务,用于高可靠性数据的传输。TCPTCP具有完善的具有完善的错误检测与恢复、顺序控制和流量控制等功能。错误检测与恢复、顺序控制和流量控制等功能。 qTCPTCP和和UDPUDP协议说明:协议说明:注重可靠性场合一般使用注重可靠性场合一般使用TCP,TCP,而在那些更注重
9、实时性而在那些更注重实时性、传输率、吞吐量的场合一般使用、传输率、吞吐量的场合一般使用UCPUCP 。最终取决与所传输数据的类型,。最终取决与所传输数据的类型,以及用途和使用场合。以及用途和使用场合。 8.2.1 8.2.1 运输层中的两个协议运输层中的两个协议应 用 层T CPU D PIP网 络 接 口8.2.2 8.2.2 端口的概念端口的概念q 在运输层的网络地址中须包含描述进程的标识符。在在运输层的网络地址中须包含描述进程的标识符。在TCPTCP和和UDPUDP中,用端口标识通信的进程。中,用端口标识通信的进程。q 端口端口(port) :(port) :是是运输层运输层与与应用层应
10、用层的服务接口。端口相当于的服务接口。端口相当于OSIOSI中中的运输层服务访问点的运输层服务访问点TSAPTSAP。q UDPUDP和和TCPTCP都使用了与应用层都使用了与应用层接口处接口处的的端口端口与上层的应用进程进与上层的应用进程进行通信。应用层的各种进程是通过相应的端口与运输实体进行交行通信。应用层的各种进程是通过相应的端口与运输实体进行交互。互。q 当运输层收到当运输层收到IPIP层交上来的数据,就要根据其首部中的层交上来的数据,就要根据其首部中的端口号端口号来决定应当通过哪一个端口上交给应当接收此数据的应用进程。来决定应当通过哪一个端口上交给应当接收此数据的应用进程。q 端口是
11、端口是一个一个16 bit16 bit的地址的地址,用,用端口号端口号进行标识。分为两类进行标识。分为两类: : 公认端口号公认端口号 : :由因特网指派名字和号码公司由因特网指派名字和号码公司ICANNICANN负责分配给一负责分配给一些常用的应用层程序固定使用的些常用的应用层程序固定使用的端口端口,其数值一般为,其数值一般为0-10230-1023,例如,例如,FTPFTP用用21,TELNET21,TELNET用用23,SMTP23,SMTP用用25,HTTP25,HTTP用用8080等等。等等。 一般端口号一般端口号: :用来随时分配给请求通信的客户进程。用来随时分配给请求通信的客户进
12、程。 端口在进程之间的通信中所起的作用端口在进程之间的通信中所起的作用 q 使用端口来区分开应用层的不同进程。使用端口来区分开应用层的不同进程。q 使用复用和分用技术,运输层与网络层交互屏蔽各种应用进程,而使用复用和分用技术,运输层与网络层交互屏蔽各种应用进程,而只有只有TCPTCP报文段或报文段或UDPUDP数据报。数据报。IPIP层也使用类似的复用和分用技术,层也使用类似的复用和分用技术,因而网络层和链路层交互得也只有因而网络层和链路层交互得也只有IPIP数据报。数据报。常见常见TCPTCP和和UDPUDP公认端口号公认端口号 常见常见TCPTCP公认端口号公认端口号 常见常见UDPUDP
13、公认端口号公认端口号 端口号端口号服务服务简述简述2121FTPFTP文件传输服务器的控制流文件传输服务器的控制流2020FTP_DATAFTP_DATA文件传输服务器的数据流文件传输服务器的数据流2525SMTPSMTP简单邮件传输简单邮件传输4242NAMESERVERNAMESERVER主机名字服务主机名字服务5353DOMAINDOMAIN域名服务域名服务2323TELNETTELNET远程终端服务远程终端服务8080HTTPHTTPwwwwww服务服务端口号端口号服务服务简述简述111111RPCRPC远程调用远程调用161161SNMPSNMP简单网络管理简单网络管理6969TFT
14、P TFTP 简单文件传输简单文件传输套接字套接字q 套接字套接字(socket)(socket):是一个主机的是一个主机的 IPIP地址地址(32bit), (32bit), 端口号端口号(16bit)(16bit) 二元组。二元组。q 一个连接由两个套接字来标识一个连接由两个套接字来标识。在整个因特网中,。在整个因特网中,在运输层通信在运输层通信的 一 对的 一 对 套 接 字套 接 字 必 须 是 唯 一 的必 须 是 唯 一 的 。 如。 如 , , 一 对一 对 套 接 字套 接 字( (33: :15001500) )和和 ( (130.42
15、.85.155: :2525) )就定义了一个连接。就定义了一个连接。q 相关说明:相关说明:J 两个使用两个使用TCPTCP的应用进程在彼此交换数据前必须先建立一个面的应用进程在彼此交换数据前必须先建立一个面向连接的向连接的TCPTCP连接连接( (虚电路,虚电路,套接字套接字连接连接) )。J 使用无连接的使用无连接的UDPUDP,虽然在相互通信的两个进程之间没有一条,虽然在相互通信的两个进程之间没有一条虚连接,但每一个方向一定有发送端口和接收端口,因而也同虚连接,但每一个方向一定有发送端口和接收端口,因而也同样可以使用样可以使用套接字套接字的概念。的概念。J 使用使
16、用套接字套接字才能区分开同时通信的多个主机中的多个进程才能区分开同时通信的多个主机中的多个进程。端口的作用举例端口的作用举例q 设主机设主机A A、B B使用使用SMTPSMTP协议与主机协议与主机C C通信。通信。SMTPSMTP使用面向连接的使用面向连接的TCPTCP。主机。主机A A两个进程与主机两个进程与主机C C的的SMTPSMTP建立两个连接建立两个连接; ;主机主机B B一个进程与一个进程与主机主机C C的的SMTPSMTP建立一个连接建立一个连接; ;q 连接连接1 1的一对的一对套接字套接字是是( (33: :15001500) )和和
17、 ( (55: :2525) )q 连接连接2 2的一对的一对套接字套接字是是( (33: :15011501) )和和 ( (55: :2525) )面向连接的面向连接的SocketSocket通信过程通信过程8.3 8.3 用户数据报协议用户数据报协议UDPUDP q UDPUDP是一个简单的面向数据报的运输层的协议,它提供协是一个简单的面向数据报的运输层的协议,它提供协议端口,使得应用进程能够向其他进程发送数据报。议端口,使得应用进程能够向其他进程发送数据报。q
18、 UDPUDP数据报是无连接、不可靠的。尽最大努力交付,不提数据报是无连接、不可靠的。尽最大努力交付,不提供确认、消息反馈控制,与供确认、消息反馈控制,与IPIP数据报相同。所以数据报相同。所以UDPUDP的效的效率高。率高。可靠性要需由应用程序本身提供可靠性要需由应用程序本身提供。UDPUDP数据报的结构数据报的结构qUDPUDP数据报包括首部和数据两个字段。首部字段有数据报包括首部和数据两个字段。首部字段有8 8字节,由字节,由4 4个字段个字段组成,每个字段都是两个字节。组成,每个字段都是两个字节。源端口字段源端口字段: :源端口号源端口号; ;目的端口字段目的端口字段: :目的端口号目
19、的端口号; ;长度字段长度字段: :UDPUDP数据报的长度数据报的长度; ;检验和字段检验和字段: :防止防止UDPUDP数据报在传输中出错。数据报在传输中出错。q UDP UDP数据报在计算检验和时在数据报在计算检验和时在UDPUDP数据报之前要增加数据报之前要增加1212个字节的伪首个字节的伪首部。所谓部。所谓“伪首部伪首部”只是在计算检验和时,临时和只是在计算检验和时,临时和UDPUDP数据报连接在一数据报连接在一起。起。8.4 8.4 传输控制协议传输控制协议TCPTCPp TCP TCP是一种是一种面向连接面向连接的的字节流服务字节流服务的运输层协议,它提供全双工的的运输层协议,它
20、提供全双工的可靠交付的服务。可靠交付的服务。TCPTCP用于高可靠性数据的传输用于高可靠性数据的传输。p TCPTCP应用进程间发送的数据被看作是应用进程间发送的数据被看作是字节流字节流,而在,而在 UDPUDP中一个应用中一个应用程序的输出就封装为一个数据报。程序的输出就封装为一个数据报。pTCPTCP协议具有完善的错误检测与恢复、顺序控制和流量控制等功能。协议具有完善的错误检测与恢复、顺序控制和流量控制等功能。因此,因此,TCPTCP协议非常复杂,执行起来效率必然不高。协议非常复杂,执行起来效率必然不高。p在互连的网络中,网络层产生拥塞是低层网络传输能力不足的表现在互连的网络中,网络层产生
21、拥塞是低层网络传输能力不足的表现。当网络发生拥塞时,发生拥塞的路由器会将超载的报文纷纷丢弃,。当网络发生拥塞时,发生拥塞的路由器会将超载的报文纷纷丢弃,而被丢弃的报文会引起运输层的出错重传,这些大量的重传报文又会而被丢弃的报文会引起运输层的出错重传,这些大量的重传报文又会进一步加剧网络的拥塞。这种恶性循环不是单纯网络层协议能够应付进一步加剧网络的拥塞。这种恶性循环不是单纯网络层协议能够应付的,因为的,因为引起报文传输的源头是在运输层。所以,引起报文传输的源头是在运输层。所以,TCPTCP也必须有控制也必须有控制拥塞的相应机制拥塞的相应机制。 使用使用TCPTCP和和UDPUDP协议的各种应用和
22、应用层协议协议的各种应用和应用层协议 应用应用应用层协议应用层协议运输层协议运输层协议名字转换名字转换DNSDNS一般用一般用UDPUDP选路协议选路协议RIPRIP一般用一般用UDPUDP网络管理网络管理SNMPSNMP一般用一般用UDPUDP远程文件服务器远程文件服务器NFSNFS一般用一般用UDPUDPIPIP电话电话专用协议专用协议一般用一般用UDPUDP流式多媒体通信流式多媒体通信专用协议专用协议一般用一般用UDPUDP电子邮件电子邮件SMTPSMTPTCPTCP远程终端接入远程终端接入TELNETTELNETTCPTCP万维网万维网HTTPHTTPTCPTCP文件传送文件传送FTP
23、FTPTCPTCPq 一个一个TCPTCP报文分为报文分为首部首部和和数据数据两部分。两部分。TCPTCP报文段首部的前报文段首部的前2020个字个字节是固定的,后面有节是固定的,后面有4N4N字节是可有可无的选项字节是可有可无的选项(N(N为整数为整数) )。因此。因此TCPTCP首部的最小长度是首部的最小长度是2020字节。字节。8.4.1 TCP8.4.1 TCP报文段的格式报文段的格式 q源端口源端口和和目的端口目的端口: :各占各占2 2个字节个字节, , 用来将高层协议向下复用。用来将高层协议向下复用。q序号序号: :占占4 4字节字节, ,是本报文段所发送的数据部分是本报文段所发
24、送的数据部分第一个字节的序号第一个字节的序号。TCPTCP是是面向字节流的面向字节流的。在。在TCPTCP传送的数据流中传送的数据流中, ,每一个字节都有一个序号。每一个字节都有一个序号。q确认序号确认序号: :占占4 4字节字节, ,是期望收到对方下次发送的数据的是期望收到对方下次发送的数据的第一个字节的序号第一个字节的序号 。由于序号字段有。由于序号字段有32 bit32 bit长,可对长,可对4 GB4 GB的数据进行编号。这样就可保证的数据进行编号。这样就可保证当序号重复使用。当序号重复使用。q数据偏移数据偏移: :占占4 bit,4 bit,它指出数据开始的地方离它指出数据开始的地方
25、离TCPTCP报文段的起始处有多远报文段的起始处有多远。这实际上就是。这实际上就是TCPTCP报文段首部的长度报文段首部的长度。单位是。单位是32 bit32 bit字。字。q保留字段保留字段: :占占6 bit6 bit,供今后使用,目前应置为,供今后使用,目前应置为0 0。q窗口窗口: :占占2 2字节。窗口字段是报文段发送方的接收窗口,单位为字节。此字节。窗口字段是报文段发送方的接收窗口,单位为字节。此窗口告诉对方,窗口告诉对方,“在未收到我的确认时,你能发送的数据的字节数至多在未收到我的确认时,你能发送的数据的字节数至多是此窗口的大小。是此窗口的大小。”q检验和检验和: :占占2 2字
26、节字节, ,检验的范围包括首部和数据。和检验的范围包括首部和数据。和UDPUDP一样,在计算检验一样,在计算检验和时,要在和时,要在TCPTCP报文段的前面加上一个报文段的前面加上一个1212字节的伪首部。伪首部的格式与字节的伪首部。伪首部的格式与UDPUDP数据报的伪首部类似。数据报的伪首部类似。q选项选项: :长度可变。长度可变。TCPTCP只规定了一种选项,即只规定了一种选项,即最大报文段长度最大报文段长度MSSMSS 。MSSMSS告告诉对方的诉对方的TCPTCP:“我的缓存所能接收的报文段的最大长度是我的缓存所能接收的报文段的最大长度是MSS MSS ” 。若主。若主机未填写这项,则
27、机未填写这项,则MSSMSS的默认值是的默认值是536536字节长的净负荷。字节长的净负荷。 TCPTCP数据包首部固定部分各字段的意义数据包首部固定部分各字段的意义 q紧急比特紧急比特URG(URGent):URG(URGent):当当URG URG 1 1时,表明此报文段应尽快传送,而不按时,表明此报文段应尽快传送,而不按原来的排队顺序来传送。此时要与原来的排队顺序来传送。此时要与“紧急指针紧急指针”字段配合使用。紧急指字段配合使用。紧急指针指出在本报文段中的紧急数据的针指出在本报文段中的紧急数据的最后一个字节的序号最后一个字节的序号。紧急指针使接。紧急指针使接收方可以知道紧急数据共有多长
28、。另外,即使当窗口大小为零时也可发收方可以知道紧急数据共有多长。另外,即使当窗口大小为零时也可发送紧急数据。送紧急数据。q确认比特确认比特ACK:ACK:只有当只有当ACKACK 1 1时确认序号字段才有意义。当时确认序号字段才有意义。当ACKACK 0 0 时,确认时,确认序号没有意义。序号没有意义。q急迫比特急迫比特PSH(PuSH):PSH(PuSH):当当PSHPSH 1 1时,表明请求远地时,表明请求远地TCPTCP将本报文段立即传送将本报文段立即传送给其应用层,而不要等到整个缓存都填满了后再向上交付。给其应用层,而不要等到整个缓存都填满了后再向上交付。q复位比特复位比特RST(Re
29、SeT):RST(ReSeT):当当RSTRST 1 1时,表明出现严重差错,必须释放连接,时,表明出现严重差错,必须释放连接,然后再重建运输连接。复位比特还用来拒绝一个非法的报文段或拒绝打然后再重建运输连接。复位比特还用来拒绝一个非法的报文段或拒绝打开一个连接。复位比特也可称为重建比特或重置比特。开一个连接。复位比特也可称为重建比特或重置比特。q同步比特同步比特SYN:SYN:在连接建立时使用。例如,当在连接建立时使用。例如,当SYNSYN 1 1而而ACK ACK 0 0时,表明这时,表明这是一个是一个连接请求报文段连接请求报文段。对方若同意建立连接,则应在发回的报文段中。对方若同意建立连
30、接,则应在发回的报文段中使使SYNSYN 1 1和和ACKACK 1 1。因此,同步比特。因此,同步比特SYNSYN置为置为1 1,就表示这是一个,就表示这是一个连接请求连接请求或或连接接受报文连接接受报文,而,而ACKACK比特的值用来区分是哪一报文。比特的值用来区分是哪一报文。q终止比特终止比特FIN:FIN:用来释放一个连接。当用来释放一个连接。当FINFIN 1 1时,表明欲发送的字节串已经时,表明欲发送的字节串已经发完,并要求释放运输连接。发完,并要求释放运输连接。控制字段控制字段( (或称为标志或称为标志) )各比特的意义各比特的意义 TCPTCP将所要传送的整个报文看成是将所要传
31、送的整个报文看成是一个个字节组成的一个个字节组成的数据流数据流,然后对,然后对每一个字节编一个序号每一个字节编一个序号。在连接建立时,双方要。在连接建立时,双方要商定初始序号。商定初始序号。TCPTCP就将每一次所传送的报文段中的第一个数据字就将每一次所传送的报文段中的第一个数据字节的序号,放在节的序号,放在TCPTCP首部的序号字段中。首部的序号字段中。是对接收到的数据的最高序号是对接收到的数据的最高序号( (最后一个序号最后一个序号) )表示确表示确认认。但返回的确认序号是已收到的数据的最高序号加。但返回的确认序号是已收到的数据的最高序号加1 1。也就是说。也就是说,确认序号表示期望下次收
32、到的第一个数据字节的序号确认序号表示期望下次收到的第一个数据字节的序号。q 由于由于TCPTCP能提供全双工通信,因此能提供全双工通信,因此通信中的每一方都不必专门发送通信中的每一方都不必专门发送确认报文段确认报文段,而可以在传送数据时顺便把确认信息捎带传送而可以在传送数据时顺便把确认信息捎带传送。这。这样做可以提高传输效率。样做可以提高传输效率。8.4.2 TCP8.4.2 TCP的编号与确认的编号与确认 只要发送缓存从发送进程得到的数据达到只要发送缓存从发送进程得到的数据达到MSSMSS字节时,就组装字节时,就组装成一个成一个TCPTCP报文段,然后发送出去;报文段,然后发送出去; 发送端
33、的应用进程指明要求发送报文段,即发送端的应用进程指明要求发送报文段,即TCPTCP支持推送支持推送(push)(push)操作;操作; 发送端的一个计时器时间到了,这时就把当前已有的缓存数据发送端的一个计时器时间到了,这时就把当前已有的缓存数据装入报文发送出去。装入报文发送出去。q NagleNagle算法算法(可明显地减少所用的网络带宽):(可明显地减少所用的网络带宽):l若数据是逐个字节地到达发送端,则发送端就将第一个字符先若数据是逐个字节地到达发送端,则发送端就将第一个字符先发送出去,将后面到达的字符都发送出去,将后面到达的字符都缓存缓存起来。起来。l当收到对第一个字符的确认后,再将当收
34、到对第一个字符的确认后,再将缓存中的所有字符装成一缓存中的所有字符装成一个报文段个报文段发送出去,同时继续发送出去,同时继续对到达的字符进行缓存对到达的字符进行缓存。l只有在收到确认后才继续发送下一个报文段。只有在收到确认后才继续发送下一个报文段。l当到达的字符已达到窗口大小的一半当到达的字符已达到窗口大小的一半或或已达到报文段的最大长已达到报文段的最大长度时,就立即发送下一个报文段。度时,就立即发送下一个报文段。控制控制TCPTCP报文发送机制报文发送机制q TCPTCP使用滑动窗口协议可以解决两个重要问题:使用滑动窗口协议可以解决两个重要问题:-有效传输:有效传输:通过减少等待时间可增加网
35、络总吞吐量通过减少等待时间可增加网络总吞吐量-流量控制:流量控制:可以通过变化发送方窗口大小以及接收方缓存大小可以通过变化发送方窗口大小以及接收方缓存大小来控制端到端的流量。窗口大小定义在来控制端到端的流量。窗口大小定义在TCPTCP报文段首部。报文段首部。q TCPTCP的流量控制是基于滑动窗口的的流量控制是基于滑动窗口的。通过改变发送窗口的大小,可。通过改变发送窗口的大小,可以限制传输报文进入网络的速率,从而达到控制拥塞的目的。以限制传输报文进入网络的速率,从而达到控制拥塞的目的。q 示例:示例:发送端要发送的数据共发送端要发送的数据共9 9个报文段,每个报文段个报文段,每个报文段1001
36、00字节长字节长,而接收端许诺的发送窗口为,而接收端许诺的发送窗口为500500字节。字节。 8.4.3 TCP8.4.3 TCP的流量控制的流量控制 q 设主机设主机A A向主机向主机B B发送数据。双方商定的窗口值是发送数据。双方商定的窗口值是400400。再设每一个。再设每一个报文段为报文段为100100字节长,序号的初始值为字节长,序号的初始值为1 1。整个的过程主机。整个的过程主机B B进行了进行了三次流量控制。第一次将窗口减小为三次流量控制。第一次将窗口减小为300300字节,第二次又减为字节,第二次又减为200200字节,最后减至零。字节,最后减至零。利用可变窗口大小进行流量控制
37、利用可变窗口大小进行流量控制 q 接受端的接受窗口总是等于发送端的发送窗口,因为后者是前者接受端的接受窗口总是等于发送端的发送窗口,因为后者是前者决定的。决定的。q 发送端的主机在发送数据时,发送端的主机在发送数据时,既要考虑到接收端的接收能力,又既要考虑到接收端的接收能力,又要使网络不要发生拥塞要使网络不要发生拥塞。发送端的。发送端的发送窗口发送窗口应按以下方式确定:应按以下方式确定: 发送窗口发送窗口 Min Min 通知窗口,拥塞窗口通知窗口,拥塞窗口 -通知窗口通知窗口(advertised window)(advertised window)是接收端根据其接收能力许诺是接收端根据其接
38、收能力许诺的窗口值,是来自的窗口值,是来自接收端的流量控制接收端的流量控制。接收端将通知窗口的值。接收端将通知窗口的值放在放在TCPTCP报文的首部中,传送给发送端。报文的首部中,传送给发送端。-拥塞窗口拥塞窗口(congestion window)(congestion window)是发送端根据网络拥塞情况得是发送端根据网络拥塞情况得出的窗口值,是来自出的窗口值,是来自发送端的流量控制发送端的流量控制。q 发送端的发送窗口取发送端的发送窗口取“通知窗口通知窗口”和和“拥塞窗口拥塞窗口”中的较小的一中的较小的一个。在未发生拥塞的稳定工作状态下,接收端通知的窗口和拥塞个。在未发生拥塞的稳定工作
39、状态下,接收端通知的窗口和拥塞窗口是一致的。窗口是一致的。TCPTCP窗口大小控制窗口大小控制 q 因特网标准推荐使用以下三种拥塞控制技术:因特网标准推荐使用以下三种拥塞控制技术:-慢启动慢启动:指每出现一次超时,拥塞窗口都降低到:指每出现一次超时,拥塞窗口都降低到1 1,使,使报文段慢慢注入到网络中。报文段慢慢注入到网络中。-加速递减加速递减:指每出现一次超时,就将:指每出现一次超时,就将门限窗口值门限窗口值减半。减半。若超时频繁出现,则门限窗口减小的速率是很快的。若超时频繁出现,则门限窗口减小的速率是很快的。-拥塞避免:拥塞避免:指当拥塞窗口增大到门限窗口值时,就将拥指当拥塞窗口增大到门限
40、窗口值时,就将拥塞窗口指数增长速率降低为线性增长速率,避免网络再塞窗口指数增长速率降低为线性增长速率,避免网络再次出现拥塞。次出现拥塞。 拥塞控制方法拥塞控制方法 当一个连接初始化时,将拥塞窗口置为当一个连接初始化时,将拥塞窗口置为1 1(即窗口允许发(即窗口允许发送送1 1个报文段)。并设置慢启动的门限窗口值。个报文段)。并设置慢启动的门限窗口值。发送端的发送窗口不能超过拥塞窗口和通知窗口中的最小发送端的发送窗口不能超过拥塞窗口和通知窗口中的最小值。现在假定接收端不进行流量控制。值。现在假定接收端不进行流量控制。发送端若收到了对所有发出的报文段的确认,就在下一次发送端若收到了对所有发出的报文
41、段的确认,就在下一次发送时将拥塞窗口加倍。可见拥塞窗口从发送时将拥塞窗口加倍。可见拥塞窗口从1 1开始,按指数开始,按指数规律增长。若出现了超时,则将当时的拥塞窗口值减半,规律增长。若出现了超时,则将当时的拥塞窗口值减半,作为新的门限窗口值,同时拥塞窗口再次变为作为新的门限窗口值,同时拥塞窗口再次变为1 1。拥塞窗口重新从拥塞窗口重新从1 1开始按指数规律增长。但当增长到新的开始按指数规律增长。但当增长到新的门限窗口值时,就每次只将拥塞窗口加门限窗口值时,就每次只将拥塞窗口加1 1,使拥塞窗口按,使拥塞窗口按线性规律增长。当网络又出现超时,仍重复上述过程。线性规律增长。当网络又出现超时,仍重复
42、上述过程。拥塞控制方法实现步骤拥塞控制方法实现步骤q TCPTCP设置了计时器。只要达到了重传时间到而还没有收到确认,就设置了计时器。只要达到了重传时间到而还没有收到确认,就要重传这一报文段。要重传这一报文段。q 若将若将超时时间设置太短超时时间设置太短,则很多报文段的重传时间是太早了,给,则很多报文段的重传时间是太早了,给网络增加了许多不应有的负荷。但若将超时时间网络增加了许多不应有的负荷。但若将超时时间设置太长设置太长,则显,则显然会使网络的传输效率降低很多。然会使网络的传输效率降低很多。q TCPTCP采用了一种自适应算法设置运输层的超时计时器的重传时间采用了一种自适应算法设置运输层的超
43、时计时器的重传时间: : 平均往返时延平均往返时延T T ( (旧的往返时延旧的往返时延T)T) (1(1-)()(新的往返时延样本新的往返时延样本) ) (0 (0 1 , 1 ,典型的典型的 值为值为7/8 )7/8 ) 重传时间重传时间 ( (平均往返时延平均往返时延) ) ( ( 是个大于是个大于1 1的系数的系数, TCP, TCP推荐将推荐将 值取为值取为2)2) 报文段每重传一次,就将重传时间增大一些:报文段每重传一次,就将重传时间增大一些: 新的重传时间新的重传时间 ( (旧的重传时间旧的重传时间) ) 系数系数 的典型值是的典型值是2 2 。当不再发生报文段的重传时,才根据报
44、文。当不再发生报文段的重传时,才根据报文段的往返时延更新平均往返时延和重传时间的数值。段的往返时延更新平均往返时延和重传时间的数值。8.4.4 TCP8.4.4 TCP的重传机制的重传机制 q TCPTCP是面向连接的协议。运输连接的建立和释放是每一次面是面向连接的协议。运输连接的建立和释放是每一次面向连接的通信中必不可少的过程。向连接的通信中必不可少的过程。q 在连接建立过程中要解决以下三个问题:在连接建立过程中要解决以下三个问题:要使每一方能够确知对方的存在要使每一方能够确知对方的存在( (而数据链路层不需要而数据链路层不需要考虑考虑) )。要允许双方协商一些参数要允许双方协商一些参数(
45、(如最大报文段长度、最大窗如最大报文段长度、最大窗口大小、服务质量等口大小、服务质量等) )。能够运输实体资源能够运输实体资源( (如缓存大小、连接表中的项目等如缓存大小、连接表中的项目等) )进进行分配。行分配。q TCPTCP的连接和建立都是采用的连接和建立都是采用客户服务器方式客户服务器方式。l主动发起连接建立的进程叫做主动发起连接建立的进程叫做客户客户,l被动等待连接建立的进程叫做被动等待连接建立的进程叫做服务器服务器。q TCPTCP的建立连接采用的建立连接采用三次握手法三次握手法。8.4.5 TCP8.4.5 TCP的运输连接管理的运输连接管理 人和机器间的三次握手法人和机器间的三次握手法q 三次握手的建立过程:三次握手的建立过程:第一次:第一次:主机主机A A向主机向主机B B发出发出TCPTCP连接请求报文,其首部中的连接请求报文,其首部中的同步比特同步比特SYN=1,SYN=1,确认确认ACKACK 0 0 ,同时选择一个序号,同时选择一个序号x x,表明在,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 未来五年榛子企业ESG实践与创新战略分析研究报告
- 未来五年LED荧光粉封装器件企业数字化转型与智慧升级战略分析研究报告
- 水电工程节点控制方案
- 未来五年干炸牛肉制品企业ESG实践与创新战略分析研究报告
- 未来五年低温水-直燃单双效溴化锂吸收式冷温水机企业县域市场拓展与下沉战略分析研究报告
- 未来五年园区综合体管理服务企业县域市场拓展与下沉战略分析研究报告
- 未来五年标准管理服务企业数字化转型与智慧升级战略分析研究报告
- 未来五年家禽脂肪企业数字化转型与智慧升级战略分析研究报告
- 未来五年木螺钉企业ESG实践与创新战略分析研究报告
- 未来五年生物育种企业数字化转型与智慧升级战略分析研究报告
- 贵州省纳雍县水东乡水东钼镍矿采矿权评估报告
- GB/T 1690-2010硫化橡胶或热塑性橡胶耐液体试验方法
- GB 8270-2014食品安全国家标准食品添加剂甜菊糖苷
- 2023年杭州临平环境科技有限公司招聘笔试题库及答案解析
- 易制毒化学品日常管理有关问题权威解释和答疑
- LF炉机械设备安装施工方案
- 湖北省高等教育自学考试
- 企业三级安全生产标准化评定表(新版)
- 中心卫生院关于成立按病种分值付费(DIP)工作领导小组及制度的通知
- 五年级上册数学课件 口算与应用题专项 人教版(共64张PPT)
- 梅州市梅江区村级资金财务管理制度(试行)
评论
0/150
提交评论