我们前面讲过IP地址,说IP地址能够让我们在网络世界里找到我们的目标主机,但是有了IP地址为什么还要MAC地址呢?IP地址和MAC地址又有什么差别呢?

我认为IP地址和MAC地址可以类比生活中寄快递的过程。

我们知道数据存在封装和解封装的过程,当一个应用层数据经过传输层、网络层、数据链路层、物理层的封装就到达了我们的主机,主机经过解封装又成为了我们可以识别的数据,就像我们生活中寄快递时将物品放进包裹中,包裹经过快递小哥一次次的转接到达我们的手中,而数据在路由器之间的跳转也可以看作是不同地区快递小哥对物流的交接。

mac地址和ip地址表示方法区别(有了IP地址为什么还要有MAC地址)(1)

mac地址和ip地址表示方法区别(有了IP地址为什么还要有MAC地址)(2)

1、什么是IP地址?

 在互联网中,一台主机只有一个IP地址,IP地址用于在TCP/IP通信协议中标记每台计算机的地址,而IP地址其实等价于快递包裹上的收件地址,快递员通过收件人地址将包裹在出发地到目的地之间通过不同地区之间的物流中转最后将包裹送到收件人的手中。

IP地址也是类似的,我们通过IP地址的网络位可以确定某个主机所在网络的位置,从而明确一条数据转发的路径。通过路由器不断寻址找到目的网段。

那么,都找到它在哪了为什么还要MAC地址呢?

MAC地址

MAC地址等价于快递包裹上的收件人,是用来确认对方信息的,就如同快递跨越几个城市来到你面前,快递员需要和你确认以下收件人是否正确,才会把包裹交给你一样。

这个过程可对应网络中同一个交换机或集线器连接的局域网通信,在局域网中通信需要通过MAC地址表记录主机和接口的映射关系来进行通信。

在通信过程中,我们会将数据封装成帧,这时就会插入源mac地址和目的mac地址(如果不知到对方mac地址会发送arp广播报文获取对方mac地址)。以太网帧结构:

mac地址和ip地址表示方法区别(有了IP地址为什么还要有MAC地址)(3)

什么时候用到IP寻址?什么时候用到MAC寻址?

虽然同一网段也会用到ip地址,但是它在局域网中不起作用,因为arp是用于网络中寻址的,而在局域网中我们不需要用到网关进行通信,只需要找到目的MAC即可。

(在arp广播时,作为收到包的主机解包时判定的依据,判定自己是否为目的主机,从而选择是否回应arp应答)。

IP地址的使用条件,是在跨网络的时候,两个网络之间想要进行通信需要通过一个媒介,因为在网络内部的主机定位不到网络外的某个主机,即使他们只隔了一个网段。

而跨网段的媒介就是路由器,只要把ip地址告诉它,他就能找到对方所在的网络。

mac地址和ip地址表示方法区别(有了IP地址为什么还要有MAC地址)(4)

如上图,192.168.1.1和192.168.1.2(掩码均为24位)是同一个网段,也就是说我们在同一个屋子里我只要叫你的名字就可以把东西传递给你,而192.168.2.1 和192.168.1.1(掩码均为24位)并不在同一个网段,它在一个很遥远的地方,我要把我的东西给他必须给他寄快递,而且快递上肯定得指名道姓他是谁!

那么一说,大家理解了吗?为什么有了IP地址还需要MAC地址?那肯定是因为不同场景传递的方式不同,参数也就不同了。

,