TCP/IP—-ARP协议

一,ARP(address resolution protocol)工作原理

  1. 当主机A需要与主机B通信时,主机A会先检查其本地ARP缓存,查看是否已经保存了与主机B相关的ARP条目。

  2. 如果ARP缓存中没有对应的条目,则主机A会向本地网络发送一个广播ARP请求,请求中包含目标IP地址。

  3. 其他网络中的主机都能收到这个广播请求,但只有与目标IP地址匹配的主机会回复ARP响应。

  4. 主机B收到ARP请求后,会向主机A发送一个ARP响应,包含主机B的MAC地址。该响应只会发送给主机A,而不是广播给整个网络。

  5. 主机A收到主机B的ARP响应后,将主机B的MAC地址与IP地址进行映射,并将此映射关系添加到其本地的ARP缓存中。

  6. 下次主机A需要与主机B通信时,就可以直接使用主机B的MAC地址了,而不需要再进行ARP广播请求。

通过ARP的工作,主机可以通过IP地址找到对应的MAC地址,从而实现数据包在本地网络的传递。

但是在这里大家又要注意 ARP协议只在以太网中使用,点到点的ppp协议以及hdcl由于不需要Mac地址,所以也不需要Mac地址解析

请看VCR!

ARP 的工作过程如VCR 所示, 计算机 1发送 ARP 请求报文, 请求解析 192.168.1.20 的目标 MAC 地址, 因为计算机 1不知道 192.168.1.20 的目标 MAC 地址, 所以该请求将标 MAC 地址 写成广播地址, 即 FF-FF-FF-FF-FF-FF, 交換机收到后会将该请求转发到全部端口。

当所有主机都收到了ARP request之后,会检查他的目的端口IP地址与自身的IP地址,如果不符则立即丢弃,如果匹配则会将发送端的Mac地址和IP地址记录,并通过arp reply响应回复,此时主机3会发送目标地址是192.168.1.10的Mac地址

同一网段通信以及跨网段通信

首先在这张拓扑图里面存在192.168.0.0 /24 以及 192.168.1.0 /24 两段IP地址,中间有点到点的ppp线路

pc 1想要访问不同网段的pc3 首先发送如下内容的报文

源IP源Mac目标IP目标Mac
192.168.0.1假装有192.168.1.3

首先会发送指向目标IP的arp request 这里的目标Mac地址为空等待着回复

首先arp request会从G0/0/0端口出去,源IP地址已经Mac地址均会被路由器封装G0/0/0,目标IP不变,当进入G0/0/3时IP不变,到G0/0/1的AR2时AR2会把arp request中的源IP Mac封装成自己的 目标Mac不变 最终在这个过程中我们会发现,数据包的目标Mac地址指向最终将要解析的终端,而源目标Mac则是下一跳(善意的谎言) 

windows中的静态ARP

在win系统中我们可以再系统命令中通过arp -a 查看我们电脑中的Mac地址跟IP地址的映射,也可以使用命令添加 IP 地址和 MAC 地址静态映射到 ARP 级存。在 Windows 10中, 单击"开 始 " Windows 系统", 右键单击 "命令提示符", 单击 "更多" 一 "以管理员身份运行"。打开 命令提示符后。 输入 interface MOUS tAdr interface 查看接口以太网接口编号

实际上动态的arp是会老化的,如果你常常需要访问一个网站,或者连接一台终端,为了保证数据安全性。不妨建立一个静态arp缓存,可以用来防止arp欺骗,这样就可以不用到arp

ARP代理

ARP代理是一种网络设备(通常是路由器或交换机)提供的功能,用于在不同网络之间转发ARP请求和响应。其基本原理如下:

  1. 当主机A需要与主机B通信,而主机A和主机B位于不同的网络中时,主机A会发送一个ARP请求,以获取主机B的MAC地址。

  2. 当ARP请求到达ARP代理设备时,代理设备会检查自己的ARP缓存表,查看是否已经保存了与目标主机B相关的ARP条目。

  3. 如果ARP缓存中有与主机B相关的条目,则ARP代理设备会直接将主机B的MAC地址返回给主机A,主机A就可以直接与主机B通信。

  4. 如果ARP缓存中没有与主机B相关的条目,则ARP代理设备会将ARP请求广播到目标网络中,以获取主机B的MAC地址。

  5. 目标网络中的主机B收到ARP请求后,会向ARP代理设备发送一个ARP响应,包含主机B的MAC地址。

  6. ARP代理设备收到主机B的ARP响应后,会将主机B的MAC地址返回给主机A,并将该映射关系添加到自己的ARP缓存表中。

  7. 当主机A再次需要与主机B通信时,ARP代理设备将直接从自己的ARP缓存表中获取主机B的MAC地址,无需再进行ARP请求和响应的过程。

通过ARP代理的基本原理,网络设备可以在不同网络之间转发ARP请求和响应,从而实现跨网络的通信。

请看VCR!

 如VCR所示,pc1 和 pc2 属于 192.168.1.0/24 网段, 中间使用路由器连接, 但路由器 的两个接口分别属于 192.168.1.0/25 和 192.168.1.128/24 两个网段,   PC1 和 PC2 通信, 就直接发送 ARP 请求 192.168.1.130 的 MAC 地址,在 AR1 的 G /00 接口启用了 ARP 代理, AR1的 G 0/0/0 接口收到 ARP 请求后, 路由器将 G0/010 接口的 MAC 地址发回给 PC1, 相当于 ARP 欺骗。同样, AR1 的 G 0/0/1 接口启用 ARP 代理,PC2 解 析 PC1 的 MAC 地址, 路由器将 G 0/0/1 接口的 MAC 地址发回给 PC2。在接口启用 ARP 代

总结

ARP是一种用于将IP地址解析为相应MAC地址的协议。它在局域网中提供了一种机制,使得主机可以通过IP地址来定位和识别其他主机的MAC地址,以实现数据包的传输。

  1. 当主机A需要和主机B通信时,主机A首先检查自己的ARP缓存表,看是否存有主机B的MAC地址。
  2. 如果主机A的ARP缓存表中没有主机B的MAC地址,主机A会发送一个ARP请求广播到局域网中,请求其他主机响应。
  3. 局域网中的其他主机收到ARP请求后,会检查自己的IP地址是否与请求相符。如果相符,该主机会发送一个ARP响应,包含自己的MAC地址。
  4. 主机A收到主机B的ARP响应后,将主机B的MAC地址存入自己的ARP缓存表中,以便下次直接访问主机B。
  5. 主机A使用主机B的MAC地址进行数据包的传输。

总结起来,ARP协议通过广播ARP请求和响应的方式,实现了将IP地址映射为MAC地址的功能,以便在局域网中实现主机之间的通信。ARP缓存表的使用可以提高通信效率,减少ARP请求的次数。

  • 29
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大懒的猫猫虫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值