交换机开发(四)—— ARP 基础知识解析

一、ARP协议简介 

     Internet是由各种各样的物理网络通过使用诸如路由器之类的设备连接在一起组成的。当主机发送一个数据包到另一台主机的过程中 可能要经过多种不同的物理网络。主机和路由器都是在网络层通过IP地址来识别的,这个地址是在全世界内唯一的。 然而,数据包是通过物理网络传递的。在物理网络中,主机和路由器通过其MAC地址来识别的,其范围限于本地网络中。 MAC地址和IP地址是两种不同的标识符。这就意味着将一个分组传递到一个主机或路由器需要进行两级寻址:IP和MAC。需要能将一个IP地址映射到相应的MAC地址

     ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。 所谓“地址解析”就是主机在发送帧前将目标网络层地址转换成目标物理地址的过程。在使用TCP/IP协议的以太网中,即完成将IP地址映射到MAC地址的过程——使用ARP协议通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。


二、ARP报文格式

     从网络底层看来,一个ARP包是分为两个部分的,前面一个是物理帧头,后面一个才是ARP帧

  首先,物理帧头,它将存在于任何一个协议数据包的前面,我们称之为DLC Header,因为这个帧头是在数据链路层构造的,并且其主要内容为收发双方的物理地址,以便硬件设备识别。

DLC Header
字段
长度(Byte)
默认值
备注
接收方MAC
6
 
广播时,为 ff-ff-ff-ff-ff-ff
发送方MAC
6
 
 
Ethertype
2
0x0806
0x0806是ARP帧的类型值

                                                图1 物理帧头格式

     图1是需要我们填充的物理帧头的格式,我们可以看到需要我们填充的仅仅是发送端和接收端的物理地址罢了,是不是很简单呢?

    接下来我们看一下ARP帧的格式

                                                                  ARP Frame
字段
长度(Byte)
默认值
备注
硬件类型
2
0x1
以太网类型值
上层协议类型
2
0x0800
上层协议为IP协议
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值