关于ARP寻址

网络无需地址依然可以通信,当数据包从PC1的网卡出发之后,并不关心自己去往何方,只会顺着网线的方向向前移动,知道到达下一个设备为止,而网线的作用就是将数据包从一端传输到另一端。集线器工作在物理层,会将数据包复制成n-1(n为端口数量)广播出去,交换机工作在数据链路层,相对于集线器而言,交换机会记录自身端口及广播域内的ARP地址表项(记录MAC地址),而当一个数据包到达网关之后;就需要IP地址起作用了,数据包从网关到达目标地址所在子网的过程叫做路由,路由协议则有动态路由和静态路由。一句话总结,集线器广播,交换机转发,路由器路由,在数据路由过程中,如果没有NAT,那么IP源和目的不改变,MAC地址每经过三层节点都有改变。

 

ARP广播,经过与运算得出是否同网段,同网段则可ping通,不同网段就继续去查找对方的MAC(查找方式通过下一跳网关,或者路由表)

配置说明:

1、两端修改OSPF网络类型:p2p

2、R1、R2配直连ip地址,分别为37.1.1.1/24 、38.1.1.1/24

3、直接接口均宣告到OSPF进程中。

 

现象:

 

 

我在R1上去ping  38.1.1.1,在R2接口抓包,看到了R1的ARP广播报文。

 

 

我的理解:

1、R1 ping R2的38.1.1.1,要封装二层的时候,发现没有38.1.1.1对应的MAC地址,先把目的IP和本出接口IP与运算,发现不同网段,就去找路由表,发现有下一跳,刚好也是38.1.1.1。

2、于是R1就去找下一跳38.1.1.1的MAC地址,也没有MAC地址,就发送了ARP请求广播报文。

3、R2收到后,拆开ARP请求广播报文,里面的目的ip是我自己,就是在找我,但是看到源IP地址跟我不是同一个网段的(与运算),决定不进行ARP响应。(这点,是我在华为ensp模拟器上,没抓到响应报文,故这样理解。)

4、R1 连续发了5个ARP请求报文没收到响应,就没学习到38.1.1.1的MAC地址,于是无法完成二层封装,所以,R1 ping 不通 R2。

 

有网友很聪明,写了静态ARP,于是我试试:

 

[R1]arp static 38.1.1.1 00e0-fcfc-6898

[R1]

 

[R2]arp static  37.1.1.1 00e0-fc75-047c

[R2]

 

 

现在,我们在R1再来ping 一下:

哈哈,一下子就通了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值