# 企业级网络架构Day03:网络层解析、路由原理、三层交换机、动态路由(OSPF)

一、今日目标

  1. 网络层解析及路由原理
  2. 三层交换机
  3. 动态路由

二、网络层解析及路由原理

(一)网络层解析

  1. 网络层的功能
    • 定义IP地址,作为网络通信的标识
    • 连接不同媒介类型的网络(不同范围的网络、不同的硬件、不同的系统)
    • 负责数据在网络中的路径选择(选路)
  2. 网络层协议
  • ICMP(Internet控制报文协议) :依托IP数据报传输,用于发送错误与控制信息;
    • ping命令基于ICMP,反馈结果包括:
      • 连接成功(Reply from 目标地址)、
      • 目标主机不可达(Destination host unreachable)(此时是路由/网关出问题了)、
      • 请求超时(Request timed out)(此时是路由出问题了)(此时路由/网关无问题,是目标地址不存在或者无法访问)
  • ARP(地址解析协议,了解即可):根据已知目标IP地址,解析出目标MAC地址,保障数据正常发送

补充:关于 ARP(地址解析协议)的归属,业界一直存在两种视角,但最严谨、最主流的答案是:

从功能上讲,它是网络层与数据链路层之间的"粘合剂";但从标准分层模型来看,它被归类为网络层协议。 因此:

  • 考试或标准问答时:回答 ARP 属于网络层协议。这是最安全、最符合教材定义的答案。
  • 理解其工作原理时:把它看作是工作在网络层与数据链路层之间的协议。它在网络层发起请求,获取数据链路层寻址所需的 MAC 地址。

(二)路由原理及配置

  1. 路由概述
  • 核心作用:连接不同网段,将数据包从一个网络转发到另一个网络,由路由器完成(路由器每个接口单独分配一个ip ,并且每个接口必须配置不同的网段

    • 路由器仅关注网络状态 ,负责选择数据传输的最佳路径
  • 路由器可以根据路由表选择最佳路径

  • 由路由器维护的路由表(记录的是网段),是路由器转发数据包的关键

  • 路由表条目明确:指明到达目标子网/主机的出接口下一跳转地址(或直接相连网络中的目标主机地址),是数据包转发的核心依据

  1. 路由表获取方式
  • 直连路由:路由器接口配置IP并开启后,系统自动生成
  • 静态路由(间接指向)/默认路由 :管理员手动配置,为单向路由条目(默认路由属于静态路由的一种。)
  • 动态路由 :路由器通过路由协议,根据网络拓扑/流量变化自动生成(自动学习)
  • 适用场景:
    • 直连、静态路由适配小型网络
    • 动态路由适配ISP、广域网等大型网络
    • 默认路由需防范路由回环

      本图中,对于左侧路由来说,1.0和2.0是它的直连路由;对于右侧路由来说,2.0和3.0是它的直连路由;蓝框中是它们的静态路由。

静态路由是单向的,只决定本机去往目标网段怎么走,所以配置完一侧的静态路由后,对端设备必须也配置回程路由,这样才能实现数据的互通。

  1. 路由器相关操作(华为AR2220)
  • 配置接口IP:
    • 切换系统视图:system-view
    • 进入接口视图:interface GigabitEthernet 0/0/0
    • 配置IP地址和子网掩码:ip address IP地址 子网掩码 (删除加上undo即可)
      (此处子网掩码不支持 /24的写法,但支持 '空格24'的写法)
  • 查看路由表:display ip routing-table(任意视图)
  • 过滤查看路由表:display ip routing-table | include 关键字(任意视图)

使用:AR2220,练习命令行:

bash 复制代码
<Huawei>system-view 
[Huawei]interface GigabitEthernet 0/0/0                                #切换到g0/0/0接口
[Huawei-GigabitEthernet0/0/0]ip address 192.168.1.254 255.255.255.0    #0/0/0接口配置IP地址
[Huawei-GigabitEthernet0/0/0]in g0/0/1                                 #切换至0/0/1接口,简写
[Huawei-GigabitEthernet0/0/1]ip address 192.168.2.254 255.255.255.0    #0/0/0接口配置IP地址  
<Huawei>display ip routing-table                                       #查看路由表(任意视图下查看均可)
<Huawei>display ip routing-table | include /24                         #查看路由表,过滤关键字/24(任意视图操作)
  1. 直连路由
  • 直连路由:将接口配置好IP并且开启后,自动产生
  • 完成下方拓扑图,实现全网通信
  • 路由器型号:AR2220
  • PC机IP地址如图所示,配置步骤:略,PC机配置完IP地址记得点击确定

关于网关:

  • 一个主机的网关IP首先必须能和自己的主机通信,也就是必须和主机在同一个网段,通常是x.x.x.254
  • 主机上填的网关IP就是路由器连接这个局域网的接口 IP
  1. 静态路由
  • 静态路由/默认路由:由管理员在路由器上手动指定,为单项条目
  • 通信双方的边缘路由器都需要指定,否则会导致数据包有去无回
  • 命令:ip route-static 目标网络 子网掩码 下一跳地址(取消在原命令前加undo即可)
  • 新建拓扑图配置接口IP地址并通过静态路由实现全网互通

当主机1.1要访问2网段,因为r1本身连接着2网段,所以主机1的请求能轻松到达2网段(也就是r2)。但是r2是路由,路由没有网关指路,r2的路由表并没有网段1的直连路由的记录,它并不知道怎么回复主机1,因此此次请求会超时。

同理当主机1访问主机3.1和4.1也是如此。

这时候就需要给路由配置静态路由 ,给它指路,告知他如果找不到指定的目标,下一跳去哪一条路线

静态路由配置实操:

•修改路由器主机名,路由器(左)主机名为R1

bash 复制代码
<Huawei>system-view        #切换到系统视图
[Huawei]sysname R1         #修改主机名为R1

•修改路由器主机名,路由器(右)主机名为R2

bash 复制代码
<Huawei>system-view        #切换到系统视图
[Huawei]sysname R2         #修改主机名为R2
  • R1路由器
    • 进入g0/0/0接口配置IP地址192.168.1.254/24
    • 进入g0/0/1接口配置IP地址192.168.2.1/24
bash 复制代码
[R1]interface GigabitEthernet 0/0/0                                #进入g0/0/0接口
[R1-GigabitEthernet0/0/0]ip address 192.168.1.254 24   #为g0/0/0接口配置IP地址

[R1-GigabitEthernet0/0/0]in g0/0/1                                 #进入g0/0/1接口
[R1-GigabitEthernet0/0/1]ip address 192.168.2.1 24     #为g0/0/1接口配置IP地址
[R1-GigabitEthernet0/0/1]display ip routing-table | include /24    #查看路由器R1路由表
......
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

192.168.1.0/24  Direct  0    0           D   192.168.1.254   GigabitEthernet0/0/0
192.168.2.0/24  Direct  0    0           D   192.168.2.1     GigabitEthernet0/0/1
  • R2路由器
    • 进入g0/0/0接口配置:192.168.3.254/24
    • 进入g0/0/1接口配置IP地址192.168.2.2/24
    • 进入g0/0/2接口配置IP地址192.168.4254/24
bash 复制代码
[R2]interface GigabitEthernet 0/0/0                                #进入g0/0/0接口
[R2-GigabitEthernet0/0/0]ip address 192.168.3.254 24    #为g0/0/0接口配置IP地址

[R2-GigabitEthernet0/0/0]in g0/0/1                                 #进入g0/0/1接口
[R2-GigabitEthernet0/0/1]ip address 192.168.2.2 24      #为g0/0/1接口配置IP地址

[R2-GigabitEthernet0/0/1]in g0/0/2                                 #进入g0/0/2接口
[R2-GigabitEthernet0/0/2]ip address 192.168.4.254 24   #为g0/0/2接口配置IP地址
  
[R2-GigabitEthernet0/0/2]display ip routing-table | include /24    #查看路由表
...此处省略1万字...
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

192.168.2.0/24  Direct  0    0           D   192.168.2.2     GigabitEthernet0/0/1
192.168.3.0/24  Direct  0    0           D   192.168.3.254   GigabitEthernet0/0/0
192.168.4.0/24  Direct  0    0           D   192.168.4.254   GigabitEthernet0/0/2
  • R1路由器配置静态路由
    • 如果去往192.168.3.0/网段,下一跳地址为:192.168.2.2
    • 如果去往192.168.4.0/网段,下一跳地址为:192.168.2.2
bash 复制代码
[R1]ip route-static 192.168.3.0 255.255.255.0 192.168.2.2          #去往192.168.3.0,先将请求跳到192.168.2.2
[R1]ip route-static 192.168.4.0 255.255.255.0 192.168.2.2          #去往192.168.4.0,先将请求跳到192.168.2.2
[R1]display ip routing-table | include /24                         #查看路由表


Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

192.168.1.0/24  Direct  0    0           D   192.168.1.254   GigabitEthernet0/0/0
192.168.2.0/24  Direct  0    0           D   192.168.2.1     GigabitEthernet0/0/1
192.168.3.0/24  Static  60   0          RD   192.168.2.2     GigabitEthernet0/0/1
192.168.4.0/24  Static  60   0          RD   192.168.2.2     GigabitEthernet0/0/1
  1. 默认路由
    • 特殊静态路由,目标网络为0.0.0.0 0.0.0.0,可匹配所有目标地址
    • 只有当从路由表中找不到任何明确匹配的路由条目时,才会使用默认路由,一般在企业网关出口 使用
      (默认路由优先级最低)

(三)本模块小结

  1. 路由表查看方法
  2. 直连路由组网特点
  3. 静态路由组网特点与配置方式
  4. 默认路由使用场景与注意事项

三、三层交换机

配置虚拟接口ip

将虚拟接口加入对应

(一)三层交换机概述

即工作在第三层网络层的交换机

  • 核心:通过三层交换技术实现不同VLAN之间的通信,不同VLAN属于不同网段,需借助路由技术
  • 本质:三层交换 = 二层交换 + 三层转发

(二)虚拟接口概述

  1. 三层交换机上配置的接口属于虚拟接口。
  2. 使用 Vlanif (VLAN虚拟接口)实现VLAN间路由
  3. 进入虚拟接口:interface Vlanif VLAN编号
  4. 查看IP地址摘要:display ip interface brief
  5. 转发原理:主机发起请求,跨网段的请求会先走网关路由,路由转发至虚拟接口后,设备根据虚拟接口找到对应的VLAN,根据对应VLAN的MAC地址表查找目标MAC,从匹配物理接口转发数据帧
  • 三层交换机的物理接口是包含于对应的VLAN的,每一个VLAN只能配置一个虚拟接口
  • 虚拟接口(Vlanif)相当于vlan的虚拟网关

(三)虚拟接口配置步骤

  1. 确定需配置网关的VLAN
  2. 无对应VLAN则先创建
  3. 为每个VLAN的 虚拟接口(Vlanif)配置IP地址
  4. 三层交换机的虚拟接口(Vlanif)对应一个 VLAN。当跨网段路由转发到该虚拟接口时,设备会在对应的 VLAN 内通过 MAC 地址表查找目标MAC 地址,最终从匹配的物理接口转发数据帧。
  5. 按需为三层交换机添加路由

(四)三层交换机实操案例

设备:华为S5700
案例一:

三层交换机创建vlan 2、vlan 3,默认就有vlan 1,所以vlan 1无需重复创建

bash 复制代码
[Huawei]vlan batch 2 3        #同时创建vlan2,vlan3
[Huawei]display vlan          #查看vlan
  • 三层交换机进入:
    • Vlanif 1虚拟接口,配置IP:192.168.1.254/24
    • Vlanif 2虚拟接口,配置IP:192.168.2.254/24
    • Vlanif 3虚拟接口,配置IP:192.168.3.254/24
bash 复制代码
[Huawei]interface Vlanif 1                                #进入vlan1虚拟接口
[Huawei-Vlanif1]ip address 192.168.1.254 255.255.255.0    #配置IP

[Huawei-Vlanif1]in Vlanif 2                               #进入vlan2虚拟接口
[Huawei-Vlanif2]ip address 192.168.2.254 255.255.255.0    #配置IP地址

[Huawei-Vlanif2]in Vlanif 3                               #进入vlan2虚拟接口    
[Huawei-Vlanif3]ip address 192.168.3.254 255.255.255.0    #配置IP地址
[Huawei-Vlanif3]display ip interface brief                #查看IP地址摘要信息
  • 将g0/0/2加入vlan2,将g0/0/3加入vlan3
bash 复制代码
[Huawei-Vlanif3]in g0/0/2                                 #进入g0/0/2
[Huawei-GigabitEthernet0/0/2]port link-type access        #将接口设置为接入链路
[Huawei-GigabitEthernet0/0/2]port default vlan 2          #将接口加入vlan 2
bash 复制代码
[Huawei-GigabitEthernet0/0/2]in g0/0/3                    #进入g0/0/3
[Huawei-GigabitEthernet0/0/3]port link-type access        #将接口设置为接入链路
[Huawei-GigabitEthernet0/0/3]port default  vlan 3         #将接口加入vlan 3
  • 查看三层交换机的路由表
    • 此时的路由表已经可以看到想去往目标网段需要将请求转发至相应的vlan虚拟接口
    • 虚拟接口对应的是vlan,当跨网段路由转发到该虚拟接口时,设备会在对应的 VLAN 内通过 MAC 地址表查找目标MAC 地址,最终从匹配的物理接口转发数据帧。
bash 复制代码
[Huawei]display ip routing-table | include /24
...此处省略...  

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

    192.168.1.0/24  Direct  0    0           D   192.168.1.254   Vlanif1
    192.168.2.0/24  Direct  0    0           D   192.168.2.254   Vlanif2
    192.168.3.0/24  Direct  0    0           D   192.168.3.254   Vlanif3

任意主机ping测试,已经可以实现全网互通

流程解析:

主机 1:VLAN 1,网段 A,网关 = Vlanif1

主机 2:VLAN 2,网段 B,网关 = Vlanif2

三层交换机直连两台主机,不同 VLAN、不同网段

完整标准转发流程:

  • 主机 1 判断:目标跨网段 → 封装报文,目的 MAC 为 Vlanif1,发给交换机;
  • 交换机 Access 口接收,添加 VLAN1 标签,上送三层模块;
  • 三层交换机拆除二层帧头,解包识别三层 IP,查询路由表;
  • 路由匹配结果:下一跳为本设备 Vlanif2 直连网段;
  • 重新封装二层:删除 VLAN1 标签,封装 VLAN2 标签;
  • 在 VLAN2 的 MAC 地址表中查询主机 2 的 - MAC,对应物理端口;
  • 出接口剥离 VLAN 标签,裸帧发送给主机 2;
  • 回程流量反向同理。

案例二:

  • 延续上一个实验,更合理的使用三层交换机
    • 增加一个2层交换机,2层交换机连接PC机
  • 两个交换机之间的接口使用手工线连接 4号接口(非必须)
  • 二层交换机和三层交换机连接的接口需要放行所有vlan通过

流程解析:

  1. 主机判断与发送

    VLAN1主机(192.168.1.1)发现目标IP(192.168.2.x)与自己不同网段,将数据包发给默认网关(192.168.1.254,即三层交换机的Vlanif1),帧目的MAC为Vlanif1的MAC地址。

  2. 二层交换机转发

    • 二层交换机port1(Access口)收到无标签帧后,打上VLAN1标签,在设备内部转发。
    • 二层交换机port4(Trunk口)收到带VLAN1标签的帧,保留标签,通过Trunk链路发送给三层交换机。
  3. 三层交换机处理(核心路由转发)

    • 三层交换机的Trunk口收到带VLAN1标签的帧,识别后上送给Vlanif1接口处理。
    • 三层交换机拆除二层帧头,读取IP包,查询路由表,发现192.168.2.0/24网段的出接口为Vlanif2
    • 三层交换机重新封装帧:剥离VLAN1标签,打上VLAN2标签,从Trunk链路发回二层交换机。
  4. 二层交换机转发到目标主机

    • 二层交换机port4收到带VLAN2标签的帧,根据MAC地址表转发到port2
    • port2(Access口)剥离VLAN2标签,将无标签帧发送给VLAN2主机。
  • 二层交换机创建vlan 2、vlan 3
    • 将Ehternet0/0/2 加入vlan2
    • 将Ethernet0/0/3 加入vlan
bash 复制代码
[Huawei]vlan batch 2 3
[Huawei]in e0/0/2                                 #进入e0/0/2接口
[Huawei-Ethernet0/0/2]port link-type access       #将接口设置为接入链路
[Huawei-Ethernet0/0/2]port default vlan 2         #将e0/0/2接口加入vlan2

[Huawei-Ethernet0/0/2]in e0/0/3                   #进入e0/0/3接口
[Huawei-Ethernet0/0/3]port link-type access       #将接口设置为接入链路
[Huawei-Ethernet0/0/3]port default vlan 3         #将e0/0/3接口加入vlan3
 
[Huawei-Ethernet0/0/3]display vlan                #查看vlan
  • 二层交换机将e0/0/4接口(以自己的接口为准)设置为中继链路trunk,放行所有vlan
bash 复制代码
[Huawei-Ethernet0/0/3]in e0/0/4                      #进入e0/0/4接口
[Huawei-Ethernet0/0/4]port link-type trunk           #将接口设置为trunk中继链路
[Huawei-Ethernet0/0/4]port trunk allow-pass vlan all #放行所有vlan
  • 三层交换机将e0/0/4接口(以自己的接口为准)设置为中继链路trunk,放行所有vlan
bash 复制代码
[Huawei]interface GigabitEthernet 0/0/4                         #进入g0/0/4接口
[Huawei-GigabitEthernet0/0/4]port link-type trunk               #将接口设置为trunk中继链路
[Huawei-GigabitEthernet0/0/4]port trunk allow-pass vlan all     #放行所有vlan

任意主机ping测试,已经可以实现全网互通

四、OSPF动态路由

(一)动态路由概述

  1. 定义:基于某种路由协议自动生成路由表,无需管理员手动配置
  2. 特点:减少了管理任务,无需手动指定路由,事先宣告之后设备就可以自动学习,并确定通信线路

如例图,每个路由配置了不同的IP地址,且互相联通,配置了动态路由之后,他们会自动学习路由条目,最后所有路由器会拥有全网完整网段条目(但各自路由表的下一跳、出接口不同,不会完全一致)

  1. 工作流程:接口配IP生成直连路由→路由器间自动交互路由信息→根据网络拓扑变化实时更新路由表

(二)动态路由协议OSPF

  1. 全称:Open Shortest Path First(开放式最短路径优先)
  2. 适用场景:大中型企业网络、广域网等大型网络
  3. OSPF区域(了解):
    • 大型网络划分多个区域,路由器仅维护所在区域链路状态信息
    • 区域ID:可十进制数字或IP格式表示
    • 骨干区域Area 0:负责区域间路由信息传播

(三)OSPF基本配置

  1. 启动OSPF进程:Huaweiospf 1
  2. 进入骨干区域:Huawei-ospf-1area 0
  3. 宣告网段:Huawei-ospf-1-area-0.0.0.0network 网段 反掩码子网掩码取反 ,255改0、0改255)
    (路由器宣告网段需要将自身所有相连的网段全部宣告)

(四)OSPF实操案例

  • 基于上个实验改造,配置动态路由协议,实现全网互通
    • 增加PC机,配置192.168.5.1/24,网关192.168.85.254,PC机配置IP地址过程,略
    • 增加路由器:AR2220,与三层交换机相连,看清自己链接的接口号

配置思路:

  • 路由器配置
    • g0/0/0接口配置:192.168.4.2/24
    • g0/0/1接口配置:192.168.5.254
  • 三层交换机配置
    • 创建vlan 4,进入Vlanif 4虚拟接口配置:192.168.4.1/24
    • 将g0/0/2加入 vlan4
  • 路由器使用动态路由宣告自身网段
  • 三层交换机使用动态路由宣告自身网段

(五)本模块小结

  1. 动态路由的作用
  2. 动态路由的配置方式
相关推荐
阳光是sunny9 小时前
Vue 项目怎么做用户行为全链路监控?轻量插件方案详解
前端·面试·架构
EMA15 小时前
Docker虚拟化失败解决方案
架构
李斯维16 小时前
从历史的角度看 Android 软件架构
android·架构·android jetpack
JouYY18 小时前
聊一下多 Agent 编排架构的应用实践
架构·llm·agent
Sunia18 小时前
《AgentX 专栏》10-生产部署:3台2C4G云服务器把企业级Agent真正跑起来的完整方案
java·架构
ZhengEnCi2 天前
Q01-高并发点赞系统架构设计
架构
笨鸟飞不快2 天前
从 MVC 到 DDD:一次真实的渐进式迁移实录
后端·架构
这个DBA有点耶3 天前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构
锋行天下3 天前
我试图优化 Vite 的拆包,结果首屏慢了 10 倍
前端·vue.js·架构