IP地址和MAC地址

Posted Kevin张俊杰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IP地址和MAC地址相关的知识,希望对你有一定的参考价值。

IP和MAC的关系

  • IP:用于网络寻址,它的作用空间是整个地球的网络

  • MAC:用于链路层寻址,它的作用空间是局域网

  • IP为逻辑地址,它不是一成不变的

  • MAC是物理地址,网卡以及路由器的物理地址都是在出厂时固定的,而且全世界的每一个设备的MAC地址都是不重复的,唯一的

  • IP作用于全球,而MAC只作用在局域网

  • 一个设备它有网络层,它就有IP,它有链路层,它就有MAC,因此网卡和路由器,既有IP又有MAC

IP和MAC的区别

一、地址长度的不同

1、MAC地址的长度为48位(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如:00:50:29:5A:8H:1E就是一个MAC地址。

2、IP地址为32位,由用点分隔开的4个8八位组构成,如192.168.0.1就是一个IP地址,这种写法叫点分十进制格式。

二、所在寻址协议层上的区别

1、MAC地址应用在OSI第二层,即数据链路层。数据链路层协议可以使数据从一个节点传递到相同链路的另一个节点上(通过MAC地址)。

2、IP地址应用于OSI第三层,即网络层。网络层协议使数据可以从一个网络传递到另一个网络上(ARP根据目的IP地址,找到中间节点的MAC地址,通过中间节点传送,从而最终到达目的网络)。

三、 分配依据不同。

1、MAC地址的分配是基于制造商。
MAC地址由网络设备制造商生产时写在硬件内部。这个地址与网络无关,也即无论将带有这个地址的硬件(如集线器、网卡、路由器等)接入到网络的何处,它都有相同的MAC地址,是不可变的。

2、IP地址的分配是基于网络拓朴。
IP地址由网络地址和主机地址两部分组成,分配给这两部分的位数随地址类(A类、B类、C类等)的不同而不同。

IP和MAC的使用场景

  • 网卡:位于链路层,主要功能是将用户主机的网络层传过来的数据报加上头,转换为帧,然后发送给交换机。

  • 交换机:实现不同终端的信息交互。

  • modem:也就是我们俗称的猫,把我们的信号转换成能够在物理层发送的信号。这里把帧转换为比特,在网线中发送。

  • 路由器:WiFi是路由器的一种,所以有的叫做WiFi路由器。路由器有很多端口,它可以将某个端口发来的比特,按照其携带的IP信息,把它转换到其他端口发出,也就相当于十字路口,它帮我们的比特选了个去终点更好的路径。

现在假设我们已知网址的IP,我们要把数据发给web服务器,如上图所示:

1)主机网络层:它封装了IP地址,同时它也指导网关路由器的IP(连接到网络的第一个路由器),但是链路层不知道网关路由器的MAC地址,因此网络层创建ARP请求报文,经过网卡,用交换机进行广播,然后收到路由器返回的MAC地址,将其交给链路层。

2)链路层有了网关路由器的MAC,就可以把数据通过交换机(链路层)交给网关路由器。

3)网关路由器根据目的地址(web服务器的IP),在自己的路由表内查找,并根据网络性能,选择较好的节点,转发数据给下一个路由器(这里需要注意,当前路由器是不知道下一个路由器的IP和Mac的,因此它只是把数据转发到可以到目地地的IP网段)。

4)数据经过多个路由器到达web服务器的网关路由器,然后现在网关路由器只知道web服务器的IP地址,不知道它的MAC。

5)网关路由器的网络层创建ARP报文,广播到局域网中。web服务器的网络层接到ARP报文后返回一个ARP响应报文,告诉网关路由,自己的MAC地址。

6)网关路由器知道web服务器的MAC地址后,开始将数据发送给web服务器,web服务器成功接到数据。

这样我们就能非常清晰地理解MAC地址和IP的关系了。

以上是关于IP地址和MAC地址的主要内容,如果未能解决你的问题,请参考以下文章

Golang 绑定mac和ip地址,限制服务器

android设备 如何通过mac地址知道ip地址

怎么绑定IP和MAC地址

有了IP地址,为啥还要用MAC地址?

如何批量绑定MAC与IP地址

MAC地址和IP地址的关系