Ch11传输层协议

上传人:工**** 文档编号:593327101 上传时间:2024-09-24 格式:PPT 页数:32 大小:134KB
返回 下载 相关 举报
Ch11传输层协议_第1页
第1页 / 共32页
Ch11传输层协议_第2页
第2页 / 共32页
Ch11传输层协议_第3页
第3页 / 共32页
Ch11传输层协议_第4页
第4页 / 共32页
Ch11传输层协议_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《Ch11传输层协议》由会员分享,可在线阅读,更多相关《Ch11传输层协议(32页珍藏版)》请在金锄头文库上搜索。

1、1第十一章第十一章 传输层协议:传输层协议:TCP 和和UDP Networking techno;ogy第十一章第十一章 传输层协议:传输层协议:TCP 和和UDP功能功能l传输层的目的是在网络层或互联网层提供主机传输层的目的是在网络层或互联网层提供主机通信服务的基础上,向主机的应用进程之间的通信服务的基础上,向主机的应用进程之间的提供可靠(如果需要的话)的数据通信。提供可靠(如果需要的话)的数据通信。 2第十一章第十一章 传输层协议:传输层协议:TCP 和和UDP Networking techno;ogy端口端口Internet传输层与互联网层功能上的最大区别传输层与互联网层功能上的最大

2、区别是前者提供进应用程通信能力,后者只提供主是前者提供进应用程通信能力,后者只提供主机通信功能。机通信功能。为了提供应用进程通信功能,为了提供应用进程通信功能,TCP/IP协议提协议提出了端口出了端口(port)的概念,用于标识通信的应用的概念,用于标识通信的应用进程。进程。3第十一章第十一章 传输层协议:传输层协议:TCP 和和UDP Networking techno;ogyInternet端口号分配端口号分配保留端口保留端口l在在Internet中,每一个标准的服务器都拥有一中,每一个标准的服务器都拥有一个众所周知的端口。个众所周知的端口。Internet规定,小于规定,小于256的的端

3、口号被用作保留端口端口号被用作保留端口 。自由端口自由端口l自由端口以本地方式进行分配。当某应用进程自由端口以本地方式进行分配。当某应用进程要与远地进程通信时,首先申请一个自由端口要与远地进程通信时,首先申请一个自由端口号并与之进行绑定,然后通过该端口与远地进号并与之进行绑定,然后通过该端口与远地进程进行通信。程进行通信。 4第十一章第十一章 传输层协议:传输层协议:TCP 和和UDP Networking techno;ogy TCP和和UDP协议的保留端口协议的保留端口 5第十一章第十一章 传输层协议:传输层协议:TCP 和和UDP Networking techno;ogy传输层协议的常

4、用特性传输层协议的常用特性保证消息的传输保证消息的传输在传输过程中保持消息的顺序在传输过程中保持消息的顺序最多只传输消息的一份拷贝最多只传输消息的一份拷贝支持任意长度消息的传输支持任意长度消息的传输支持发送方与接收方之间的同步支持发送方与接收方之间的同步允许接收方对发送方进行流量控制允许接收方对发送方进行流量控制支持每个主机上的多个应用进程(多用户操作系支持每个主机上的多个应用进程(多用户操作系统环境)统环境)6第十一章第十一章 传输层协议:传输层协议:TCP 和和UDP Networking techno;ogyIP网络提供的服务缺陷网络提供的服务缺陷尽力投递服务(尽力投递服务(best-e

5、ffort delivery service)l丢失报文丢失报文l对报文进行重排序对报文进行重排序l限制报文的大小限制报文的大小l报文在网络上可以被延迟任意长时间报文在网络上可以被延迟任意长时间7第十一章第十一章 传输层协议:传输层协议:TCP 和和UDP Networking techno;ogyUDP协议不可靠的数据报(不可靠的数据报(datagram)服务服务支持多路复用支持多路复用不提供流量控制不提供流量控制接收端点通过端口来标识接收端点通过端口来标识每个标准的每个标准的UDP服务器都有服务器都有 众所周知的端口众所周知的端口号号lUnix的的/etc/services8第十一章第十一

6、章 传输层协议:传输层协议:TCP 和和UDP Networking techno;ogyUDP报文格式报文格式 9第十一章第十一章 传输层协议:传输层协议:TCP 和和UDP Networking techno;ogyUDP 校验和校验和UDP 校验和覆盖范围校验和覆盖范围l伪头部伪头部 + UDP头部头部 + UDP数据数据目的目的l验证验证UDP数据报是否传送到正确的目的端数据报是否传送到正确的目的端伪头部伪头部l源源IP地址地址 + 目的目的IP地址地址 + 协议协议 + UDP长度长度10第十一章第十一章 传输层协议:传输层协议:TCP 和和UDP Networking techno

7、;ogyUDP伪头部(伪头部(?) 11第十一章第十一章 传输层协议:传输层协议:TCP 和和UDP Networking techno;ogyUDP多路复用多路复用 12第十一章第十一章 传输层协议:传输层协议:TCP 和和UDP Networking techno;ogyTCP协议协议 面向连接面向连接字节流字节流全双工全双工流量控制流量控制l保证发送方不要保证发送方不要“淹没淹没”接收方接收方拥塞控制拥塞控制l保证发送方不要保证发送方不要“淹没淹没”网络网络13第十一章第十一章 传输层协议:传输层协议:TCP 和和UDP Networking techno;ogy数据链路层与传输层数据链

8、路层与传输层可能与多个不同的主机建立连接可能与多个不同的主机建立连接l需要显式的连接建立和删除过程需要显式的连接建立和删除过程可能有不同可能有不同RTT值值l需要具有适应性的超时机制需要具有适应性的超时机制网络可能引起的很长的延迟网络可能引起的很长的延迟l需要处理重复报文的问题需要处理重复报文的问题接收主机可能有不同的处理能力接收主机可能有不同的处理能力l需要处理主机的流量控制问题需要处理主机的流量控制问题网络可能有不同的处理能力网络可能有不同的处理能力l需要处理网络的拥塞问题需要处理网络的拥塞问题14第十一章第十一章 传输层协议:传输层协议:TCP 和和UDP Networking tech

9、no;ogyTCP连接端点连接端点 TCP连接端点连接端点 lTCP把端点定义为一对整数,即把端点定义为一对整数,即(host,port),其中其中host是主机的是主机的IP地址,而地址,而port则是该主机上的则是该主机上的TCP端口号。端口号。 TCP连接连接l国防科大的一台国防科大的一台IP地址为地址为172.26.1.180的主机与清华大学的主机与清华大学的一台地址为的一台地址为202.192.1.12的主机之间建立连接的话,它的主机之间建立连接的话,它可能会由端点定义成:可能会由端点定义成:(172.26.1.180,1234)和()和(202.192.1.12,25)15第十一章

10、第十一章 传输层协议:传输层协议:TCP 和和UDP Networking techno;ogy字节流字节流16第十一章第十一章 传输层协议:传输层协议:TCP 和和UDP Networking techno;ogyTCP报文格式报文格式 17第十一章第十一章 传输层协议:传输层协议:TCP 和和UDP Networking techno;ogy字段含义(字段含义(1)(1)源端口和目的端口源端口和目的端口l各各2个字节,表示源和目的端口号。个字节,表示源和目的端口号。(2)发送序号发送序号l4字节,指出报文中数据在发送方的数据流中的位置(以字节,指出报文中数据在发送方的数据流中的位置(以字节

11、编号)。字节编号)。(3)确认序号确认序号l4字节,指接收方希望下一次接收的字节序号。字节,指接收方希望下一次接收的字节序号。(4)TCP头长头长l4比特,指出以比特,指出以32比特为单位的报文头部长度。该域是针比特为单位的报文头部长度。该域是针对变长的对变长的“选项选项”域设计的。域设计的。18第十一章第十一章 传输层协议:传输层协议:TCP 和和UDP Networking techno;ogy字段含义(字段含义(2)(5)紧急标志位紧急标志位URG(URGent)l当当URG=1时,表明此报文是紧急数据,应尽快传送出时,表明此报文是紧急数据,应尽快传送出去。去。(6)确认标志位确认标志位

12、ACKl只有当只有当ACK=1时确认序号字段才有意义。当时确认序号字段才有意义。当ACK=0时,时,确认序号没有意义。确认序号没有意义。(7)急迫标志位急迫标志位PSH(PuSH)l当当PSH=1时,请求接收方时,请求接收方TCP协议将该报文立即交给协议将该报文立即交给应用程序。应用程序。19第十一章第十一章 传输层协议:传输层协议:TCP 和和UDP Networking techno;ogy字段含义(字段含义(3)(8)重建标志位重建标志位RST(ReSeT)l当当RST=1时,表明出现严重差错,必须释放连接,然后时,表明出现严重差错,必须释放连接,然后重新建立连接。重新建立连接。(9)同

13、步标志位同步标志位SYN,l当当SYN=1而而ACK=0时,表明这是一个建立连接请求报时,表明这是一个建立连接请求报文,若对方同意建立该连接,则应在发回的报文中使将文,若对方同意建立该连接,则应在发回的报文中使将SYN和和ACK标志位同时置标志位同时置1。 (10)终止标志位终止标志位FIN(FINal)l当当FIN1时,表明数据已经发送完毕,并请求释放连接。时,表明数据已经发送完毕,并请求释放连接。20第十一章第十一章 传输层协议:传输层协议:TCP 和和UDP Networking techno;ogy字段含义(字段含义(4)(11)窗口窗口l2字节。该字段实际上是接收方告诉发送方它的接收

14、窗字节。该字段实际上是接收方告诉发送方它的接收窗口大小,其单位为字节。窗口字段主要是用于流量控口大小,其单位为字节。窗口字段主要是用于流量控制和拥塞控制。制和拥塞控制。(12)校验和校验和l2字节。校验和字段检验的范围包括字节。校验和字段检验的范围包括TCP报文的头部和报文的头部和数据区这两部分。数据区这两部分。(13)可选项可选项l长度可变。长度可变。TCP只规定了一种选项,即最长报文段只规定了一种选项,即最长报文段MSS(Maximum Segment Size)。21第十一章第十一章 传输层协议:传输层协议:TCP 和和UDP Networking techno;ogyTCP连接建立连接

15、建立 22第十一章第十一章 传输层协议:传输层协议:TCP 和和UDP Networking techno;ogyTCP连接删除连接删除 23第十一章第十一章 传输层协议:传输层协议:TCP 和和UDP Networking techno;ogyTCP协议有限状态机协议有限状态机24第十一章第十一章 传输层协议:传输层协议:TCP 和和UDP Networking techno;ogyTCP协议采取的可靠性措施协议采取的可靠性措施连接建立和删除连接建立和删除l三次握手三次握手确认和重传确认和重传l字节确认字节确认l适应性超时机制适应性超时机制流量控制流量控制l通告窗口通告窗口拥塞控制拥塞控制l

16、拥塞窗口拥塞窗口25第十一章第十一章 传输层协议:传输层协议:TCP 和和UDP Networking techno;ogy确认和重传确认和重传字节确认(累计确认)字节确认(累计确认)l由于由于TCP协议使用可变长度的报文段发送数据,协议使用可变长度的报文段发送数据,TCP协议协议的的确认是针对数据流中的字节序列,而不是报文段的。确认是针对数据流中的字节序列,而不是报文段的。l接收方确认已收到的最长的、连续的字节计数接收方确认已收到的最长的、连续的字节计数,TCP报文的报文的每个确认域指出下一个希望接收的字节。每个确认域指出下一个希望接收的字节。 优点优点l确认丢失也不一定导致发送方重传;确认

17、丢失也不一定导致发送方重传;缺点缺点l发送方不能获得所有成功传送的报文段的确认信息。发送方不能获得所有成功传送的报文段的确认信息。26第十一章第十一章 传输层协议:传输层协议:TCP 和和UDP Networking techno;ogy超时和重传(超时和重传(1)TCP软件必须适应两个方面的巨大差异:软件必须适应两个方面的巨大差异:l一是到达各个不同目的站点所需物理传播时间的差异;一是到达各个不同目的站点所需物理传播时间的差异;l二是到达某个站点所需时间随网络负载的变化而出现的二是到达某个站点所需时间随网络负载的变化而出现的差异。差异。TCP自适应重传算法自适应重传算法lTCP监视每一条连接

18、的状态,由此推算出数据在该连接监视每一条连接的状态,由此推算出数据在该连接上的往返时间上的往返时间RTT;l当网络发生变化时,当网络发生变化时,TCP协议及时修改协议及时修改RTT值值。 27第十一章第十一章 传输层协议:传输层协议:TCP 和和UDP Networking techno;ogy超时和重传(超时和重传(2)基本概念基本概念l往返时间样本往返时间样本RTS(Round Trip Sample);l往返时间往返时间RTT(Round Trip Time) l定时器宽度定时器宽度TimeOut Kahn算法算法l无重传情况无重传情况uRTT =* Old_RTT + (1-)* RT

19、S uTimeOut = * RTT l有有重传情况重传情况uNew_TimeOut = * TimeOut 28第十一章第十一章 传输层协议:传输层协议:TCP 和和UDP Networking techno;ogyKahn算法算法SenderReceiverOriginal transmissionACKSampleR TTRetransmissionSenderReceiverOriginal transmissionACKSampleR TTRetransmission29第十一章第十一章 传输层协议:传输层协议:TCP 和和UDP Networking techno;ogy流量控制与

20、可变窗口大小流量控制与可变窗口大小在每个确认的在每个确认的TCP报文中,除了指出已经接收到的字节之报文中,除了指出已经接收到的字节之外,还包括一个窗口通告(外,还包括一个窗口通告(window advertisement)来说来说明接收方还能再接收多少字节的数据,发送方根据通告窗明接收方还能再接收多少字节的数据,发送方根据通告窗口大小来改变发送窗口的大小,从而限制发送方的发送速口大小来改变发送窗口的大小,从而限制发送方的发送速度。度。极端的情况下,接收方可以使用零通告值来告诉发送方停极端的情况下,接收方可以使用零通告值来告诉发送方停止发送任何数据。而在接收方又有缓冲区时,接收方可以止发送任何数

21、据。而在接收方又有缓冲区时,接收方可以通过一个非零的窗口值来再次触发数据传输。通过一个非零的窗口值来再次触发数据传输。 30第十一章第十一章 传输层协议:传输层协议:TCP 和和UDP Networking techno;ogy拥塞控制拥塞控制TCP如何如何发现拥塞发现拥塞l一条途径是来自一条途径是来自ICMP的源抑制报文;的源抑制报文;l另一条途径是发现报文丢失现象。另一条途径是发现报文丢失现象。TCP拥塞控制拥塞控制技术技术l快速递减(快速递减(multiplicative decrease)u一旦发现报文丢失,立即将一旦发现报文丢失,立即将拥塞窗口大小减半;而对于保留大小减半;而对于保留

22、在发送窗口中的报文,按指数增加在发送窗口中的报文,按指数增加RTTRTT;l慢启动(慢启动(slow-start) u在新建立的连接或拥塞之后增加流量的连接上传输数据时,在新建立的连接或拥塞之后增加流量的连接上传输数据时,都仅以都仅以1个报文作为个报文作为拥塞窗口的初始值,之后每当收到一个确的初始值,之后每当收到一个确认,将认,将拥塞窗口加大加大1倍。倍。 31第十一章第十一章 传输层协议:传输层协议:TCP 和和UDP Networking techno;ogyTCP协议的特点(协议的特点(1)提供面向连接的、可靠的、字节流传输提供面向连接的、可靠的、字节流传输lTCP协议提供面向连接的、可

23、靠的字节流传输对协议提供面向连接的、可靠的字节流传输对可靠性的保证首先是它在两个应用进程进行数据可靠性的保证首先是它在两个应用进程进行数据传输之前,必须建立传输之前,必须建立TCP连接。连接。lTCP协议要求对每一个报文都要进行确认,未经协议要求对每一个报文都要进行确认,未经确认的报文被当作是出错报文。确认的报文被当作是出错报文。l流相当于一个管道,发送端从管道的一端放入什流相当于一个管道,发送端从管道的一端放入什么,接收端就可以照原样取出什么。么,接收端就可以照原样取出什么。32第十一章第十一章 传输层协议:传输层协议:TCP 和和UDP Networking techno;ogyTCP协议的特点(协议的特点(2)TCP支持全双工通信支持全双工通信l全双工连接意味着包括两个独立的、方向相反全双工连接意味着包括两个独立的、方向相反的数据流的数据流TCP协议支持点到点连接协议支持点到点连接l点到点的意思是每个连接只有两个端点点到点的意思是每个连接只有两个端点lTCP协议不支持组播或全广播协议不支持组播或全广播

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

最新文档


当前位置:首页 > 资格认证/考试 > 自考

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