ARP协议 适用于链路层的协议
ARP(Address Resolution Protocal)协议 适用于链路层的协议,功能是将唯一的目的IP地址转换为唯一的MAC地址。
ARP的作用有点像DNS,DNS是通过域名找到对应的IP地址,
实例分析ARP过程:
ARP的使用要分两种情况:
1) 与子网内机器通信,如
Client A要发送IP数据报道Client C,他们都在222.222.222.0/24这个子网内,现在的链路层接口卡内部都有一个缓存设备,可以保存一定条数的IP与MAC地址的映射,设备A可能有如下表,缓存表中的每一条记录都有失效时间的,一般为20min.
222.222.222.3 | 14-e6-e4-91-99-a2 | 10:20:10 |
现在Client A 想向Client C发送数据包(Client C的IP地址已经通过DNS获取到了),首先查看缓存表,如果存在,直接将发送帧中都MAC地址设置为记录内容,并发送出去就可以了,如果不存在,就需要通过ARP查询包来获取Client C的MAC地址,首先将链路层帧的MAC地址设置为ff-ff-ff-ff-ff-ff(广播MAC地址),IP地址设置为Client C的IP即可,这样子网内的所有机器都会接受到此ARP查询包,然后获取到其中包含的目的IP地址与自己的匹配,如果相同则向Client A发送ARP响应包,并将其MAC地址更改为自己MAC地址。当Client A接受到Client C的ARP响应包,则知道Client C的MAC地址,将要发送IP数据包封装到帧中,设置MAC地址完成发送到网络中即可。
2) 与外网机器通信, 如
Client A 要想 Client B发送IP数据报,A 与 B在不同的子网内,ARP协议只在子网内有效,跨网络使用会返回错误的。要想发送到B主机,需要先将封装有IP数据报的帧的MAC地址设置为A所在子网的路由的MAC,目的IP设置为B的IP即可,当R接受到此帧后,然后查询本地缓存表,拿到B的MAC地址,修改帧,重新发送到B所在子网即可。
- 09-24什么是ARP地址?什么是ARP攻击?如何利用ARP命令解决网络故障
- 09-24100 个网络基础知识普及,看完成半个网络高手
- 09-24IP地址分配与中继设备
- 09-24不同网段的弱电系统设备之间如何互访?
- 09-24这些APP已经支持IPv6服务,IPv6如何逐步取代IPv4
- 09-24微服务入门:Openresty实现API网关
- 09-24核心交换机的链路聚合、冗余、堆叠、热备份
- 07-30IPv6优于IPv4的十大功能
- 01-11全球最受赞誉公司揭晓:苹果连续九年第一
- 12-09罗伯特·莫里斯:让黑客真正变黑
- 12-09谁闯入了中国网络?揭秘美国绝密黑客小组TA
- 12-09警示:iOS6 惊现“闪退”BUG
- 12-05亚马逊推出新一代基础模型 任意模态生成大模
- 12-05OpenAI拓展欧洲业务 将在苏黎世设立办公室
- 12-05微软质疑美国联邦贸易委员会泄露信息 督促其
- 12-05联交所取消宝宝树上市地位 宝宝树:不会对公
- 12-04企业微信致歉:文档打开异常已完成修复