typedef struct tcp_header /* TCP头部定义 */
{
u_short sport;
u_short dport;
u_long seq; //序列号
u_long ack; //确认号
u_char hlen; //4bits头长+保留位
u_char flags; //URG,ACK,PSH,RST,SYN,FIN
u_short win; //窗口大小
u_short sum; //校验和
u_short urp;}tcp_header;其中u_char hlen为头部长度+保留位
但书上标准定义为:头部长度4bits,保留位6bits; flags为6bits
与上面的定义是不是矛盾呢? 高手解答下.最近都在提问,分用完了...
{
u_short sport;
u_short dport;
u_long seq; //序列号
u_long ack; //确认号
u_char hlen; //4bits头长+保留位
u_char flags; //URG,ACK,PSH,RST,SYN,FIN
u_short win; //窗口大小
u_short sum; //校验和
u_short urp;}tcp_header;其中u_char hlen为头部长度+保留位
但书上标准定义为:头部长度4bits,保留位6bits; flags为6bits
与上面的定义是不是矛盾呢? 高手解答下.最近都在提问,分用完了...
u_char flags; //URG,ACK,PSH,RST,SYN,FIN注释没有写得很明确让你误解了.hlen 后四位是保留位, flags前两位也是保留位,后六位是URG,ACK,PSH,RST,SYN,FIN,和RFC定义是一致的