数据通信与计算机网络技术(第二版)-电子教案-季福坤 第8章 传输层

上传人:E**** 文档编号:89451929 上传时间:2019-05-25 格式:PPT 页数:72 大小:1.52MB
返回 下载 相关 举报
数据通信与计算机网络技术(第二版)-电子教案-季福坤 第8章  传输层_第1页
第1页 / 共72页
数据通信与计算机网络技术(第二版)-电子教案-季福坤 第8章  传输层_第2页
第2页 / 共72页
数据通信与计算机网络技术(第二版)-电子教案-季福坤 第8章  传输层_第3页
第3页 / 共72页
数据通信与计算机网络技术(第二版)-电子教案-季福坤 第8章  传输层_第4页
第4页 / 共72页
数据通信与计算机网络技术(第二版)-电子教案-季福坤 第8章  传输层_第5页
第5页 / 共72页
点击查看更多>>
资源描述

《数据通信与计算机网络技术(第二版)-电子教案-季福坤 第8章 传输层》由会员分享,可在线阅读,更多相关《数据通信与计算机网络技术(第二版)-电子教案-季福坤 第8章 传输层(72页珍藏版)》请在金锄头文库上搜索。

1、第8章 传输层,8.1 传输层提供的服务 8.2 传输控制协议TCP 8.3 用户数据报协议UDP,8.1.1 传输层概述,传输层位于网络体系结构的第四层,是整个网络体系结构的核心部分之一。传输层的目标是利用网络层提供的服务向其用户(应用进程)提供有效、可靠且价格合理的服务。,8.1.1 传输层概述,在通信子网中没有传输层,它只存在于通信子网以外的各主机中。,8.1.1 传输层概述,传输层介于网络功能和用户功能之间。,8.1.2 提供给高层的服务,传输层位于收发两端的主机上,以独立的传输层实体存在,并通过相应接口向上层提供服务,8.1.3 传输层要素,传输层需要完成几个工作: 传输层寻址 连接

2、管理 差错控制 流量控制,1传输层寻址,传输层对主机上的不同网络进程进行了编号,用不同的数字区分不同的网络进程。传输层标识网络进程的数字称为传输层地址或端口号。通过该方法,传输层可以使多对进程间的通信复用到一个网络连接上,以此来完成多对应用程序间的通信。,2连接管理,通过连接管理,传输层保证了数据按顺序、不重复地传输。 传输层在发送数据之前需要先建立连接。在连接建立过程中,进行初始序号协商和分配资源等工作。连接建立后,传输层才开始发送数据。在数据发送过程中,数据的序号在初始序号的基础上依次递增,3差错控制,传输层一般使用确认和超时重传的机制保证数据正确传输。 因为线路原因,数据在传输时可能出错

3、;因为路由器负载过重的原因,数据在传输时可能丢失。为使发送端知道数据是否正确传输,传输层实体使用确认机制,接收端正确收到数据后向发送端回发确认。,4流量控制与缓冲机制,中间网络负载过重造成数据丢失,4流量控制与缓冲机制,接收缓冲区溢出造成数据丢失,4流量控制与缓冲机制,为了防止发送方发送速度过快,加重网络负担或“淹没”接收方,需要调整发送方的发送速度,称为流量控制。与数据链路层类似,传输层会限制对发送缓冲区的使用,即使用滑动窗口方法。不同的是,传输层会动态调整可用发送缓冲区的大小,即使用可变大小的发送窗口,8.1.4 TCP/IP协议中的传输层,TCP/IP协议栈的传输层包括两个协议: UDP

4、(User Datagram Protocol,用户数据报协议)和TCP(Transmission Control Protocol,传输控制协议)。,8.1.4 TCP/IP协议中的传输层,TCP是可靠的、面向连接的。TCP进行传输层寻址、连接管理、差错控制和流量控制。如果IP分组的传输出现错误、丢失或乱序,TCP会进行处理,从而保证应用程序得到的是可靠的数据。TCP与UDP相比提供了较多的功能,但是相对的报文格式和运行机制也较为复杂。 UDP是不可靠、无连接的,即在进行数据传输之前不需要建立连接,而目的主机收到数据报后也不需要发回确认。这种协议提供了一种高效的传输服务,用于一次传输少量数据

5、报文的情况,其可靠性由应用程序来提供。,8.1.5 端口,当信息包通过网络层的传输到达目的地后,如果目的计算机上有多个应用程序正在同时运行,应该确定信息包上传给哪个应用程序。传输层可以通过协议端口(Protocol Port,简称端口)来标识通信的应用进程。传输层通过端口与应用层的应用程序进行信息交互,而应用层的各种用户进程通过相应的端口与传输层实体进行信息交互。,8.1.5 端口,常见的熟知端口号,8.1.5 端口,“连接”示意图,8.2 传输控制协议TCP,特点: 可靠的传输 面向连接 数据流式传输 全双工,8.2.1 TCP的报文格式,TCP报文封装在IP分组中,一个TCP报文分为两个部

6、分:首部和数据 。,源端口和目的端口字段各占 2 字节,分别标识连接两端的两个通信的应用进程。,ECE,CWR,发送序号:占4个字节。TCP对每一个字节进行编号,在这个字段中给出的数字是本报文段所发送的数据部分的第一个字节的序号。,CWR,ECE,接收序号:又称作确认序号,占4个字节。期望收到的下一个报文段的首部中的发送序号,同时确认以前收到的报文。,ECE,CWR,数据偏移:占4位,指出在TCP数据报内实际的数据到TCP报文段的起始位置的距离。“数据偏移”字段存储的数值的单位是32位的字。,ECE,CWR,保留字段与标志位:占4位,设置的值为0,供功能扩展使用。,ECE,CWR,这两位用于拥

7、塞控制,将于后面介绍,ECE,CWR,当此位设置为1时,表明此报文段中含有由发送端应用进程标出的紧急数据,同时用“紧急指针”字段指出紧急数据的末字节。TCP必须通告接收方的应用进程:“这里有紧急数据”,并将“紧急指针”传送给应用进程。,ECE,CWR,确认比特(ACK):标志着首部中“确认序号”字段是否可用,当设置此位为1时,确认序号才有意义。,ECE,CWR,紧迫比特(PSH):为紧急报文段,当为1时,表明请求远地目的主机的TCP要将本报文段立即向上传递给其应用层进行处理。,ECE,CWR,复位比特 RST (ReSeT) : 当为 1 时,表明 TCP 连接中出现严重差错,必须释放连接,然

8、后再重新建立运输连接。,ECE,CWR,同步比特(SYN):在建立连接时使用,与ACK配合使用:当SYN=1,ACK=0时,表明一个请求建立连接的报文段;若对方同意建立连接,则在发回的确认报文段中会将SYN设置为1,ACK设置为1。,ECE,CWR,终止比特 FIN (FINal) : 用来释放一个连接。当FIN 1 时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。,ECE,CWR,窗口:占2字节,用来控制对方发送的数据量,单位为字节。所设定的值既是自己的接收窗口,也是对方发送窗口的上限。,ECE,CWR,检验和 占 2 字节。检验和字段检验的范围包括首部和数据这两部分。在计算检

9、验和时,要在 TCP 报文段的前面加上 12 字节的伪首部。,ECE,CWR,检验和(伪首部),伪首部既不向下传送也不上交,第三个字段全为0,第四个字段是IP首部中的协议字段值,TCP协议的编号值为6,第五个字段给出整个TCP数据报的长度。,检验和的计算,(1)首先将TCP的检验和字段设置为0; (2)当数据长度是奇数时数据字段末尾增加一个字节(字节内容为全0); (3)将所有的16位字依次相加,如果相加过程最高位有进位,则将进位加到最低位, (4)将得到的和取反,即为检验和。,紧急指针:与紧急比特配合使用,指出在本报文段中的紧急数据的最后一个字节的序号。,ECE,CWR,单字节选项:选项结束

10、和无操作;多字节选项:最大报文段长度、窗口扩大因子以及时间戳,ECE,CWR,填充字段 : 这是为了使整个首部长度是 4 字节的整数倍。,ECE,CWR,8.2.2 TCP的编号与确认,TCP 协议是面向字节的。TCP 将所要传送的报文看成是字节组成的数据流,并使每一个字节对应于一个序号。 在连接建立时,双方要商定初始序号。TCP 每次发送的报文段的首部中的序号字段数值表示该报文段中的数据部分的第一个字节的序号。 TCP 的确认是对接收到的数据的最高序号表示确认。接收端返回的确认号是已收到的数据的最高序号加 1。因此确认号表示接收端期望下次收到的数据中的第一个数据字节的序号。,8.2.3 TC

11、P拥塞控制,Internet的复杂性、网络流量的不可预知及不可控性、网络故障的不可避免性、算法不可能完美等等因素决定了网络拥塞的不可避免。当加载到某个网络上的载荷超过其处理能力时,拥塞现象便会出现。 TCP是端到端的可靠的、面向连接的服务。它必须解决三层以下的不可靠问题。一般的,TCP依靠确认、超时重传来保证可靠传输。然而,无节制的重传造成第三层更加严重的拥塞后果。因此,TCP采用特定的算法,与IP协同作用,尽最大努力来避免拥塞或减缓拥塞的发生。,8.2.3 TCP拥塞控制,为了同时反映网络的问题,TCP依据两个窗口来协同工作:接收方准许的窗口(rwnd receiver window)和拥塞

12、窗口(cwnd - congestion window)。每个窗口都反应了发送方可以传输的字节数。取两个窗口的最小值作为可以发送的字节数。这样,有效窗口便是发送方和接收方分别认为合适的窗口中最小的那个。即: 发送的窗口大小 = min (rwnd, cwnd),8.2.3 TCP拥塞控制,当建立连接时,发送方将拥塞窗口大小初始化为该连接所用的最大数据段的长度值。通常情况下,此时的拥塞控制窗口会小于接收窗口,然后发送一个最大长度的数据段。如果该数据段在定时器超时之前得到了确认,那么发送方会在原拥塞窗口的基础上再增加一个数据段的字节值,使其为两倍最大数据段的大小,然后发送两个数据段。当这些数据段中

13、的每一个都被确认后,拥塞窗口大小就再加倍。实际上,每次成功地得到确认都会使拥塞窗口的大小加倍 .,8.2.3 TCP拥塞控制,TCP在执行拥塞控制算法时除了接收窗口(rwnd)和拥塞窗口(cwnd)外还要设定一个参数,就是临界值(threshold)。传输伊始,临界值初始化为64KB。然后从一个最大数据段大小开始,逐渐增大拥塞窗口,如果发生数据传输超时,将临界值设置为当前拥塞窗口大小的12,并使拥塞窗口恢复为最大数据段的大小,重新开始慢启动过程。当窗口增大到临界值仍然没有发生超时,也不能再按指数增大窗口,而是按线性增加(对每个字符组按最大数据段的值增加)。这一阶段又称为拥塞避免(Congest

14、ion Avoidance)。,8.2.3 TCP拥塞控制,开始时拥塞窗口为64KB,但此时出现了超时,因此将临界值设置为32KB,传输号0的拥塞窗口为1KB。之后拥塞窗口按指数规律增大直到临界值(32KB)。并由此开始按线性规律增大。传输号13发生了定时器超时,临时界值被设置为当前窗口的12(当前为40KB,因此12为20KB),慢启动又从头开始。传输号18前面四次传输每次均是按指数增量增大拥塞窗口,但这之后,窗口又将按线性增大。,8.2.4 显式拥塞指示,上述拥塞控制算法是建立在所有传输超时都是由于拥塞引起的这样的假设基础上的。它将网络当做一个黑匣子,根本不知道网络中到底发生了什么情况。能

15、否将网络的状态明确的“告知”连接的两个端系统呢。2001年9月IETF网络工作组发布了RFC 3168 - 在IP中增加显式拥塞指示(ECN- Explicit Congestion notification),旨在报告传输路径上的拥塞状况。,8.2.4 显式拥塞指示,ECN功能涉及到IP数据报头格式和TCP报头格式定义的变化。在IPv4数据报头中,RFC 3168定义了新的TOS字段格式,8.2.4 显式拥塞指示,DS字段为区别服务码点,是为IP数据报通过路由器时选择不同类型的服务之用。位6和位7用于拥塞的显示指示(ECN FIELD)。,8.2.4 显式拥塞指示,由主机和路由器协同完成的I

16、P的ECN功能只是实现了传输路径上的拥塞状况指示,对拥塞的处理需要传输层协议的支持。对TCP而言,首先要确定连接的两个端点都支持ECN;其次,接收端能对收到的CE数据包做出反应以通知发送端;再次,发送端接到通知后,要对拥塞做出应对。这将要求TCP增加三项功能:第一:在连接建立阶段协商两端点是否均支持ECN(ECN-Capable);第二:在TCP报头增加ECN-Echo (ECE) 标志,以使得接收端有能力通知发送端其收到了带有CE标志的数据包;第三:在TCP报头增加拥塞窗口减小标志CWR (Congestion Window Reduced )使得发送方能够通知接收方已经对出现的拥塞做出应对。这里有必要说明的是,支持ECN功能的TCP源端在应对拥塞时,仍然采用传统的拥塞控制算法即:慢启动、拥塞避免、快速恢复等机制。,8.2.4 显式拥塞指示,TCP实体是否支持ECN功能要靠连接建立阶段双方协商来确定。如果发起连接请求的一方称为

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号