当前位置:  技术问答>linux和unix

关于TCP数据结构

    来源: 互联网  发布时间:2015-10-15

    本文导语:  中,对tcp报文头格式指出顺序如下: 源端口   目的端口   序号        确认号 首部长度 保留未用   码元比特    窗口 校验和   紧急指针   选项(若有)  填充 数据   但是在linux中的 中,结构定义...

中,对tcp报文头格式指出顺序如下:

源端口   目的端口   序号        确认号
首部长度 保留未用   码元比特    窗口
校验和   紧急指针   选项(若有)  填充
数据  

但是在linux中的 中,结构定义为:
struct tcphdr
  {
    u_int16_t source;         //源端口
    u_int16_t dest;           //目的端口
    u_int32_t seq;            //序号  
    u_int32_t ack_seq;        //确认号
#  if __BYTE_ORDER == __LITTLE_ENDIAN
    u_int16_t res1:4;
    u_int16_t doff:4;

    u_int16_t fin:1;
    u_int16_t syn:1;
    u_int16_t rst:1;
    u_int16_t psh:1;
    u_int16_t ack:1;
    u_int16_t urg:1;

    u_int16_t res2:2;
#  elif __BYTE_ORDER == __BIG_ENDIAN
    u_int16_t doff:4;
    u_int16_t res1:4;
    u_int16_t res2:2;

    u_int16_t urg:1;
    u_int16_t ack:1;
    u_int16_t psh:1;
    u_int16_t rst:1;
    u_int16_t syn:1;
    u_int16_t fin:1;
#  else
#   error "Adjust your  defines"
#  endif
    u_int16_t window;
    u_int16_t check;
    u_int16_t urg_ptr;
};

字段共有16个(前面4个加上中间9个,还有最后3个)!
有没有高手告诉我doff,res1,res2,window,check,urg_ptr是什么意思啊?

|
doff=首部长度
window=窗口
check=校验和
urg_ptr=紧急指针

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 控制在网络上传输TCP数据包的大小的问题
  • netfilter里如何获得TCP包的数据?
  • tcp协议会出现丢包或者数据错误吗?
  • TCP发送数据,假如发送套接口是非阻塞的,而要发送的数据大于缓冲区尺寸
  • TCP数据流抓取程序 tcpflow
  • 请问如何设计tcp数据包啊??
  • tcp数据包发出后目标机器没有回复
  • 如何实现对网络协议栈(TCP/IP)各层数据的提取?!
  • TCP连接如何获取当前Sender buffer中已经缓存的数据量
  • 使用tcp协议发送数据, 如果获得系统底层将包发到客户端之间的耗时?
  • 急!如何监听并且重组网络中的TCP数据流?
  • c/c++ iis7站长之家
  • 删除掉tcp/ip协议栈后,在网卡中直接取数据应该怎么做
  • 本来可以修改skb里tcp数据的,突然不能修改了,为什么?
  • 求助:协议族各属于5层TCP/IP模型中的哪个层?(这里物理层和数据链路层是分开的)
  • Java里基于TCP/IP的Socket通信中一帧数据最好是多大(内详)
  • 如何在UNIX 和 WINDOWS 平台之间进行数据传输,使用TCP/IP 通信协议
  • 求一个使用tcp协议传送类似数据库表的二维数组的例子。每条记录上的字段数据类型不一定一样。
  • TCP连接中创建的监听描述字和已连接描述字(套接字)对应的是同一个套接口么,如果是的话,读写数据时系统怎么区分是哪个套接字的?
  • 在tcp/ip编程时我们操作的是数据信息,我们是否可以操作打包的比如ip包的信息呢。
  • java命名空间java.net接口socketoptions的类成员方法: tcp_nodelay定义及介绍
  • http走的是tcp还是udp?ssh是tcp还是udp?
  • Linux内核中影响tcp三次握手的一些协议配置
  • 100分求《嵌入式系统Web服务器—TCP/IP Lean》或《TCP/IP Lean Web Servers for Embedded Systems 》
  • TCP协议报头字段详解及报头图
  • tcp和udp套接字有何不同?在什么情况下用tcp什么情况下用udp????
  • 对TCP协议状态及状态转换理解
  • tcp_prequeue_process怎么调用了tcp_v4_do_rcv的??求解??在tcp_recvmsg调用的
  • TCP协议四次断连过程介绍及Linux内核协议栈中相关设置项
  • 请问怎么知道每个TCP连接所属哪个进程??还有怎么样断开系统中任意一个TCP连接?
  • TCP协议三次握手过程详解


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3