学习:ARP协议/数据包分析
ARP (Address Resolution Protocol)即 地址解析协议 , 用于实现从 IP地址 到 MAC地址 的映射,即实现通过 目标IP 找到对应的 MAC地址 。 在网络通信中, 主机和主机通信 的数据包需要 依据OSI模型从上到下进行数据封装 ,当数据封装完整后,再向外发出。所以在局域网的通信中,不仅需要 源目IP地址的封装 ,也需要 源/目MAC的封装 。 上层应用程序更多关心IP地址而不关心MAC地址,所以需要通过 ARP协议来获知目的主机的MAC地址 ,完成 数据封装 。 问题:内网中当 主机A 发送消息给 主机B 之间的通信是怎么样的? ARP请求过程: 1、主机A先在ARP缓存表中查找主机B的MAC地址 2、如果在A的ARP缓存表中找到了,那么就继续数据封装通信。如果没有找到主机A会先发送ARP的广播包(里面包括了A的IP地址和MAC地址、主机B的IP地址) 3、既然是广播帧那么内网中的所有存活主机都会收到该ARP的广播包 4、存活主机会进行检查自身IP地址是否与广播包中的目的IP地址一致,如果不一致的话进行丢弃。如果一致那么就会将主机A的IP和MAC地址添加到自己的ARP缓存表里面,然后再将自己的MAC地址和ARP响应包通过单播方式发送给主机A 5、然后主机A就可以给主机B发送消息 ARP数据包分析: win10: 192.168.1.104