计算机课件第五章运输层.ppt

上传人:桔**** 文档编号:568437040 上传时间:2024-07-24 格式:PPT 页数:72 大小:1.19MB
返回 下载 相关 举报
计算机课件第五章运输层.ppt_第1页
第1页 / 共72页
计算机课件第五章运输层.ppt_第2页
第2页 / 共72页
计算机课件第五章运输层.ppt_第3页
第3页 / 共72页
计算机课件第五章运输层.ppt_第4页
第4页 / 共72页
计算机课件第五章运输层.ppt_第5页
第5页 / 共72页
点击查看更多>>
资源描述

《计算机课件第五章运输层.ppt》由会员分享,可在线阅读,更多相关《计算机课件第五章运输层.ppt(72页珍藏版)》请在金锄头文库上搜索。

1、1Computer Network计算机网络计算机网络第一章 计算机网络概述第二章 链路层第三章 机网络体系结构第四章 网络层第五章 传输层协议第六章 Internet应用第七章第八章 网络安全与管理第九章 网络应用系统集成实例第十章 Winsock网络编程基础 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.2Computer Network第五章 传输层协议1 传输层协议概述一、进程间的通信 传输层位于应用层和网

2、际层之间。 传输层向高层用户屏蔽下面通信子网的细节,向上面的应用层提供端到端的逻辑通信服务。 传输层同时也是用户功能中的最低层,只存在于通信子网以外的主机中。 通信子网中没有传输层。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.3Computer Network第五章 传输层协议54321运输层提供应用进程间的逻辑通信主机 A主机 B应用进程应用进程路由器 1路由器 2AP1LAN2WANAP2AP3AP4IP 层

3、LAN1AP1AP2AP4端口端口54321IP 协议的作用范围运输层协议 TCP 和 UDP 的作用范围AP3Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.4Computer Network第五章 传输层协议 两个主机通信实际上就是两个主机中的应用进程互相通信。应用进程之间的通信又称为端到端的通信。 “运输层提供应用进程间的逻辑通信”。“逻辑通信”的意思是:运输层之间的通信好像是沿水平方向传送数据。但事实上这两个

4、运输层之间并没有一条水平方向的物理连接。 IP协议只能将分组送到目的主机,但无法交付给主机中的应用进程。 传输层为应用进程之间提供逻辑通信,但网络层为主机之间提供逻辑通信。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.5Computer Network应用进程应用进程IP 协议的作用范围(提供主机之间的逻辑通信)TCP 和 UDP 协议的作用范围(提供进程之间的逻辑通信)因 特 网运输层协议和网络层协议的主要区别第

5、五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.6Computer Network第五章 传输层协议传输层功能: 1)传输层具有复用和分用功能; 2)传输层对收到的报文进行差错控制; 3)根据应用的不同,运输层使用两种不同的传输协 议:面向连接TCP 的和无连接的UDP。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Pro

6、file 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.7Computer Network 运输层向高层用户屏蔽了下面网络核心的细节(如网络拓扑、所采用的路由选择协议等),它使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道。 当运输层采用面向连接的TCP协议时,尽管下面的网 络是不可靠的(只提供尽最大努力服务),但这种逻辑 通信信道就相当于一条全双工的可靠信道。 当运输层采用无连接的UDP协议时,这种逻辑通信信 道是一条不可靠信道。 第五章 传输层协议Evaluation only.Created with Aspose.Slide

7、s for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.8Computer Network第五章 传输层协议二、 TCP/IP体系中传输层的两个协议1、用户数据报协议UDP 通信之前无需建立连接,接受方收到数据报后,不需要给出确认。TFTP、NFS2、传输控制协议TCP 通信之前建立连接数据传输、释放连接,不提供广播或多播服务。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2

8、004-2011 Aspose Pty Ltd.9Computer Network3、TCP与UDP 两个对等运输实体在通信时传送的数据单位叫作运输协议数据单元 TPDU (Transport Protocol Data Unit)。 TCP传送的数据单位是TCP报文段(segment)。 UDP 传送的数据单位是UDP报文或用户数据报。注意: 运输层的UDP用户数据报与网际层的IP数据报有很大区别。IP 数据报要经过互连网中许多路由器的存储转发,但UDP用户数 据报是在运输层的端到端抽象的逻辑信道中传送的。 TCP报文段是在运输层抽象的端到端逻辑信道中传送,这种信 道是可靠的全双工信道。但这

9、样的信道却不知道究竟经过了哪 些路由器,而这些路由器也根本不知道上面的运输层是否建立 了TCP连接。 第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.10Computer Network第五章 传输层协议三、套接字和端口1、端口的作用 为了使运行不同操作系统的计算机的应用进程能够互相通信,就必须用统一的方法对TCP/IP体系的应用进程进行标志。 TCP和UDP使用与应用层接口处的端口与上层应用进程进

10、行通信。 通信的终点是应用进程,把端口想象是通信的终点。 应用层各种进程是通过相应的端口与传输实体进行交互。没有端口就无法分开应用层的不同进程。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.11Computer Network第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyrigh

11、t 2004-2011 Aspose Pty Ltd.12Computer Network第五章 传输层协议2、端口号 端口用一个 16 位端口号进行标志。端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程。在因特网中不同计算机的相同端口号是没有联系的。 熟知端口 由一些常用的应用层程序固定使用,01023; 登记端口号 数值为102449151,为没有熟知端口号的应用程序使用的。使用这个范围的端口号必须在 IANA 登记,以防止重复。 客户端口号或短暂端口号 数值为4915265535,留给客户进程选择暂时使用。当服务器进程收到客户进程的报文时,就知道了客户进程所使用的动态端

12、口号。通信结束后,这个端口号可供其他客户进程以后使用。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.13Computer Network第五章 传输层协议 常用的传输层端口号Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.14Comput

13、er Network第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.15Computer Network第五章 传输层协议3、插口(socket) 为了在通信时不致发生混乱,必须把端口号和主机的IP地址结合在一起使用。 一个连接由它的两个端点来标识,端点称为插口/套接字:套接字套接字socket=(IPsocket=(IP地址地址: :端口号端口号) ) 48bit 48bit (32bit : 1

14、6bit32bit : 16bit)注意:在整个因特网中,运输层通信的一对插口必须是 唯一的。例:(131.6.23.13,1500)和(130.42.85.15,25) (131.6.23.13,1501)和(130.42.85.15,25) (128.36.1.22,1500)和(130.42.85.15,25)Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.16Computer Network第五章 传输层协议

15、2 用户数据报协议UDP 用户数据报协议UDP只在IP的数据报服务上增加了端口功能和差错检测功能。UDP提供不可靠的交付。1、UDP 的主要特点 UDP是无连接的,即发送数据之前不需要建立连接。 UDP使用尽最大努力交付,即不保证可靠交付,同时也 不使用拥塞控制。 UDP是面向报文的。UDP没有拥塞控制,很适合多媒体 通信的要求。 UDP支持一对一、一对多、多对一和多对多的交互通信。 UDP的首部开销小,只有8个字节。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright

16、 2004-2011 Aspose Pty Ltd.17Computer Network第五章 传输层协议2、UDP数据报 由首部字段+数据字段组成。伪首部源端口目的端口长 度检验和数 据首 部UDP长度源 IP 地址目的 IP 地址017IP 数据报字节44112122222字节发送在前数 据首 部UDP 用户数据报Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.18Computer Network第五章 传输层协

17、议3 传输控制协议 TCP是TCPIP体系结构中面向连接的传输层协议,它提供全双工的可靠交付的服务 可靠、按序、无丢失、无重复 TCP连接是一条虚连接而不是一条真正的物理连接。 TCP对应用进程一次把多长的报文发送到TCP的缓存中 是不关心的。 TCP根据对方给出的窗口值和当前网络拥塞的程度来决 定一个报文段应包含多少个字节(UDP发送的报文长度是 应用进程给出的)。 TCP可把太长的数据块划分短一些再传送。TCP也可等 待积累有足够多的字节后再构成报文段发送出去。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Pr

18、ofile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.19Computer Network第五章 传输层协议一、 TCP的连接 TCP通信在进行实际数据传输前必须在信源端与信宿端建立一条连接,然后双方就可以在其上发送数据流。 每一条 TCP连接唯一地被通信两端的两个端点(即两个套接字)所确定。即: TCP 连接:=socket1,socket2 =(IP1:port1),(IP2:port2) 此外,面向连接传输的每个报文都需要接收端确认,未确认报文被认为是出错报文或传输超时而引起重传,以此保证面向连接的可靠性。 TCP能提高效率,但事先建立连接和事

19、后拆除连接需要一定开销。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.20Computer Network第五章 传输层协议1、 连接进程TCP连接过程是状态的转换Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.21Computer Ne

20、twork第五章 传输层协议2、建立连接l要使通信的任一方确定对方的存在;l要允许双方协商一些参数,如最大报文段长度、最大 窗口大小、服务质量等;l能够对传输实体资源进行分配,如缓存大小、连接表中的项目等。 TCP采用“三次握手”方式建立连接。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.22Computer Network第五章 传输层协议“三次握手”防止由于源发送端主机已失效的连接请 求报文段而产生的错误Eva

21、luation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.23Computer Network第五章 传输层协议3、关闭连接 在数据传输结束后,通信的双方都可以发出关闭连接请求 发送CLOSE的一方在接收到对方的已关闭的信息之前,还要继续接收数据,直到接收到对方的已关闭的信息而接收失败为止。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile

22、5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.24Computer Network二、差错控制 通过通信信道后接收的数据与发送数据不一致的现象称为传输差错。差错控制是检查是否出现差错以及如何纠正差错的技术自动重发请求法(ARQ) 发送方将要发送的数据分组附加一定的冗余检错码一并发送,接收方则根据检错码对数据分组进行差错检测,若发现错误,就返回请求重发的应答,发送方收到请求重发的应答后,便重新传送该数据分组。这种差错控制方法就称为自动重发请求法(Automatic Repeat request),简称ARQ法。 ARQ法仅需返回少量控制信息,便可有效地确认

23、所发数据帧是否正确被接收。第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.25Computer Network1、停止等待(Stop and Wait)技术 发送方每发送一数据分组后就要停下来等待接收方的确认返回,仅当接收方确认正确接收后再继续发送下一分组 。 停止等待(Stop and Wait)技术的收、发送方仅需设置一个分组的缓冲存储空间,便可有效地实现数据重发并确保接收方接收的数据不会重复。

24、第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.26Computer Network2、连续ARQ技术 发送方可以连续发送一系列数据分组,即不用等前一分组被确认便可发送下一分组。这就需要在发送方设置一个较大的缓冲存储空间(重发表),用以存放若干待确认的数据分组。当发送方得到对某分组的确认分组后便可从重发表中将该分组删除。 连续ARQ技术的链路传输效率大大提高,但相应地需要更大的缓冲存储空间。第五章

25、传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.27Computer NetworkGo-Back-N策略: NAK2第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.28Computer Network选择重发(

26、Selective Repeat): NAK2第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.29Computer Network第五章 传输层协议三、TCP的编号与确认 TCP采用“带重传的肯定确认”技术来实现传输的可靠性 接收端每接收一次数据,就送回一个确认报文;发送端每发送一个数据报文段,就期待接收相应的确认信息,并启动一个计时器,若计时器计数完毕而确认还未到达,则发送端重新发送该数据报文段。

27、 超时计时器的重传时间的自适应算法重传时间应略大于“报文段的平均往返时延T”。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.30Computer Network第五章 传输层协议 TCP将所要传送的整个报文看成是一个个字节组成的数据流,然后对每一个字节单独连续编号。 TCP将要传送的报文段中的第一个数据字节的序号,放在首部的序号字段中。 TCP确认是对收到的数据的最高序号表示确认,且为已收到的数据的最高序号加1,

28、即表示期望下一次收到的第一个数据字节的序号。 TCP提供全双工的可靠交付的服务,因而可在传送数据时捎带传送确认信息。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.31Computer Network第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 As

29、pose Pty Ltd.32Computer Network四、TCP的流量控制 流量控制涉及链路上字符、帧、分组的发送速率的控制,以使接收方在接收中有足够的缓冲存储空间来接收每一个字符、帧和分组。1、窗口机制 在连续ARQ协议中,应当将已发送出去但未被确认的数据分组的数目加以限制在发送端和接收端分别设定所谓的发送窗口和接收窗口。 第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.33Compute

30、r Network 发送窗口 用来对发送端进行流量控制,发送窗口的大小WT代表在还没有收到对方确认信息的情况下发送端最多可以发送多少个数据帧。 连续ARQ协议规定接收端可以在连续收到几个正确的数据帧以后,才对最后一个数据帧发确认信息。即,对某一数据帧的确认就表明该数据帧及其以前所有各帧均已正确无误收到了。第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.34Computer Network 接收窗口

31、用来控制接收端可以接收哪些数据帧而不可以接收哪些帧。在接收端只有当收到的数据帧的发送序号落入接收窗口内才允许将该数据帧收下。若接收到的数据帧落在接收窗口之外,则一律将其丢弃。 只有在接收窗口向前移动时,发送窗口才有可能向前移动。收发两端的窗口按照以上的规律不断地向前滑动,因此这种协议又称为滑动窗口协议。 第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.35Computer Network第五章 传输

32、层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.36Computer Network第五章 传输层协议2、TCP的可变窗口技术 TCP 的可靠传输机制用字节的序号进行控制。TCP 所有的确认都是基于序号而不是基于报文段。 TCP采用“可变发送窗口”的方式进行流量控制。发送窗口在连接建立时由双方商定。在通信过程中,接收端可根据自己的资源情况,随时动态调整接收窗口的大小,然后告诉对方,使发送窗口与接收窗口保持一致由

33、接收端控制发送端。 TCP连接的往返时间RTT也不是固定不变的。需要使用特定的算法估算较为合理的重传时间。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.37Computer Network前移不允许发送已发送并收到确认A 的发送窗口 = 20允许发送的序号26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52

34、53 54 55 56B 期望收到的序号前沿后沿前移收缩根据 B 给出的窗口值A 构造出自己的发送窗口 TCP 标准强烈不赞成发送窗口前沿向后收缩 第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.38Computer Network不允许发送已发送并收到确认A 的发送窗口位置不变允许发送但尚未发送26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 4

35、3 44 45 46 47 48 49 50 51 52 53 54 55已发送但未收到确认56P1P2P3不允许接收已发送确认并交付主机B 的接收窗口允许接收26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56未按序收到可用窗口A 发送了 11 个字节的数据 P3 P1 = A 的发送窗口(又称为通知窗口)P2 P1 = 已发送但尚未收到确认的字节数P3 P2 = 允许发送但尚未发送的字节数(又称为可用窗口) Evaluation only.Created wi

36、th Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.39Computer Network允许发送但尚未发送A 的发送窗口向前滑动26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55已发送并收到确认不允许发送已发送但未收到确认56P1P2P3允许接收B 的接收窗口向前滑动26 27 28 29 30 31 32 33 34 35 36 37 38 3

37、9 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55已发送确认并交付主机不允许接收56未按序收到A 收到新的确认号,发送窗口向前滑动 先存下,等待缺少的数据的到达第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.40Computer Network不允许发送已发送并收到确认A 的发送窗口已满,有效窗口为零26 27 28 29 30 31 32 33 34

38、 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55已发送但未收到确认56P1P2P3A 的发送窗口内的序号都已用完,但还没有再收到确认,必须停止发送。 第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.41Computer Network发送缓存与接收缓存的作用发送缓存用来暂时存放: 发送应用程序传送给发送方TCP准备发送的数

39、据;TCP已发送出但尚未收到确认的数据。接收缓存用来暂时存放: 按序到达的、但尚未被接收应用程序读取的数据;不按序到达的数据。第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.42Computer Network第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyrigh

40、t 2004-2011 Aspose Pty Ltd.43Computer Network注意:1)A的发送窗口并不总是和B的接收窗口一样大(因为有 一定的时间滞后)。2)TCP标准没有规定对不按序到达的数据应如何处理。 通常是先临时存放在接收窗口中,等到字节流中所 缺少的字节收到后,再按序交付上层的应用进程。3)TCP要求接收方必须有累积确认的功能,这样可以减 小传输开销。第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Asp

41、ose Pty Ltd.44Computer Network五、TCP的拥塞控制1、拥塞控制 在某段时间,若对网络中某资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏产生拥塞(congestion)。出现资源拥塞的条件: 对资源需求的总和 可用资源 若网络中有许多资源同时产生拥塞,网络的性能就要明显变坏,整个网络的吞吐量将随输入负荷的增大而下降。 拥塞控制是很难设计的,因为它是一个动态的问题。在许多情况下,拥塞和拥塞控制成为引起网络性能恶化甚至发生死锁的原因。这点应特别引起重视。 第五章 传输层协议Evaluation only.Created with Aspose.Slides

42、 for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.45Computer Network拥塞控制与流量控制的关系: 拥塞控制所要做的都有一个前提,就是网络能够承受现有的网络负荷。 拥塞控制是一个全局性的过程,涉及到所有的主机、所有的路由器,以及与降低网络传输性能有关的所有因素。 流量控制往往指在给定的发送端和接收端之间的点对点通信量的控制。 流量控制所要做的就是抑制发送端发送数据的速率,以便使接收端来得及接收。第五章 传输层协议Evaluation only.Created with Aspose.Sl

43、ides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.46Computer Network提供的负载吞吐量理想的拥塞控制实际的拥塞控制0死锁(吞吐量 = 0)无拥塞控制拥塞轻度拥塞拥塞控制所起的作用:第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.47Computer Network2、几种拥塞控制方法

44、1)慢开始和拥塞避免 发送方维持一个叫做拥塞窗口 cwnd (congestion window)的状态变量。拥塞窗口的大小取决于网络的拥塞程度,并且动态地在变化。发送方让自己的发送窗口等于拥塞窗口。如再考虑到接收方的接收能力,则发送窗口还可能小于拥塞窗口。 发送方控制拥塞窗口的原则是:只要网络没有出现拥塞,拥塞窗口就再增大一些,以便把更多的分组发送出去。但只要网络出现拥塞,拥塞窗口就减小一些,以减少注入到网络中的分组数。第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0

45、.Copyright 2004-2011 Aspose Pty Ltd.48Computer Network慢开始算法原理: 主机刚刚开始发送报文段时可先设置拥塞窗口cwnd=1,即设置为一个最大报文段MSS的数值。 每收到一个对新的报文段的确认后,将拥塞窗口加1,即增加一个MSS的数值。 用这样的方法逐步增大发送端的拥塞窗口cwnd,可以使分组注入到网络的速率更加合理。传输轮次(transmission round) : 使用慢开始算法后,每经过一个传输轮次,拥塞窗口cwnd就加倍。一个传输轮次所经历的时间其实就是往返时间RTT。 “传输轮次”更加强调:把拥塞窗口cwnd所允许发送的报文段都

46、连续发送出去,并收到了对已发送的最后一个字节的确认。 例如,拥塞窗口cwnd=4,这时的往返时间RTT就是发送方连续发送 4个报文段,并收到这4个报文段的确认,总共经历的时间。第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.49Computer Network设置慢开始门限状态变量ssthresh慢开始门限ssthresh的用法如下:当cwndssthresh时,停止使用慢开始算法而改用拥塞避免算法

47、。当cwnd= ssthresh 时,既可使用慢开始算法,也可使用拥塞避免算法。拥塞避免算法的思路是让拥塞窗口 cwnd 缓慢地增大,即每经过一个往返时间 RTT 就把发送方的拥塞窗口 cwnd 加 1,而不是加倍,使拥塞窗口 cwnd 按线性规律缓慢增长。第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.50Computer Network当网络出现拥塞时 无论在慢开始阶段还是在拥塞避免阶段,只要发

48、送方判断网络出现拥塞(其根据就是没有按时收到确认),就要把慢开始门限ssthresh设置为出现拥塞时的发送方窗口值的一半(但不能小于2)。然后把拥塞窗口cwnd重新设置为 1,执行慢开始算法。 目的就是要迅速减少主机发送到网络中的分组数,使得发生拥塞的路由器有足够时间把队列中积压的分组处理完毕。 “拥塞避免”并非指完全能够避免了拥塞。利用以上的措施要完全避免网络拥塞还是不可能的。 “拥塞避免”是说在拥塞避免阶段把拥塞窗口控制为按线性规律增长,使网络比较不容易出现拥塞。第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5

49、 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.51Computer Network2)快重传和快恢复快重传算法: 要求接收方每收到一个失序的报文段后就立即发出重复确认。发送方只要一连收到三个重复确认就应当立即重传对方尚未收到的报文段。 快重传并非取消重传计时器,而是在某些情况下可更早地重传丢失的报文段。快恢复算法:(1)当发送端收到连续三个重复的确认时,就执行“乘法减小”算法,把慢开始门限ssthresh减半。但接下去不执行慢开始算法。 (2)由于发送方现在认为网络很可能没有发生拥塞,因此现在不执行慢开始算法,即拥塞窗口c

50、wnd现在不设置为1,而是设置为慢开始门限ssthresh减半后的数值,然后开始执行拥塞避免算法(“加法增大”),使拥塞窗口缓慢地线性增大。第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.52Computer Network发送方接收方发送 M1 确认 M1t 确认 M2 发送 M2发送 M3发送 M4 ?发送 M5发送 M6 重复确认 M2 立即重传 M3 重复确认 M2 重复确认 M2 t发送

51、M7收到三个连续的对 M2 的重复确认立即重传 M3丢失快重传举例:第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.53Computer Network242468101214161820220048121620传输轮次拥塞窗口 cwnd收到 3 个重复的确认执行快重传算法慢开始“乘法减小”拥塞避免“加法增大”TCP Reno版本TCP Tahoe 版本(已废弃不用)ssthresh 的初始值拥塞避

52、免“加法增大”新的 ssthresh 值慢开始快恢复从连续收到三个重复的确认转入拥塞避免第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.54Computer Network发送窗口的上限值 发送方的发送窗口的上限值应当取为接收方窗口 rwnd和拥塞窗口cwnd这两个变量中较小的一个,即应按以下公式确定: 发送窗口的上限值 Min rwnd, cwnd 当rwndcwnd时,是接收方的接收能力限制发送

53、窗口的最大值。 当cwndrwnd时,则是网络的拥塞限制发送窗口的最大值。 第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.55Computer NetworkTCP首部20 字节的固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FIN32 位SYNRSTPSHACKURG位 0 8 16 24 31填 充TCP 数据部分TCP

54、首部TCP 报文段IP 数据部分IP 首部发送在前六、TCP报文段格式Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.56Computer NetworkTCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG位 0 8 16 24 31填 充源端口和目的端口字段各占 2 字节。端口是运输层与应用层的服

55、务接口。运输层的复用和分用功能都要通过端口才能实现。 第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.57Computer NetworkTCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG位 0 8 16 24 31填 充序号字段占 4 字节。TCP 连接中传送的数据流中的每一个

56、字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。 第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.58Computer NetworkTCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG位 0 8 16 24 31填 充确认号字段占 4 字节,是期望

57、收到对方的下一个报文段的数据的第一个字节的序号。 第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.59Computer NetworkTCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG位 0 8 16 24 31填 充数据偏移(即首部长度)占 4 位,它指出 TCP 报文段的数据

58、起始处距离 TCP 报文段的起始处有多远。“数据偏移”的单位是 32 位字(以 4 字节为计算单位)。 第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.60Computer NetworkTCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG位 0 8 16 24 31填 充保留字段

59、占 6 位,保留为今后使用,但目前应置为 0。 第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.61Computer NetworkTCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG位 0 8 16 24 31填 充紧急 URG 当 URG 1 时,表明紧急指针字段有效。它告诉系

60、统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。 第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.62Computer NetworkTCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG位 0 8 16 24 31填 充确认 ACK 只有当 ACK 1 时确认号字段才有

61、效。当 ACK 0 时,确认号无效。 第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.63Computer NetworkTCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG位 0 8 16 24 31填 充推送 PSH (PuSH) 接收 TCP 收到 PSH = 1 的报文段,

62、就尽快地交付接收应用进程,而不再等到整个缓存都填满了后再向上交付。 第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.64Computer NetworkTCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG位 0 8 16 24 31填 充复位 RST (ReSeT) 当 RST 1

63、 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。 第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.65Computer NetworkTCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG位 0 8 16 24 31填 充同步

64、 SYN 同步 SYN = 1 表示这是一个连接请求或连接接受报文。 第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.66Computer NetworkTCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG位 0 8 16 24 31填 充终止 FIN (FINis) 用来释放一个

65、连接。FIN 1 表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。 第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.67Computer NetworkTCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG位 0 8 16 24 31填 充窗口字段 占 2 字节,用来让对方

66、设置发送窗口的依据,单位为字节。第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.68Computer NetworkTCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG位 0 8 16 24 31填 充检验和 占 2 字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时

67、,要在 TCP 报文段的前面加上 12 字节的伪首部。第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.69Computer NetworkTCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG位 0 8 16 24 31填 充紧急指针字段 占 16 位,指出在本报文段中紧急数据共有多

68、少个字节(紧急数据放在本报文段数据的最前面)。 第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.70Computer NetworkTCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG填 充选项字段 长度可变。TCP 最初只规定了一种选项,即最大报文段长度 MSS。MSS 告诉对方

69、 TCP:“我的缓存所能接收的报文段的数据字段的最大长度是 MSS 个字节。” MSS (Maximum Segment Size)是 TCP 报文段中的数据字段的最大长度。数据字段加上 TCP 首部才等于整个的 TCP 报文段。第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.71Computer Network其他选项:l窗口扩大选项 占3字节,其中有一个字节表示移位值S。新的窗口值等于TCP首部

70、中的窗口位数增大到(16+S),相当于把窗口值向左移动S位后获得实际的窗口大小。l时间戳选项 占10字节,其中最主要的字段时间戳值字段(4字节)和时间戳回送回答字段(4字节)。l选择确认选项第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.72Computer NetworkTCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG位 0 8 16 24 31填 充填充字段 这是为了使整个首部长度是 4 字节的整数倍。 第五章 传输层协议Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

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