以太网的MAC层

以太网是一种计算机局域网技术,由IEEE 802.3制定了以太网的技术标准。

它是一种有线系统,现在一般使用双绞线或者光纤进行数据传输。

IEEE 802.3将以太网的数据链路层分为两层:逻辑链路控制(LLC)和介质访问控制(MAC)

本篇重点介绍以太网的MAC层。

目录

一、MAC地址

MAC地址格式

MAC地址的识别

单播帧

多播帧

广播帧

随机MAC地址

二、以太网交换机

传输过程

自学习算法

生成树协议STP

三、虚拟局域网VLAN


一、MAC地址

每台电脑都有一个网卡,一个网卡就配有一个MAC地址

MAC地址用来确定网络设备位置的地址

每个网卡的MAC地址都是唯一的,有且仅有一个,如果你电脑有无线网卡,你电脑就有两个MAC地址

交换机和路由器会有更多的网络接口,也就有更多的MAC地址

利用 ipconfig /all 就能看到自己主机的IP地址


MAC地址格式

IEEE 802.3规定MAC地址为48位(6字节)的地址。

前三位由IEEE统一分配,后三位厂家自行决定

第一个字节的第一个比特位就表示它是单播地址还是多播地址(一般奇数就是多播)

比如 07-E0-12-F6-2A-D8 ,看这里的7,是一个奇数,所以是多播

单播就是A一对一发给B

多播就是A发给B,也发给C,或者更多

还有一个传输类型是广播,广播就是发一个数据,局域网上的所有主机都会收到


MAC地址的识别

这里模拟一个场景:比如很多主机连接到一个信道上

要实现两个主机的通信,比如A发送给B

A将数据传出,整个信道上的主机都能接受到数据

每台主机会根据自己的MAC地址与帧上的MAC地址匹配,不符合就丢弃

这里就衍生出三种帧:

单播帧

单播帧就是一对一,将目标MAC地址和自己的地址封装成帧,每个主机依次接受匹配

多播帧

多播就是一对多,一般主机会有一个多播组列表

当接受到一个多播帧后,对照这个列表就知道这个是否匹配

广播帧

广播就是所有人都要接受,目的地址会改为全F,当主机接受到全F,就知道是广播帧

随机MAC地址

早些年前,有一套系统可以通过MAC地址来跟踪人的行动

所以苹果率先采用了扫描网络时的随机MAC地址技术

目前大多数设备都已经支持此技术

  

二、以太网交换机

以太网交换机是基于以太网传输数据的交换机,通常有多个接口,采用全双工方式

以太网交换机具有并行性,多对主机能同时通信


传输过程

  • 主机A要将数据发给主机B,会先根据ARP协议获取主机B的MAC地址
  • 获取后,将目标地址、源地址、数据等分装成帧传输给以太网交换机
  • 以太网交换机收到帧后,会在帧交换表中查找目标MAC地址对应的接口号,再通过该接口发送

帧的转发方式也有两种:

  1. 存储转发:在转发前接受整个帧,进行错误校验
  2. 直接交换:采用交叉矩阵,不等全部接受,也不检查,直接将帧发送给目的地址

自学习算法

上述过程有个问题:用于对应MAC地址和接口号的帧交换表是哪里来的呢?

其实以太网交换机的帧交换表一开始是空的,通过自学习算法逐渐建立了这样一个帧交换表

下面演示一遍自学习过程:

 比如主机A要将数据发送给主机B

  • 数据从A进入交换机1,交换机1的帧交换表记住了A对应接口1
  • 此时交换表上没有主机B的数据,所以开始盲目转发给其他接口,也叫泛洪
  • 接口2的C接受到,发现MAC地址对不上,就丢弃此帧
  • 接口3的B接收到,发现MAC地址对上了,接受该帧
  • 顺着接口4,帧来到交换机2,交换机2的帧交换表也记住了A对应接口2
  • 交换机2的帧交换表没有B的数据,进行泛洪操作
  • 一圈下来DEF都不符,所以都丢弃

这就是一个完整过程。

注意:帧交换表上的数据会有有效时间,到期自动删除


生成树协议STP

 这样的网络结构,如果断了一条,此局域网就不能通信了

所以采用冗余链路将他们连接在一起

但是这样就形成了网络环路,会引发广播风暴,即广播帧会在交换机之间反复转发

反复转发不仅消耗主机的资源,而且会使帧交换表混乱

所以这时就有了一个生成树协议STP,在保留冗余链路下,避免了环路的问题。

比如这样一个环路,主机A要将数据传给主机E

根据STP会指定一些链路阻塞,形成一个数据传输的通道:

这样就规划了一条最合适的道路来传输数据。

   

三、虚拟局域网VLAN

上面提到过,广播风暴就是因为交换机之间反复传输导致的

如果用交换机连接许多个广播域,形成了一个广域网后,如果一个广播域内部有了网络风暴或其他安全问题,就导致了这个问题顺着中间交换机来到其他广播域。

这样安全问题就严重了,所以需要分割广播域,有两种办法

首先就是不用中间交换机连接局域网,用路由器

路由器会自动隔离广播域,但是成本高。

我们还可以用虚拟局域网VLAN来划分,如下图:

一个VLAN内的主机不能与另一个VLAN内的主机通信。

    

 谢谢你能看到这ヽ( ̄ω ̄( ̄ω ̄〃)ゝ

  • 16
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丶chuchu丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值