tcp/ip详解卷1到现在已经大约读了3,4遍了,不过像说些什么,又似乎只有自己才能明白。这次是想从 想从自己理解的角度说明一下。 首先,网卡--网卡驱动--应用程序,这是包的解析不同传递到的层次不同的一种划分。
而包是前14字节-- 20字节-- 不定字节 而包格式 1.前14字节 目的地址6字节,源地址6字节,长度2字节。都是6字节的硬件地址。 所有的包都有这两部分,正常包都包含,
arp由于查询硬件地址,所以目的为0,
而广播包不确定对象,所以为ff..或相应广播位。 一般情况下,网卡会检查这一部分,如果不是发给本机或是arp,广播格式则丢弃 ,不过发给上层(驱动和应用程序)处理,不过如果网卡设为 混杂模式则上层可以收到(抓包软件为混杂模式的原因)。 2.IP部分20字节 除arp rarp,IP包都有此部分。主要是IP地址和一些相关内容,是用来识别IP部分的内容,ttl有利用价值。 3.udp,tcp头 随udp,和tcp头不同而不同,这部分可以指明端口和其他一些特征,一般网络类库只能实现IP部分以上的部分。前面部分基本由硬件和网卡驱动决定 syn ,fin ,squ ,ack为此部分的主要内容。
具体格式可以查询tcp/ip 详解卷一,感觉自己似乎没说清楚,还是要抓包来看比较好,或是等我整理一下思路。同时我试验是一般情况sqe + (包总长 - 54)= 下一个ack