mac地址是具体地址吗,mac地址是多少位

  

  本文以两个案例为例,深入讲解我们在网络中经常用到的mac地址表、ARP表、路由表。掌握了这三表,就基本掌握了网络中数据通信的原理,成为网络中的武林高手!   

  

  数据的本质是传输数据。如前所述,数据通信的基础是TCP/IP参考模型。图5示出了PC通过使用TCP/IP参考模型访问WEB服务器的数据通信过程。   

  

     

  

  媒体存取控制   

  

  MAC地址表:简单来说,MAC地址表就是交换机等网络设备记录的MAC地址和端口的映射关系(见下图),代表交换机从哪个端口获知了某个MAC地址。交换机记录这些信息,后续交换机需要转发数据时,可以根据报文的目的MAC地址,按照MAC地址表转发数据。   

  

     

  

  在华为的网络设备上,可以通过dis mac-address .查看本地mac的地址表信息,从下图的显示中,我们可以知道mac地址5489-98b1-79f4是从G0/0/2端口获知的。   

  

     

  

  ARP表   

  

  ARP表:简单来说,ARP表就是路由器等网络设备记录的IP地址和MAC地址对应关系的表项(如下图)。   

  

     

  

  当我们需要转发数据时,除了正常情况下的需要对方的目的IP地址,还需要知道对方的MAC地址,我们会先检查本地ARP表中是否有目的IP对应的MAC地址。   

  

  在华为的网络设备上,可以通过dis arp .查看本地arp表的信息从下图的显示中,我们可以知道mac地址5489-98b1-79f4是对应的IP地址192 . 168 . 1 . 2;   

  

     

  

  路由列表   

  

  路由表:简单来说,路由表是路由器用来指导数据包如何转发的表项,它记录了到达目的IP的下一跳会去哪里(如下图)。   

  

     

  

  路由表的作用类似于我们生活中的地图,指引我们到达一个目的地。   

  

  在华为的网络设备上,可以通过display ip routing-table.查看本地路由表的信息从下图的显示中,我们可以知道到达目的地192.168.2.0/24的下一跳是10 . 1 . 1 . 2;   

  

     

  

  案例PC1和PC2在二层互访的通信过程的详细说明   

  

     

  

  如上图网络拓扑所示,PC1和PC2通过交换机SW1互联,PC1的IP地址为192.168.1.1/24,PC2的IP地址为192.168.1.2/24,因此PC1和PC2之间的通信是简单的二层通信(二层通信不涉及路由表)。下面我们从ARP表和MAC地址表的角度来详细分析一下这个通信。   

  

  下面我们来详细分析下:   

>   

1. PC1要想访问PC2,除了需要知道目的IP 192.168.1.2 以外,还需要知道PC2 的mac地址,因为所有的数据通信都是基于TCP/IP参考模型的,需要对进行数据封装。

  


  

首先PC1会查找自己的ARP表项看是否有目的IP 192.168.1.2 对应的MAC地址,查看发现是空的;

  


  

  


  


  

2、我们知道如果不知道对方的mac地址,PC1会发送ARP广播报文,询问谁知道目的IP 192.168.1.2 对应的MAC地址(如下图所示)。PC2收到ARP广播报文会进行回应,告诉PC1他的MAC地址;

  

  


  

附:

  


  

在PC1发送ARP 广播报文的时候,交换机SW1收到该报文,会在MAC地址表中根据报文的源mac地址记录下PC1 的mac地址和GE0/0/1的映射关系;PC2发送回应报文的时候 交换机SW1也会记录下PC2 的mac地址和GE0/0/2的映射关系(如下图);

  


  

  


  


  

3、可以看到PC1的本地ARP表项中学习到了PC2的mac地址;

  


  

  


  

4、这样PC1就可以根据PC2的MAC地址封装数据发送给交换机SW1,交换机SW1会查找自己的MAC地址表,发现去往PC2的MAC地址的出接口为GE0/0/2,从而PC2就可以收到报文,并进行解封装;

  


  


  

案例二:PC3和PC4三层互访通信过程详解

  

  

如上图的网络拓扑,PC3和PC4通过路由器R1、R2互联,PC3 的IP地址为192.168.1.2/24 网关192.168.1.1 ,PC4 的IP地址为192.168.2.2/24 网关192.168.2.1,那么PC1和PC2的通信就是跨网段三层通信,下面我们从ARP表、MAC地址表、路由表的角度详细解析下这个通信过程。

  


  

下面我们来详细分析下:

  


  

1. PC3要想访问PC4,由于是跨网段通信,PC3需要首先把数据包发送给PC3的网关。PC3会查找自己的ARP表项看是否有网关IP192.168.1.1对应的MAC地址,查看发现是空的;

  


  

  


  

2、我们知道如果不知道对方的mac地址,PC3会发送ARP广播报文,询问谁知道目的IP 192.168.1.1 对应的MAC地址(如下图所示)。R1收到ARP广播报文会进行回应,告诉PC3 他的网关的MAC地址;

  

  


  

3、可以看到PC3的本地ARP表项中学习到了网关的mac地址;

  


  

  


  

4、这样PC3就可以根据网关MAC地址封装数据发送给R1,R1收到数据包会进行解封装,解封装发现目的IP是PC4,不是发给自己的,从而会查找自己的路由表,发现去往PC4的下一跳是10.1.1.2;

  


  

  

5、R1需要把数据进行封装发送给R2的10.1.1.2 ,因此需要请求10.1.1.2 对应的MAC地址用于封装(我们可以看到R1的ARP表中已经有10.1.1.2 对应的MAC地址,因此可以直接封装);

  


  

  


  

6、R2收到R1的数据包,需要进行解封装,解封装发现目的IP是PC4,通过查找自己的路由表,发现去往PC4是自己的直连端口;

  


  

  


  


  

7、R2需要把数据进行封装发送给PC4 ,因此需要请求PC4 192.168.2.2 对应的MAC地址用于封装(我们可以看到R2的ARP表中已经有192.168.2.2对应的MAC地址,因此可以直接封装);

  


  

  


  


  

8、最后PC4收到报文进行解封装发现就是发送给自己的,通信结束

  


  

来源:https://mp.weixin.qq.com/s/H0SDStCuiO98XmoutnqyUQ

相关文章