网络层&&Vlan子网划分

7901 字
40 分钟
网络层&&Vlan子网划分

网络层&&Vlan子网划分#

[TOC]


在OSPF实验中,理解 “重启服务” 对OSPF邻居关系、路由宣告的影响非常重要

重点聚焦于:

  • 路由器接口IP地址变更后
    • 是否需要重启OSPF进程
    • 如何重新宣告网络
  • 通过 display ospf peer brief 观察邻居状态变化
操作是否需要重启OSPF
仅修改接口IP,但未修改OSPF network❌ 不会生效(新IP不在宣告范围内)
修改了OSPF network 宣告✅ 通常不需要重启,OSPF会自动感知
修改了接口IP + 修改了 network建议重置OSPF进程确保干净同步

不同端口的速率协商#

全双工 vs 半双工#

全双工(Full Duplex)与 半双工(Half Duplex)的区别,以及它们在通信中的影响

交换机集线器(Hub)不能直接通信,尤其是当它们工作模式不同时

设备工作模式特点
交换机(Switch)全双工(Full Duplex)可以同时发送和接收数据,无冲突。每个端口独立通信。
集线器(Hub)半双工(Half Duplex)同一时间只能发送或接收,所有端口共享带宽,容易产生冲突。

⚠️ 当 交换机 连接到 Hub 时,虽然物理上可以连通,但通信效率低、容易出错,尤其在高负载下


为什么不能“直接”通信?—— ==模式冲突!==

  • 交换机期望的是无冲突、全双工的环境

  • 集线器是共享媒介、半双工、易冲突的设备

  • 如果交换机把某个端口设置为 强制全双工 ,而对端是 Hub( 半双工 ),就会出现:

    • 双方都以为自己可以同时发数据

    • 实际上 Hub 不支持同时收发 → 数据碰撞

    • 导致 帧丢失、CRC 错误、重传频繁

✅ 结果:通信不稳定,速度下降,甚至完全中断

📌 总结一句话:

  • 交换机是“能说又能听”的现代人

  • Hub 是“只能轮流讲话”的老派人士

  • 强行让他们同时说话,结果就是“鸡同鸭讲”,谁都听不懂!

🎭生动比喻:就像两个人在吵架!

G口如何跟E口直接通信#

G口就是千兆口,“E口” 它指的是以太网接口,支持多种速率(如 10/100/1000 Mbps)

这个 接口 的实际工作速率取决于 两端设备的能力 以及 是否开启自动协商

❤️ 这里重点在于,E口一般工作在二层及以下,G口一般在三层工作

image-20260123091451152
image-20260123091451152

image-20260123092152136
image-20260123092152136

Terminal window
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys SW1
[SW1]undo info en
Info: Information center is disabled.
[SW1]interface g0/0/1
[SW1-GigabitEthernet0/0/1]undo negotiation auto
# 关闭自动协商功能
'意味着该端口不再与对端设备协商速率和工作模式'
'而是手动强制配置,无论对端是什么设备,都会按此执行'
[SW1-GigabitEthernet0/0/1]speed 100
# 强制设置速率为 100Mbps
[SW1-GigabitEthernet0/0/1]duplex ?
full Full-Duplex mode
half Half-Duplex mode
'全双工(Full Duplex)'
'半双工(Half Duplex)'
[SW1-GigabitEthernet0/0/1]duplex half
# 强制设置为半双工
"这里对面是一台PC机,我觉得这里应该为full,这里老师因该是把PC机模拟成了一个hub"
#进行降级,降为半双工
[SW1-GigabitEthernet0/0/1]dis this
#
interface GigabitEthernet0/0/1
port media type copper
duplex half
#

✅ 最佳实践建议#

场景建议配置
对接普通 PC / 主机使用自动协商(默认)
对接老式设备(如旧打印机、10Mbps 设备)设置为 speed 10, duplex half (半双工)
对接服务器或高性能设备可使用 speed 1000, duplex full (全双工)

不要随意禁用自动协商!除非必要

IP地址#

在IPv4中,IP地址是一个 32位 的 二进制数 ,通常以 点分十进制 表示(如:192.168.1.1)

IPv4地址根据 用途结构 被划分为不同的类别,并有一些具有 特殊含义 的保留地址

image-20260123104416986
image-20260123104416986

⚠️ip是一个 抽象的 逻辑的 位置,类似于我们的家庭地址

类别范围(首字节)网络位主机位默认子网掩码用途
A1 – 126第1字节后3字节255.0.0.0大型网络
B128 – 191前2字节后2字节255.255.0.0中型网络
C192 – 223前3字节最后1字节255.255.255.0小型网络
D224 – 239组播(Multicast)
E240 – 255保留(实验用)

注意:

  • 127.x.x.x 虽然属于A类范围,但被保留作回环地址(Loopback),不用于普通网络通信
  • 0.x.x.x 也被保留(如0.0.0.0),不分配给主机

特殊的IPv4地址#

地址/范围说明
0.0.0.0表示“任意地址”或默认路由;常用于主机未获取IP时(如DHCP请求阶段)
127.0.0.0/8(如127.0.0.1)回环地址,用于本机测试(loopback)
169.254.0.0/16链路本地地址(APIPA),当DHCP失败时自动分配
10.0.0.0/8 172.16.0.0/12 192.168.0.0/16私有地址(Private IP),用于内网,不可在公网路由
224.0.0.0 – 239.255.255.255组播地址(Class D)
240.0.0.0 – 255.255.255.254保留用于实验(Class E),一般不能使用
255.255.255.255受限广播地址,向本地网络所有主机广播

局域网#

  • 自动获取,一般不固定

image-20260123104611319
image-20260123104611319

  • 这些就是上面我们介绍的 私网IP地址
  • 教室内IP不能冲突

  • 虚拟机内不能冲突

  • 公司内网不能冲突

  • 家用网络不能冲突

公网#

怎么查看我们的公网IP???

  1. iP地址查询

image-20260123105200652
image-20260123105200652

这公网ip是 随机的 ,如果你把*你家的的光猫,重启一下,*那么 可能就会发生变化了

那么企业呢!就是 进行购买这个公网IP地址 ,它是 固定的

  1. 在百度输入IP直接回车

image-20260123105357820
image-20260123105357820

MAC地址#

  • 也称为 物理地址硬件地址 ,每个 MAC 地址在全球是唯一的
  • 它用于在 数据链路层 识别网络设备

🔩格式:

通常由 6 个字节( 48位 )(1字节=8位)组成,用 十六 进制表示

  • 1 字节(Byte) = 8 位(bit)
部分位数说明
OUI(Organizationally Unique Identifier)前 24 位(3 字节)由 IEEE 分配给厂商,标识设备制造商
NIC Specific(网卡标识)后 24 位(3 字节)由厂商自行分配,保证全球唯一

例如: 00:1B:44:11:3A:B7

  • 00:1B:44 是 OUI(代表某厂商,如 Dell)

    可通过 IEEE OUI 查询工具 查询厂商

  • 11:3A 是该厂商分配的唯一编号

  • 8421,一个16进制的数代表4位

  • 一共48位,可以由 12十六进制数 进行表示

常见格式如:00:1A:2B:3C:4D:5E 或 00-1A-2B-3C-4D-5E

  • 001E-10DD-DD02( 在实验中用4位

第 8 位#

即第一个字节的最低有效位 LSB 的特殊含义

MAC 地址的 第一个字节( 第 8 位) 中,第 8 位( 最右边一位 ) 有特殊用途:

第 8 位(bit 0)含义
0单播地址(Unicast) —— 发送给单一设备
1组播地址(Multicast) —— 发送给一组设备

例如:第一个字节为 01(十六进制) = 0000 0001(二进制),则 bit 0 = 1 → 组播


ipconfig /all Windows查看它的物理地址

image-20260123103503015
image-20260123103503015

IPvsMAC#

只有 IP 地址可以通信吗?#

不可以

  • IP 地址 是 **网络层(Layer 3)**的逻辑地址,用于 跨网络 (比如从你家到百度服务器)的寻址和路由。
  • 但数据在 同一个局域网(LAN)内传输时 ,实际是靠 MAC 地址(物理地址) 在 **数据链路层(Layer 2)**进行帧的传递。
  • 所以: 即使你知道目标 IP,也必须知道它的 MAC 地址才能把数据发出去(在同一网段内)

✅ 举例:

你电脑要访问同一局域网内的打印机(IP: 192.168.1.100),你的电脑会先用 ARP 协议 广播问:“谁有 192.168.1.100?请告诉我你的 MAC!”

打印机回复自己的 MAC,之后你才能把数据帧发给它

只有 MAC 地址可以通信吗?#

只能在同一个局域网内通信,不能跨网络

  • MAC 地址是 硬件地址,只在 本地网络有效

  • 路由器 不会根据 MAC 地址转发数据到其他网络

    一旦数据要离开当前子网,就必须靠 IP 地址进行路由

❌ 举例:

你不能只靠某台美国服务器的 MAC 地址就直接访问它

——因为你的数据包根本出不了你家路由器

网络层次结构#

image-20260123103554360
image-20260123103554360

在网络的分层设计模型中:

**核心层: **流量高速转发 ,用于连接外网线路 ,还要具 ==备份冗余== 能力

  • 主要部署路由器设备

汇聚层: 用于相应安全访问控制,进行 链路和流量 汇聚链路和设备 冗余

  • 主要部署三层交换设备

**接入层: **提供接口,安全接入,用于 终端设备

  • 主要部署二层交换设备

通信过程汇总#

ARP协议:#

  • 地址解析协议 ,即 ARP协议 ,是根据 IP地址 获取 物理地址 的一个网络协议

    • ARP协议是网络层协议 ,是因为 ARP协议属于TCP/IP协议簇
    • 但ARP协议工作在链路层
  • 主机发送信息时将包含 目标IP地址ARP请求广播局域网络上的所有主机 ,并接收返回消息,以此确定目标的物理地址

  • 收到返回消息后将该 IP地址和物理地址 存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源

ARP缓存表#

功能:将 IP 地址 → MAC 地址 映射缓存起来,避免每次通信都广播 ARP 请求

何时使用?

  • 如果路由表说“目标在本地网段” → 查目标 IP 的 MAC
  • 如果路由表说“发给网关 192.168.1.1” → 查 网关 IP 的 MAC

关键点:

  • ARP表只对 直连网络 有效(即同一广播域内)
  • 路由器 不会帮你查远程主机的 MAC —— 你只能查到 下一跳MAC

windows#

arp -a

查看所有 ARP 条目

image-20260123110718629
image-20260123110718629

arp -d

删除某一个条目

**arp -d ***

清空 ARP 缓存(需管理员权限)

Linux#

arp -n

查看arp缓存表

image-20260123110922742
image-20260123110922742

arp -d

删除缓存

image-20260123111012459
image-20260123111012459

路由表#

**功能:**当主机要发送一个 IP 包时,先查路由表,确定:

  • 是否是本地网段?
  • 如果不是,下一跳路由器的 IP 是谁?
  • 从哪个网卡(接口)发出去?

关键点:

  • 路由表只处理 IP 层,不关心 MAC
  • 它可能指向一个本地主机(同网段),也可能指向一个 网关(不同网段)

Windows#

以管理员或普通用户身份打开 命令提示符(CMD)PowerShell ,输入:

route print

image-20260123111516708
image-20260123111516708

ensp路由器#

Terminal window
display ip routing-table
# 查看路由表
[R1]display ip routing-table
# 也可以简写为 dis ip routing
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 4 Routes : 4
Destination/Mask Proto Pre Cost Flags NextHop Interface
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
255.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
'Proto(Protocol)列'
# 表示路由来源类型
- Direct 直连路由
- Static 静态路由
- OSPF、ISIS、BGP、RIP 动态路由协议

ARP表vs路由表#

ARP表主要存在于 主机终端路由器

关键区分:

  • 交换机没有 ARP 表(除非是三层交换机)

    交换机里面是MAC表

  • 主机没有 MAC 表(它只关心自己的 ARP 表)

主机用 ARP 表解决“IP → MAC” 交换机用 MAC 表解决“MAC → 端口”

ARP请求,靠广播+洪泛传播 后续通信靠 缓存 提速

  • ARP请求是主机发的,交换机只是洪泛它

综合流程#

工作流程示例(主机 A → 主机 B)

  • A 想发包给 B(假设在一个局域网)
    • 先查路由表,确定转发的IP地址
      • 直连的网络或者是本地网段的IP地址(发现是一个网段的)
      • 不在一个网段,也找不到直连网络,则默认转发网关的IP地址
    • 由IP地址查本地 ARP 表(找B对应的MAC地址) → 没找到
      • 不知道B的MAC地址,交换机也不知道转发给谁?
  • A 发送 ARP 请求(广播帧,目的 MAC = FF:FF:FF:FF:FF

广播帧全为1

  • 源主机A的IP地址和MAC地址,还有B的IP地址都包括在ARP请求中

  • 交换机收到广播帧

    • 先查看交换机自身的MAC地址表(MAC—>端口),没有找到
    • 并且目的 MAC 是广播地址 → 洪泛 到所有端口(除接收口)
    • 同时学习 A 的 MAC → 更新自己MAC 表
      • 记录A的MAC地址和对应的端口
  • 本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配

  • 如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求

  • B 收到 ARP 请求,发现是找自己

确定ARP请求中的IP地址与自己的IP地址匹配

  • 则B将主机A的IP地址和MAC地址映射 添加到B本地ARP缓存中
  • 主机B将→ 回 ARP 应答(单播)
  • 交换机收到应答帧
    • 学习 B 的 MAC → 更新自己 MAC 表
    • 根据 MAC 表直接转发给 A(不再洪泛)
      • 知道A的MAC和对应的端口
  • A 收到应答 → 更新自己的 ARP 表
    • 下次就能找到B的IP对应的MAC地址了
  • 本机缓存是有 生存期 的,生存期结束后,将再次重复上面的过程
  • 主机B的MAC地址一旦确定,主机A就能向主机B发送IP通信了

VLAN技术#

image-20260123152854839
image-20260123152854839

  • 路由器(网络层) 可以隔离广播域和冲突域

  • 交换机(数据链路层) 可以隔离冲突域 ,但是 没有办法隔离广播域

  • 集线器(物理层) 广播域和冲突域都不能隔离

广播域的分割与VLAN的必要性#

分割广播域时,一般都必须使用到 路由器

使用路由器后,可以以路由器上的网络接口(LAN Interface)为单位分割广播域

  • 但是,通常情况下 路由器 上不会有太多的网络接口,其数目多在1~4个左右 与路由器相比,二层交换机一般带有多个网络接口

  • 因此如果能使用它(交换机)分割广播域,那么无疑运用上的灵活性会大大提高

    用于在二层交换机上分割广播域的技术,就是VLAN

  • 通过利用 VLAN ,我们可以自由设计广播域的构成,提高网络设计的自由度


实现VLAN的机制

在理解了“为什么需要VLAN”之后,接下来让我们来了解一下 交换机 是如何使用 VLAN 分割广播域的

  • 首先,在一台未设置任何 VLAN 的二层交换机上

    任何广播帧都会被转发给 除接收端口外 的所有其他端口(Flooding)

例如,计算机A发送广播信息后,会被转发给端口2、3、4

image-20260123153829966
image-20260123153829966

  • 如果在交换机上生成红、蓝两个VLAN

  • 同时设置端口1、2属于红色VLAN、端口3、4属于蓝色VLAN

  • 再从A发出广播帧的话,交换机就只会把它转发给同属于一个VLAN的其他端口

    ——也就是同属于红色VLAN的端口2,不会再转发给属于蓝色VLAN的端口

同样,C发送广播信息时,只会被转发给其他属于蓝色VLAN的端口,不会被转发给属于红色VLAN的端口

image-20260123154003090
image-20260123154003090

就这样,VLAN 通过限制 广播帧 转发的范围分割了广播域

上图中为了便于说明,以红、蓝两色识别不同的VLAN,在实际使用中则是用“VLAN ID”来区分的

需要不同VLAN间通信时怎么办?

  • 请大家再次回忆一下:VLAN是广播域

    而通常两个广播域之间由 路由器 连接

  • 广播域之间来往的数据包都是由路由器中继的

因此,VLAN间的通信也需要 路由器 提供中继服务,这被称作 “VLAN间路由”

这里大家先记住 不同VLAN间 互相通信时需要用到 路由功能


  • 以下概念了解即可,太难了!!!

image-20260123154535122
image-20260123154535122

  • 通过 Tag 区分不同的vlan

image-20260123154656336
image-20260123154656336


image-20260123154857562
image-20260123154857562

  • Access口用于交换机连接终端设备(PC机)

  • Trunk口用于交换机之间互相连接

  • 干道链路上通过的帧一般为带 TagVLAN帧

基础实验#

image-20260123142852867
image-20260123142852867

Terminal window
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys SW2
[SW2]undo info en
Info: Information center is disabled.
# 关闭推送
1.创建VLAN id
'创建VLAN id 的取值范围是1到4096'
# 默认是VLAN 1,都允许通过
[SW2]vlan 10
[SW2-vlan10]q
[SW2]vlan 20
[SW2-vlan20]q
# 这种是创建单个的VLAN id
# 创建之后自动进入到相应的VLAN id里面,比较麻烦
'创建多个连续的VLAN(加to),或者不连续的VLAN(空格隔开)'
[SW2]vlan batch 2 to 5
Info: This operation may take a few seconds. Please wait for a moment...done.
# 创建多个连续的vlan id
----------------------------
[SW2]vlan batch 15 25 35
Info: This operation may take a few seconds. Please wait for a moment...done.
# 创建多个不连续的vlan id
2.查看相应接口的VLAN id 以及对应的PVID
# 默认接口类型都是hybrid
[SW2]dis port vlan
Port Link Type PVID Trunk VLAN List
-----------------------------------------------------------
Ethernet0/0/1 hybrid 1 -
Ethernet0/0/2 hybrid 1 -
Ethernet0/0/3 hybrid 1 -
.......
GigabitEthernet0/0/1 hybrid 1 -
GigabitEthernet0/0/2 hybrid 1 -
3.查看指定VLAN的详细信息
'包括VLAN ID、类型、描述、VLAN的状态、VLAN中的端口、以及VLAN中端口的模式等'
[SW2]dis vlan 10
------------------------------------------------------------------
U: Up; D: Down; TG: Tagged; UT: Untagged;
MP: Vlan-mapping; ST: Vlan-stacking;
#: ProtocolTransparent-vlan; *: Management-vlan;
-------------------------------------------------------------------
VID Type Ports
-------------------------------------------------------------------
10 common
VID Status Property MAC-LRN Statistics Description
-------------------------------------------------------------------
10 enable default enable disable VLAN 0010
'查看泛泛的vlan,这里是我SW1配置好之后的样子'
[SW1]dis vlan
The total number of vlans is : 3
---------------------------------------------------------------------
U: Up; D: Down; TG: Tagged; UT: Untagged;
MP: Vlan-mapping; ST: Vlan-stacking;
#: ProtocolTransparent-vlan; *: Management-vlan;
---------------------------------------------------------------------
VID Type Ports
--------------------------------------------------------------------------------
1 common UT:Eth0/0/3(U) Eth0/0/4(D) Eth0/0/5(D) Eth0/0/6(D)
Eth0/0/7(D) Eth0/0/8(D) Eth0/0/9(D) Eth0/0/10(D)
Eth0/0/11(D) Eth0/0/12(D) Eth0/0/13(D) Eth0/0/14(D)
Eth0/0/15(D) Eth0/0/16(D) Eth0/0/17(D) Eth0/0/18(D)
Eth0/0/19(D) Eth0/0/20(D) Eth0/0/21(D) Eth0/0/22(D)
GE0/0/1(D) GE0/0/2(D)
10 common UT:Eth0/0/1(U)
TG:Eth0/0/3(U)
20 common UT:Eth0/0/2(U)
TG:Eth0/0/3(U)
VID Status Property MAC-LRN Statistics Description
--------------------------------------------------------------------------------
1 enable default enable disable VLAN 0001
10 enable default enable disable VLAN 0010
20 enable default enable disable VLAN 0020
4.配置相应的端口
'一般来说,Trunk口用于交换机之间互相连接,Access口用于交换机连接终端设备(PC机)'
# 我们得先进去到对应的接口中
'注意你自己拓扑图中的接口'
[SW2]inter e0/0/3
# 我的SW2交换机中的e0/0/3接口用于连接SW1交换机
[SW2-Ethernet0/0/3]port link-type trunk
[SW2-Ethernet0/0/3]port trunk allow-pass vlan 10 20
# 允许 vlan 10 和 vlan 20 通过
'port trunk allow-pass vlan all'
# 表示允许所有的VLAN的数据帧通过
'我们Trunk口都使用这种方法,去把相对应的vlan 添加到对应的端口'
--------------------------
'而Access口有两种方法'
# 第一种进入到对应的VLAN视图,执行port <interface接口> 命令,把端口加入VLAN
# 第二种进入到接口视图,执行port default vlan id 命令,把端口加入VLAN
# 此时还剩下两个端口,e0/0/1,e0/0/2
'对于e0/0/1接口,得把它添加到VLAN 10,我们用第一种方法'
[SW2]vlan 10
[SW2-vlan10]port e0/0/1
Error: Trunk or Hybrid port(s) can not be added or deleted in this manner.
# 看报错,Trunk or Hybrid 不能用这种方式 添加 或者 删除
# 这两个接口e0/0/1,e0/0/2;我们还没有设置对应的接口类型,则他们的默认类型为Hybrid
# 所以我们得先需要变更对应接口的类型
[SW2-vlan10]q
[SW2]inter e0/0/1
[SW2-Ethernet0/0/1]port link-type ?
access Access port
dot1q-tunnel QinQ port
hybrid Hybrid port
trunk Trunk port
[SW2-Ethernet0/0/1]port link-type access
# 把e0/0/1的类型设置为access
[SW2-Ethernet0/0/1]q
[SW2]vlan 10
[SW2-vlan10]port e0/0/1
# 用第一种方法进行把对应的端口添加到vlan中
[SW2-vlan10]q
[SW2]dis port vlan
Port Link Type PVID Trunk VLAN List
-----------------------------------------------------------
Ethernet0/0/1 access 10 -
Ethernet0/0/2 hybrid 1 -
Ethernet0/0/3 trunk 1 1 10 20
'e0/0/2还没有进行配置,其他两个接口都配置好了'
'对于e0/0/2接口,得把它添加到VLAN 20,我们用第二种方法'
[SW2]inter e0/0/2
[SW2-Ethernet0/0/2]port link-type access
# 先更改接口类型
[SW2-Ethernet0/0/2]port default vlan 20
# 把VLAN 20添加到e0/0/2接口
[SW2-Ethernet0/0/2]q
[SW2]dis port vlan
Port Link Type PVID Trunk VLAN List
-------------------------------------------------------------
Ethernet0/0/1 access 10 -
Ethernet0/0/2 access 20 -
Ethernet0/0/3 trunk 1 1 10 20
'至此,SW2三个接口都配置好了'
  • 以下进行配置SW1
Terminal window
# SW1也是同种原理,我们下面简单的配置一下无注释版!
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys SW1
[SW1]vlan batch 10 20
Info: This operation may take a few seconds. Please wait for a moment...done.
[SW1]inter e0/0/3
[SW1-Ethernet0/0/3]port link-type trunk
[SW1-Ethernet0/0/3]port trunk allow-pass vlan 10 20
[SW1-Ethernet0/0/3]q
[SW1]inter e0/0/1
[SW1-Ethernet0/0/1]port link-type access
[SW1-Ethernet0/0/1]port default vlan 10
[SW1-Ethernet0/0/1]q
[SW1]inter e0/0/2
[SW1-Ethernet0/0/2]port link-type access
[SW1-Ethernet0/0/2]port default vlan 20
[SW1-Ethernet0/0/2]q
[SW1]dis port vlan
Port Link Type PVID Trunk VLAN List
-------------------------------------------------------------------------------
Ethernet0/0/1 access 10 -
Ethernet0/0/2 access 20 -
Ethernet0/0/3 trunk 1 1 10 20
'至此SW2的三个接口都配置完了'
  • 互相 ping ,进行验证

    前提是你把各个PC机的IP地址和子网掩码都配置好了

image-20260123143203263
image-20260123143203263

image-20260123143636114
image-20260123143636114

合理删除vlan#

Terminal window
# 下面的示范,是在上面实验的基础上进行的
# 场景:vlan配置错误了,然后想要进行删除
# 我们需要先进入到对应的配置接口,dis this 查看对应接口的详细配置
'我们需要进行undo删除,遵循从最后一条开始删除'
[SW1]interface e0/0/3
[SW1-Ethernet0/0/3]dis this
#
interface Ethernet0/0/3
port link-type trunk
port trunk allow-pass vlan 10 20
#
return
[SW1-Ethernet0/0/3]undo port trunk allow-pass vlan 10 20
[SW1-Ethernet0/0/3]undo port link-type
[SW1-Ethernet0/0/3]dis this
#
interface Ethernet0/0/3
#
return
'我们再重新进行配置一下'
[SW1-Ethernet0/0/3]port link-type trunk
[SW1-Ethernet0/0/3]port trunk allow-pass vlan all
# 允许所有的vlan通过
[SW1-Ethernet0/0/3]dis this
#
interface Ethernet0/0/3
port link-type trunk
port trunk allow-pass vlan 2 to 4094
'重点在这,我们明明是通过的all,可是为什么没有1'
# vlan 1 是默认的vlan,所以这个all中并没有1
#
return
[SW1-Ethernet0/0/3]undo port trunk allow-pass vlan all
# 我们刚开始是配置的是允许all都通过
# 现在是取消所有vlan,合情合理
[SW1-Ethernet0/0/3]undo port link-type
Error: Please renew the default configurations.
# 但是我们再次进行取消接口类型的时候,他报错了
# 看报错信息"请恢复默认的配置"
[SW1-Ethernet0/0/3]dis this
#
interface Ethernet0/0/3
port link-type trunk
undo port trunk allow-pass vlan 1
#
return
'他这个配置文件里面多了一个undo port...vlan 1'
'我们需要先去把它恢复过去'
[SW1-Ethernet0/0/3]port trunk allow-pass vlan 1
# 恢复完之后,再去删除接口类型
[SW1-Ethernet0/0/3]undo port link-type
[SW1-Ethernet0/0/3]dis this
#
interface Ethernet0/0/3
#
return
'现在里面什么都没有了'

扩展VLAN#

  • 主要是上面的基础实验,下面是一些 扩展内容

PVID#

  • 每个接口都有一个缺省VLAN,也就是 每个接口都只能有一个PVID 一个接口可以属于多个VLAN

    缺省(默认)vlan,也就是PVID

  • 收到一个不带tag头的数据包时,会打上PVID所表示的VLAN号 视同该VLAN的数据包处理

以太网帧,在交换机中都是以带标签的形式来被处理和转发的

  • 缺省情况下,所有接口的缺省VLAN都是 VLAN 1

Access口的 PVID 行为#

  • 默认情况下,Access口属于 VLAN 1

  • 当你将 Access 口手动划分到某个 VLAN(比如 vlan 10)后:

    • 该端口的 PVID 就变成 10

    • 所有从该端口进入的 无标签帧(untagged frames) 都会被打上 VLAN 10 的标签

    • 该端口只允许 VLAN 10 的流量通过(且出去时会剥离标签)

Trunk口的 PVID 行为:#

Trunk口与Access口不同,它的主要作用是 传输多个VLAN的流量 ,通常以 带标签(tagged) 的形式传输

但 Trunk口也会有一个 PVID,其作用如下:

  1. 默认 PVID 是 VLAN 1
  • 即使你配置了 Trunk 允许多个 VLAN 通过(如 vlan 10,20,30

    只要没显式修改 PVID,它仍然是 VLAN 1

  1. PVID 决定了如何处理“无标签”的入向帧
  • 如果一个 没有标签 的帧从 Trunk 口进入交换机:
    • 会加上该PVID所表示的VLAN号
    • 例如:PVID = 10 → 无标签帧被当作 VLAN 10 处理

Access详解#

image-20260123155914629
image-20260123155914629

接收报文: 分为三种情况

  1. 若报文的tagged与自己的不匹配则丢弃

  2. 若报文的tagged与自己的匹配则直接转发

  3. 若报文没有 Vlan信息,则打上自己端口的PVID进行交换转发

发送报文:

  1. 总是先剥离报文的 Vlan信息(即:去除Vlan ID),然后再发送

Trunk详解#

image-20260123155930704
image-20260123155930704

接收报文:

  1. 通过 allow-pass vlan 的设置,只允许部分vlan的数据进入

  2. 若不在allow-pass vlan 的设置的范围内则直接丢弃,否则直接转发

  3. 如果该报文没有 Vlan信息 ,则打上端口的PVID进行交换转发

发送报文:

  1. 如果在Trunk的允许发送列表中,并且与端口的PVID相同

    则剥离 Vlan信息 发送 不带tagged 的报文

  2. 若该帧的vlan id与端口的PVID不同时,则直接发送

Access和Trunk实现不同VLAN间通信#

  • 帮助大家了解PVID,以及 ==剥离标签== 的过程

如何让 PC1 和 PC2 之间ping通 (也就是不同的VLAN间直接ping通)

只能使用 Access口Trunk口

image-20260123170338163
image-20260123170338163

Terminal window
# 先简单搭建上图拓扑图
# 我们快速过一下
1.SW1
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys SW1
[SW1]undo info en
Info: Information center is disabled.
[SW1]vlan batch 10 20
Info: This operation may take a few seconds. Please wait for a moment...done.
[SW1]inter e0/0/2
[SW1-Ethernet0/0/2]port link-type trunk
[SW1-Ethernet0/0/2]port trunk allow-pass vlan 10 20
[SW1-Ethernet0/0/2]q
[SW1]inter e0/0/1
[SW1-Ethernet0/0/1]port link-type access
[SW1-Ethernet0/0/1]port default vlan 10
[SW1-Ethernet0/0/1]q
[SW1]dis port vlan
Port Link Type PVID Trunk VLAN List
-----------------------------------------------------------
Ethernet0/0/1 access 10 -
Ethernet0/0/2 trunk 1 1 10 20
# 至此SW1配置完毕
2.SW2
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys SW2
[SW2]undo inf en
Info: Information center is disabled.
[SW2]vlan batch 10 20
Info: This operation may take a few seconds. Please wait for a moment...done.
[SW2]inter e0/0/1
[SW2-Ethernet0/0/1]port link-type trunk
[SW2-Ethernet0/0/1]port trunk allow-pass vlan 10 20
[SW2-Ethernet0/0/1]q
[SW2]inter e0/0/2
[SW2-Ethernet0/0/2]port link-type access
[SW2-Ethernet0/0/2]port default vlan 20
[SW2-Ethernet0/0/2]q
[SW2]dis port vlan
Port Link Type PVID Trunk VLAN List
----------------------------------------------------------
Ethernet0/0/1 trunk 1 1 10 20
Ethernet0/0/2 access 20 -
# 至此SW2配置完毕
  • 别忘了自己配置PC机的 IP地址子网掩码

我们来试着ping一下( pc1pc2 之间可以通信吗?)

image-20260123183104685
image-20260123183104685

  • 那么在 不修改接口类型 的前提下如何让他们ping通呢?

image-20260123183209869
image-20260123183209869

  • Trunk口PVID 就派上用场了!

    在自己允许通过的 vlan列表 中,并且和自己的 PVID 还相同

    剥离tag标签

  • 需要我们手动设置Trunk口PVID

Terminal window
<SW1>sys
Enter system view, return user view with Ctrl+Z.
[SW1]dis port vlan
Port Link Type PVID Trunk VLAN List
-----------------------------------------------------------
Ethernet0/0/1 access 10 -
Ethernet0/0/2 trunk 1 1 10 20
'e0/0/1是access口,它的PVID是10'
'e0/0/2是trunk口,它的PVID是1(默认的)'
[SW1]inter e0/0/2
[SW1-Ethernet0/0/2]port trunk pvid vlan 10
'trunk口需要手动指定PVID'
[SW1-Ethernet0/0/2]q
[SW1]dis port vlan
Port Link Type PVID Trunk VLAN List
-----------------------------------------------------------
Ethernet0/0/1 access 10 -
Ethernet0/0/2 trunk 10 1 10 20
'再次查看e0/0/2接口的PVID为10'
# e0/0/2接口收到一个带tagged,即tagged与端口的PVID进行比较,都是10相等
# 则剥离 Vlan信息(即:去除Vlan ID 10),不带tagged发送报文
# SW2同理
<SW2>sys
Enter system view, return user view with Ctrl+Z.
[SW2]inter e0/0/1
[SW2-Ethernet0/0/1]port trunk pvid vlan 20
[SW2-Ethernet0/0/1]q
[SW2]dis port vlan
Port Link Type PVID Trunk VLAN List
-----------------------------------------------------------
Ethernet0/0/1 trunk 20 1 10 20
Ethernet0/0/2 access 20 -
# 两个接口的PVID都是20
# SW2收到SW1发送的不带tagged的报文后,进入e0/0/1接口
# 打上自己接口的PVID也就是20,在进入到e0/0/2接口(access口),发现和自己的的VLAN相同,转发
# 发送时剥离标签,进入PC机
  • 再次测试 连通性
Terminal window
PC>ping 192.168.1.2
# 第一次ping不通是因为,不同vlan之间不能直接通信
Ping 192.168.1.2: 32 data bytes, Press Ctrl_C to break
From 192.168.1.1: Destination host unreachable
From 192.168.1.1: Destination host unreachable
From 192.168.1.1: Destination host unreachable
From 192.168.1.1: Destination host unreachable
From 192.168.1.1: Destination host unreachable
--- 192.168.1.2 ping statistics ---
5 packet(s) transmitted
0 packet(s) received
100.00% packet loss
PC>ping 192.168.1.2
# 现在就ping通了
Ping 192.168.1.2: 32 data bytes, Press Ctrl_C to break
From 192.168.1.2: bytes=32 seq=1 ttl=128 time=78 ms
From 192.168.1.2: bytes=32 seq=2 ttl=128 time=78 ms
From 192.168.1.2: bytes=32 seq=3 ttl=128 time=79 ms
From 192.168.1.2: bytes=32 seq=4 ttl=128 time=63 ms
From 192.168.1.2: bytes=32 seq=5 ttl=128 time=47 ms
--- 192.168.1.2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 47/69/79 ms

Hybrid详解#

image-20260123155941347
image-20260123155941347

  • 它既可以连接 接入链路 又可以连接 干道链路

接受报文:

  1. 若 Vlan信息 在 untaggedtagged 的列表中,则都允许这些vlan的数据进入并直接转发,否则丢弃;

    (与Trunk端口的 allow-pass vlan 类似)

  2. 若没有VID(即:Vlan ID)则打上自己端口的 PVID 进行转发

发送报文:

  1. 若报文属于untagged的Vlan则剥离 Vlan信息 (即:去除Vlan ID)再发送

    想和 通信就 剥离谁 的标签

    一般配置在和 PC机 相连的接口上

  2. 若报文属于tagged的Vlan则直接发送(即:带着Vlan ID 发送报文)

    一般配置在和 交换机 相连的接口上

Hybrid基础实验#

  • 要求 PC1PC2 之间不同通信,但是它们都可以ping通 server

image-20260123200218221
image-20260123200218221

Terminal window
1.先配置各个PC机的IP地址和子网掩码
# server只需配置IP地址即可
2.SW1配置
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys SW1
[SW1]undo info en
Info: Information center is disabled.
[SW1]vlan batch 10 20 100
Info: This operation may take a few seconds. Please wait for a moment...done.
[SW1]interface g0/0/1
[SW1-GigabitEthernet0/0/1]port link-type hybrid
# 只有在把Access口或者Trunk口配置成Hybrid时,才需要执行此命令
# 因为默认是Hybrid,所以不需要执行此命令
[SW1-GigabitEthernet0/0/1]port hybrid tagged vlan 10 20 100
# 配置 VLAN10,VLAN20 和 VLAN100 的数据帧在通过 G0/0/1端口 时都携带标签
[SW1-GigabitEthernet0/0/1]q
[SW1]inter g0/0/2
[SW1-GigabitEthernet0/0/2]port hybrid pvid vlan 10
# 手动指定g0/0/2端口的PVID为10
[SW1-GigabitEthernet0/0/2]port hybrid untagged vlan 10 100
# 配置 VLAN10 和 VLAN100 的数据帧在通过 G0/0/2端口 时都不携带标签
[SW1-GigabitEthernet0/0/2]q
[SW1]inter g0/0/3
[SW1-GigabitEthernet0/0/3]port hybrid pvid vlan 20
# 手动指定g0/0/3端口的PVID为20
[SW1-GigabitEthernet0/0/3]port hybrid untagged vlan 20 100
# 配置 VLAN20 和 VLAN100 的数据帧在通过 G0/0/3端口 时都不携带标签
[SW1-GigabitEthernet0/0/3]q
[SW1]dis port vlan
Port Link Type PVID Trunk VLAN List
-----------------------------------------------------------
GigabitEthernet0/0/1 hybrid 1 10 20 100
GigabitEthernet0/0/2 hybrid 10 -
GigabitEthernet0/0/3 hybrid 20 -
2.SW2配置
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys SW2
[SW2]undo info en
Info: Information center is disabled.
[SW2]vlan batch 10 20 100
Info: This operation may take a few seconds. Please wait for a moment...done.
[SW2]inter g0/0/1
[SW2-GigabitEthernet0/0/1]port hybrid tagged vlan 10 20 100
[SW2-GigabitEthernet0/0/1]q
[SW2]inter g0/0/2
[SW2-GigabitEthernet0/0/2]port hybrid pvid vlan 100
[SW2-GigabitEthernet0/0/2]port hybrid untagged vlan 10 20 100
[SW2-GigabitEthernet0/0/2]q
[SW2]dis port vlan
Port Link Type PVID Trunk VLAN List
-------------------------------------------------------------------------------
GigabitEthernet0/0/1 hybrid 1 10 20 100
GigabitEthernet0/0/2 hybrid 100 -
  • 测试验证:
Terminal window
1.PC1验证
PC>ipconfig
IPv4 address......................: 192.168.219.10
Subnet mask.......................: 255.255.255.0
PC>ping 192.168.219.20
# ping PC2
Ping 192.168.219.20: 32 data bytes, Press Ctrl_C to break
From 192.168.219.10: Destination host unreachable
........
From 192.168.219.10: Destination host unreachable
PC>ping 192.168.219.100
# ping服务器
Ping 192.168.219.100: 32 data bytes, Press Ctrl_C to break
From 192.168.219.100: bytes=32 seq=1 ttl=255 time=62 ms
From 192.168.219.100: bytes=32 seq=2 ttl=255 time=47 ms
From 192.168.219.100: bytes=32 seq=3 ttl=255 time=47 ms
From 192.168.219.100: bytes=32 seq=4 ttl=255 time=47 ms
From 192.168.219.100: bytes=32 seq=5 ttl=255 time=32 ms
--- 192.168.219.100 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 32/47/62 ms
2.PC2验证
PC>ipconfig
IPv4 address......................: 192.168.219.20
Subnet mask.......................: 255.255.255.0
PC>ping 192.168.219.10
# ping PC1
Ping 192.168.219.10: 32 data bytes, Press Ctrl_C to break
From 192.168.219.20: Destination host unreachable
.......
From 192.168.219.20: Destination host unreachable
PC>ping 192.168.219.100
# ping服务器
Ping 192.168.219.100: 32 data bytes, Press Ctrl_C to break
From 192.168.219.100: bytes=32 seq=1 ttl=255 time=47 ms
From 192.168.219.100: bytes=32 seq=2 ttl=255 time=63 ms
From 192.168.219.100: bytes=32 seq=3 ttl=255 time=47 ms
From 192.168.219.100: bytes=32 seq=4 ttl=255 time=46 ms
From 192.168.219.100: bytes=32 seq=5 ttl=255 time=47 ms
--- 192.168.219.100 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 46/50/63 ms

Hybrid综合实验#

  • 要求 PC5 可以ping通其它的主机,其他PC机的也能ping通 PC5

    但是 VLAN2 不能ping通 VLAN3

image-20260123165828431
image-20260123165828431

Terminal window
1.SW1配置
[SW1]vlan batch 2 3 10
Info: This operation may take a few seconds. Please wait for a moment...done.
[SW1]int e0/0/1
[SW1-Ethernet0/0/1]port hybrid pvid vlan 2
[SW1-Ethernet0/0/1]port hybrid untagged vlan 2 10
[SW1-Ethernet0/0/1]int e0/0/2
[SW1-Ethernet0/0/2]port hybrid pvid vlan 3
[SW1-Ethernet0/0/2]port hybrid untagged vlan 3 10
[SW1-Ethernet0/0/2]int e0/0/3
[SW1-Ethernet0/0/3]port hybrid tagged vlan 2 3 10
2.SW2配置
[SW2]vlan batch 2 3 10
Info: This operation may take a few seconds. Please wait for a moment...done.
[SW2]int e0/0/1
[SW2-Ethernet0/0/1]port hybrid pvid vlan 3
[SW2-Ethernet0/0/1]port hybrid untagged vlan 3 10
[SW2-Ethernet0/0/1]int e0/0/2
[SW2-Ethernet0/0/2]port hybrid pvid vlan 2
[SW2-Ethernet0/0/2]port hybrid untagged vlan 2 10
[SW2-Ethernet0/0/2]int e0/0/3
[SW2-Ethernet0/0/3]port hybrid tagged vlan 2 3 10
[SW2-Ethernet0/0/3]int e0/0/4
[SW2-Ethernet0/0/4]port hybrid pvid vlan 10
[SW2-Ethernet0/0/4]port hybrid untagged vlan 2 3 10

VLAN划分方法#

image-20260123160057242
image-20260123160057242

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

网络层&&Vlan子网划分
https://www.kpyun.fun/posts/network/network05/
作者
久棹
发布于
2026-02-02
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
久棹
只要胆子大,天天寒暑假!
公告
欢迎来到久棹的技术小站!本站专注 Linux 运维学习笔记分享,如有问题欢迎交流探讨 🎉
分类
标签
站点统计
文章
98
分类
11
标签
203
总字数
244,453
运行时长
0
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.13.5
文章许可
CC BY-NC-SA 4.0

文章目录