ip地址和mac地址的联系以及区别
先了解一个概念:
计算机之间的数据传输是通过 MAC 地址来唯一寻找、传输的。
再搞懂一个问题:
那么为什么输入网址的时候输入的是ip地址而不直接输入mac地址来进行交互?( 有了mac地址为什么还要有ip地址?)
最后弄清楚两个协议:
DNS服务器以及ARP协议
一个问题:
mac地址就像身份证号唯一标识你这个人,但是想去你家找到你这个人,还得先知道你住的小区地址再在楼下喊你吧,总不能在整个市区直接喊吧,而这个小区地址就是通过ip地址找到的。
可以把一个市区想象成由许许多多个小区构成。实际上,我们所处的网络就是由许多个子网络构成的,而广播的时候,也只有同一个子网里面的计算机能够收到。 正如我在这个小区里面喊,也只有这个小区里面的人能听到一样。通过子网的划分就能避免我要传输的数据直接广播到世界上的每一台计算机,导致崩溃。这也就解释了为什么不直接用mac地址来进行交互。
通过判断目标ip地址和本机ip地址是否在同一子网(通过子网掩码来判断),如果在同一子网则直接广播发送(已经到了小区楼下,直接喊),如果不在则通过网关转发到对应的子网(找到对应小区再喊)
两个协议:DNS服务器以及ARP协议
-
DNS服务器:解析域名(像baidu.com)为对应的ip地址
-
ARP协议:通过ip地址找到对应的mac地址进行数据传输
最后说说区别:
- 寻址协议层不同 :ip地址位于网络层,而mac地址位于数据链路层。
- 长度不同:IP地址32位,mac地址48位
- IP地址是逻辑地址,可以改动。而mac地址是物理地址,跟网卡相互绑定,一般不能改动。
- IP地址根据网络拓扑分配,而mac地址基于制造商分配。