【计算机网络】ARP协议

 🔥博客主页: 我要成为C++领域大神

🎥系列专栏【C++核心编程】 【计算机网络】 【Linux编程】 【操作系统】

❤️感谢大家点赞👍收藏⭐评论✍️

本博客致力于分享知识,欢迎大家共同学习和交流。

什么是ARP协议

ARP协议:地址解析协议(address revolution protocol),是根据IP地址获取物理地址的一个TCP/IP协议。

ARP报文由:ARP报头 和 源MAC源IP,目的MAC和目的IP组成。

ARP协议是网络层和数据链路层之间的协议,所以ARP报头里的上层协议类型就是IP协议。

通过向目的IP发送ARP请求,此时的ARP报文中源MAC源IP,目的IP是已知的,目的MAC未知填0。ARP请求包通过“广播”的形式发送,交换机或WIFI设备收到广播包时将数据发送给同一局域网的其它主机。每个主机根据目的IP判断请求包是否为发送给自己的,若是,则会返回一个ARP响应包,ARP响应包中包含自己的MAC地址。
这样源主机在收到响应包时,就知道了目的主机的MAC地址。

上图是ARP协议实现的原理图,以广播形式发给局域网内其它主机,根据目的IP是否相同来返回ARP响应包

ARP请求包发送的形式是广播,ARP响应包发送的形式是单播,因为ARP报文中没有未知的部分了。

ARP代理

ARP协议中要查询的目的MAC与我们的主机PC都是在同一局域网内的,通过广播即可获得。但是若目的主机与主机PC不在同一局域网内呢?
因此就有了ARP代理。当我们的源主机广播发送ARP请求包时,本地网络不会有主机回应,因为目的机不在同一局域网内。那么此时路由器会被源主机误认为是目的端,会将报文全部转发给路由器,再由路由器转发报文到局域网外,这个路由器就被称为ARP代理。

免费ARP

Gratuitous ARP,也称为“无故ARP”,在没有人问自己的情况下,无缘无故自问自答
免费ARP中的ARP报文里的源IP和目的IP均为自己的IP,这个报文叫做ARP报文。该报文是不希望收到响应的,若收到响应,说明网络上有人使用相同的IP,这会造成IP冲突。
免费ARP是一个广播ARP请求报文。
免费ARP还会告诉广播域内的所有主机,发送报文的主机的IP和MAC地址,即IP-MAC对,保存在其它主机的缓存区中,若已存在IP-MAC对,则会进行更新。告诉网内所有主机自己的IP--MAC对应关系,让网内主机定期收到这个免费ARP请求,进而重置ARP老化时间等

### ARP协议计算机网络中的工作原理 ARP(Address Resolution Protocol,地址解析协议)用于将IP地址映射到对应的硬件地址(通常是MAC地址)。当一台主机想要向同一局域网内的另一台主机发送数据时,需要知道对方的MAC地址才能完成这一操作。 #### 发起ARP请求 假设源主机A要与目的主机B在同一子网内通信。此时,A已经知道了B的IP地址,但是不知道其MAC地址。为了获取这个信息,A会广播一个ARP请求报文给整个本地网络上的所有设备[^2]。该请求包含了如下字段: - **目标硬件类型**:指明所使用的物理层技术(如以太网) - **协议类型**:表示高层协议(通常为IPv4) - **硬件地址长度** - **协议地址长度** - **操作码**:表明这是一个查询请求 - **发送方硬件地址**:即发起者的MAC地址 - **发送方协议地址**:即发起者的IP地址 - **目标硬件地址**:未知,因此留为空白 - **目标协议地址**:即接收者的IP地址 ```plaintext +-------------------+ | Hardware Type | +-------------------+ | Proto Type | +--+ | Opcode | +-----------------------+ | Sender HW Address | +-----------------------+ |Sender Protocol Address| +--+ |Target Protocol Address| +-----------------------+ ``` #### 接收并回应ARP回复 一旦某台机器收到此广播消息并且发现自己正是被询问的对象,则它将以单播形式返回一条ARP应答报文给提问者A。这条应答中携带了自己的MAC地址作为答案[^1]。 #### 更新ARP高速缓存表 无论是发出还是接收到有效的ARP响应之后,双方都会更新各自的ARP缓存表来存储新发现的信息关联对。这使得在未来一段时间里再次尝试联系相同的目标时不需重复执行上述查找过程,提高了效率[^4]。 #### 安全隐患及防护措施 然而值得注意的是,在实际应用环境中存在利用ARP机制实施恶意行为的可能性,比如通过构造虚假的消息来进行中间人攻击或流量劫持等活动。为此采取适当的安全策略非常重要,例如设置静态ARP条目、部署专门监控软件以及采用VLAN划分等方式增强网络安全保护力度[^5]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值