计算机网络中有五层协议的定义,此篇文章主要着重于传输层的知识点进行展开。
首先,传输层与下层的网络层的关系主要是:网络层将分组发送给目的主机,但其中通信的是主机中的进程,传输层在此处就提供了进程间的逻辑通信。与此同时,传输层屏蔽下层的网络层的核心细节,对于高层用户来说,应用程序也就变成两传输实体间的端到端的逻辑通信。
传输层包括两种协议:UDP和TCP
用户数据报协议UDP | 传输控制协议TCP |
---|---|
无连接 | 面向连接 |
尽最大可能交付 | 提供可靠交付 |
无堵塞控制 | 堵塞控制 |
面向报文(对报文不合并不拆分,仅添加UDP头部) | 全双工通信,面向字节流(将其组织成大小不等的数据块,且每条TCP连接都为点对点) |
UDP的首部格式
整个用户数据报分为IP首部及IP数据报数据部分(简单来说就是标志部分以及数据部分),数据部分再分为更为细致的标志部分和数据部分(UDP首部和UDP的数据部分),此时,我们可以了解到,UDP首部有8个字节,包括源端口、目的端口、长度、检验和,12 字节的伪首部是为了计算检验和临时添加的。
TCP首部格式
TCP首部略微复杂,首先是两个端口:源端口和目的端口,其次是两号:序号和确认号。以及数据偏移(量)、窗口以及其他。
- 序号:对TCP面向的字节流进行编号,如序号为1001,即第一字节为1001,若长度为2