该字段是一个联合类型,表示了数据包在不同处理层次上所到达的处理位置。如在链路层上,eth指针有效,指向以太网首部第一个字节位置;在网络层上,iph指针有效指向IP首部第一个字节位置。raw指针随层次变化而变化,在链路层上时,其等于eth,在网络层上时,其等于iph。seq是针对使用TCP协议的待发送数据包而言的,此时该字段值表示该数据包的,ACK值。ACK值等于数据包中第一个数据的序列号加上数据的长度值。
iphdr:指向IP首部的指针,此处特别地分出了一个字段用于指向IP首部,主要用于RAW套接字。
mem-len:该字段表示skbuff结构大小加上数据帧的总长度。
len:该字段只表示数据帧长度,即len=mem-len-sizeof fraglen、fraglist:这两个字段用于分片数据包。。fraglen表示分片数据包个数,而fraglist指向分片数据包队列。truesize.意义同mem-len。sad&:数据包发送的源端IP地址。daddr:数据包最终目的端IP地址。raddr:数据包下一站IP地址。acked、used、flee、arp:acked=1表示该数据包已得到确认,可以从重发队列中删除。used=l表示该数据包的数据已被应用程序读完,可以进行释放。free=1用于数据包发送,当某个待发送数据包flee标志位等于l,则表示无论该数据包是否发送成功,在进行发送操作后立即释放,无需缓存。arp字段用于待发送数据包,该字段等于1表示此待发送数据包已完成MAC首部的建立。arp=0表示MAC首部中目的端硬件地址尚不知晓,故需使用.ARP协议询问对方,在:MAC首部尚未完全建立之前,该数据包一直处于发送缓冲队列中(device结构中buffs数组元素指向的某个队列以及ARP协议的某个队列中)。
tries、lock、localroute:。tries字段表示该数据包已进行Pies试发送,如果试发送超出域值,则会放弃该数据包的发送。
展开