“是不是发现后面还有很多0呢?呵呵,其实不用奇怪,那些0是没有用的,它只是做个填充的作用,由于IP报文规定最小不能小于60字节(为什么?自己查TCP/IP),而ARP只用了42个字节,所以它需要用0(其实不一定是“0”)来填充剩下的12字节。”
不应该是IP报文规定最小不能小于60字节,IP报文大小应该是46~1500字节。
一般是以太网帧大小最小不能小于64字节(加上尾部校验4字节)。
一个封装了ARP报文的以太网帧是:14字节帧头+(28字节arp头+18填充)+4字节帧尾=64
四 . 当 A 收到来自 R 的 ARP 单播响应时,首先检查该帧的目的 MAC 是不是自己,发现匹配,于是再检查协议类型,发现是 ARP 协议,于是去掉二层帧头,送到 IP 层, IP 协议发现目的 IP地址是自己,于是进一步检查操作类型,发现是 2 (响应),于是读取发送者 MAC 和发送者 I P ,
“去掉二层帧头,送到 IP 层,IP 协议发现目的 IP地址是自己”
没有到3层IP,去掉二层帧头后,应该是arp进程跳出来处理。不是IP协议。
最后就是ARP报文不管是 请求还是应答 都可以用来欺骗更新目的主机的ARP表。 |