tcp

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,时间戳选项

最新文章

  1. MVC学习系列4--@helper辅助方法和用户自定义HTML方法
  2. jquery 中jsonp的实现原理
  3. 向 div 元素添加圆角边框:
  4. Linux的inode的理解
  5. mysql 索引2
  6. python 多线程threading
  7. Object Pascal 数据类型
  8. C++ 与设计模式学习(其一)
  9. 条款7:为多态基类声明virtual析构函数
  10. gitflow workflow
  11. ASIHTTPRequest详解
  12. UVa 1636 (概率) Headshot
  13. servlet登录
  14. Jetty监控线程使用情况的配置
  15. Windows 8.1 Preview的新功能和新API
  16. Java集合框架Collections【List/Set】
  17. HBase表预分区与压缩
  18. C# Winform 通过Socket实现客户端和服务端TCP通信
  19. LeetCode: Gray Code [089]
  20. github或码云协同开发

热门文章

  1. HikariCP连接池配置
  2. JMH java基准测试
  3. vue form表单上传文件
  4. 如何解决Windows 10屏幕字体缩放模糊问题
  5. 执行redis命令redis-trib.rb查看集群信息报错cannot load such file -- redis (LoadError)
  6. 【ARM-Linux开发】【CUDA开发】NVIDIA Jetson TX2 进阶:Nsight Eclipse Edition
  7. 【ztree】隐藏显示节点
  8. C/C++ 每日一题
  9. Python 入门(1):hello world 到流程控制
  10. 文件和异常的练习3——python编程从入门到实践