同等问题:为什么有了MAC地址,还需要IP地址?
首先,我们先来看IP地址和MAC地址。
IP地址:
是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,是因特网上唯一标明主机的地址。可以是动态的,好比是你住址的门牌号。
MAC地址:
是在数据链路层上标志每一个主机或者设备的独立标识符。在局域网中,称为硬件地址或者物理地址。是每个适配器(网卡)都有的一个全球唯一的48位二进制地址,是一出厂就可以确定一个MAC地址。好比一个人的身份证号码。(MAC地址是以太网卡的物理标识。)
角度1:只有IP,没有MAC。网卡的实现上极其困难。
如果没有MAC地址,网卡就需要解读网络层协议头的地址信息,而每一种网络层的地址又都差不多,这增加了以太网卡的实现复杂度。而网卡有了MAC地址,就可以不依赖于任何网络层协议,可以独立判断一个以太帧是否接收(依据MAC地址匹配),这样大大简化了网卡的实现。即使有更多的网络层协议,网卡也无需太多改变。思想:分层,内部实现无需知晓上层或下层协议字段。
角度2:只有MAC,没有IP。网卡的实现上极其困难。
如果只使用MAC地址的话,路由器就需要记住每个MAC地址所在的子网是哪一个,而世界上有2的48次方个MAC地址,这就意味着即使我们给每个 MAC 地址只留 1 字节的储存空间,每个路由器也需要 256 TB 的内存!这显然是不可能实现的。
角度3:只有IP,没有MAC。IP地址的局限。
IP地址是要设备上线以后,才能根据他进入了哪个子网来分配的,在设备还没有IP地址的时候(或者分配IP地址的过程中),还需要用MAC地址来区分不同的设备,并根据MAC地址通信。
【类比形象理解】:
IP地址好比住址的门牌号,住在不同的地方就有不同的门牌号,邮局送信的时候回根据这个门牌号找到你的位置。
MAC地址好比身份证号码,一出生就有的且不会发生改变。但是知道身份证号码是无法找到你的,身份证号码和地理位置无关。
参考文章
1、https://www.zhihu.com/questio... 你好啊世界
2、https://www.zhihu.com/questio... 车小胖
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。