首页 > 优选经验 > 正文

报文格式(报文)

来源:优选经验2024-03-14 05:20:22
导读 您好,今日明帅来为大家解答以上的问题。报文格式,报文相信很多小伙伴还不知道,现在让我们一起来看看吧!1、报文是网络中交换与传输的数据...

您好,今日明帅来为大家解答以上的问题。报文格式,报文相信很多小伙伴还不知道,现在让我们一起来看看吧!

1、报文是网络中交换与传输的数据单元。

2、报文包含了将要发送的完整的数据信息,其长短很不一致。

3、(可分为自由报文和数字报文) 报文也是网络传输的单位,传输过程中会不断的封装成分组、包、帧来传输,封装的方式就是添加一些信息段,那些就是报文头 以一定格式组织起来的数据. 比如里面有报文类型, 报文版本, 报文长度, 报文实体等等信息. 完全与系统定义, 或自定义的数据结构同义. 来几个 TCP/IP 头结构感受一下: typedef struct _iphdr //定义IP首部 { unsigned char h_lenver; //4位首部长度+4位IP版本号 unsigned char tos; //8位服务类型TOS unsigned short total_len; //16位总长度(字节) unsigned short ident; //16位标识 unsigned short frag_and_flags; //3位标志位 unsigned char ttl; //8位生存时间 TTL unsigned char proto; //8位协议 (TCP, UDP 或其他) unsigned short checksum; //16位IP首部校验和 unsigned int sourceIP; //32位源IP地址 unsigned int destIP; //32位目的IP地址 }IP_HEADER; typedef struct psd_hdr //定义TCP伪首部 { unsigned long saddr; //源地址 unsigned long daddr; //目的地址 char mbz; char ptcl; //协议类型 unsigned short tcpl; //TCP长度 }PSD_HEADER; typedef struct _tcphdr //定义TCP首部 { USHORT th_sport; //16位源端口 USHORT th_dport; //16位目的端口 unsigned int th_seq; //32位序列号 unsigned int th_ack; //32位确认号 unsigned char th_lenres; //4位首部长度/6位保留字 unsigned char th_flag; //6位标志位 USHORT th_win; //16位窗口大小 USHORT th_sum; //16位校验和 USHORT th_urp; //16位紧急数据偏移量 }TCP_HEADER; // 这里只是数据头, 但头最能让你看清报文是啥东东 // IP_HEADER::total_len 指明了实体数据(也就是真正的消息内容)长度. // 其他以此类推。

本文就为大家分享到这里,希望小伙伴们会喜欢。

关键词:
版权声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

猜你喜欢