这个问题涉及到网络层和数据链路层,主要靠ARP协议来完成。
1.什么是ARP?
ARP协议就是根据IP地址获取mac地址(物理地址)的一个TCP/IP协议。通过广播方式获取mac地址。
2.为什么要获取mac地址呢?
mac地址通常是唯一的(虚拟机除外),每个硬件设备的mac地址在出场时就已经被设置好了,被用来识别数据链路层的相邻的节点。IP地址是逻辑地址,而mac是物理地址,医用ARP协议找到了mac地址就意味着找到了主机。
3.IP和mac的关系:
每一个主机和路由器都有一个ARP高速缓存表,存放IP对应的mac地址
4.ARP的原理
粘一个b站的演示视频:
震惊!竟然有人把ARP协议讲的这么简单易懂!看完不懂算我输!_哔哩哔哩_bilibili
首先我们要明确,主机的ARP表存放了网关的IP和mac地址,并不会直接存放目的端的mac地址
那么该如何进行查找呢:
①mac存放的是数据链路层中两个相邻节点的地址,在传输过程中,坑定不会只有源节点,目的节点两个节点
②当我们要向一个目的端发送信息时,主机就会通过ARP在局域网广播(广