IP地址和MAC地址的联系
前文《MAC地址与IP地址的区别》中,我们已经很明确的讲解了两者间的不同,那经常一起出现的它们,又有着什么相同点呢?
首先我们得解释一下几个比较模糊的概念:1.“MAC地址表储存IP地址”,MAC地址表是二层设备中存储“MAC地址”和“转发端口”映射关系的表,并不直接存储IP地址。
2.“路由器根据MAC地址来选择路由进行数据发送”,对于三层设备的三层端口来说,通常是基于报文目的IP地址,对照自身的路由表来选择转发路径,只有二层设备基于“MAC地址”进行数据帧的转发。
3.“IP地址和MAC地址的关系很明确”:虽然主机都配置了IP,但是如果要通信的主机不在一个网络内,这时IP地址才真正发挥它的作用。
IP数据包在三层网络中的寻址通过路由器和各种路由协议来完成,在这个过程中,IP地址和MAC地址又有什么关系呢? 数据想要从PC0到PC1,实际上经历了两个过程,先从主机到路由器的F0/0,再从F1/0口到PC1,单独看每个过程,由于在同一个网段内,所以就和上一种情况是一致的,唯一不同的是此时我们必须配置网关。
数据想从PC0到路由器,必须经历从IP地址到MAC地址的转换过程,而这个网关的MAC恰好就是F0/0口的MAC,再看交换机1的MAC地址表:恰好也有对应的端口,此时交换机就知道要把数据从F0/24发送出去,到这里起作用的还是MAC地址,那IP地址到底到哪才发挥真正的作用呢?
我们继续往下看,现在查看路由器的路由表:路由器收到数据包后会查看数据包的目的IP字段,我们是发送到192.168.1.1这台主机,看路由表发现正好有这个条目,到192.168.1.0/24要从F1/0这个端口发送出去。
也就是说,虽然数据包发送时包含了完整的TCP/IP四层信息,但是IP地址只在网络间寻址才起作用,在同一个网络内,IP地址在发送端被转化为MAC地址进行寻址,而这种转化和交换的对应关系,依赖于ARP协议和MAC地址表。
对于上面的例子来说,在PC0到路由器的F0/0之间的网络和F1/0到PC1之间网络,都是MAC地址负责寻址,IP地址只在负责连接两个不同网段的路由器上才发挥指导作用。