计算机网络原理-第7章

上传人:今*** 文档编号:107185979 上传时间:2019-10-18 格式:PPT 页数:51 大小:407.50KB
返回 下载 相关 举报
计算机网络原理-第7章_第1页
第1页 / 共51页
计算机网络原理-第7章_第2页
第2页 / 共51页
计算机网络原理-第7章_第3页
第3页 / 共51页
计算机网络原理-第7章_第4页
第4页 / 共51页
计算机网络原理-第7章_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《计算机网络原理-第7章》由会员分享,可在线阅读,更多相关《计算机网络原理-第7章(51页珍藏版)》请在金锄头文库上搜索。

1、计算机网络原理 The Principles of Computer Networking,第7章 运输层,本章重点,运输协议功能,TSAP TCP/IP体系中的运输层,端口概念 用户数据报协议UDP 传输控制协议TCP及工作原理 TCP的流量与拥塞控制,7.1 运输层协议概述,从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。运输层只存在于通信子网以外的主机中,在通信子网中没有运输层,如下图所示。,运输层为应用进程之间提供逻辑通信,但网络层是为主机之间提供逻辑通信,OSI使用了简洁的抽象方法将运输层与其上下层之间的关系归纳如

2、下图所示。,运输层向高层用户屏蔽了下面通信子网的细节,它使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道。 当运输层采用面向连接的TCP协议时,尽管下面的网络是不可靠的(即只提供尽最大努力服务),但这种逻辑通信信道就相当于一条全双工的可靠信道。 但当运输层采用无连接的UDP协议时,这种逻辑通信信道则是一条不可靠信道。,7.2 TCP/IP体系中的运输层,7.2.1 运输层中的两个协议 TCP/IP的运输层有两个不同的协议,它们都是因特网的正式标准,即: (1)用户数据报协议 UDP (User Datagram Protocol) (2)传输控制协议 TCP (Trans

3、mission Control Protocol),UDP和TCP都使用了与应用层接口处的端口(port)与上层的应用进程进行通信。,7.2.2 端口的概念,若没有端口,运输层就无法知道数据应当交付给应用层的哪一个进程。端口是用来标识应用层的进程。 端口号分为两类。一类是由因特网指派名字和号码公司ICANN负责分配给一些常用的应用层程序固定使用的熟知端口(well-known port),其数值一般为01023,见RFC 1700。例如,FTP用21,TELNET用23,SMTP用25,DNS用53,HTTP用80,SNMP用161,等等。当一种新的应用程序出现时,必须为它指派一个熟知端口,否

4、则其他的应用进程就无法和它进行交互。(常用熟知端口参见教材),插口(Socket,也称套接字)包括IP地址(32 bit)和端口号(16 bit),共48 bit。 连接=协议,源IP,源端口,目的IP,目的端口 插口和端口、IP地址的关系如下图所示。 关于Socket在不同情况下意思说明请参见教材.,7.3 用户数据报协议UDP,7.3.1 用户数据报的用途 虽然UDP用户数据报只能提供不可靠的交付,但UDP在某些方面有其特殊的优点。,(1)发送数据之前不需要建立连接(当然发送数据结束时也没有连接需要释放),因而减少了开销和发送数据之前的时延。 (2)UDP没有拥塞控制,也不保证可靠交付,因

5、此主机不需要维持具有许多参数的、复杂的连接状态表。 (3)UDP用户数据报只有8个字节的首部开销,比TCP的20个字节的首部要短。 (4)由于UDP没有拥塞控制,因此网络出现的拥塞不会使源主机的发送速率降低。,UDP的优点,通常用UDP的报文队列来具体实现一个UDP端口,如下图所示。,用户数据报UDP有两个字段:数据字段和首部字段。首部字段很简单,只有8个字节,如下图所示,由4个字段组成,每个字段都是两个字节。各字段意义如下所述。 (1)源端口字段:源端口号。 (2)目的端口字段:目的端口号。 (3)长度字段:UDP用户数据报的长度。 (4)检验和字段:防止UDP用户数据报在传输中出错。,7.

6、3.2 用户数据报的格式,计算UDP检验和的示例,7.4 传输控制协议TCP,TCP是TCP/IP体系中面向连接的运输层协议,它提供全双工的可靠交付的服务。,7.4.1 TCP概述,7.4.2 TCP报文段的首部,一个TCP报文段分为首部和数据两部分。 TCP报文段首部的前20个字节是固定的,后面有4N字节是根据需要而增加的选项(N必须是整数)。因此TCP首部的最小长度是20字节。,首部固定部分各字段的意义如下所述。 (1)源端口和目的端口 (2)序号 (3)确认序号 (4)数据偏移 (5)保留 (6)紧急比特URG (URGent),(7)确认比特ACK (8)推送比特PSH (PuSH)

7、(9)复位比特RST (ReSeT) (10)同步比特SYN (11)终止比特FIN (FINal) (12)窗口 (13)检验和 (14)选项,TCP协议是面向字节的。TCP将所要传送的整个报文(这可能包括许多个报文段)看成是一个个字节组成的数据流,并使每一个字节对应于一个序号。 TCP的确认是对接收到的数据的最高序号(即收到的数据流中的最后一个序号)表示确认。但接收端返回的确认序号是已收到的数据的最高序号加1。也就是说,确认序号表示接收端期望下次收到的数据中的第一个数据字节的序号。,7.4.3 TCP的数据编号与确认,1. 滑动窗口 为了提高报文段的传输效率,TCP采用大小可变的滑动窗口进

8、行流量控制。窗口大小的单位是字节。在TCP报文段首部的窗口字段写入的数值就是当前给对方设置的窗口数值。 下图表示的是在TCP中使用的窗口概念。,7.4.4 TCP的流量控制与拥塞控制,2. TCP处理第二种拥塞的措施,发送方维护两个窗口:可变发送窗口和拥塞窗口,按两个窗口的最小值发送; 拥塞窗口依照慢启动(slow start)算法和拥塞避免(congestion avoidance)算法变化。 发送端在发送数据时,既要考虑到接收方的接收能力,又要使网络不要发生拥塞。 发送窗口的确定: 发送窗口=Min通知窗口,拥塞窗口,慢启动(slow start)算法,连接建立时拥塞窗口(congwin)

9、初始值为该连接允许的最大段长,阈值(threshold)为64K; 发出一个最大段长的TCP段,若正确确认,拥塞窗口变为两个最大段长; 发出( 拥塞窗口/最大段长)个最大长度的TCP段,若都得到确认,则拥塞窗口加倍; 重复上一步,直至发生丢包超时事件,或拥塞窗口大于阈值。,拥塞避免(congestion avoidance)算法 若拥塞窗口大于阈值,从此时开始,拥塞窗口线性增长,一个RTT周期增加一个最大段长,直至发生丢包超时事件; 当超时事件发生后,阈值设置为当前拥塞窗口大小的一半,拥塞窗口重新设置为一个最大段长; 执行慢启动算法。,实现拥塞控制的步骤,当一个连接初始化时,将拥塞窗口设置为1

10、。并设置慢启动的门限窗口值。 发送端的发送窗口不能超过拥塞窗口和通知窗口中的最小值,现在假定接收端不进行流量控制(即通知窗口无限大)。 发送端若收到了对所有发出的报文段的确认,就在下一次发送时将拥塞窗口加倍。可见拥塞窗口从1开始,按指数规律增长。若出现了超时,则将当时的拥塞窗口值减半,作为新的门限窗口值,同时拥塞窗口再次变为1。 拥塞窗口重新从1开始按指数规律增长,当增长到新的门限窗口值时,就每次只将拥塞窗口加1,使拥塞窗口按线性规律增长。当网络又出现了超时,仍重复上述过程。,慢启动从1开始,工作过程说明: (1)当一个连接初始化,将拥塞窗口置为1; 慢启动的门限窗口置为64拥塞窗口增加32时

11、超过; (2)发送端的发送窗口不能超过: Win发=MinWIN通知,WIN拥塞 (假定接收端不进行流量控制) (3)发送端若收到了所有发出的报文符的确认,就在下一次发送时将拥塞窗口加倍; 注:“传输一次”是指发送窗口中的报文符全部发完,并收到所有的这些报文的确认; (4)拥塞窗口从1开始,按指数规律增长,假定,当拥塞窗口增加到32时出现了超时,于是将32的一半,即16作为新的门限窗口值。同时,(拥塞窗口再次变为1,即上图的起点。);,(5)拥塞窗口从1开始,按指数规律增加;但当增加到门限值为为16时,就每次只将拥塞窗口加,使其按线规律增长; (6)图中,当拥塞窗口线性规律增长。 (7)这时门

12、限窗口又降到“1”,按指数据规律增长到12时,改为每次加“1”; 注意,以上讨论可以看出: “慢启动”是指每出现一次超时,拥塞窗口都降低到“1”,使报文每慢慢注入回到网络中。 “加速递减”是指每出现一次超时,就将门限值减半。 “拥塞避免”是指拥塞窗口增大到门限窗口值时,就将拥塞窗口值从指数增长降低为线性增长,避免网络再次出现拥塞。 采用这样的流量控制的方法使得TCP的性能有明显的改进,重传机制是TCP中最重要和最复杂的问题之一。TCP每发送一个报文段,就设置一次计时器。只要计时器设置的重传时间已经到了但还没有收到确认,就要重传这一报文段。 下图画出了数据链路层和运输层的往返时延概率分布的对比。

13、对于运输层来说,其往返时延的方差很大。,7.4.4 TCP的重传机制,计时器设置的重传时间应略大于上面得出的平均往返时延,即: 重传时间 (平均往返时延),Karn提出了一个算法:在计算平均往返时延时,只要报文段重传了,就不采用其往返时延样本。这样得出的平均往返时延和重传时间当然就较准确。 新的重传时间 (旧的重传时间) 系数的典型值是2。当不再发生报文段的重传时,才根据报文段的往返时延更新平均往返时延和重传时间的数值。实践证明,这种策略较为合理。,TCP是面向连接的协议。运输连接的建立和释放是每一次面向连接的通信中必不可少的过程。 在连接建立过程中要解决以下三个问题。 (1)要使每一方能够确

14、知对方的存在。 (2)要允许双方协商一些参数(如最大报文段长度,最大窗口大小,服务质量等)。 (3)能够运输实体资源(如缓存大小,连接表中的项目等)进行分配。 TCP的连接和建立都是采用客户服务器方式。主动发起连接建立的进程叫做客户(client),而被动等待连接建立的进程叫做服务器(server)。,7.4.5 TCP的运输连接管理,为了管理因特网,在网络管理中心设有管理信息库MIB (Management Information Base)。管理信息库存放着各主机的TCP连接表(Connection Table),其格式如下表所示。TCP连接表对每个连接都登记了其连接信息。除本地和远地的IP地址和端口号外,还要记录每一个连接所处的状态。,7.4.6 TCP的有限状态机,

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

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

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