ARP原理


              ARP原理


1、什么是ARP协议 


ARP协议是“Address ResolutionProtocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。


2、ARP协议的工作原理 


2.1 同网段通信


在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的,如附表所示。 
附表 :
    ip地址        mac地址 
192.168.1.1     00-aa-00-62-c6-09 
192.168.1.2     00-aa-00-62-c5-03 
192.168.1.3     03-aa-01-75-c3-06 
……          …… 
我们以主机A(192.168.1.5)向主机B(192.168.1.1)发送数据为例。当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到相对应的IP地址,主机A就会在网络上发送一个广播,目标MAC地址是“FF.FF.FF.FF.FF.FF”,这表示向同一网段内的所有主机发出这样的询问:“192.168.1.1的MAC地址是什么?”网络上其他主机接收到这个ARP询问后并不响应,只有IP地址为192.168.1.1的主机B接收到这个帧时,才向主机A做出这样的回应:“192.168.1.1的MAC地址是00-aa-00-62-c6-09”。这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。同时它还更新了自己的ARP缓存表,下次再向主机B发送信息时,直接从ARP缓存表里查找就可以了。ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。 


2.2 跨网段通信


PC1(192.168.1.1)ping PC2(192.168.2.1)的过程如下:
1、首先PC1观察目的IP:192.168.2.1与本机IP:192.168.1.1是否在同一个网段;
2、发现不在,因此看本机是否设置了网关,如果没有设置网关,PC1直接将ICMP包丢弃,显示目的不可达;发现设置了网关192.168.1.254,于是执行步骤3;
3、因为不知道网关的MAC地址,因此发送一个ARP包,获取网关MAC地址:源IP为PC1IP:192.168.1.1,目的IP为网关IP:192.168.1.254,源MAC为:XXXXXXX,
目的MAC为广播MAC:ff-ff-ff-ff-ff-ff;
4、网关回应ARP包:源IP、目的IP、源MAC、目的MAC;
5、PC1得到网关MAC,接着发送ICMP包:源MAC、目的MAC(网关)、源IP、目的IP(192.168.2.1);
6、路由器收到ICMP包,拆包,插IP-端口对照表,发现IP为192.168.2.0网段的数据,通过E2(路由端口)口发出,于是转发包给端口E2;
7、路由器获取目标PC2的MAC,发送一个ARP包:源ip(192.168.2.254),目的IP(2.1),源MAC(路由MAC),目的MAC(ff-ff-ff-ff-ff-ff)
8、PC2应答,路由获得目标MAC
9、路由发送ICMP:源ip(1.1)、源MAC、目的IP(2.1)、目的MAC
10、PC2回应ICMP:源IP(2.1)、源MAC、目的IP(1.1)、目的MAC
11、路由器转发ICMP:源IP(2.1)、源MAC、目的IP(1.1)、目的MAC
12、PC1收到回应,完成一次PING命令




3、如何查看ARP缓存表 


ARP缓存表是可以查看的,也可以添加和修改。
在命令提示符下,输入“arp -a”就可以查看ARP缓存表中的内容了;用“arp -d”命令可以删除ARP表中某一行的内容;用“arp -s”可以手动在ARP表中指定IP地址
与MAC地址的对应。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值