文章目录
运输层协议全面总结
- 网络层为主机间提供逻辑通信, 而运输层为应用进程间提供端到端的通信逻辑.
- 网络层提供IP数据报首部中的检验和字段, 只检验首部是否出现差错; 而运输层要检验收到的报文是否有差错.
1. 运输层的两个重要协议
- 用户数据报协议
UDP
(User Datagram Protocol
) - 传输控制协议
TCP
(Transmission Controll Protocol
)
2. 运输层端口号
- 作用: 把所传送的报文交到目的主机的某个合适的端口, 剩下的工作有TCP或UDP完成
- 此层为软件端口: 在协议层间的抽象的协议端口, 是应用层的各种协议进程与运输实体进行层间交互的一种地址, 和硬件端口不是一个概念.
- 三类端口号: 系统端口号(0~1023); 登记端口号(1024~49151); 客户端端口号(49152~65535);
3. UDP用户数据报协议
UDP仅仅是在IP数据报服务之上增加了复用, 分用以及差错检测功能.
3.1 UDP特点
无连接
: 发送数据之前不需要连接.尽最大努力交付
: 不保证可靠交付.面向报文
: 对应用层下发的报文, 添加d首部后就下发到IP层, 对下发的报文不合并也不c拆分, 仅仅保留报文的边界. 一次交付一个报文.无拥塞控制
: 发送后就不在管理.多种通信
: 支持一对一, 一对多, 多对多通信.首部开销小
: 首部仅有8个字节.
3.2 UDP首部格式
首部只有8个字节
源端口
: 需要对方回信时选用, 不选可全为0.目的端口
: 在终点交付报文时使用.长度
: UDP用户数据报的长度.检验和
: 检验UDP在传输中是否有错.
3.3 UDP检验和
- 要在UDP用户数据报之前增加12个字节的伪首部, 在计算检验和时, 临时增加在UDP前面. 伪首部既不下传, 也不上交.
- UDP检验和是把首部和数据部分一起检验. 使用多个16位字的二进制反码处理, 无差错时结果全为1. 和IP的检验和不同.
4. TCP传输控制协议
4.1 TCP特点
面向连接的运输层协议
: 使用TCP前, 必须建立TCP连接.点对点通信
: 每条TCP协议只能有两个端点.可靠服务
: 通过TCP连接的数据, 无差错,不丢失, 不重复, 并且按序到达.全双工通信
: 允许双方的进程在TCP连接后任何时候发送数据, TCP连接的两端都有发送缓存和接收缓存, 来临时存放双向通信的数据.面向字节流
:流stream
指从进程进出的字节序列.