ARP协议

1. 概念

我们知道,以太网设备比如网卡都有自己唯一的MAC地址,它们是以MAC地址传输以太网数据包的,但是它们却识别不了IP包中的IP地址,所以我们在以太网中进行IP通信的时候就需要一个协议来建立IP地址与MAC地址的对应关系,以使数据包能发到一个确定的地方去,这就是ARP(地址解析协议)

ARP协议建立了主机 IP地址 和 MAC地址 的映射关系。

在网络通讯时,源主机的应用程序知道目的主机的IP地址和端口号,却不知道目的主机的硬件地址;数据包首先是被网卡接收到再去处理上层协议的,如果接收到的数据包的硬件地址与本机不符,则直接丢弃。因此在通讯前必须获得目的主机的硬件地址

2. ARP数据报格式

ARP数据报的格式如下:
在这里插入图片描述

分析:

  1. 源MAC地址,目的MAC地址在以太网首部和ARP请求中各出现一次。(对于链路层为以太网的情况是多余的,但如果链路层是其它类型的网络则有可能是必要的)
  2. 硬件类型指链路层网络类型,1为以太网
  3. 协议类型指要转换的地址类型,0x0800为IP地址
  4. 硬件地址长度对于以太网地址为6字节;
  5. 协议地址长度对于和IP地址为4字节;
  6. op字段为1表示ARP请求,op字段为2表示ARP应答

过程:

  1. 源主机发出ARP请求,询问”IP地址是192.168.0.1的主机的硬件地址是多少”;将这个请求广播到本地网段(以太网首部的硬件地址填FF:FF:FF:FF:FF:FF,表示广播);
  2. 目的主机接受到广播的ARP请求,发现其中的IP地址与本机相同,则发送一个ARP应答数据包给源主机,将自己的硬件地址填写在应答包中。
  3. 每台主机都维护一个ARP缓存表,可以用arp -a命令查看(下文会介绍)。缓存表中的表项有过期时间(一般为20分钟),如果20分钟内没有再次使用某个表项,则该表项失效,下次还要发ARP请求来获得目的主机的硬件地址。

3. 举例

3.1 请求

在这里插入图片描述
注意上图中,
以太网首部:目的主机采用广播地址,源主机的MAC地址是00:05:5d:61:58:a8,上层协议类型0x0806表示ARP。
由于以太网规定最小数据长度为46字节,ARP帧长度只有28字节,因此有18字节填充位,填充位 的内容没有定义,与具体实现相关。

3.2 应答

在这里插入图片描述

4. arp命令

arp命令用于操作主机的arp缓冲区,它可以显示arp缓冲区的所有条目,删除指定的条目或者添加静态ip地址与MAC地址对应的关系 。
参数介绍:
1、arp -v:详细模式
在这里插入图片描述

2、arp -n:显示数字地址
在这里插入图片描述

3、arp -a:查看主机的IP和MAC对应关系,默认显示全部
在这里插入图片描述

4、arp -d:删除指定主机的IP和MAC对应关系
5、arp -i:只显示指定网卡的IP和MAC对应关系
在这里插入图片描述

注:地址解析协议是根据IP地址获取物理地址的协议,而反向地址转换协议(RARP)是局域网的物理机器从网关服务器的ARP表或者缓存上根据MAC地址请求IP地址的协议,其功能与地址解析协议相反。与ARP相比,RARP的工作流程也相反。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值