ARP协议

文|Seraph

ARP(Address Resolution Protocol),地址解析协议,根据IP地址获取物理地址的一个TCP/IP协议。

1. 为什么需要ARP协议

在局域网内,网络中实际传输的是“帧”,数据的传输所依懒的是MAC地址而非IP地址,一个主机和另一个主机进行直接通信,必须要知道目标主机的MAC地址。而ARP协议的工作即是将已知的IP地址转换为MAC地址。

2. ARP机制

主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;
收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。

3. ARP协议过程解析
  • 查看ARP缓冲表
    每台安装TCP/IP协议的电脑里,都有一个ARP缓冲表,表里的IP地址与MAC地址是一一对应的。
    可使用arp -a命令查看当前缓冲表
    arp -a命令

  • 假设主机A要和主机B通信
    主机A先从自己的ARP缓冲表中寻找是否有主机B的IP地址,如果有也就知道了对方的MAC地址,也就可以直接通信了。
    但如果未找到,主机A会在局域网内发送一个广播,目标MAC地址为“FF:FF:FF:FF:FF:FF",目标IP地址为主机B的IP地址,只有主机B会回应此广播。
    当主机A接收到主机B回应后,会更新自己的ARP缓存表。

  • ARP缓存表
    dynamic记录表示动态产生,static表示静态产生。
    ARP缓冲表具有老化机制,一段时间某行没有使用,则会被删除,可以减少ARP缓冲表的长度,加快查询速度。
    arp -s 与netsh命令都可实现IP/MAC绑定(即写ARP缓存表)
    通常,arp -s 用于较简单情况下,netsh用于更为复杂的环境,功能更为强大;
    二者明显的区别在于:
    arp -s只能实现临时性IP/MAC绑定,重启系统后,绑定失效;
    netsh则可实现永久性IP/MAC绑定,重启系统后任有效,并且可以指定网络接口。

4. 反向地址转换协议(RARP:Reverse Address Resolution Protocol)

反向地址转换协议(RARP)允许局域网的物理机器从网关服务器的 ARP 表或者缓存上请求其 IP 地址。不是所有主机都会响应RARP协议,需要安装RARP服务器才能响应。
RARP应用会比较少,网络上的无盘工作站就是一个应用,设备不知道它自己的IP地址,但是知道自己的物理地址。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值