第八章 运输层

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8.1
应用进程
运输协议概述
应用进程
运输层为应用进程之间提供端到端的逻辑通信,但 网络层是为主机之间提供逻辑通信,如下图所示: …
因特网 IP协议的作用范围 (提供主机之间的逻辑通信) TCP和UDP协议的作用范围

(提供进程之间的逻辑通信)
运输层协议和网络层协议的主要区别
8.1
运输协议概述
2、运输层对收到的报文进行差错检测。在网络 层,IP数据报首部中的检验和字段只检验首部 是否出现差错而不检查数据部分。 3、根据应用的不同,运输层需要有两种不同的 运输协议,即面向连接的TCP和无连接的UDP, 而网络层无法同时实现这两种协议。
8.4传输控制协议TCP
发送端 应用进程 应用进程 接收端
… 端口
向发送缓存 写入数据块
… 端口
从接收缓存 读取数据块
8.2 TCP/IP体系中的运输层
这两个协议都使用IP协议。也就是说,在发送数据时,这 两个协议的协议数据单元PDU,都作为下面IP数据报的 数据。在接收数据时,IP数据报将首部去掉后,根据上 层使用的是什么运输协议,把数据部分交给上面的UDP 或TCP。
8.2 TCP/IP体系中的运输层
二、端口
网络层
面向通信
数据链路层 物理层
网络功能
8.1
二、运输层的功能 1、复用与分用:
运输协议概述
两个主机进行通信实际上是两个主机中的应用进程互 相通信。 IP协议虽然能把分组送到目的主机,但这个分组还停 留在主机的网络层而没有交付给主机中的应用进程。 因IP地址是标志在因特网中的一个主机,而不是标志 主机中的应用进程。 由于通信的两个端点是源主机和目的主机中的应用进 程,因此应用进程之间的通信又称为端到端的通信。
8.3用户数据报协议UDP
一、概述:
用户数据报协议UDP只在IP的数据报服务之上增加了很少一点的 功能,这就是端口的功能和差错检测的功能。虽然UDP用户数据 报只能提供不可靠的交付,但UDP在某些方面有其特殊的优点, 如: 1、发送数据之前不需要建立连接(发送结束无连接需释放),减少 了开销和发送数据之前的时延。 2、UDP不使用拥塞控制,也不保证可靠交付,因此主机不需要维持 具有许多参数的、复杂的连接状态表。 3、UDP用户数据报只有8个字节的首部开销,比TCP的20个字节的 首部要短。 4、由于UDP没有拥塞控制,因此网络出现的拥塞不会使源主机的发 送速率降低。这对某些实时应用是很重要的。很多实时应用(如 IP电话、实时视频会议等)要求源主机以恒定的速率发送数据。
8.1
5AP1
应用进程
AP2
( )
运输协议概述
应用进程 端口
端口
4
3 2 1
(
)
运输层提供应用进程间的逻辑通信
5AP3
AP4
( )
4
3 2 1
(
)
主机A
AP1
AP2
LAN
1
R1
WA N
R2
主机B LAN
2
AP3
AP4
IP协议的作用范围
运输层协议TCP和UDP的作用范围
运输层为相互通信的应用进程提供了逻辑通信
8.1
运输协议概述
在一个主机中经常有多个应用进程同时分别和另一 个主机中的多个应用进程通信。如,某用户在使用 浏览器查找某网站的信息时,其主机的应用层运行 浏览器客户进程。如果在浏览网页的同进,还要用 电子邮件给网站发送反馈意见,则主机的应用层就 还要运行电子邮件的客户进程。 运输层一个很重要的功能就是复用和分用。应用层 不同进程的报文通过不同的端口向下交到运输层, 再往下就共用网络层提供的服务。当这些报文到达 目的主机后,目的主机的运输层就使用其分用功能, 通过不同的端口将报文分别交付到相应的进程。 下图示出了这个过程。
字节 4 4 1 1百度文库2 源IP地址 目的IP地址 0 17 UDP长度 12 伪首部
算检验和时,临时和UDP数据 报连接在一起,得到一个新的 UDP数据报。检验和就是按照 这个新的UDP数据报来计算的。 伪首部既不向下传送,也不向 上递交。 伪首部的第三个字段是全零, 第四个字段是IP首部中的协议 字段的值。对于UDP,此协议 字段值为17。第五个字段是 UDP数据报的长度。
8.1
运输协议概述
面向信息 处理
一、运输层在网络体系结 构中的地位
1、从面向通信和面向信息处 理来划分,则运输层属于面 向通信的低层中的最高层。 2、从网络功能和用户功能来 划分,则运输层又属于用户 功能的高层中的最低层。 3、通信子网中无运输层,它 只存在于通信子网以外的主 机中。
应用层
用户功能
运输层
8.2 TCP/IP体系中的运输层
发送方 接收方 应用进程
应 用 层 运 输 层 网 络 层
TCP复用
应用进程
端口
TCP复用 TCP分用
端口
TCP分用
TCP报文段
UDP用户数据报 IP复用
TCP报文段
UDP用户数据报 IP分用
IP数据报
IP数据报
由于使用了复用和分用技术,在运输层与网络层的交互中已看 不见各种应用进程,而只有TCP报文段或UDP用户数据报。
8.2 TCP/IP体系中的运输层
3。端口的表示:用一个16位的端口号表示。但端口号只具 有本地意义,它只标志本计算机中应用层中的各进程。 Internet中不同计算机的相同端口号是没有联系的。 4、端口的分类: 熟知端口:TCP/IP体系确定并公布,所有用户进程都熟 知的端口。数值为0-1023。当一种新的应用程序出现时, 必须为它指派一个熟知端口,否则其它的应用进程就无法 和它进行交互。在应用层中的各种不同的服务器进程不断 地检测分配给它们的熟知端口,以便发现是否有某个客户 进程要和它通信。常见的熟知端口如下:
8.3用户数据报协议UDP
4、客户端收到来自IP层的报文时,UDP先检查报文中的目的 端口号是否正确。若不正确,UDP就丢弃该报文,并请ICMP 发送“端口不可达”差错报文给服务器端。若正确,UDP就 将收到的报文放在入队列的队尾,客户进程按报文到达的先 后顺序将其一一取走。 5、服务器在收到报文时,UDP先检查到达的用户数据报的目 的端口号是否为69。若是,将此用户数据报入进入队列队尾。 若不是,丢弃此报文。
6、服务要回答客户的请求时,将要发送的报文传送到出队列, 并使用请求服务的报文的源端口号作为回答报文的目的端口 号。在添加上UDP首部后,将其传送给IP层。
8.3用户数据报协议UDP
三、UDP用户数据报的首部格式
用户数据报UDP有两个字段:数据字段和首部字段。首部字段很简单, 只有8个字节,由4个字段组成,每个字段都是两个字节。各字段意 义如下: UDP数据报首部中检验和的计 · 源端口字段,源端口号码 算方法有些特殊。在计算检验 · 目的端口字段,目的端口号码 和时在UDP数据报之前要增加 12个字节的伪首部。“伪首部” · 长度字段,UDP数据报的长度 是因为这种伪首部并不是UDP · 检验和字段,防止UDP数据报在传输中出错 数据报真正的首部。只是在计
8.2 TCP/IP体系中的运输层
一、TCP/IP体系运输层中的两个协议
1、用户数据报协议UDP(User Datagram Protocol)
UDP提供无连接、不可靠的服务。在传送数据之前,不需要先建立 连接。远地主机的运输层在收到UDP数据报后,不需要给出任何 应答。在某些情况下,这是一种最有效的工作方式。TCP/IP体 系中的应用服务,如TFTP和NFS就使用UDP这种运输方式。
8.3用户数据报协议UDP
二、UDP与应用层之间端口的实现机制:报文队列 以应用层使用简单文件传送协议TFTP为例讨论。 1、TFTP使用UDP传送报文,但TFTP服务器和TFTP客 户所使用的端口是不一样的。 2、TFTP服务器进程是一直在运行着,等待TFTP客户进 程的服务请求。因此,服务器的端口必须使用熟知端 口号。TFTP服务器的熟知端口号是69。在TFTP客户 端,当进程启动时,就向操作系统请求一个临时的一 般端口号,如,5100。然后操作系统就为该进程创建 两个队列:入队列和出队列。只要进程在执行,这两 个队列就一直存在。当进程终止时,入队列和出队列 及临时端口号就一起被撤消。如下图所示:
8.1
运输协议概述
再次小结: 物理层使链路上能透明地传送比特流。 数据链路层使得各条链路能传送无差错的帧(按序、无丢失、 不重复)。 网络层又提供路由选择、流量控制和网络互连的功能,使主 机A发送的分组能按照合理的路由到达主机B。 运输层提供端到端的可靠通信服务。所谓端到端即从进程到 进程。
运输层向高层用户屏蔽了下面通信子网的细节,使高层用户 看不见实现通信功能的物理链路是什么,看不见数据链路采 用的是什么规程,也看不见下面到底有几个子网以及这些子 网是怎样互连起来的,运输层使高层用户看见的就是好像在 两个运输层实体之间有一条端到端的可靠的通信通路。
2、传输控制协议TCP(Transmission Control Protocol)
提供面向连接的服务。不提供广播或组播服务。由于TCP要提供 可靠的运输服务,因此TCP就不可避免地增加了许多的开销,如 应答、流量控制、定时器以及连接管理等。这不仅使协议数据单 元的首部增大很多,还要占用许多的处理机资源。
字节
2 2 2 2 源端口 目的端口 长度 检验和 首部 数据 数据
UDP用户数据报 IP数据报 首部
8.4传输控制协议TCP
一、概述
1、TCP是TCP/IP体系中的运输层协议,是面向连接的, 因而可提供可靠的、按序传送数据的服务。TCP提供的连 接是双向的,即全双工的。 2、TCP发送报文段的大致过程 (1)TCP的通信是全双工的,因此TCP连接的任何一方 (不论是客户端还是服务器)都能够发送和接收数据。 (2)发送端的应用进程按照自己产生数据的规律,不断地 将数据块陆续写入到TCP的发送缓存中。 (3)TCP从发送缓存中取出一定数量的数据,将其组成 TCP报文段逐个传送给IP层,然后发送出去。如下图:
8.3用户数据报协议UDP
应 用 层 出队列 TFTP客户 TFTP服务器
入队列
出队列
入队列
运 输 层
UDP
端口5100
UDP用户数据报
UDP
端口69
3、客户进程将报文发送到出队列中。UDP按队列中报文的先 后顺序进行发送。在传送到IP层之前要给报文加上UDP首部, 其中的目的端口号是TFTP的熟知端口69。然后UDP数据报就 传送给IP层。
UDP和TCP都使用了端口(port)进行寻址。端口是一个 很重要的概念,因为在通信时,只有找到了端口,才能 最后找到我们所要找的目的进程。 1、概念:即运输层服务访问点TSAP,是UDP和TCP用来 同上层的应用进程进行通信的接口,应用层的各种进程 是通过相应的商品与运输实体进行交互的。 2。功能:让应用层的各种应用进程都能将其数据通过端 口向下交付给运输层,让运输层知道应当将其报文段中 的数据向上通过端口交付给应用层的进程。因此,端口 是用来标志应用层的进程的。如下图所示:
应用程序 FTP TELNET SMTP DNS TFTP HTTP SNMP SNMP(trap)
熟知端口
21
23
25
53
69
80
161
162
一般端口:用来随时分配给请求通信的客户进程。
8.2 TCP/IP体系中的运输层
5、TCP使用“连接”(而不是“端口”)作为 最基本的抽象。一个连接由它的两个端点来标 识。这样的端点就叫做插口(socket),或套 按字。插口的概念并不复杂,但非常重要。插 口包括IP地址(32bit)和端口号码(16 bit),共48 bit。在整个Internet中,在运 输层通信的一对插口必须是唯一的。 如一条连接的一对插口可以为: (131.6.3.13,500)和 (130.42.85.15,25)其中,25表示SMTP。
三、运输层与其上下层之间的关系
8.1
主机A 运输服务用户 (应用层实体) 运输层服务 访问点TSAP
运输协议概述
主机A 运输服务用户 (应用层实体)
应用层 层接口
运输实体
运输协议
网络层 (或网际层)
运输实体
运输层 层接口
网络层服务 访问点NSAP
运输层中向应用层提供运输服务的是运输实体。使用运输服务的是运输服 务用户(即各应用进程或应用层实体)。运输层中两个对等实体之间的通 信遵循运输协议。运输协议保证了运输层能够向应用层提供运输服务。运 输服务也使用了下面网络层向上提供的网络服务
相关文档
最新文档