1、说明
关于UDP头,IP头的详细说明在上一篇文章中,这里直接上C++的代码。
Go实现UDP-IP-Data的IP数据报生成
2、实现步骤
- 定义 IP头
- 定义UDP头
- 计算IP的校验和
- 计算UDP的校验和
- 生成UDP-IP-Data的IP数据帧
3、每一部分代码如下
3.1、IP头定义
#pragma pack(push, 1)
typedef struct {
uint8_t head_size : 4;
uint8_t ver : 4;
uint8_t tos;
uint16_t total_length;
uint16_t id;
uint16_t flag;
uint8_t ttl;