从传输层在整个网络体系结构中来说,运输层为互相通信的应用进程提供逻辑通信。
在这里运输层和IP层有所不同,IP层所侧重的 主机间通信 ,而运输层侧重 进程间通信 。当IP层完成传输,在主机间实现交换数据,而对于传输层来说通信过程还没有结束,数据只是交付于主机却未送达进程。所以在传输层看来,实现端到端通信的端点是主机中进程,而非主机。
其次,这里的通信并非实体,而是逻辑通信。当我们在传输层建立一个链接,从应用层向下看,认为传输层存在一条逻辑信道,只要把报文交付传输层就可以发送到对方进程,但实际上通信的两台主机并没有真正的物理链接。
此外,为了能提高链接的利用率,运输层还有很重要的功能是复用分用,使得不同应用进程可以使用同一个链接传输,而送到后能正确交付进程。
为了保证传输报文可靠,运输层还要对接受的报文进行差错检测。
UDP
报文首格式
应用场景
若通信数据完整性需让位与通信实时性,则应该选用 TCP 协议(如文件传输、重要状态的更新等);反之,则使用 UDP 协议(如视频传输、实时通信等)。
TCP
报文段首格式
在整个网络结构中,TCP为上层应用报文添加其端口和传输控制信息,封装为TCP报文,作为IP协议的数据交付IP传输
其报文首部中,有如下几个重要字段
- 源端口和目的端口
实现分用 - 序号
TCP协议将连接中传送的每一个字节都按顺序编号,本报文所发送的数据的 第一个字节 的序号 - 确认号
期望收到对方 下一个报文段 的 第一个字节数据 的序号。若确认号为N,则接受端到序号N-1之前的所有数据都已经正确收到 - 控制位
主要在建立/释放链接时作为标记,声明请求来意
确认ACK
同步SYN
终止FI