详解MAC地址、以太网、二层转发、VLAN

MAC地址

每个网卡或三层网口都有一个MAC地址,MAC地址是烧录到硬件上,因此也叫硬件地址。MAC地址作为数据链路设备的地址标识符,需要保证网络中的每个MAC地址都是唯一的,才能正确识别到数据链路上的设备。

MAC地址由6个字节组成。前三个字节表示厂商识别码,每个网卡厂商都有特定唯一的识别数字。后三个字节由厂商给每个网卡进行分配。厂商可以保证生产出来的网卡不会有相同MAC地址的网卡。

现在可以通过软件修改MAC地址,虚拟机使用物理机网卡的MAC地址,并不能保证MAC地址是唯一的。但只要MAC地址相同的设备不在同一个数据链路上就没问题。

为了查看方便,6个字节的MAC地址使用十六进制来表示。每个字节的8位二进制数分别用2个十六进制数 来表示,例如:E0-06-E6-39-56-22

MAC地址怎么使用?

最常用的以太网和无线局域网,都是使用MAC地址作为地址标识符进行通信的。

以太网

有线局域网中普遍使用以太网,以太网标准简单,传输速率高。

什么是网络拓扑?

网络的连接和构成的形态称为网络拓扑。它不仅可以直观的看到网络物理连接方式,还可以表示网络的逻辑结构。

以太网数据格式

当今常用的以太网协议标准是ETHERNET I1 标准。数据帧格式如下:

前导码

目的地址

源地址

类型

数据

FCS(Frame Check Sequence)

FCS由四个字节组成,位于数据帧的尾部,用来检查帧是否有所损坏。通过检查FCS字段的值将受到干扰的错误帧丢弃。

最小的数据帧是多少字节?

数据帧的各字段加起来是64字节,其中数据是46字节。再加上前导码就是72字节。因此最小的数据帧是72字节。在传输过程中,每个数据帧还有12字节的数据帧间隙,所以最小的可传输数据帧长度84字节,即672比特。

交换机二层转发原理

交换机有多个网络端口,它通过识别数据帧的目标MAC地址,根据MAC地址表决定从哪个端口发送数据。MAC地址表不需要在交换机上手工设置,而是可以自动生成的。
可以静态设置也可以动态删除

如何使用MAC地址条目进行转发?

当交换机的某个端口收到一个单播数据帧时,它会查看这个数据帧的二层头部信息并进行两个操作。一个操作是根据源MAC地址和端口信息添加或更新MAC地址表。另一个操作是查看数据帧的目的MAC地址,并根据数据帧的目的MAC地址查找自己的MAC地址表。在查找MAC地址表后,交换机会根据查找结果对数据进行处理,由三种情况:

  1. 交换机没有在MAC地址表中找到这个数据帧的目的MAC地址,因此交换机不知道自己的端口是否有连接这个MAC地址的设备。于是交换机将这个数据帧从除了接收端口之外的所有端口泛洪出去。
  2. 交换机的MAC地址表中有这个数据帧的目的MAC地址,且对应端口不是接收到这个数据帧的端口,交换机知道目的设备连接在哪个端口上,因此交换机会根据MAC地址表中的条目将数据帧从对应端口单播转发出去,而其他与交换机相连的设备则不会收到这个数据帧。
  3. 交换机的MAC地址表中有这个数据的目的MAC地址,且对应端口就是接收到数据帧的端口。这种情况下,交换机会认为数据帧的目的地址就在这个端口所连接的范围内,因此目的设备应该已经收到数据帧。这个数据帧与其他端口的设备无关,不会将数据帧从其他端口转发出去。于是,交换机会丢弃数据帧。
    单播:主机一对一的发送数据。单播地址是主机的MAC地址。
    广播:向局域网内所有设备发送数据。只有全1的MAC地址为广播MAC地址,即 FF-FF-FF-FF-FF-FF
    泛洪:将某个端口收到的数据从除该端口外的所有端口发送出去。泛洪操作广播的是普通数据帧而不是广播帧。

VLAN

广播域是广播帧可以到达的区域。换句话说,由多个交换机和主机组成的网络就是一个广播域。

网络规模越大,广播域就越大,泛洪流量也越来越大,降低通信效率。在一个广播域内的任意两台主机之间可以任意通信,通信数据有被窃取的风险。

所以为解决广播域扩大带来的性能问题和安全问题,VLAN来啦!

VLAN技术能够在逻辑上把一个物理局域网分割成多个广播域,每个广播域成为一个虚拟局域网(即VLAN)。每台主机只能属于一个VLAN,同属一个VLAN的主机通过二层直接通信,不同VLAN的主机只能通过IP路由功能才能实现通信。通过划分多个VLAN,从而减少广播域传播的范围,过滤多余的包,提高网络的传输效率,同时提高了网络的安全性。

猜你喜欢

转载自blog.csdn.net/Thorne_lu/article/details/115394966