运输层是整个网络体系结构中的关键层次之一。一定要弄清以下重要概念:
- 运输层为相互通信的应用进程提供逻辑通信。
- 端口和套接字的意义。
- 无连接的 UDP 的特点。
- 面向连接的 TCP 的特点。
- 在不可靠的网络上实现可靠传输的工作原理,停止等待协议和 ARQ 协议。
- TCP 的滑动窗口、流量控制、拥塞控制和连接管理。
运输层的两个主要协议
(1) 用户数据报协议 UDP (User Datagram Protocol) [RFC 768]
(2) 传输控制协议 TCP (Transmission Control Protocol) [RFC 793]
按照 OSI 的术语,两个对等运输实体在通信时传送的数据单元叫做运输协议数据单元 TPDU (Transport Protocol Data Unit)。但在 TCP/IP 体系中,则根据所使用的协议是 TCP 或 UDP,分别称之为 TCP 报文段 (segment) 或 UDP 用户数据报。

用户数据报协议 UDP
UDP 的主要特点:
- UDP 是无连接的,即发送数据之前不需要建立连接,因此减少了开销和发送数据之前的时延。
- UDP 使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的连接状态表。
- UDP 是面向报文的。发送发的 UDP 对应用程序交下来的报文,在添加首部后就向下交付 IP 层。UDP 对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。UDP 一次交付一个完整的报文。因此,应用程序必须选择合适大小的报文。
- UDP 没有拥塞控制,因此网络出现的拥塞不会使源主机的发送速率降低。这对某些实时应用是很重要的。
- UDP 支持一对一、一对多、多对一和多对多的交互通信。
- UDP 的首部开销小,只有 8 个字节。

- 源端口:源端口号。在需要对方回信时选用。不需要时可用全 0。
- 目的端口:目的端口号。这在终点交付报文时必须使用。
- 长度:UDP 用户数据报的长度。
- 检验和:检测 UDP 用户数据报在传输中是否有错。有错就丢弃。
如果接收方 UDP 发现收到的报文中的目的端口号不正确,就丢弃该报文,并由 ICMP 协议发送“端口不可达”差错报文给发送发。
在计算检验和时,要在 UDP 用户数据报之前增加 12 个字节的伪首部。这种伪首部不是 UDP 用户数据报真正的首部。只是在计算检验和时,临时添加在 UDP 用户数据报前面,得到一个临时的 UDP 用户数据报。检验和是按照这个临时的 UDP 用户数据报来计算的。伪首部既不向下传送也不向上递交,仅仅是为了计算检验和。
UDP 计算检验和的方法和计算 IP 数据报首部检验和的方法相似。不同的是:UDP 的检验和是把首部和数据部分一起都检验。

这种简单的差错检验方法的检错能力并不强,但它的好处是简单,处理起来较快。
★ \bigstar ★ 5-01 试说明运输层在协议栈中的地位和作用。运输层的通信和网络层的通信有什么重要的区别?为什么运输层是必不可少的?
从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。

两台主机进行通信是两台主机中的

27万+

被折叠的 条评论
为什么被折叠?



