企业级网络架构Day02:数据链路层、交换机原理、VLAN技术、Trunk中继链路、链路聚合

今日核心目标:

  1. 数据链路层解析
  2. VLAN技术及应用
  3. 中继链路Trunk

一、数据链路层解析

1. 以太网(表示网卡)MAC地址

  • 又称物理地址/硬件地址 ,设备 出厂自带全球唯一,不可随意修改。
  • 十六进制格式 来表示设备的唯一性,前半段为供应商标识 ,后半段为设备唯一编号
  • 作用:唯一标识以太网中的单个设备。
    十六进制:0123456789ABCDEF

2. 以太网帧格式

数据链路层协议数据单元

(由交换机处理)

3. 以太网交换机

  • 工作在数据链路层 ,根据目标MAC地址智能转发数据。
  • 核心功能:连接局域网、隔离冲突域、转发以太网帧,解决接口不足的问题。

4. 交换机工作原理(四步)

已知交换机处理的数据为数据帧,包含了源mac地址,目标mac地址

  1. 学习 :记录数据帧源MAC 与入接口,生成MAC地址表
  2. 广播(泛洪):若目标地址在MAC地址表中没有,向除入接口外的所有接口广播该数据帧。(广播的这个行为本身就把数据帧转发了出去,相当于完成了一次"转发"。广播这个行为类似于询问)
  3. 转发(明确转发,也叫单播) :目标MAC已知时(接口已知数据帧的源mac地址),按MAC地址表单播转发。(这次转发行为相当于回应)
  4. 更新(老化) :(每一个接口的)MAC地址表老化时间300秒(5分钟) (此时长不会刷新,老化之后会重新学习并开启新一轮计时);端口变化后将自动重新学习(仅删除并重新学习对应更改的端口)。
    (一个接口可以记录多个mac地址。可以接收多个mac地址的查询,也可以进行多个mac地址的回应)

补充:

关于"广播"与"转发"的顺序:如果目标MAC地址不在MAC地址表中,交换机会将该数据帧从除接收端口外的所有其他端口广播出去。这个过程本身就实现了"转发",所以通常不把"转发"作为独立于"广播"的另一步。

5. 常用命令

  • 查看MAC地址表:display mac-address

6. 跨交换机通信案例

  • 主机跨交换机通信时,两台交换机依次学习MAC地址,先广播、后单播,最终形成完整MAC地址表,实现全网互通。

二、VLAN技术及应用

1. 广播域

  • 广播域是指接受同样广播消息的范围,在该范围中的任何一个设备发送该广播,所有设备都可以收到。
  • 默认交换机所有接口属于同一个广播域,广播过多会降低网络效率。

2. VLAN(虚拟局域网)

  • VLAN:Virtual LAN虚拟局域网
  • 作用:分隔广播域 ,解决广播泛滥 的问题。
    • 广播控制
    • 增加安全性
    • 提高带宽利用
    • 降低数据传递延迟
  • 划分方式:基于接口划分,接口划入某VLAN,该接口主机即属于该VLAN。
  • 规则:同VLAN、同网段可直接通信;不同VLAN默认不通

交换机默认:1 个广播域 包含 所有接口 划分 VLAN 后:1 个 VLAN = 1 个广播域 (交换机可以划分多个vlan)

3. VLAN配置(华为)

  1. 创建VLAN

    • 单个:vlan 编号
    • 多个:vlan batch 编号 编号
    • 连续:vlan batch 起始 to 结束
  2. 删除VLAN(即创建命令前加undo)

    • 单个:undo vlan 编号
    • 多个:"undo vlan batch 编号 编号
    • 连续:undo vlan batch 起始 to 结束
      (删除VLAN之后,此VLAN中的接口会回到默认VLAN,即VLAN1)
  3. 查看VLAN:display vlan

bash 复制代码
<Huawei>system-view                  #进入系统视图
[Huawei]vlan 2                       #创建vlan 2
[Huawei-vlan2]quit                   #退出至系统视图
[Huawei]vlan batch 5 8 9             #创建vlan 5、vlan 8、vlan 9
[Huawei]vlan batch 10 to 15          #创建vlan 10 至 vlan 15
[Huawei]display vlan                 #查看所有vlan
[Huawei]undo vlan 2                  #删除vlan 2
[Huawei]undo vlan batch 5 8 9        #删除vlan 5、vlan 8、vlan 9
[Huawei]undo vlan batch 10 to 15     #删除vlan 10 至 vlan 15
[Huawei]display vlan                 #查看所有vlan
  1. 接口加入VLAN(在接口视图操作)
    • 进入接口视图:interface 接口号
    • 将接口设为接入链路:port link-type access
    • 加入VLAN:port default vlan 编号
      (一个接口只能属于一个VLAN)
bash 复制代码
<Huawei>system-view                    #进入系统视图
[Huawei]vlan 2                         #创建vlan 2
[Huawei-vlan2]quit                     #退出至系统视图
[Huawei]interface Ethernet 0/0/2       #进入接口0/0/2的接口视图
[Huawei-Ethernet0/0/2]port link-type access    #将接口类型设置为access接入链路
[Huawei-Ethernet0/0/2]port default vlan 2      #将接口加入vlan 2
[Huawei-Ethernet0/0/2]display vlan     #查看vlan中的接口,Ethernet 0/0/2属于vlan2
  1. 批量加入VLAN

    基本流程:

    1.创建接口组,将接口加入接口组

    2.将接口组设置为access接入链路(port link-type access)

    3.将接口组加入VLAN(port default vlan 编号)

    • 建接口组:port-group 组号
    • 添加接口:group-member 接口...

系统视图 中操作,批量将接口加入VLAN

• 先将目标接口加入 接口组,再将接口组 加入vlan

• 进入接口组:port-group 组号

• 接口组加入接口成员:group-member 接口 接口

bash 复制代码
[Huawei]port-group 1 #进入1号接口组
[Huawei-port-group-1]group-member Ethernet 0/0/3 Ethernet 0/0/4 #将3号、4号接口加入组
[Huawei-port-group-1]group-member Ethernet 0/0/5 to Ethernet 0/0/10 #将5号 至 10号接口加入组
[Huawei-port-group-1]display this #查看当前视图配置
[Huawei-port-group-1]port link-type access #将组中的接口设置为接入链路
[Huawei-port-group-1]port default vlan 2 #批量加入vlan2
[Huawei-port-group-1]display vlan #查看vlan中的接口

创建VLAN步骤基本就三步:

• 1.创建VLAN

• 2.将接口/接口组加入相应的VLAN

• 3.测试通信

三、Trunk中继链路

1. 作用

  • 实现跨交换机同VLAN互通 ,一条链路承载多个VLAN流量。
  • 给数据帧打VLAN标签(Tag),区分不同VLAN。

左侧VLAN1主机访问右侧VLAN1主机时,先经过左侧交换机,进入时交换机给数据帧打上标签。

  • 此时如果连接两个交换机的是接入链路,(前提是需要左侧数据帧与接入链路的接口属于同一VLAN才会把数据帧放出去,右侧同理)那么:数据帧从左侧交换机出去进入接入链路之前,左侧交换机将拆掉数据帧的标签,经过接入链路进入右侧交换机时,右侧交换机再次打上标签,用以指明广播的VLAN地址。
  • 此时如果连接两个交换机的是中继链路,那么:数据帧从左侧交换机出去的时候并不会拆掉标签,而是会带着标签进入右侧交换机,直接找到广播的地址

2. 链路类型

  • Access(接入链路):只放行1个VLAN,放行谁谁才能过,用于连接终端。
  • Trunk(中继链路) :放行多个VLAN,用于交换机之间互联(不拆标签)。

3. Trunk配置

  1. 进入互联接口
  2. 设为Trunk:port link-type trunk
  3. 放行VLAN:port trunk allow-pass vlan all(或指定VLAN)
  • 注意:一定要看准哪个接口是 两个交换机相连的接口

实操案例:

通过配置实现跨交换机的同Vlan主机通信:

  • 交换机SW2上增加4台PC机,IP地址如图所示
  • 使用Copper手动线,尽量与图中保持一致
  • 根据拓扑图将相应接口配置为Access接入链路,加入相应Vlan
    • SW2交换机,创建vlan 2
    • 将3号口、4号口加入vlan 2
    • 将5号口、6号口加入vlan 1,默认就是
    • 将1号口、2号口加入vlan 3,上方实验已完成
  • 将两个交换机之间的链路配置为trunk中继链路,放行所有Vlan
    • 交换机SW1 和 交换机SW2 的7号口全部还原配置
    • 交换机SW1 和 交换机SW2 的7号口都设置为中继链路,放行所有VLAN

      SW2交换机(右侧),创建vlan 2,将3号口、4号口加入vlan 2
bash 复制代码
[Huawei]vlan 2                                 #创建vlan 2
[Huawei-vlan2]quit                             #退出至系统视图
[Huawei]port-group 2                           #进入2号接口组      
[Huawei-port-group-2]group-member Ethernet 0/0/3 Ethernet 0/0/4   #加入接口成员:3号接口、4号接口、7号接口
[Huawei-port-group-2]port link-type access    #将接口成员设置为接入链路类型
[Huawei-port-group-2]port default vlan 2      #将接口成员加入vlan 2
[Huawei-port-group-2]display  vlan            #查看vlan中的接口

交换机SW1 和 交换机SW2 的7号口全部还原配置
交换机SW1 和 交换机SW2 的7号口都设置为中继链路,放行所有VLAN

清空接口中的配置,接口会处于关闭状态,需要使用undo shutdown 取消接口关闭

SW1操作(左侧)

bash 复制代码
[Huawei]clear configuration interface Ethernet 0/0/7        #清理接口配置,回答Y
[Huawei]interface Ethernet 0/0/7                            #进入7号接口    
[Huawei-Ethernet0/0/7]undo shutdown                         #取消关闭

SW1操作(左侧)将7号接口设置为中继链路,放行所有vlan

bash 复制代码
[Huawei-Ethernet0/0/7]port link-type trunk                  #将7号接口设置为trunk模式    
[Huawei-Ethernet0/0/7]port trunk allow-pass vlan all        #放行所有vlan
[Huawei-Ethernet0/0/7]display vlan                          #查看vlan信息,7号接口在所有vlan,即放行了所有vlan

SW2操作(右侧)

bash 复制代码
[Huawei]clear configuration interface Ethernet 0/0/7        #清理接口配置,回答Y
[Huawei]interface Ethernet 0/0/7                            #进入7号接口    
[Huawei-Ethernet0/0/7]undo shutdown                         #取消关闭

SW2操作(右侧)将7号接口设置为中继链路,放行所有vlan

bash 复制代码
[Huawei-Ethernet0/0/7]port link-type trunk                  #将7号接口设置为trunk模式    
[Huawei-Ethernet0/0/7]port trunk allow-pass vlan all        #放行所有vlan
[Huawei-Ethernet0/0/7]display vlan                          #查看vlan信息,7号接口在所有vlan,即放行了所有vlan

四、链路聚合(Eth-Trunk)

1. 作用

  • 负载均衡 :提升链路总带宽
  • 提高容错 :提升可靠性,单条线路故障不中断业务。
    (原理上相当于创建了一个聚合组,这个组包含多个连接两个交换机的接口,并且将这个组中的成员全部设置为中继链路)

2. 配置步骤

(前提:已经存在中继链路)

  1. 清理中继链路接口的配置:clear configuration interface 接口
  2. 清理后的接口会处于关闭状态,可以进入对应接口的视图使用undo shutdown取消关闭
  3. 创建并进入聚合链路接口:interface Eth-Trunk 编号
  4. 加入物理接口:trunkport 接口1 接口2
  5. 设为Trunk类型并放行VLAN:port link-type trunk + port trunk allow-pass vlan all
  6. 查看配置:display current-configuration

五、全章核心小结

  1. 交换机靠学习、广播、转发、更新完成数据转发,MAC表老化5分钟。
  2. VLAN用于分割广播域,同VLAN同网段可通。
  3. Access接终端,Trunk接交换机,一条Trunk承载多VLAN。
  4. 链路聚合提升带宽与可靠性,可与Trunk结合使用。
相关推荐
上海控安2 小时前
汽车数字钥匙安全风险及渗透实践解析
网络·安全
汽车仪器仪表相关领域2 小时前
Kvaser Leaf Light HS v2 CB:裸卡式CAN接口新标杆,赋能车载与工业集成测试高效升级
服务器·网络·数据库·人工智能·单元测试·自动化·汽车
frankfishinwater2 小时前
Kafka 代码架构分析
分布式·架构·kafka
JoyCong19982 小时前
告别频繁输入密码!ToDesk自动解锁功能,实现远程办公“无感”连接
大数据·linux·服务器·网络·电脑·远程操作
咚为2 小时前
从Nginx到Pingora?从 Cloudflare 的架构演进讲起
运维·nginx·架构
RReality2 小时前
【UGUI】自定义 ListView 架构:设计、原理与可扩展性
unity·架构
lcj25112 小时前
【零基础入门】C 语言单链表全攻略:节点创建→头尾插删→指定位置操作→链表销毁(附 test/SList 完整代码 + 注释详解)
网络
telllong2 小时前
深入理解React Fiber架构:从栈调和到时间切片
前端·react.js·架构
赋创小助手2 小时前
OpenClaw部署架构详解:从桌面到数据中心的AI Agent服务器选型指南
服务器·人工智能·架构·agent·openclaw