计算机网络第八章运输层课件

上传人:F****n 文档编号:88059499 上传时间:2019-04-17 格式:PPT 页数:73 大小:429.50KB
返回 下载 相关 举报
计算机网络第八章运输层课件_第1页
第1页 / 共73页
计算机网络第八章运输层课件_第2页
第2页 / 共73页
计算机网络第八章运输层课件_第3页
第3页 / 共73页
计算机网络第八章运输层课件_第4页
第4页 / 共73页
计算机网络第八章运输层课件_第5页
第5页 / 共73页
点击查看更多>>
资源描述

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

1、第8章 运 输 层,运输层是整个网络体系结构中的关键层次之一。,8.1 运输协议概述,8.1.1 进程之间的通信 从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。在通信子网中没有运输层。运输层只存在于通信子网以外的主机中。,图8-1 运输层为相互通信的应用进程提供了逻辑通信,两个主机进行通信实际上就是两个主机中的应用进程互相通信。从运输层的角度看,通信的真正端点并不是主机而是主机中的进程。因此从运输层来看,端到端的通信是应用进程之间的通信。,运输层的一个很重要的功能就是复用和分用。应用层不同进程的报文通过不同的端口向下交到运

2、输层,再往下就共用网络层提供的服务。,“运输层提供应用进程间的逻辑通信”。“逻辑通信”的意思是:运输层之间的通信好像是沿水平方向传送数据。但事实上这两个运输层之间并没有一条水平方向的物理连接。要传送的数据是沿着图中上下多次的虚线方向传送的。,网络层是为主机之间提供逻辑通信,而运输层为应用进程之间提供端到端的逻辑通信,如图8-2所示。,图8-2 运输层协议和网络层协议的主要区别,运输层还要对收到的报文进行差错检测。根据应用的不同,运输层需要有两种不同的运输协议,即面向连接的TCP和无连接的UDP,,运输层中向应用层提供运输服务的是运输实体。使用运输服务的是运输服务用户。运输层中的两个对等运输实体

3、之间的通信遵循着运输协议。运输协议保证了运输层能够向应用层提供运输服务。,运输层提供的运输服务也使用了下面网络层向上提供的网络服务。TSAP和NSAP分别是运输层服务访问点和网络层服务访问点,它们都是层与层之间交换信息的抽象接口。,图8-3 运输层与其上下层之间的关系的OSI表示法,运输层向高层用户屏蔽了下面通信子网的细节(如网络拓扑、所采用的协议等),它使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道,但这条逻辑通信信道对上层的表现却因运输层使用的不同协议而有很大的差别。,当运输层采用面向连接的TCP协议时,尽管下面的网络是不可靠的(即只提供尽最大努力服务),但这种逻辑

4、通信信道就相当于一条全双工的可靠信道。但当运输层采用无连接的UDP协议时,这种逻辑通信信道仍然是一条不可靠信道。不可靠信道的特点就是不保证交付。,图8-4 运输层向上提供可靠的或不可靠的逻辑通信信道,TCP/IP的运输层有两个不同的协议,如图8-5所示,它们都是因特网的正式标准,即: (1)用户数据报协议UDP (User Datagram Protocol),图8-5 TCP/IP体系中的运输层协议,(2)传输控制协议TCP (Transmission Control Protocol) 两个对等运输实体在通信时传送的数据单位叫做运输协议数据单元TPDU ,TCP报文段 (segment)

5、或UDP报文或用户数据报。,UDP在传送数据之前不需要先建立连接。TCP则提供面向连接的服务。,表8-1 使用UDP和TCP协议的各种应用和应用层协议,续表,8.1.3 运输层的端口 UDP和TCP都使用了与应用层接口处的端口 (port) 与上层的应用进程进行通信。端口是个非常重要的概念,因为应用层的各种进程是通过相应的端口与运输实体进行交互。,因此在运输协议数据单元(即TCP报文段或UDP用户数据报)的首部中都要写入源端口号和目的端口号。,用OSI的术语,图中的端口就是运输层服务访问点TSAP。端口的作用就是让应用层的各种应用进程都能把数据通过相应的端口向下交付给运输层,以及让运输层知道应

6、当把报文段中的数据向上通过合适的端口交付给应用层相应的进程。,图8-6 端口在进程之间的通信中所起的作用,端口用一个16位端口号进行标识。但端口号只具有本地意义,它只是为了标识本计算机应用层中的各进程。在因特网不同计算机中相同的端口号是没有联系的。,端口号共分为3类。 (1)熟知端口 (well-known port) 其数值为01023。这一类端口由因特网指派名字和号码公司ICANN负责分配给一些常用的应用层程序固定使用。,(2)登记端口 (3)动态端口,8.2 用户数据报协议UDP,8.2.1 UDP概述 UDP在某些方面有其特殊的优点: (1)UDP是无连接的,即发送数据之前不需要建立连

7、接(当然发送数据结束时也没有连接可释放),因此减少了开销和发送数据之前的时延。,(2)UDP使用尽最大努力交付,即不保证可靠交付,同时也不使用拥塞控制,因此主机不需要维持具有许多参数的、复杂的连接状态表。,(3)由于UDP没有拥塞控制,因此网络出现的拥塞不会使源主机的发送速率降低。这对某些实时应用是很重要的。,(4)UDP是面向报文的。 (5)UDP支持一对一、一对多、多对一和多对多的交互通信。 (6)用户数据报只有8个字节的首部开销,比TCP的20个字节的首部要短。,8.2.2 UDP的首部格式 用户数据报UDP有两个字段:数据字段和首部字段。每个字段都是两个字节。,(1)源端口 (2)目的

8、端口 (3)长度 (4)检验和,图8-7 UDP用户数据报的首部和伪首部,UDP用户数据报首部中检验和的计算方法有些特殊。在计算检验和时,要在UDP用户数据报之前增加12个字节的伪首部。“伪首部”是指这种伪首部并不是UDP用户数据报真正的首部。,UDP计算检验和的方法和计算IP数据报首部检验和的方法相似。但不同的是:IP数据报的检验和只检验IP数据报的首部,但UDP的检验和是把首部和数据部分一起都检验。,8.3 传输控制协议TCP,8.3.1 TCP概述 TCP是TCP/IP体系中面向连接的运输层协议,它提供全双工的和可靠交付的服务。TCP与UDP最大的区别就是TCP是面向连接的,而UDP是无

9、连接的。,图8-8 TCP发送报文段的示意图,由于运输层的通信是面向连接的,因此TCP每一条连接上的通信只能是一对一的,而不可能是一对多、多对一或多对多的。,图8-9 用确认和超时重传保证可靠传输,图8-10 确认丢失的情况,通过以上所讲的确认和重传机制,我们就可以在IP层的通信是不可靠的情况下,使运输层之间的通信成为可靠的。,8.3.2 TCP报文段的首部 一个TCP报文段分为首部和数据两部分,如图8-11所示。应当指出,TCP的全部功能都体现在它首部中各字段的作用。,图8-11 TCP报文段的首部,TCP报文段首部的前20个字节是固定的,后面有4N字节是根据需要而增加的选项(N必须是整数)

10、。因此TCP首部的最小长度是20字节。,首部固定部分各字段的意义如下所述。 (1)源端口和目的端口 (2)序号 (3)确认号 (4)数据偏移 (5)保留,(6)紧急URG (URGent) (7)确认ACK (8)推送PSH (PuSH) (9)复位RST (ReSeT) (10)同步SYN,(11)终止FIN (FINal) (12)窗口 (13)检验和 (14)选项,8.3.3 TCP的数据编号与确认 TCP协议是面向字节的。TCP将所要传送的整个报文(这可能包括许多个报文段)看成是一个个字节组成的数据流,并使每一个字节对应于一个序号。,TCP发送的确认是对所有按序接收到的数据的确认。但接

11、收方返回的确认号是已按序收到的数据的最高序号加1。也就是说,确认序号表示接收端期望下次收到的数据中的第一个数据字节的序号。,8.3.4 TCP的流量控制与拥塞控制 为了提高报文段的传输效率,TCP采用大小可变的滑动窗口进行流量控制。窗口大小的单位是字节。在TCP报文段首部的窗口字段写入的数值就是当前给对方设置的窗口数值上限。,图8-12表示的是在TCP中使用的窗口概念。,图8-12 TCP中的窗口概念,(a) 发送窗口大小为500字节 (b) 发送了400字节,收到的确认号为201,窗口大小不变,还可发送300字节 (c) 收到的确认号为401,窗口大小变为400字节,还可发送400字节,图8

12、-13 利用可变窗口进行流量控制举例,8.3.5 TCP的重传机制 重传机制是TCP中最重要和最复杂的问题之一。TCP每发送一个报文段,就设置一次计时器。只要计时器设置的重传时间已经到了但还没有收到确认,就要重传这一报文段。,计时器设置的超时重传时间RTO (RetransmissionTime-Out) 应略大于上面得出的平均往返时延RTT,即: RTO RTT,图8-17 收到的确认报文段ACK是对哪一个报文段的确认,Karn提出了一个算法:在计算平均往返时延时,只要报文段重传了,就不采用其往返时延样本。这样得出的平均往返时延和重传时间当然就较准确。,要对Karn算法进行修正。方法是:报文

13、段每重传一次,就将重传时间增大一些: 新的重传时间 (旧的重传时间),系数的典型值是2。当不再发生报文段的重传时,才根据报文段的往返时延更新平均往返时延和重传时间的数值。实践证明,这种策略较为合理。,8.3.6 TCP的运输连接管理 TCP是面向连接的协议。运输连接的建立和释放是每一次面向连接的通信中必不可少的过程。 在连接建立过程中要解决以下三个问题。,(1)要使每一方能够确知对方的存在。 (2)要允许双方协商一些参数(如最大报文段长度,最大窗口大小,服务质量等)。 (3)能够运输实体资源(如缓存大小,连接表中的项目等)进行分配。,TCP的连接和建立都是采用客户服务器方式。主动发起连接建立的进程叫做客户(client),而被动等待连接建立的进程叫做服务器(server)。,图8-18 用三次握手建立TCP连接,图8-19 TCP连接释放的过程,8.3.7 TCP的有限状态机 为了管理因特网,在网络管理中心设有管理信息库MIB (Management Information Base)。管理信息库存放着各主机的TCP连接表(Connection Table),其格式如表8-2所示。,TCP连接表对每个连接都登记了其连接信息。除本地和远地的IP地址和端口号外,还要记录每一个连接所处的状态。,表8-2 TCP连接表,图8-20 TCP的有限状态机,

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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