关于mac地址和ip地址,很多人包括本人在内都曾有过一个问题:
既然公认mac地址具有唯一性,那为什么协议中还要加上ip地址呢,不是直接可以通过唯一的mac地址找到某台设备吗?
本人是这样理解的:
举一个简单的例子:
假设有一个外国人A(源地址),想找一个中国人B(目标地址),B的住址可以表述为:中国广东省深圳市南山区南山大道企鹅大楼1000层10号门牌(地址表述的不完美请大家见谅)
如果A在其所在地直接问:“中国广东省深圳市南山区南山大道腾讯大楼1000层10号门牌怎么走?”,我相信当地人没人知道这个具体的地址在哪,
- 一般的步骤是,A现在世界地图上找到去中国的方法,因为中国是全世界几百个国家中的一个,比全世界几十亿人中的一个人B显然更好定位;
- 当A到中国之后,在中国内定位一个广东省显然比在国外去找广东省显然快很多,因为广东省是中国的省份之一,在中国地图上就可以知道怎么去往广东省;
- 当到达广东省后,只需要一个广东省的地图,就能找到南山区,很快,就能找到B(目标地址);
因此,我觉得ip地址和mac地址的关系有点类似如上例子中所表述的关系,在全世界的范围内直接检索一个具体的mac地址,显然既耗时又耗资源,那如果用分治的方法,将一个设备的地址从国家层面,省级层面,市级层面划分,一层一层分步寻址,显然方便很多;
比如在国外的时候,只需要找到几百个国家地址表的中国地址,将数据包转发到中国的数据分发中心,再在几十个省的地址表中找到广东省,如此这般找到具体地址即可,这比维护一个几十亿人的地址表然后寻址更为便捷;
以上是个人的一些浅薄见解,仅做抛砖引玉之用