网络基础:MAC地址和IP的关系

网络基础:MAC地址和IP的关系
上图是一个非常典型的用户访问网站的寻址过程。
1)首先说一下我们熟知的用户、网卡、交换机(猫),路由器(wifi)
网卡:位于链路层,主要功能是将用户主机的网络层传过来的数据报加上头,转换为帧,然后发送给交换机。
交换机:也就是我们俗称的猫,它可以实现A/D和D/A转换,把我们的信号转换成能够在物理层发送的信号。这里把帧转换为比特,在网线中发送。
路由器:WiFi是路由器的一种,所以有的叫做WiFi路由器。路由器有很多端口,它可以将某个端口发来的比特,按照其携带的IP信息,把它转换到其他端口发出,也就相当于十字路口,它帮我们的比特选了个去终点更好的路径。
2)IP和MAC的关系
IP:用于网络寻址,它的作用空间是整个地球的网络。
MAC:用于链路层寻址,它的作用空间是局域网。
(这里挺有趣的,IP为逻辑地址,它不是一成不变的;MAC是物理地址,网卡以及路由器的物理地址都是在出厂时固定的,而且全世界的每一个设备的MAC地址都是不重复的,唯一的。(国际有标准)。但是你会发现,IP作用于全球,而MAC只作用在局域网。)
一个设备它有网络层,它就有IP;它有链路层,它就有MAC
因此网卡和路由器,既有IP又有MAC。

但是这两个地址怎们用呢?

现在假设我们已知网址的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地址。
5)网关路由器知道web服务器的MAC地址后,开始将数据发送给web服务器,web服务器成功接到数据。

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