网络运维与网络安全 阶段一 基础篇十三
网络通信原理
2025.12.21
1.数据链路层
2.以太网地址
3.以太网帧格式
4.交换机工作原理
5.VLAN原理
6.VLAN基础配置
一、数据链路层
链路:就是从一个节点到相邻节点的一段物理线路,而中间没有任何其他的交换节点。
数据链路:是指把实现通信协议的硬件和软件加到链路上,就构成了数据链路。
数据链路层是以帧为单位传输和处理数据,是OSI参考模型中的第二层,位于物理层与网络层之间,负责在网络节点间建立、维护和释放数据链路连接,其核心功能包括成帧(字节计数法、字符填充、比特填充及违法编码法实现帧定界)、差错控制(CRC校验)、流量控制(滑动窗口协议)及链路管理
1、MAC地址概述
MAC地址,即以太网地址,用来标识一个以太网上某个单独设备或一组设备(就字面意思)
(以太网,即局域网)
MAC 地址(Media Access Control Address)是网络设备的唯一物理标识,MAC地址在除人为干预下,出厂即固定,即永远不变。MAC 地址由网卡的生产厂商固化在网卡的ROM中,在硬件出厂时确定且唯一。虽然可以通过软件修改MAC地址(如虚拟化环境或特定工具),但这属于人为干预,并非其默认特性。MAC地址在网络中用于唯一标识设备身份,确保数据精准传输。
长度:48个bit(6字节)
组成:24个bit的厂商标识+24个bit的网卡编号
MAC 地址的第8位为0表示单播地址(每一个物理网卡都有一个全球唯一的MAC地址)
MAC 地址的第8位为1表示组播地址
(单播,单独设备;组播,一组设备)
MAC地址的48位都为1表示广播地址
常见进制在计算机中的角色
二进制:底层唯一实际使用的进制。
八进制:早期系统中用于简化二进制(3位一组),现已较少使用。
十进制:人类日常使用,输入/输出时由计算机转换为二进制处理。
十六进制:二进制的“人性化”表示工具,不参与底层运算。
计算机内部运算、存储和数据处理完全基于二进制(0和1),因为其物理硬件(如晶体管)只有两种稳定状态(导通/截止、高电平/低电平)
十六进制主要用于人类编程、调试和数据显示,例如表示内存地址、颜色代码(如 #FF5733)、哈希值等,因其能简洁压缩二进制(1位十六进制对应4位二进制)
二进制:0 1
十进制:0 1 2 3 4 5 6 7 8 9
十六进制:0 1 2 3 4 5 6 7 8 9 A B C D E G F
10-15由A B C D E F字母表示
使用Ipconfig /all命令,可以查看一台主机的MAC地址,主机的物理地址即MAC地址
比如物理地址为00-0C-29-77-E2-EF(1个16进制数等于4个二进制位,12*4=48)
有MAC地址的存在,可以使交换机来识别。
以太网帧格式
2、帧格式
帧格式这张图需要背诵记忆
数据是必须有的,目标和源地址也是要有的,帧校验序列好比货物的清单,发送方与接收方确定货物的数量,这里是确定帧中数据是否有损失;传统通信是需要有类型的,传统通信是需要有校验序列的,这样一共5个字段。
目标地址和源地址都是MAC地址,所以是6个字节
以太网帧的数据长度范围46-1500字节(净重)
以太网帧的长度范围64-1518(毛重)
因为这样一个统一的格式,主机可发送,目标主机可读懂
以上都需要去理解记忆
3、什么是冲突域?
1)在一个网络范围内发送数据时会产生冲突的区域就是冲突域。
以太网中,连接在同一物理介质上、竞争同一带宽的所有节点集合,若多台设备同时发送数据会产生信号冲突 。
2)冲突域是以太网致命故障,导致信号冲突,数据损坏、丢失、数据传输慢
(可以理解成交通堵塞或者严重点交通事故)
4、接口双工模式:
-单工模式:
传输数据的信道只有一个,只能接收数据,不能回收数据(类似BB机)
-半双工模式:
传输数据的信道只有一个,可以接收数据,也可以回复数据,但是不能同时进行(类似:对讲机)
-全双工模式:
传输数据的信道有两个,接口可以在同一时刻接收数据和发送数据(类似:电话)
(冲突域:几台主机共用一条线路,一台主机发送数据其他主机等待其完成
解决方法:
单工时代:信道只有一条,只能接收,不能发送,BB机
半双工时代:信道只有一条,能接收,能发送,对讲机
全双工时代:信道有两条,发送有发送的信道,接收有接收的信道,
各个主机都有独立的信道,A与B连,B与C连,A与C连...,
可分割冲突域,称双工模式)
5、通过什么设备来分割冲突域?
交换机通过以下机制实现对冲突域的分割:
每个端口独立构成一个冲突域:在传统共享介质网络(如使用集线器)中,所有设备共用同一通信信道,容易发生数据冲突。而交换机的每个物理端口都相当于一个独立的网段,连接到该端口的设备独享带宽,不会与其他端口的设备产生冲突,替代集线器,消除共享介质:集线器作为物理层设备,会将所有端口置于同一冲突域;而交换机通过上述机制,将原本共享的冲突域划分为多个独立的小冲突域,显著提升网络性能
基于MAC地址表的智能转发:交换机工作在OSI模型的数据链路层,能够学习并记录每个端口所连接设备的MAC地址,形成MAC地址表。当收到数据帧时,交换机会查表将数据仅转发至目标MAC地址对应的端口,而非广播到所有端口,从而避免了不必要的竞争和冲突
支持全双工通信:现代交换机端口通常工作在全双工模式,允许设备同时发送和接收数据,彻底消除了因共享信道导致的碰撞可能性
过滤非目标流量:当交换机查表发现数据帧的目的地址与源地址位于同一端口时,会直接丢弃该帧(如环回情况),减少不必要的流量竞争
注意:交换机不能分割广播域。广播帧仍会被泛洪到所有端口(除非配置VLAN)。若需隔离广播域,需使用路由器或三层交换机结合VLAN技术
交换机:
把多台电脑连接在一起的设备,组建局域网的主要设备,交换机的每一个接口有专门的数据信道来为用户转发数据;
交换机分割冲突域,实现全双工。
(交换机内部有主板,口与口之间有独立链路相连,横竖相间的线路相连,分割冲突域,实现全双工)
交换机如何实现数据转发的?
(主机A与目标主机B数据发送依靠交换机识别MAC地址,交换机内部又是如何辨别不同主机)
交换机工作原理
6、交换机工作过程(工作原理)
1)学习:学习数据帧源MAC地址,生成 MAC地址表,并将源MAC地址和对应的接口号写入MAC地址表
(一开始交换机会查看是否有源MAC地址,没有就生成MAC地址表,然后记录下来。源MAC地址是数据帧的“开始”(即发送端),而不是目标。)
2)广播:向除接收接口之外的所有接口广播未知目标MAC地址
(如果之前MAC地址表中不含有,就除了源MAC地址记录的接口以外以广播形式询问其他设备目标MAC地址,收到就在地址表记录目标MAC地址和接口号。接收接口:接收该广播帧的接口(即源端口)
主动广播:指交换机转发由终端设备(如PC)发出的广播帧(如ARP请求),其目标MAC地址为全1(FF:FF:FF:FF:FF:FF)。此时交换机只是按协议规定将该帧转发到所有端口,本身不发起广播,但主动执行转发动作。为什么用全1?全1 是标准化的广播标识,所有网络设备都识别该地址为“发给所有人”;它确保无需预先知道目标MAC,即可实现“发现”或“请求”类通信(如 ARP、DHCP等)
被动泛洪:指交换机在未知目标MAC地址时,为确保数据可达而将单播帧泛洪到所有端口(除接收端口)。这是一种被动的应急机制,并非主动发起通信。虽然这是“泛洪”,但帧本身的目标 MAC 仍可能是单播地址(如某个具体设备的 MAC),并非全 1。
)
3)转发:根据MAC地址表转发数据帧
(完成转发的工作)
4)更新:端口对应主机MAC地址发生变化重新学习
(实际情况中,员工换工作位置,主机也一并带走,这时MAC地址与交换机接口的记录就会发生改变,就再重复1、2、3过程)
MAC地址表中记录生存时间为300秒
(超出这个时间没有进行通信,曾记录的信息就会删除)
7、查看MAC地址表
<Huawei>display mac-address
ENSP仿真软件使用查看命令查看MAC地址表
场景1:
一个交换机连接两个PC机
PC1的MAC地址为54-89-98-3B-69-1E
PC2的MAC地址为54-89-98-C0-57-FA
PC1与PC2没有使用Ping命令之前,就是没有传输数据之前,使用display mac-address命令,控制台会什么显示都没有
使用ping命令之后,再使用display mac-address命令
可以看出MAC地址表自动生成
而如果过了300秒之后,没有进行数据传输,再次使用display mac-address命令,
就不会生成这个这个MAC地址表
场景2:
试验两个pc机通过交换机会在交换机内部生成什么MAC地址表(pc1与pc4进行通信)
交换机1
交换机2
注意他们的MAC地址和接口号,发现与通过原理进行分析的结果一致。
原理分析:
交换机 MAC 地址表的形成原理
动态学习过程:
当交换机从某个端口接收到一个数据帧时,会提取该帧的源 MAC 地址。
将该源 MAC 地址与接收端口及所属 VLAN ID 绑定,形成一条“MAC 地址 → 端口”的映射记录。
交换机收到一个数据帧后,会提取该帧中的源MAC地址(SMAC),并将其与接收该帧的物理接口绑定,记录到MAC地址表中
若该MAC 地址已存在于表中但端口不同,则更新端口并重置老化计时器(防止“MAC 漂移”导致错误)
注:交换机生成 MAC地址表的机制基于数据帧的源MAC地址(SMAC)和接收该帧的接口进行动态学习,交换机不会记录该 MAC 地址的“源头”或“上游设备”,只关心“这个MAC 地址是从哪个端口进来的
老化机制:
动态表项默认有效期为 300 秒(5 分钟)。
若在此期间未收到该 MAC 地址的帧,则表项被自动删除,确保地址表实时准确
交换机内部的所有端口属于同一个广播域。这意味着当交换机收到广播帧时,它会将该帧转发到除接收端口外的所有其他端口,从而形成一个广播域。
交换机的主要功能是隔离冲突域,即每个端口是一个独立的冲突域,但无法隔离广播域。
交换机形成 MAC 地址表时不是通过广播形式,而是通过“源地址学习”机制实现的。
关键原理说明
MAC 地址表的建立依赖于“源地址学习”(Source Address Learning):
当交换机收到一个数据帧时,会提取该帧中的源 MAC 地址,并将其与接收端口绑定,记录到 MAC 地址表中。这一过程是自动完成的,无需广播
总结:
交换机不主动广播,仅在终端请求(如ARP请求或未知单播)时进行泛洪。
MAC地址表通过自学习源MAC地址动态生成,具有老化机制保障实时性。
MAC地址表的生成依赖于源MAC地址的学习,而广播行为在未知目标地址时促使设备回应,间接促成MAC地址表的完整构建。两者协同工作,而非无关。
8、广播域
广播域是指网络中能接收任一设备发出的广播帧的所有设备的集合 。
基本定义:当节点发送广播报文时,其余能够收到该报文的节点集合,通常与网段密切相关 。
隔离设备:路由器每个端口构成独立广播域,交换机默认所有端口属同一广播域,可通过 VLAN 分割 。能够分割广播域的设备主要包括:
路由器:工作在网络层(OSI第三层),每个接口默认属于不同广播域,天然隔离广播流量
具有VLAN功能的以太网交换机:通过虚拟局域网(VLAN)技术,可在同一台物理交换机上划分多个逻辑广播域,从而实现广播域分割
常见误解澄清
普通二层交换机:虽然可以分割冲突域(每个端口一个冲突域),但默认所有端口属于同一广播域,无法分割广播域
网桥、集线器、中继器:均属于二层或物理层设备,不能分割广播域
实现方式总结
分割广播域主要有两种方法:
物理分割:使用路由器或三层交换机连接不同子网
逻辑分割:通过VLAN在单台交换机上划分多个广播域
因此,分割广播域不能只用交换机,必须是支持VLAN的交换机,或者更常见的是配合路由器使用
潜在风险:广播域过大会引发广播风暴,降低网络效率,需通过路由器或 VLAN 进行隔离 。
1)为什么分割广播域?(广播域过大所带来的问题)
当同一个广播域内广播报文过多时,会对局域网造成干扰,导致网络延迟,网络拥塞(上网卡,上网慢),严重情况可以造成广播风暴,导致网络瘫痪,给网络的可靠性和安全性带来了严重挑战。
广播域越小,广播包影响的设备越少,网络性能越高
提升安全性:不同 VLAN 之间默认隔离,可限制未授权访问
(现实生活中,这就和一个班同学要周末活动,要将一组同学分成多组兴趣活动组是一样的)
2)什么是广播域?
能够接收到同样广播消息的网络节点的集合
3)如何解决广播域
利用vlan技术可用在交换机中分割广播域,实现广播报文的隔离(网络优化方案)
二、vlan
1、为什么划vlan
随着交换机接口数量的增多,网络中广播增多,会降低网络的传输效率,可以使用VLAN技术分割这个大的广播域
(前面接触过vlan,虚拟接口,这里深度讲解下其作用)
2、什么是vlan
Virtual lan虚拟局域网
wan 广播网
lan 局域网
(利用Virtual技术,将物理上的局域网lan分割成不同的域
现实生活中,一个班的同学视为一个整体,如果修墙或者其他物理方式分割组,成本高
如果把他们以口头名义方式分成不同的组,可以实现分割,虚拟技术类似于这种方式)
3、vlan作用:
分割广播域(主要作用)
带宽利用、降低延迟、提高安全性
4、VLAN划分方式
1)基于交换机接口的静态划分
手动将交换机端口分配到指定 VLAN,是最常见的方式
2)基于主机MAC地址的动态划分
基于MAC地址、IP子网或用户身份自动分配VLAN,但端口仍最终归属于某VLAN
5、vlan的基本配置
1)创建vlan
ensp仿真模拟软件创建一个交换机
运行模式下,输入命令
<Huawei>system-view
[Huawei]vlan 2
[Huawei-vlan2]quit
[Huawei]quit
2)查看vlan
<Huawei>display vlan
会显示这样的vlan表
可以发现这里多了一个vlan 2的接口
以此类推,可以用这样的方式建立多个这样的vlan接口
但是最多可以创建到4094个vlan接口
3)删除vlan
<Huawei>system-view
[Huawei]undo vlan 2
这样vlan2这个2号虚拟接口就会被删除了
其他创建的vlan接口也使用这条命令”undo vlan vlan接口号”
4)创建多个vlan、删除多个vlan
[Huawei]vlan batch 10 20 30 创建多个不连续的vlan
[Huawei]vlan batch 10 to 20 创建多个连续的vlan
[Huawei]undo vlan batch 10 20 30 删除多个不连续vlan
[Huawei]undo vlan batch 10 to 20 删除多个连续的vlan
6、端口加入vlan
1)PVID
PVID:port default VLAN ID,又称为缺省vlan,表示接口所属的vlan
每个接口都有一个PVID,缺省情况,交换机所有的接口PVID都是1
2)端口加入vlan
<Huawei>system-view
[Huawei]vlan 2 //创建vlan2
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1]port link-type access //接口模式配置为access模式
[Huawei-GigabitEthernet0/0/1]port default vlan 2 //接口1加入vlan2
[Huawei-GigabitEthernet0/0/1]return
<Huawei>display vlan
可以看出此时接口1已经到了新创建的vlan 2上了,其他接口也可以用这种方式进行分割,端口加入 VLAN 的行为是分割广播域的核心机制
3)Access接口模式
工作场景:通常用于交换机连接终端(主机或服务器)
特点:
1.同时只能属于一个vlan,仅允许一个VLAN通过:每个Access端口只能归属于一个VLAN(即其缺省VLAN,缺省VLAN就是它允许通过的VLAN)
2.发送数据帧时,会剥离VLAN标签(TAG)后转发,即发送VLAN数据帧(标准)(目标地址 + 源地址 + 类型 + 数据 + 帧校验序列,这是标准的未标记帧(Untagged Frame),不包含 VLAN 标签(VLAN Tag)),确保连接的终端设备(如PC、打印机、服务器等)接收到的是标准的、不带VLAN标签的以太网帧,因为这些设备通常无法识别或处理带标签的帧。
3.接收数据帧时,若该帧不带vlan标签,用接口PVID数值做为标签,给数据帧打标签
(交换机对于发送方,access模式下+【vlan-tag】标签)
接收数据帧时,若该帧带vlan标签,判断vlan标签和本接口的PVID是否一致,一致接收数据,不一致则丢失数据
(交换机对于接收方,access模式下,判断pvid是否一致,用于广播场景)
注:标准以太网帧及带有vlan标签的数据帧,上面的场景特点全都是在access模式下才有的
1)VLAN数据帧(标准):目标地址+源地址+类型+数据+帧校验序列
2)VLAN数据帧:目标地址+源地址+【Vlan-Tag】+类型+数据+帧校验序列
(Access接口模式是交换机最基础的端口工作模式,主要用于连接终端设备,其核心特点是仅允许一个VLAN的流量通过,且发送数据帧时不带VLAN标签(Untagged),以确保终端设备能正常识别和处理。
典型工作场景
连接办公电脑(PC):员工终端接入网络,分配到特定部门VLAN(如财务、销售),实现逻辑隔离
连接打印机、IP电话、IP摄像头等终端设备:这些设备通常不支持VLAN标签,需通过Access端口接入
服务器接入(单VLAN场景):当服务器仅需属于一个VLAN时,也可使用Access模式
家庭或小型办公室网络:简化配置,无需多VLAN通信
工作机制要点
接收无标签帧:自动打上端口的PVID(Port VLAN ID)标签。
接收带标签帧:仅当VLAN ID与PVID匹配时才接收,否则丢弃)
案例:
准备下面一个环境
一台交换机,4台主机,按照上图所示要求,验证在不同vlan后的接口间是否还可以连接
(ping通)?
根据图中要求重复上面刚学习的输入的命令,实现功能命令如下
在交换机的命令行输入:
<Huawei>system-view
[Huawei]vlan batch 10 20
[Huawei]interface GigabitEthernet 0/0/1
[Huawei-GigabitEthernet0/0/1]port link-type access
[Huawei-GigabitEthernet0/0/1]port default vlan 10
[Huawei-GigabitEthernet0/0/1]quit
[Huawei]interface GigabitEthernet 0/0/2
[Huawei-GigabitEthernet0/0/2]port link-type access
[Huawei-GigabitEthernet0/0/2]port default vlan 10
[Huawei-GigabitEthernet0/0/2]quit
[Huawei]interface GigabitEthernet 0/0/3
[Huawei-GigabitEthernet0/0/3]port link-type access
[Huawei-GigabitEthernet0/0/3]port default vlan 20
[Huawei-GigabitEthernet0/0/3]quit
[Huawei]interface GigabitEthernet 0/0/4
[Huawei-GigabitEthernet0/0/4]port link-type access
[Huawei-GigabitEthernet0/0/4]port default vlan 20
[Huawei-GigabitEthernet0/0/4]quit
根据要求最后希望得到的是这样的结果,pc1可以与pc2通信,不能和pc3和pc4通信
ping命令之后最后得出结论,加入了不同vlan后的接口无法再次进行通信(原先他们在一个vlan里面是可以ping通的)
为什么交换机知道pc1与pc2是在一个vlan里,pc1与pc3不在一个vlan里
原因:
标准的以太网帧
目标MAC 源MAC 类型 数据 校验
非标帧(带有vlan标识的帧)
pc1要发送数据需要通过交换机,原先pc1发送数据的帧是标准帧,并不含有vlan标识,在交换机命令行输入access命令变成接入模式之后,数据发送到pc2时,会生成一个含有vlan标识的非标帧,非标帧负责加标识,这时交换机就会知道pc1发送的数据来自于哪个vlan,应该去往哪个vlan。这种计算机与交换机组建局域网不同vlan的模式称为接入模式。
这就是access模式的原理,可以参考前面的access模式特点来理解该原理,上面这段话理解一下发现原理还是挺简单的。
(拓展:在现实工作中,因为不同办公室之间的计算机需要通信,此时会设置一个功能强大的汇聚设备,将不同办公室的局域网汇聚到一起,该设备起到汇聚作用,不同办公室主机随交换机一起组建局域网,这种区域称为接入,这样企业可能有多个接入,因为有多个接入,才需要汇聚,把多个接入区域通过一个汇聚设备连在一起来实现不同交换机下面的主机的通信,不同同事实现数据通信,对于网络拓扑来说,这称为汇聚层和接入层。
接入的概念是什么?命令中access代表就是接入模式,接入模式接口接收数据帧之后,就具有给帧加vlan标识的功能,pc1与pc2通信,要把数据发送给交换机,那么交换机如何知道数据来自vlan10,要发送给vlan10主机接收,帧里面应该有vlan标识,所以就存在非标帧,原主机发送时并没有这个vlan标识,但是接入access模式接口,交换机接收数据帧之后,会负责加标识,此时交换机就知道数据来自哪个vlan,所以这就是交换机接口配置access模式的原因。交换机接主机组建局域网的区域是接入模式,括弧这一大段是原文,不理解时可以阅读便于理解)
(注:编辑的命令因为格式的原因靠的特别近,但实际上中间是有分隔的,输入命令的时候记得位置的分离)
