第6章-传输层要点.ppt_第1页
第6章-传输层要点.ppt_第2页
第6章-传输层要点.ppt_第3页
第6章-传输层要点.ppt_第4页
第6章-传输层要点.ppt_第5页
免费预览已结束,剩余36页可下载查看

下载本文档

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

文档简介

第5章运输层,5.1运输层概述5.2用户数据报协议UDP5.3传输控制协议TCP,5.1运输层概述,运输层是TCP/IP协议中的第3层,OSI模型、原理体系结构中的第4层。1、运输层调用网际层提供的主机到主机的数据传输功能,为应用层提供面向连接的和面向非连接的端到端的传输服务;2、运输层向应用层屏蔽了下层的通信细节,它使应用层看到的是进程之间的逻辑数据传输通道;3、运输层是TCP/IP协议体系结构中重要的组成部分,该层包括面向连接的传输控制协议TCP,以及面向非连接的用户数据报协议UDP。4、TCP为应用层提供一条可靠的、全双工的、端到端的逻辑通道;UDP提供一条不可靠的、全双工的、端到端逻辑通道。,5.1TCP/IP协议的运输层概述,在传输层,TCP协议的协议数据单元称为TCP报文段;而UDP协议的协议数据单元称为UDP报文或用户数据报。TCP和UDP协议不涉及路由器1、在TCP和UDP看来,下层已经提供了一条主机到主机的、面向非连接的、不可靠的逻辑通道。因此,TCP和UDP都不涉及具体的通信子网的技术细节;2、该通道的建立是IP协议的职责。IP协议通过IP地址来标识主机,提供了主机到主机之间的逻辑数据通道,在此通道之上有多个进程进行通讯,这就涉及到两个问题:1、如何标识这些进程;2、如何解决进程对IP逻辑通道复用和分用的问题。,1、TCP/IP运输层寻址,TCP和UDP协议采用端口标识进程1、为标识传输层的端(进程),必须引入新的标识-端口,端口号是一个无符号的整数;2、利用端口号标识传输层的进程(1)端口号解决了运输层进程的识别问题;(2)端口号也解决了IP逻辑数据通道复用和分用的问题;(3)端口只具有本地意义。3.传输层采用IP地址+端口号的形式表示端(1)端口号为16位无符号整数(0-65535);(2)32位IP地址加上16位的端口号组成了48位的插口或套接字(SOCKET);例如:192.168.1.1:80,192.168.1.1:53,2、TCP/IP运输层端口的分类,端口的分类1、服务器使用的端口号(1)由IANA(因特网指派名字和号码公司)负责分配的常用的固定使用的周知(特权、熟知)端口(WELL-KNOWPORT)。0-1023具体定义见RFC1700;例如:80、21、53等;(2)由IANA负责管理的登记的端口号,1024-49151;2、客户端使用的端口号又称短暂(动态、客户)端口。不需注册就可使用,IANA不保留也不维护,49152-65535,仅用于客户进程。采用TCP或UDP协议的通信进程必须指定端口号,3、TCP/IP运输层的复用和分用,端口m,端口n,应用进程一,应用进程二,TCP/UDP,IP,端口o,端口p,应用进程三,应用进程四,TCP/UDP,IP,网络接口层,IP地址,端口号,多个端口复用到一个IP上,从一IP上分用到多个端口上,5.2用户数据报协议UDP,UDP协议是TCP/IP协议传输层的协议1、该协议向应用层提供不可靠的、面向非连接的数据传输服务;2、该协议只在IP数据报服务之上增加了端口功能和可选的差错校验功能;3、因此,UDP是一个简单的协议;4、UDP由RFC768描述;UDP协议的特点1、在通讯前不需建立连接,数据报尽最大努力交付(无连接);2、没有流量、拥塞控制,不需维护复杂的连接状态表,首部小,数据传送率高(简单);3、UDP是面向报文的(保留报文边界);4、支持一对一、一对多、多对一和多对多的交互通信。,1、用户数据报协议UDP的复用和分用,利用UDP报文队列实现IP的复用,IP,UDP,UDP报文,UDP报文,UDP报文,UDP报文,UDP报文,UDP报文,UDP报文,UDP报文,UDP报文,UDP报文,UDP报文,UDP报文,应用进程1,应用进程2,应用进程3,端口m,端口n,端口p,队列,队列,队列,2、用户数据报协议UDP的格式,源端口,目的端口,长度,校验和,UDP报文段首部,UDP报文段数据,IP数据包首部,IP数据包数据,IP数据包,UDP数据报文,带伪首部UDP数据报文,UDP数据报的首部和伪首部,2,2,2,2,8,65507默认值为8192,65515,3、UDP协议的校验和,UDP校验和是可选的1、当检验和字段为0时,不采用差错检验;2、当检验和字段计算值为0时,采用其反码。UDP校验和计算方法1、不足16位的整数倍时,填充0;2、引入12字节的伪首部;3、填充的0和引入的伪首部只参与计算校验和,不真正传输。伪首部的格式,4、计算UDP校验和的报文格式,源IP地址,目的IP地址,0,17,UDP长度,伪首部,源端口,目的端口,长度,校验和,UDP报文段首部,UDP报文段数据,IP数据包首部,IP数据包数据,IP数据包,UDP数据报文,带伪首部UDP数据报文,UDP伪首部,UDP数据报的首部和伪首部,4,4,1,1,2,12,2,2,2,2,8,65507默认值为8192,65515,5、UDP校验和的计算算法,发送端1、将全零放入校验和字段;2、将伪首部与用户数据划分成16位序列,如果不是偶数字节,填充全0字节;3、计算16位序列反码和,写入校验和字段。接收端1、针对伪首部、数据以及可能的填充字节计算16位序列反码和;2.结果全1,无差错;否则,传输出错。,6、用户数据报协议UDP的应用,UDP适用的场合1、性能比完整性更为重要的数据传输;2、简短愉快的数据传输;3、多播或广播的数据传输。,6、用户数据报协议UDP的应用,UDP的典型应用,5.3传输控制协议TCP,TCP是TCP/IP体系结构中传输层的另外一个协议1、为常见的需要跨越任意互联网络可靠传送数据的应用程序提供所需的全部功能;2、以端口的形式为应用进程提供传输层寻址,并允许主机使用这些端口在彼此之间创建连接;3、采用TCP的应用程序可以将数据以字节流的形式传输;4、TCP提供的缓冲、流控制以及拥塞控制,提供了处理非平衡的数据交付速率;5、TCP是一个应用广泛的协议。,1、传输控制协议TCP概述,TCP是一个复杂的协议1、该协议是面向连接的协议,提供创建、管理和终止连接的功能(1)字节流,字节流没有边界;(2)点对点传输。2、该协议提供全双工的可靠交付的服务(1)可靠交付使用序号和确认来保证;(2)序号和确认机制实现传输可靠、按序、无丢失和无重复的功能,由于增加了序号和确认机制,协议比较复杂。3、提供复用、分用和寻址的功能;4、处理应用层数据、打包并将其传递给网络层进行传输;5、该协议提供流控制和拥塞避免特性;7、完整的TCP在RFC793、RFC1122、RFC1323中定义。,2、传输控制协议TCP报文的格式,TCP报文段的格式1、TCP报文段分为首部和数据两部分;2、TCP报文段首部的前20字节是固定的,后面4N字节是根据需要而增加的。(1)TCP报文段是变长的;(2)最小长度为20字节;(3)长度是4的整数倍。3、TCP报文段首部包括:源端口和目的端口、序号、确认序号、数据偏移、紧急比特等14项内容;这些内容实现了TCP面向连接的可靠交付的服务功能。,TCP报文格式,源端口,目的端口,序号,确认号,数据偏移,保留,URG,ACK,PSH,RST,SYN,FIN,窗口,校验和,紧急指针,选项(长度可变),填充,TCP首部,TCP数据部分,IP首部,IP数据部分,32bit,0,15,31,7,23,3、TCP报文段的序号和确认序号,TCP的序号与确认号的计算1、TCP利用序号来标识字节流;利用确认序号来对已经收到的字节确认,同时表示接收端期望下次收到的数据中第一个数据字节的序号;2、字节流中的每个字节对应一个序号;确认是对收到的数据的最高序号的确认。,序号为101,长度为200,确认序号为301,主机A,主机B,m,m+1,n-1,n,报文段序号m,长度n-m+1;确认号为n+1,3、TCP报文段的序号和确认序号,TCP数据报文中,序号为32位的整数字段。1、不可能出现序号的重复;2、确认号也不可能出现重复。事实上,序号和确认号以232为模进行计算。另外,由于TCP是全双工的协议,不必专门构造确认报文分段,可将对接收的确认放在相反方向的报文分段中。,4、TCP报文段发送的时机选择,TCP报文分段的发送过程,发送缓存,应用进程,写字节,TCP,发送缓存,应用进程,读字节,TCP,发送端,接收端,报文段,报文段,什么时候发送?,什么时候读取?,4、TCP报文段发送的时机选择,TCP发送报文段的时机1、利用最大报文段长度;2、TCP的推操作;3、发送端计时器。一个极端的情况,Telnet,HostA,TerminalB,A,A,TCP报文头(20),A,TCP报文头(20),IP包头(20),TCP报文头(20),TCP报文头(20),IP包头(20),发送,确认,5、极端情况下传输效率的分析,发送一个字节的数据需要41个字节,确认需要40个字节;如果需要回送,还需要发送41个字节,确定需要40个字节,因此共需162字节;这种传送方法的效率很低,在TCP协议中采用Nagle算法解决上述问题。,6、处理极端情况的Nagle算法,Nagle算法的基本思想1、发送端应用程序将数据送入发送端TCP缓存;2、将第一个字符先发送出去,其他字符缓存;3、接收端收到字符并确认;4、发送端收到确认,将所有字符发送出去,继续缓存;5、只有收到对发送的确认后才能继续发送。在互联网上采用的是XWindows协议。糊涂窗口综合症问题也影响TCP性能。,7、糊涂窗口综合症,糊涂窗口综合症描述1、接收端的缓存已满;2、而交互式的应用进程一次只从缓存中读取1个字符,然后就向发送端发送确认,并将窗口设置为1个字节;3、接着发送端发来1个字节,循环下去。糊涂窗口综合症的解决办法1、接收端稍后确认;2、发送端稍积累数据报文。,8、乱序报文和紧急数据,收到报文乱序的解决办法1、抛弃乱序的报文;2、缓存乱序的报文。紧急数据或带外数据1、URG紧急位;2、紧急指针。,9、流量控制与拥塞控制,TCP的流量控制与拥塞控制1、为提高报文段的传输效率,TCP采用滑动窗口解决流量控制问题;2、TCP报文段首部的窗口就是给对方设置的发送窗口大小,既接收端控制发送端;3、发送窗口在连接建立时有双方商定,但在通信过程中,接收端可动态调整发送窗口的大小;4、在数据发送过程中既要考虑接收段的接收能力,还要考虑网络的拥塞现象。,10、拥塞控制,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏,这种情况就叫做拥塞。产生拥塞的条件对资源的需求可用资源拥塞控制就是防止过多的数据注入到网络中,这样可以使网络中的路由器或链路不致过载。要求网络能够承受现有的网络负载,这是一个全局过程。,(1)拥塞控制所起的作用,吞吐量,提供的负载,轻度拥塞,拥塞,死锁,无拥塞控制,实际的拥塞控制,理想的拥塞控制,(2)拥塞控制的策略,从控制论的角度来看,拥塞控制包括开环控制和闭环控制。开环控制是指在设计网络时就事先将有关发生拥塞的因素考虑周到,力求网络在工作时不产生拥塞。闭环控制是基于反馈环路的概念,属于闭环控制的有以下几种措施。1、监测网络系统以便检测到拥塞在何时、何处发生;2、把拥塞发生的信息传送到可采取行动的地方;3、调整网络系统的运行以解决出现的问题。,(3)拥塞的检测,首先需要获得网络内部流量分布的信息。检测拥塞的主要参数有。1、由于缺少缓存空间而被丢弃的分组的百分数;2、平均队列长度;3、超时重传的分组数;4、平均分组时延;5、分组时延标准差。,(4)TCP拥塞控制方法,TCP在确定发送窗口的时候既要考虑接收端的接收能力,又要使网络不发生拥塞。1、发送窗口=Min通知窗口,拥塞窗口(1)通知窗口是接收端根据其接收能力许诺的窗口值,是来自接收端的流量控制;(2)拥塞窗口是发送端根据网络拥塞情况得出的窗口值,是来自发送端的流量控制。2、解决拥塞问题采用的算法(1)慢启动(慢开始)(2)拥塞避免(3)快重传(4)快恢复,慢启动和拥塞避免,慢启动和拥塞避免1、当一个连接初始化时,将拥塞窗口设置为1,并设置慢启动的门限窗口值为16;2、发送端的发送窗口不能超过拥塞窗口和通知窗口的最小值;3、发送端收到了对所有发出的报文段的确认,就在下一次发送时将拥塞窗口加倍;若出现超时则将当时的拥塞窗口减半,作为新的门限窗口值,同时拥塞窗口再次变为1;否则,当发送窗口等于门限窗口值时,针对接收端的确认,发送窗口每次增加1;4、拥塞窗口重新从1开始按指数规律增长,当达到拥塞门限时,每次拥塞窗口只增加1,出现超时重复上述过程。,快重传和快恢复,为改善拥塞控制算法,1990年又引入了快重传和快恢复两个算法。快重传1、对于拥塞正常的处理是:如果发送方设置的超时计时器时限已到还没有收到确认,那么网络可能出现了拥塞,这时执行慢开始算法,将慢开始门限减为发送窗口的一半。(1)可能由于网络的意外到来的偶尔超时;(2)可能由于捎带确认带来的超时。2.快重传的处理是:接收方每收到一个失序的报文段后就立即发出重复确认,使发送方尽早重传未被确认的报文段,避免影响发送方的发送效率。快恢复1、当发送方连续收到三个重复确认后,就执行“乘法减小”算法,慢开始门限减为发送窗口的一半,避免拥塞;2、不执行“慢开始”算法,而是将拥塞窗口设置为慢开始门限减半后的数值。,11、TCP的重传机制,TCP的重传机制1、TCP通过计时器解决重传问题;2、计时器时间长度的确定问题是关键;3、TCP自适应算法的基本思想(RFC2988)。(1)报文段发出的时间和收到确认报文的时间差为报文段的往返时延RTT;(2)平均往返时延RTTs=(1-a)X(旧的往返时间时延平均RTTs)+aX(新的往返时间样本RTT),0a1,推荐a=1/8;(3)超时重传时间RTO=RTTs+4XRTTd;(4)RTTd(RTT的偏差的加权平均值)第一次测量时是测量到的RTT样本值的一半;(5)新的RTTd=(1-)X旧的RTTd+X|RTTs-新的RTT样本|;(6)=1/4。,12、TCP的连接,TCP提供的是面向连接的,端到端的、可靠的数据传输服务。1、采用套接字(IP地址:端口号)来进行寻址;2、采用序号、确认序号、同步位、确认位来实现连接的建立过程;3、采用采用序号、确认序号、终止位、确认位来实现连接的拆除过程;4、在建立连接和拆除连接过程中存在

温馨提示

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

评论

0/150

提交评论