TCP/IP协议栈主要分为四层:应用层、传输层、网络层、数据链路层,每层都有相应的协议,如下图
所谓的协议就是双方进行数据传输的一种格式。整个网络中使用的协议有很多,所幸的是每一种协议都有RFC文档。在这里只对IP、UDP协议头做一个分析。
首先来看看在网络中,一帧以太网数据包的格式:
UDP协议
UDP协议也是传输层协议,它是无连接,不保证可靠的传输层协议。在传输过程中没有流量控制和确认机制,数据报可能会丢失,延迟,乱序到达信宿。
UDP只是提供了利用校验和检查数据完整性的简单差错控制。
UDP支持一对一、一对多、多对一和多对多的交互通信。
它的协议头比较简单,只有8字节,比TCP的20字节首部开销要小很多。
UDP报文格式
Length占用2个字节,标识UDP头和数据的长度和。
Checksum : 校验和,包含UDP头和数据部分。
IP协议
IP报文格式