第4章传输层.ppt
《第4章传输层.ppt》由会员分享,可在线阅读,更多相关《第4章传输层.ppt(69页珍藏版)》请在课桌文档上搜索。
1、计算机网络实用教程,第4章 传输层,目 录,4.1概述 4.1.1 传输层和网络层的关系 4.1.2 因特网传输层概述 4.1.3 多路复用与多路分解4.2用户数据报协议UDP 4.2.1 UDP协议概述 4.2.2 UDP报文段的结构 4.2.3 UDP校验和,目 录,4.3可靠数据传输的原理 4.3.1 构造可靠数据传输协议 4.3.2 流水线可靠数据传输协议 4.3.3 Go-Back-N 4.3.4 选择重传4.4面向连接的TCP协议 4.4.1 TCP连接 4.4.2 TCP报文段结构,目 录,4.4.3 可靠数据传输 4.4.4 TCP的流量控制 4.4.5 TCP连接管理4.5拥
2、塞控制 4.5.1 拥塞控制的基本概念 4.5.2 拥塞控制的基本方法 4.5.3 TCP 的拥塞控制,本章重点内容,本章首先讨论传输层和网络层之间的关系,接着讨论UDP协议,然后针对计算机网络中最基本的问题之一,即两个实体怎样才能在一种会丢失或损坏数据的媒体上可靠的通信,逐步介绍用来解决这些问题的技术,最后讨论面向连接TCP协议及拥塞控制。,如下图传输层在网络体系结构中所处的地位。,4.1概述,传输层协议为运行在不同主机上的应用进程之间提供了逻辑通信,应用进程之间使用传输层提供的逻辑通信功能发送报文,而无需考虑承载这些报文的物理基础设施。传输层协议为其调用的网络应用程序提供不同的传输层服务。
3、因特网有两种协议,即TCP和UDP。他们分别提供面向连结和无连接的服务。,4.1.1 传输层和网络层的关系,在TCP/IP协议栈中,传输层位于网络层之上,传输层为运行在不同主机上的进程之间提供了“逻辑通信”。逻辑通信的意思是:传输层之间的通信好像是沿水平方向传送数据。但事实上这两个传输层之间并没有一条水平方向的物理连接。网络层则提供了主机之间的逻辑通信。传输层协议只工作在端系统。,如下图4.2 所示端到端的协议,传输层看到的通信系统 路由器,高层,传输层,网络层,网络接口,网络层,传输层,网络接口,高层,网络接口,网络层,网络1,网络2,4.1.2 因特网传输层概述,TCP/IP网络,为应用层
4、安排了两种截然不同的传输层协议。一种是UDP协议(用户数据报协议User Datagram Protocol),为调用它的应用程序提供了一种不可靠、无连接的服务。另一种是TCP(传输控制协议Transmission Control Protocol),为调用它的应用程序提供了一种可靠的、面向连接的服务。设计一个网络应用程序时,该程序的开发人员必须指定使用这两种传输层协议的哪一种,是选择UDP还是选择TCP.,4.1.2 因特网传输层概述,UDP和TCP最基本的任务是,将两个端系统间IP的交付服务扩展为运行在两个端系统上的进程之间的交付服务。将主机间交付扩展到进程间交付被称之为传输层的多路复用(
5、transport-layermultiplexing)与多路分解(demultiplexing)。我们将在下一节讨论传输层的多路复用与多路分解。,4.1.2 因特网传输层概述,UDP和TCP还可以通过在其报文段的首部中添加差错检测字段从而提供完整性检查。进程间数据交付和差错检查是两种最低限度的运输层服务,也是UDP所能提供的仅有的两种服务。特别是,UDP和IP一样,它也是一种不可靠服务,即不能保证一个进程所发送的数据能够完整无损地到达目的进程。,4.1.3 多路复用与多路分解,4.1.3 多路复用与多路分解,上图4.3所示传输层的多路复用(multiplexing)与多路分解(demulti
6、plexing),也就是将网络层所提供的主机到主机交付服务扩展到在主机上运行的应用程序到应用程序的交付服务,多路复用与多路分解服务是所有计算机网络都需要的。,4.1.3 多路复用与多路分解,接收主机将一个收到的传输层报文段定向到适当的套接字,在每个传输层报文段中设置了几个字段,在接收端,传输层检查这些字段并标识出接收套接字,然后将报文段定向到该套接字。将传输层报文段中的数据交付到正确的套接字的工作称为多路分解。从在原主机的不同套接字中收集数据块,并为每个数据块封装上首部信息从而生成报文段,然后将报文段传递到网络层的工作称为多路复用。,传输层是怎样实现多路分解服务的呢?,主机上的每个套接字被分配
7、一个端口号,端口是个非常重要的概念,因为应用层的各种进程是通过相应的端口与运输实体进行交互。端口用一个16bit端口号进行标志。,端口,端口号分为两类,一类是由因特网指派名字和号码公司ICANN负责分配给一些常用的应用层程序固定使用的熟知端口(well-known port),其数值一般为01023,例如:表4.1常用的应用层程序固定使用的熟知端口,表4.1常用的应用层程序固定使用的熟知端口,4.1.3 多路复用与多路分解,TCP中的多路复用与多路分解可以分为两种:无连接的多路复用与多路分解;无连接的服务就是在传送数据之前不需要建立连接,数据传送结束后,不需要给出任何确认。面向连接的多路复用与
8、多路分解。面向连接的服务要求在传送数据之前先建立连接,数据结束后要释放连接。TCP提供的是面向连接的服务。,4.2用户数据报协议UDP,4.2.1 UDP协议概述表如下表4.2给出了一些应用和应用层协议主要使用的传输层协议。,4.2.2 UDP报文段的结构 UDP信息包由UDP标题和数据组成。UDP的标题结构如图所示,它由5个域组成:源端端口(SourcePort),目的地端口(DestinationPort)、用户数据包的长度(Length)和校验和(Checksum)。,4.2用户数据报协议UDP,4.2.2 UDP报文段的结构,32位 0 15 16 32,源端口号,用户数据包的长度,检
9、查和,目的端口号,数据(Date),4.2.3 UDP校验和,UDP校验和提供差错检测。即效验和用于确定当UDP报文段从源到达目的时,其中的比特是否发生了改变(例如,由于链路中或者当在路由器中存储数据时的噪声干扰)。发送方的UDP对报文段中的所有16比特字的和进行1的补运算,求和时遇到的任何溢出都被丢弃。得到的结果放在UDP报文段中的效验和字段。,4.3可靠数据传输的原理,如何得到一个完整的可靠数据传输协议呢?我们来讨论下面两个协议1、完全可靠信道上的可靠数据传输:2、具有比特差错信道上的可靠数据传输:,4.3.1 构造可靠数据传输协议,控制报文使得接收方可以让发送方知道哪些内容被正确接收,哪
10、些内容接收有误从而需要重传。在计算机网络环境中,基于这样的重传机制的可靠数据传输协议叫自动重传请求协议(ARQ),4.3.1 构造可靠数据传输协议,基本上,ARQ协议中还需要另外三种功能来处理存在的比特差错:1.差错检测;2.接收方反馈;3.重传,4.3.2 流水线可靠数据传输协议,不使用停等方式运行,允许发送方发送多个分组而无需等待确认;由于从发送方向接收方传输的众多分组可以被看成是填充到一条流水线中,故这种技术被称为流水线(pipelining)。,4.3.3 Go-Back-N(GBN),Go-Back-N协议中,允许发送方传输多个分组(当有多个分组时)而不需等待确认,但它也受限于在流水
11、线中未确认的分组数不能超过最大允许数N。那些已被传输但还未被确认的分组的许可序号范围可以被看成是一个在序号范围内大小为N的“窗口”。随着协议的运行,该窗口在序号空间内向前滑动。因此,N常被称为窗口长度(window size),GBN协议常被称为滑动窗口协议(slidingwindow protocol)。,4.3.4 选择重传,在GBN协议中本身也存在性能问题。尤其是当窗口长度和带宽时延累积都很大时,在流水线中会有很多分组。一个分组的差错就可能引起GBN重传大量分组,其中许多分组也许根本没有必要重传。随着信道差错率的增加,流水线可能会被这些没必要重传的分组填满。选择重传(SR)协议通过让发送
12、方仅重传那些它怀疑在接收方出错(即丢失或受损)的分组从而避免了不必要的重传。,4.3.4 选择重传,这种个别地、按需的重传要求接收方逐个地确认正确接收的分组,再次用窗口长度N来限制流水线中未被确认的分组数。然而,与GBN不同的是,发送方已经收到了对窗口中某些分组的ACK,发送方所采取的各种动作如下:1.从上层收到数据;2.超时;3.收到ACK.,表4.4列出多种用于提供可靠数据传输的机制,4.4面向连接的TCP协议,4.4.1 TCP连接4.4.2 TCP报文段结构 TCP数据被封装在一个IP数据报中,如图4.5所示:,4.4.2 TCP报文段结构,IP数据包 TCP段,IP段,IP有效负载,
13、TCP报头,段,图4-6给出了TCP报文段的结构,4.4.4 TCP的流量控制,为了提高报文段的传输效率,TCP采用大小可变的滑动窗口进行流量控制。窗口大小的单位是字节。在TCP报文段首部的窗口字段写入的数值就是当前给对方设置的发送窗口数值的上限。发送窗口在连接建立是由双发商定。但在通信的过程中,接受方可根据自己的资源情况,随时动态地调整对方的发送窗口上限值(可增大或减小)。,4.4.4 TCP的流量控制,为了提高报文段的传输效率,TCP采用大小可变的滑动窗口进行流量控制。窗口大小的单位是字节。,图4.7表示的是在TCP中使用的窗口概念。,4.4.4 TCP的流量控制,4.4.5 TCP连接管
14、理,TCP连接的三个阶段,TCP是面向连接的协议。TCP连接是用来传送TCP报文的。TCP连接的建立和释放是每一次面向连接的通信中必不可少的过程。因此,TCP连接就有三个阶段,即连接建立、数据传送和连接释放。TCP连接的管理就是使TCP连接的建立和释放都能正常地进行。,4.4.5 TCP连接管理,在连接建立过程中要解决以下3个问题。(1)要使每一方能够确知对方的存在。(2)要允许双方协商一些参数(如最大报文段长度,最大窗口大小,服务质量等)。(3)能够对传输实体资源(如缓存大小,连接表中的项目等)进行分配。TCP的连接建立采用客户服务器方式。主动发起连接建立的应用程序叫做客户(client),
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 传输

链接地址:https://www.desk33.com/p-740588.html