运输层
运输层是为应用层提供服务的,也就是为主机的应用进程提供服务的。端到端的通信,网络中的路由器并没有运输层。其需要两个重要的协议:面向连接的TCP和无连接的UDP。
端口
端口是应用层的各种协议进程与运输实体进行层间交互的一种地址,在下文提及的UDP和TCP的首部都有源端口和目的端口,TCP/IP的运输层使用16位的端口号来标志端口。端口号分为了两类:
1. 服务端使用的端口号:又分为两类:
1. 熟知端口号: 0 ~ 1023
2. 登记端口号:1024 ~ 49151 这类端口号必须在IANA登记唯一性。
2. 客户端使用的端口号:49152 ~ 65535 主机进程运行时动态选择的,也叫短暂端口号。进程销毁即回收。
如:
UDP
用户数据报协议UDP是无连接,尽最大努力交付的。UDP面向报文,UDP对应用层下发的报文加入首部后就下发给网络层IP,不拆分,即一次交付一个完整报文,与TCP有很大不同。UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送效率降低,即它不管网络卡不卡都按一定速率发。如 IP电话,实时视频会议。
UDP首部:
1. 源端口 :如果需要对方回信时选用,不需要时可用全0 。
2. 目的端口: 目的端口号
3. 长度:UDP数据报的长度
4. 检验和:检测UDP用户数据报在传输时是否有错,有错就丢弃。与IP协议不同,UDP校验和把