第4章传输层_第1页
第4章传输层_第2页
第4章传输层_第3页
第4章传输层_第4页
第4章传输层_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第4章章 传输层传输层返回本章首页返回本章首页4.1 传输层基本概念传输层基本概念4.2 传输控制协议传输控制协议TCP4.3 用户数据报协议用户数据报协议UDP第第4章章 传输层传输层第第4章章 传输层传输层返回本章首页返回本章首页4.1 传输层基本概念传输层基本概念n4.1.1 传输服务传输服务n4.1.2 传输协议的要素传输协议的要素第第4章章 传输层传输层返回本章首页返回本章首页4.1.1 传输服务传输服务n从通信和信息处理的角度看,传输层向它上面的从通信和信息处理的角度看,传输层向它上面的应用层提供通信服务,它属于面向通信部分的最应用层提供通信服务,它属于面向通信部分的最高层,同时

2、也是用户功能中的最低层。高层,同时也是用户功能中的最低层。 物理层物理层网络层网络层传输层传输层应用层应用层数据链路层数据链路层面向信息处理面向信息处理面向通信面向通信用户功能用户功能网络功能网络功能第第4章章 传输层传输层返回本章首页返回本章首页传输层协议n概述:概述:q传输层位于网络层与应用层之间,传输层利用传输层位于网络层与应用层之间,传输层利用网络层提供的服务,向应用层程序提供端到端网络层提供的服务,向应用层程序提供端到端的通信功能。的通信功能。q传输层有传输层有2个主要协议个主要协议n传输控制协议传输控制协议(TCP) n用户数据包协议用户数据包协议(UDP)第第4章章 传输层传输层

3、返回本章首页返回本章首页 4.1.2 传输协议的要素传输协议的要素 网络环境中分布式进程通信的基本概念通信子网通信子网应用程序进程应用程序进程网络层协议作用范围传输层协议作用范围第第4章章 传输层传输层返回本章首页返回本章首页4.1.2 传输协议的要素传输协议的要素第第4章章 传输层传输层返回本章首页返回本章首页端口的概念端口的概念n网络环境中完整的进程标识应该是:网络环境中完整的进程标识应该是:n在一台计算机中,不同的进程用进程号或进程标识在一台计算机中,不同的进程用进程号或进程标识(process IDprocess ID)惟一地标识出来。)惟一地标识出来。 本地主机地址本地主机地址- -

4、本地进程标识本地进程标识 ; 远程主机地址远程主机地址- -远程进程标识。远程进程标识。n进程地址也叫做进程地址也叫做端口号端口号(port numberport number)。)。n端口的作用就是让应用层的各种应用进程都能将其数端口的作用就是让应用层的各种应用进程都能将其数据通过端口向下交付给运输层,以及让传输层知道应据通过端口向下交付给运输层,以及让传输层知道应当将其报文段中的数据向上通过端口交付给应用层相当将其报文段中的数据向上通过端口交付给应用层相应的进程。应的进程。n从这个意义上讲,端口是用来标志应用层的进程。从这个意义上讲,端口是用来标志应用层的进程。 第第4章章 传输层传输层返

5、回本章首页返回本章首页4.2 传输控制协议传输控制协议TCPn4.2.1 TCP服务模型服务模型n4.2.2 TCP报文段结构报文段结构n4.2.3 TCP连接管理连接管理n4.2.4 TCP传输控制传输控制第第4章章 传输层传输层返回本章首页返回本章首页传输控制协议TCP n概述:概述:qTCP协议提供可靠的虚电路服务和面向数据流协议提供可靠的虚电路服务和面向数据流的传输服务,用户数据可以进行有序、可靠的的传输服务,用户数据可以进行有序、可靠的传输。传输。q主要通过套接字主要通过套接字(socket)为高层协议提供面向为高层协议提供面向连接的传输服务。连接的传输服务。 第第4章章 传输层传输

6、层返回本章首页返回本章首页传输控制协议TCPn套接字qTCP 使用“连接”(而不仅仅是“端口”)作为最基本的抽象,同时将 TCP 连接的端点称为插口(socket),或套接字、套接口。q插口和端口、IP 地址的关系是:IP 地址3 端口号1500 3:1500插口(socket)第第4章章 传输层传输层返回本章首页返回本章首页n端口用一个端口用一个 16 bit 端口号进行标志。端口号进行标志。n端口号只具有本地意义,即端口号只是为了标志端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程。在因特网中不同计本计算机应用层中的各进程。在因特网

7、中不同计算机的相同端口号是没有联系的。算机的相同端口号是没有联系的。n一类是熟知端口,其数值一般为一类是熟知端口,其数值一般为 01023。当一。当一种新的应用程序出现时,必须为它指派一个熟知种新的应用程序出现时,必须为它指派一个熟知端口。端口。n另一类则是一般端口,用来随时分配给请求通信另一类则是一般端口,用来随时分配给请求通信的客户进程。的客户进程。第第4章章 传输层传输层返回本章首页返回本章首页TCP的端口号分配和Socket地址TCP常用的熟知端口号常用的熟知端口号端端口口号号服服务务进进程程说说明明文件传输协议(控制连接)20FTP文件传输协议(数据连接)21FTP23Telnet虚

8、拟终端网络25SMTP简单邮件传输协议53DNS域名服务器80HTTP超文本传输协议111RPC远程过程调用第第4章章 传输层传输层返回本章首页返回本章首页TelnetTCPFTPSMTPDNSTFTPSNMPHTTPRIPUDP2125536980161520端口号传输层应用层 应用层与传输层之间的接口23TCP的端口号分配和Socket地址第第4章章 传输层传输层返回本章首页返回本章首页传输控制协议TCPn工作过程:q支持TCP的每个机器都有一个传输层入口,管理TCP数据流,并将其传送到IP层。qTCP入口接收用户数据流,分成多个不大于64K字节的小块(通常为1500字节)作为一个个分离的

9、IP数据报传送。当含有TCP数据的IP数据报到达后,再把这些小块按顺序收集起来,重构成用户原来的字节流q发送时,网络层不保证数据报传输的可靠性,而由TCP根据需要实施超时、重发等管理。IP数据报的到达也不保证原来的顺序,也由TCP重新组装成合适的顺序。 第第4章章 传输层传输层返回本章首页返回本章首页TCP/IP的传输层 路由具体过程端口的概念示意图端口1 端口2 端口3 端口4主机A主机B连接1 连接2( ) ( ) ( ) ( )端口1 端口2 ( ) ( ) 主机C端口3 端口4 ( ) ( ) 连接3 连接4第第4章章 传输层传输层返回本章首页返回本章首页TCP首部20 字节的固定首部

10、目 的 端 口数据偏移检 验 和选 项(长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FIN32 bitSYNRSTPSHACKURG比特 0 8 16 24 31填 充TCP 数据部分TCP 首部TCP 报文段IP 数据部分IP 首部发送在前第第4章章 传输层传输层返回本章首页返回本章首页TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项(长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充源端口和目的端口字段源端口和目的端口字段各占各占 2 字节。字节。各包含一个各包

11、含一个TCPTCP端口编号,端口编号,分别标识连接两端的两个应用程序。本地的端口编号与分别标识连接两端的两个应用程序。本地的端口编号与IPIP主机的主机的IPIP地址地址(32(32位位) )形成一个惟一的套接字。套接字惟一定义了一次连接。形成一个惟一的套接字。套接字惟一定义了一次连接。 第第4章章 传输层传输层返回本章首页返回本章首页TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项(长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充序号字段占 4 字节。TCP 连接中传送的数据流中的每一

12、个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。 第第4章章 传输层传输层返回本章首页返回本章首页TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充确认号字段占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。 第第4章章 传输层传输层返回本章首页返回本章首页TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项(长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保

13、留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充数据偏移占 4 bit,它指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。“数据偏移”的单位不是字节而是32 bit 字(4 字节为计算单位)。 第第4章章 传输层传输层返回本章首页返回本章首页TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项(长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充保留字段占 6 bit,保留为今后使用,但目前应置为 0。 第第4章章 传输层传输层返回本章首页返回本章首

14、页TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项(长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充紧急比特 URG 当 URG 1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。 第第4章章 传输层传输层返回本章首页返回本章首页TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项(长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充确认比特

15、 ACK 只有当 ACK 1 时确认号字段才有效。当 ACK 0 时,确认号无效。 第第4章章 传输层传输层返回本章首页返回本章首页TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项(长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充推送比特 PSH (PuSH) 接收 TCP 收到推送比特置 1 的报文段,就尽快地交付给接收应用进程,而不再等到整个缓存都填满了后再向上交付。 第第4章章 传输层传输层返回本章首页返回本章首页TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项(长

16、 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充复位比特 RST (ReSeT) 当 RST 1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。 第第4章章 传输层传输层返回本章首页返回本章首页TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项(长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充同步比特 SYN 同步比特 SYN 置为 1,就表示

17、这是一个连接请求或连接接受报文。 第第4章章 传输层传输层返回本章首页返回本章首页TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项(长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充终止比特 FIN (FINal) 用来释放一个连接。当FIN 1 时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。 第第4章章 传输层传输层返回本章首页返回本章首页TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项(长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留

18、FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充窗口字段 占 2 字节。窗口字段用来控制对方发送的数据量,单位为字节。TCP 连接的一端根据设置的缓存空间大小确定自己的接收窗口大小,然后通知对方以确定对方的发送窗口的上限。第第4章章 传输层传输层返回本章首页返回本章首页TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项(长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充检验和 占 2 字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在 TCP 报文

19、段的前面加上 12 字节的伪首部。第第4章章 传输层传输层返回本章首页返回本章首页TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项(长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充紧急指针字段 占 16 bit。紧急指针指出在本报文段中的紧急数据的最后一个字节的序号。 第第4章章 传输层传输层返回本章首页返回本章首页TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项(长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特

20、 0 8 16 24 31填 充选项字段长度可变。TCP只规定了一种选项,即最大报文段长度 MSS (Maximum Segment Size)。MSS 告诉对方 TCP:“我的缓存所能接收的报文段的数据字段的最大长度是 MSS 个字节。” MSS 是 TCP 报文段中的数据字段的最大长度。数据字段加上 TCP 首部才等于整个的 TCP 报文段。第第4章章 传输层传输层返回本章首页返回本章首页TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项(长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填

21、充填充字段 这是为了使整个首部长度是 4 字节的整数倍。 第第4章章 传输层传输层返回本章首页返回本章首页建立TCP连接 n要保证建立起可靠的连接并非是一件容易的事,要保证建立起可靠的连接并非是一件容易的事,问题的复杂性体现在如何确认可靠的连接已经问题的复杂性体现在如何确认可靠的连接已经建立起来了。一个典型的例子是建立起来了。一个典型的例子是“两军问题两军问题”。第第4章章 传输层传输层返回本章首页返回本章首页建立TCP连接 p设有交战的蓝军和白军,白军驻扎在两个山峰之间的谷地,设有交战的蓝军和白军,白军驻扎在两个山峰之间的谷地,蓝军分为两部分分别驻扎在谷地两边的两个山峰上。两军蓝军分为两部分

22、分别驻扎在谷地两边的两个山峰上。两军的战斗力相当,如果任何一部分蓝军单独攻打白军,这一的战斗力相当,如果任何一部分蓝军单独攻打白军,这一部分蓝军必败,白军就可以再打败另一部分蓝军:如果两部分蓝军必败,白军就可以再打败另一部分蓝军:如果两部分蓝军一起攻打白军,蓝军必胜。部分蓝军一起攻打白军,蓝军必胜。第第4章章 传输层传输层返回本章首页返回本章首页建立TCP连接 p关键是两部分蓝军如何联络能够确保一起进攻。联络时关键是两部分蓝军如何联络能够确保一起进攻。联络时蓝军的信使必须通过白军占领的谷地到达另一山峰,通蓝军的信使必须通过白军占领的谷地到达另一山峰,通过谷地时可能会被白军俘虏。过谷地时可能会被

23、白军俘虏。p假设蓝军假设蓝军1派信使给蓝军派信使给蓝军2送去进攻时间的建议,蓝军送去进攻时间的建议,蓝军1必必须等见到蓝军须等见到蓝军2再派回的信使说明他已经收到并同意蓝军再派回的信使说明他已经收到并同意蓝军1的建议,蓝军的建议,蓝军1才能确定派出的信使安全地将信送到。才能确定派出的信使安全地将信送到。p但蓝军但蓝军2会被同样的问题所困扰,他不能确定派出的信使会被同样的问题所困扰,他不能确定派出的信使是否安全送达,他还要等待蓝军是否安全送达,他还要等待蓝军1的确认信息。如此反复,的确认信息。如此反复,将不能有最终的结果。将不能有最终的结果。第第4章章 传输层传输层返回本章首页返回本章首页建立T

24、CP连接 n三次握手三次握手q客户机发出建立连接请求,连接请求给定了所要连接的客户机发出建立连接请求,连接请求给定了所要连接的对方的对方的IP地址和端口号、本身所能接收的最大数据报长地址和端口号、本身所能接收的最大数据报长度,并等待应答;度,并等待应答;q当该数据段到达服务器后,服务器的当该数据段到达服务器后,服务器的TCP决定是接受还决定是接受还是拒绝客户机建立连接的请求,如接受请求则发送建立是拒绝客户机建立连接的请求,如接受请求则发送建立连接应答分组;连接应答分组;q客户机收到建立连接应答,回送确认连接的数据段。客户机收到建立连接应答,回送确认连接的数据段。第第4章章 传输层传输层返回本章

25、首页返回本章首页用三次握手建立用三次握手建立 TCP 连接连接 SYN, SEQ = x主机主机 BSYN, ACK, SEQ = y, ACK= x 1ACK, SEQ = x + 1, ACK = y 1被动打开被动打开主动打开主动打开确认确认确认确认主机主机 A连接请求连接请求第第4章章 传输层传输层返回本章首页返回本章首页建立建立 TCP 连接连接nA 的的 TCP 向向 B 发出连接请求报文段,其首部中的同步比发出连接请求报文段,其首部中的同步比特特 SYN 应置为应置为 1,并选择序号,并选择序号 x,表明传送数据时的第,表明传送数据时的第一个数据字节的序号是一个数据字节的序号是

26、x。nB 的的 TCP 收到连接请求报文段后,如同意,则发回确认。收到连接请求报文段后,如同意,则发回确认。nB 在确认报文段中应将在确认报文段中应将 SYN 置为置为 1,其确认号应为,其确认号应为 x 1,同时也为自己选择序号同时也为自己选择序号 y。nA 收到此报文段后,向收到此报文段后,向 B 给出确认,其确认号应为给出确认,其确认号应为 y 1。nA 的的 TCP 通知上层应用进程,连接已经建立。通知上层应用进程,连接已经建立。n当运行服务器进程的主机当运行服务器进程的主机 B 的的 TCP 收到主机收到主机 A 的确认的确认后,也通知其上层应用进程,连接已经建立。后,也通知其上层应

27、用进程,连接已经建立。 第第4章章 传输层传输层返回本章首页返回本章首页TCP 的流量控制的流量控制 滑动窗口的概念滑动窗口的概念nTCP 采用大小可变的滑动窗口进行流量控制。采用大小可变的滑动窗口进行流量控制。窗口大小的单位是窗口大小的单位是字节字节。n在在 TCP 报文段首部的窗口字段写入的数值就是报文段首部的窗口字段写入的数值就是当前给对方设置的发送窗口数值的上限。当前给对方设置的发送窗口数值的上限。n发送窗口在连接建立时由双方商定。但在通信的发送窗口在连接建立时由双方商定。但在通信的过程中,接收端可根据自己的资源情况,随时动过程中,接收端可根据自己的资源情况,随时动态地调整对方的发送窗

28、口上限值态地调整对方的发送窗口上限值(可增大或减小可增大或减小)。 第第4章章 传输层传输层返回本章首页返回本章首页收到确认即可前移收到确认即可前移1002003004005006007008009001012013014015016017018011发送窗口可发送不可发送指针指针n发送端要发送发送端要发送 900 字节长的数据,划分为字节长的数据,划分为 9 个个 100 字节长的报文段,而发送窗口确定为字节长的报文段,而发送窗口确定为 500 字字节。节。n发送端只要收到了对方的确认,发送窗口就可前发送端只要收到了对方的确认,发送窗口就可前移。移。n发送发送 TCP 要维护一个指针。每发送

29、一个报文段,要维护一个指针。每发送一个报文段,指针就向前移动一个报文段的距离。指针就向前移动一个报文段的距离。第第4章章 传输层传输层返回本章首页返回本章首页收到确认即可前移收到确认即可前移1002003004005006007008009001012013014015016017018011可发送不可发送指针1002003004005006007008009001012013014015016017018011发送窗口可发送不可发送指针指针发送窗口前移n发送端已发送了发送端已发送了 400 字节的数据,但只收到对前字节的数据,但只收到对前 200 字节数据的确认,同时窗口大小不变。字节数据的

30、确认,同时窗口大小不变。n现在发送端还可发送现在发送端还可发送 300 字节。字节。 已发送并被确认已发送但未被确认第第4章章 传输层传输层返回本章首页返回本章首页1002003004005006007008009001012013014015016017018011已发送并被确认已发送但未被确认可发送不可发送指针指针1002003004005006007008009001012013014015016017018011已发送并被确认可发送不可发送指针指针发送窗口前移发送窗口缩小发送端收到了对方对前发送端收到了对方对前 400 字节数据的确认,但对方字节数据的确认,但对方通知发送端必须把窗口减

31、小到通知发送端必须把窗口减小到 400 字节。字节。现在发送端最多还可发送现在发送端最多还可发送 400 字节的数据。字节的数据。 第第4章章 传输层传输层返回本章首页返回本章首页窗口与窗口与TCP的流量控制的流量控制第第4章章 传输层传输层返回本章首页返回本章首页44 TCP拥塞控制n发送端的主机在确定发送数据段的速率时,既要根据接收端的接收能力,又要从全局考虑不要使网络发生拥塞。nTCP的流量控制防止了发送方过快地传输数据使得接收方来不及处理的情形,但是网络容量有限,这时必须通过拥塞控制来防治网络过载。第第4章章 传输层传输层返回本章首页返回本章首页45TCP拥塞控制 Congestion

32、 Controln什么是网络拥塞q当大量分组进入通信子网,超出了网络的处理能力时,就会引起网络局部或整体性能下降,这种现象称为拥塞。q拥塞表现为路由器的队列溢出,分组丢失n拥塞会导致什么后果q拥塞使许多分组重传q导致更多的业务量,直至崩溃n拥塞的原因q路由器的处理速度、存储空间、带宽不匹配q网络负载的不平衡第第4章章 传输层传输层返回本章首页返回本章首页46接收端窗口和拥塞窗口n每一个 TCP 连接需要维护两个窗口q接收端窗口 rwnd (receiver window) 又称为通知窗口(advertised window) q拥塞窗口 cwnd (congestion window)n接收端

33、窗口 rwnd是接收端根据其目前的可用接收缓存大小所许诺的最新的窗口值,是来自接收端的流量控制。n接收端将此窗口值放在 TCP 数据段头标中的窗口大小域传送给发送端。n拥塞窗口 cwnd 是发送端根据自己估计的网络拥塞程度而设置的窗口值第第4章章 传输层传输层返回本章首页返回本章首页47发送窗口n发送窗口的上限值:q发送端的发送窗口的上限值应当取为接收端窗口 rwnd 和拥塞窗口 cwnd 这两个变量中较小的一个,即应按以下公式确定:发送窗口的上限值发送窗口的上限值 = Minrwnd, cwnd n当 rwnd cwnd 时,是接收端的接收能力限制发送窗口的最大值。n当 cwnd rwnd

34、时,则是网络的拥塞限制发送窗口的最大值。 第第4章章 传输层传输层返回本章首页返回本章首页48TCP拥塞控制算法其拥塞控制算法需要三个参数:接收方窗口拥塞窗口临界值(阈值)n慢启动(slow-start)q在连接建立初期,拥塞窗口初始化为该连接最大数据段的长度q发送端发送一个最大数据段,得到确认后,其拥塞窗口大小加倍,依次类推,直到数据段传输超时或已达到接收端窗口大小(兼顾拥塞和流量控制)n拥塞避免(congestion avoidance)第第4章章 传输层传输层返回本章首页返回本章首页49TCP拥塞控制算法过程n当一个连接初始化时,将拥塞窗口置为一个最大数据段长度,并设置慢启动阈值ssth

35、resh。n发送端的发送窗口不能超过拥塞窗口和接收窗口中的最小值,并假定接收端不进行流量控制。n发送端若收到了对所有发出的数据段的确认,就在下一次发送时将拥塞窗口加倍。n拥塞窗口增长到ssthresh时,就每次将拥塞窗口加1,使拥塞窗口按线性规律增长n如果出现超时,就将当时拥塞窗口值减半,作为新的ssthresh,同时将拥塞窗口变为1n重复上述过程慢启动拥塞避免第第4章章 传输层传输层返回本章首页返回本章首页50TCP拥塞控制算法实例慢启动慢启动第第4章章 传输层传输层返回本章首页返回本章首页51TCP定时器管理n(1)重传定时器(Connection Establishment Timer)

36、n(2)连接建立定时器(Connection Establishment Timer)n(3)ACK延时定时器(Delayed ACK Timer)n(4)持续定时器(Persistence Timer)n(5)保活定时器(The Keepalive Timer )n(6)闲置定时器(The Quiet Timer) 第第4章章 传输层传输层返回本章首页返回本章首页52TCP定时器管理n(1)重传定时器(Connection Establishment Timer)q重发定时器是TCP发送数据时设置的,如果在定时器超时前该数据段被确认,就关闭该定时器,否则,一旦超时则重发该数据段。n(2)连接

37、建立定时器n(3)ACK延时定时器n(4)持续定时器n(5)保活定时器n(6)闲置定时器第第4章章 传输层传输层返回本章首页返回本章首页53问题:超时间隔( timeout )应设为多长呢?n不适当的 timeout 会导致性能下降: qTimeout太长 导致发送端的等待时间太长qTimeout太短 重发多余的不必要的数据 n解决的方法:n对网络的性能不断测试,采用一种不断调整超时时间间隔的动态算法。第第4章章 传输层传输层返回本章首页返回本章首页54TCP定时器管理n(1)重传定时器n(2)连接建立定时器(Connection Establishment Timer)q当请求建立连接的SY

38、N数据段发出时,连接建立定时器就开始计时,如果在75秒内未收到响应,则连接建立失败。n(3)ACK延时定时器(Delayed ACK Timer)n(4)持续定时器(Persistence Timer)n(5)保活定时器(The Keepalive Timer ) n(6)闲置定时器(The Quiet Timer)第第4章章 传输层传输层返回本章首页返回本章首页55TCP定时器管理n(1)重传定时器(Connection Establishment Timer)n(2)连接建立定时器(Connection Establishment Timer)n(3)ACK延时定时器(Delayed AC

39、K Timer)q当TCP实体收到数据时它必须返回确认,但并不需要立即回复,它可以在200亳秒内发送ACK报文,如果在这段时间内它恰好有数据要发送,它就可以在数据内包含确认信息,因此需要ACK延时定时器。n(4)持续定时器(Persistence Timer)n(5)保活定时器(The Keepalive Timer ) n(6)闲置定时器(The Quiet Timer)第第4章章 传输层传输层返回本章首页返回本章首页56TCP定时器管理n(1)重传定时器(Connection Establishment Timer)n(2)连接建立定时器n(3)ACK延时定时器(Delayed ACK Timer)n(4)持续定时器(Persistence Timer)q防止死锁事情发生,发送方在收到接收方发来一个窗口为0的数据时,就启动持续定时器,等到该定时器超时还没有收到对方修改窗口大小的数据段时,发送方就发一个探测数据,接收方对该探测数据的响应应包含了窗口大小,若仍为0,则定时器清0,重复以上步骤,否则则可以发送数据。n(5)保活定时器(The Kee

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论