ARP数据报传送格式

发布时间:2020-07-07 01:07:56 作者:给我个bit位
来源:网络 阅读:371

一. ARP

    ARP协议是运行在网络体系中数据链路层的协议,用于在局域网内,当知道要发送目的地主机的IP地址和端口号但是却不知道MAC地址的时候,就需要用到ARP也被称为地址解析协议;因为数据链路层传输的数据格式是帧,接收方接收的时候是先经过物理层和数据链路层才到达网络层的,因此,在数据传输的时候是需要知道主机的MAC地址也就是其硬件地址的来发送和接收数据的;如果接收到的数据包的MAC地址与本机不符,则直接丢弃;若相符,则在解析之后误差错就交付给上一层处理。

-------------------------------------------------------------------------------------------


二. ARP工作流程

  1. 当需要知道目的主机的MAC地址时,在发送数据帧之前需要先发送一个ARP请求数据报,而这个数据报是发送给局域网内所有主机的,也就是以广播的形式来告知局域网内的主机们要找的是IP地址为XXX的主机的MAC地址;

  2. 当主机们收到这个ARP数据报时,如果请求中的目的IP地址与自身的IP不相符,则直接丢弃不处理;当IP地址就是源主机要找的主机时,就对ARP请求进行处理,之后再给发送ARP请求的源主机一个ARP应答数据报,并将自身的MAC地址填充其中;

  3. 而最后源主机收到ARP应答数据报之后,再进行处理获得MAC地址,就可以直接将要发送的数据给发送过去了;

-------------------------------------------------------------------------------------------


三. ARP数据报格式

不管是发送ARP请求的数据报还是ARP应答数据报,其格式如下:

ARP数据报传送格式其中:


前面三个部分14个字节是以太网的头部信息,而后面的28个字节就是ARP数据报的请求/应答的有效载荷信息;


-------------------------------------------------------------------------------------------

栗子时间:

下面举个具体的栗子来分析上面ARP数据报的信息;

ARP数据报传送格式

因为以太网中数据报中的有效信息最小字节数为46最大为1500,因此,ARP数据报中不够46位需要填充,而填充位内容没有定义,与具体实现相关;

上面的数据报为ARP请求数据报,也就是源主机请求目的主机的MAC地址,从上面可以看出,源主机的IP地址为 c0 a8 00 37 也就是192.168.0.55,而目的主机的IP地址是 c0 a8 00 02 也就是192.168.0.2;


下面为对上面ARP请求的一个应答ARP:

ARP数据报传送格式

在ARP请求数据报中,发送端IP为192.168.0.55,接收端也就是目的IP为192.168.0.2;

在ARP应答数据报中,发送端IP为192.168.0.2,接收端为192.168.0.55;


    从上面对ARP请求数据报和ARP应答数据报的分析中可以看出,两个主机都作为目的主机和源主机,当一个源主机要给目的主机发送数据但不知道其MAC地址时,就可以使用ARP请求数据报在局域网内请求目的主句的MAC地址,而当目的主机在收到ARP请求数据报发现其请求的IP地址和自身相符的时候,就会做出ARP应答并将自己的MAC地址填充其中,这样源主机接收ARP应答数据报之后提取目的主机的MAC地址就能够实现发送数据了。



《完》

推荐阅读:
  1. ARP地址解析协议<四>——ARP地址规格参数和通用地址及报文格式
  2. arp欺骗

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

局域网 ip地址 数据包

上一篇:OC类的继承以及类的循环调用

下一篇:【监控】Grafana面板修改记录

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》