首先,每一台通信主机一定要有一个标识符用来唯一标识这台设备(下面把“标识符”称为“地址”)。那么每一个中间设备,一定要有一个转发表,用于查找数据该转发给哪一台设备。虽然设备的“地址”是全球唯一,但是你并不知道它所在的具体位置,那么转发表里找不到目的主机“地址”的转发表项时(这个表一定不可能包含全球所有“地址”的转发表项:因为占存储、搜索慢),就只能泛洪查找这台主机的位置,不仅导致占用大量网络带宽资源,甚至会出现二层中常见的环路等问题,最终整个互联网都会瘫痪。
那么怎么解决转发问题呢?在每一台设备拥有一个全球唯一的标识符(MAC地址)的情况下,将整个互联网划分为若干个网络,给用于连接这些网络的每一台主机分配一个全球唯一的标识符(IP地址),标识符(IP地址)前几位用于锁定目的主机所在网络,后几位用于确定目的主机是网络中具体的哪一台设备,也就是伟大的IP编址技术。而由于IP地址的个数有限,所以有私网地址的概念以及NAT技术。正因为不同网络的不同主机可以使用相同的私网IP地址,所以IP地址无法唯一标识一台设备,这个时候就得靠MAC地址啦。
总结一下:IP&MAC地址相辅相成,IP地址用于解决路由转发问题,MAC地址用于唯一标识一台设备。