tcp、udp协议栈
2016-03-19 10:45
483 查看
tcp
![](http://img.blog.csdn.net/20160319094714412)
udp
![](http://img.blog.csdn.net/20160319095850328)
MSS (Maximum Segment Size)
最大报文长度。是TCP协议定义的一个选项,用于在TCP连接建立时,收发双方协商通信时每一个报文段所能承载的最大数据长度
这个值TCP协议在实现的时候往往用MTU值代替(需要减去IP数据包包头的大小20Bytes和TCP数据段的包头20Bytes)所以一般MSS值1460
TCP选项
选项字段是一个选项的列表,可包含多个选项
选项类型0,单字节选项,表示选项列表的结束
选项类型1,单字节选项,无操作,该选项可用在两个选项之间,用于选项结构的对齐
选项类型2,最大报文段长度选项
选项类型3,窗口扩大因子选项
选项类型8,时间戳选项
struct tcphdr { __be16 source; //源端口 __be16 dest; //目的端口 __be32 seq; //序列号 __be32 ack_seq; //确认号 #if defined(__LITTLE_ENDIAN_BITFIELD) __u16 res1:4, doff:4, //头长度 fin:1, syn:1, rst:1, psh:1, ack:1, urg:1, ece:1, cwr:1; #elif defined(__BIG_ENDIAN_BITFIELD) __u16 doff:4, res1:4, cwr:1, ece:1, urg:1, ack:1, psh:1, rst:1, syn:1, fin:1; #else #error "Adjust your <asm/byteorder.h> defines" #endif __be16 window; //窗口大小 __sum16 check; //检验和 __be16 urg_ptr; //紧急指针 };
udp
struct udphdr { __be16 source; __be16 dest; __be16 len; //数据报长度 __sum16 check; };
MSS (Maximum Segment Size)
最大报文长度。是TCP协议定义的一个选项,用于在TCP连接建立时,收发双方协商通信时每一个报文段所能承载的最大数据长度
这个值TCP协议在实现的时候往往用MTU值代替(需要减去IP数据包包头的大小20Bytes和TCP数据段的包头20Bytes)所以一般MSS值1460
TCP选项
选项字段是一个选项的列表,可包含多个选项
选项类型0,单字节选项,表示选项列表的结束
选项类型1,单字节选项,无操作,该选项可用在两个选项之间,用于选项结构的对齐
选项类型2,最大报文段长度选项
选项类型3,窗口扩大因子选项
选项类型8,时间戳选项
相关文章推荐
- Http中的Post和GET请求的区别
- HttpClient使用详解
- 计算机网络常识
- 计算机网络常识
- 数据链路层&网络层-教主
- TCP&UDP协议小结
- xUtils3.0使用介绍:网络模块
- linux 使用epoll实现网络通信
- 文章标题
- 20.网络
- javaweb学习总结(八)——HttpServletResponse对象(二)
- linux网络文件共享服务的实现
- .net和tcp和udp的关联
- dll和context和tcp的关联
- context和tcp和sqlplus的关联
- tcpdump和dll和.net的关联
- excel和tcpdump和mangodb的关联
- linux和tcpdump和struts2的关联
- opencv和tcp和jsp的关联
- httpclient和c#和redis的关联