一、默认网关与子网掩码的区别
子网掩码先划出“本地范围”,默认网关必须落在这个范围内。
1、子网掩码是用来判断目标 IP 和本机 IP 是否在同一个网段,网络地址 = IP & 子网掩码,相同 → 同一网段(直连可达,通过直连交换机可达);不同 → 需要路由(走网关)
2、默认网关的作用,通常是一台:路由器、三层交换机、防火墙;它的职责是:当目标不在本地网段时,把数据包转发出去;
3、同一个二层交换机下的设备通信,完全可以不涉及网关。可以不设置网关
4、网关(包括默认网关)的 IP 地址,必须和本机 IP 在同一个网段。
5、二层交换机上没有ip,只有mac地址,路由器是有IP地址的
6、二层交换机只做 MAC 转发(同 VLAN 内通信),三层交换机 = 二层交换 + 路由(不同 VLAN 之间通信)。核心区别就一个字:有没有"路由"能力。
二、目的 IP 和本机不在同一网段,是不是一定走默认网关?
通常是走默认网关,但不是“一定”;当目标不在本地网段,又没有更精确的路由时,才会走默认网关。
1、首先判断是不是“本地网段”
主机用子网掩码做判断:
目标网络地址 = 目的IP & 子网掩码
本机网络地址 = 本机IP & 子网掩码
相同 → 本地网段 → 直接通信(不走网关),不同 → 跨网段 → 需要路由
2、不同 → 跨网段 → 需要路由;主机会查 路由表,最精确匹配优先
本机地址192.168.168.139
yiifung@master01 ~]$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.168.2 0.0.0.0 UG 100 0 0 ens33
192.168.168.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
网关 0.0.0.0 代表是本地直连网段对应的网关;子网掩码是0.0.0.0的是默认网关
得到目的地址后,会从路由表中从最长掩码依次进行匹配 (目的IP & 子网掩码) 得到网段,如果和目标网段一致,就走这一个
但是当目标网段不一致,子网掩码一致的时候该怎么办?,目标IP只能属于以下其中一个网段
192.168.1.0 192.168.1.1 255.255.255.0
192.168.2.0 192.168.2.1 255.255.255.0
当目标网段一致,子网掩码一致的时候该怎么办?有两条路由规则 该怎么办,会通过看 Metric(度量值)值选择;(192.168.1.10是本机地址)
网络目标 掩码 网关 接口 Metric
10.1.2.0 255.255.255.0 192.168.1.254 192.168.1.10 25
10.1.2.0 255.255.255.0 192.168.1.253 192.168.1.10 50
三、二层交换机 (数据链路层(L2))
全局配置(Switch 级) → 定义 VLAN、STP、VTP 等"全局规则"
接口配置(Interface 级) → 定义端口行为、归属、速率等"端口级规则"
1、VLAN Number 是什么?
VLAN Number(VLAN ID / VLAN 号) 就是一个 1~4094 之间的数字编号,用来唯一标识一个 VLAN,一个VLAN通常也会有一个名字,用来方便识别
2、全局配置(Switch 级)
configure terminal vlan10name Financeexitvlan20name Engineeringexit2、 接口配置(Interface 级)
其中,FastEthernet0/1 是 Cisco 设备上的物理接口名称,拆开来看就很好懂
| 部分 | 含义 |
|---|---|
| FastEthernet | 接口类型 → 快速以太网(百兆口) |
| 0 | 插槽号(slot)/ 模块号 |
| 1 | 端口号 |
其他类型的接口如下
| 名称 | 速率 | 说明 |
|---|---|---|
| FastEthernet0/1 | 100 Mbps | 老设备常见,百兆口 |
| GigabitEthernet0/1 | 1 Gbps | 现在主流,千兆口 |
| TenGigabitEthernet0/1 | 10 Gbps | 上联/核心,万兆口 |
| GigabitEthernet1/0/1 | 1 Gbps | 模块化交换机(槽位 1) |
Access 口完整配置
interface GigabitEthernet0/1 description → PC-Finance-Dept switchport mode access switchport access vlan10switchport nonegotiate spanning-tree portfast spanning-tree bpduguardenablespeed1000duplex full noshutdownexitTrunk 口完整配置
interface GigabitEthernet0/24 description → Uplink-to-Core switchport mode trunk switchport trunk allowed vlan10,20,30 switchport trunk native vlan999switchport nonegotiate spanning-tree guard root noshutdownexit3、层级关系
Switch(全局)
├── VLAN 数据库(全局创建)
│ ├── VLAN 10
│ ├── VLAN 20
│ └── VLAN 30
├── STP 全局参数
│ ├── 模式
│ └── 优先级
├── VTP 域
│
└── Interface(接口级)
├── gi0/1 → access vlan 10(引用全局 VLAN 10)
├── gi0/2 → access vlan 10
├── gi0/3 → access vlan 20
└── gi0/24 → trunk(承载全局 VLAN 10,20,30)
4、为什么不同 VLAN 不能用同一网段?
核心原因:IP 网段 = 同一广播域的标识;
同一个 IP 子网 = 应该在同一个二层广播域内通信;当 PC 要和"同网段"的 IP 通信时:
PC1 (10.10.10.100/24) 想 ping 10.10.10.200/24
- PC1 判断:目标 IP 和我在同一网段 ✓
- PC1 直接发 ARP:“谁是 10.10.10.200?告诉我你的 MAC”
- ARP 是广播帧 → 只在当前 VLAN 内传播
- 另一个 VLAN 里的 10.10.10.200 永远收不到这个 ARP
- PC1 解析不到 MAC → 通信失败 ❌
四、三层交换机 (数据链路层(L2)+ 网络层(L3) )
三层交换机 = 二层交换 + 三层路由
1、SVI
SVI = Switch Virtual Interface(交换机虚拟接口),也叫 VLAN 接口 / VLANIF(华为叫法)
它不是物理口,是交换机内部创建的一个逻辑三层接口,绑定到一个 VLAN 上,给这个 VLAN 提供三层网关 IP。
为什么需要 SVI?
交换机本身没有 IP 路由能力,不同 VLAN 之间天然隔离(广播域隔离)。但实际网络中,不同 VLAN 的设备往往需要互相通信(例如财务部 VLAN 10 的 PC 要访问工程部 VLAN 20 的服务器),这时就必须有一个“三层网关”来转发跨 VLAN 的数据包。SVI 就是承担这个角色的逻辑接口。
SVI 的核心特性:
- 一个 VLAN 对应一个 SVI,SVI 的 IP 地址通常就是该 VLAN 内设备的网关地址;
- SVI 不是物理端口,不占用任何物理接口,只在交换机内部逻辑存在;
- 只有三层交换机(或启用了三层功能)才支持 SVI,纯二层交换机无法创建;
- 配置了 SVI 后,该 VLAN 内的设备就能通过它访问其他 VLAN 或外部网络。
配置示例(Cisco 三层交换机):
interface vlan10ipaddress10.10.10.254255.255.255.0 noshutdownexit上面这条命令给 VLAN 10 创建了一个 SVI,IP 为 10.10.10.254/24。VLAN 10 内的 PC(如 10.10.10.100)把默认网关设为 10.10.10.254 后,就能通过这个 SVI 与其他 VLAN 通信。
SVI 与物理接口的关系:
| 对比项 | SVI(VLAN 接口) | 物理三层接口 |
|---|---|---|
| 存在形式 | 逻辑接口,绑定 VLAN | 物理端口(如 gi0/1) |
| 是否依赖 VLAN | 必须绑定一个 VLAN | 不依赖 VLAN |
| 典型用途 | 给 VLAN 提供网关 | 直连路由、互联接口 |
| 配置位置 | interface vlan N | interface GigabitEthernet0/x |
小结:
SVI 是三层交换机实现“VLAN 间路由”的关键机制。它把“二层隔离”和“三层互通”结合起来:VLAN 内部靠 MAC 转发(二层),VLAN 之间靠 SVI 路由(三层)。理解了 SVI,也就理解了为什么三层交换机比二层交换机多了一个“路由”能力。
五、交换机命令
| 模式 | 提示符 | 能干什么 |
|---|---|---|
| 用户模式 | Switch> | 看基本信息,不能改配置 |
| 特权模式 | Switch# | 看全部信息、保存/重启、进配置 |
| 全局配置 | Switch(config)# | 改全局参数(hostname、ip routing) |
| 接口配置 | Switch(config-if)# | 配端口(IP、VLAN、速率) |
| VLAN 配置 | Switch(config-vlan)# | 建 VLAN |
| 路由配置 | Switch(config-router)# | 配路由协议(RIP/OSPF) |
1、用户模式 Switch>
权限最低,只能"看"和"连",不能改任何东西。
| 能做的事 | 命令 |
|---|---|
| 进特权模式 | enable |
| Ping | ping x.x.x.x |
| Traceroute | traceroute x.x.x.x |
| Telnet | telnet x.x.x.x |
| SSH | ssh -l user x.x.x.x |
| 退出 | exit / logout |
| 看时间 | show clock |
2、特权模式 Switch#
能看所有信息,能调试,能做高级操作,但默认不能直接改配置。
查看类
| 命令 | 看什么 |
|---|---|
| show running-config | 当前运行配置 |
| show startup-config | 启动配置 |
| show vlan brief | VLAN 和端口分配 |
| show ip interface brief | 所有接口状态一览 |
| show ip route | 路由表 |
| show mac address-table | MAC 地址表 |
| show interfaces | 接口详细信息 |
| show interfaces status | 端口状态速查 |
| show cdp neighbors | 邻居设备 |
| show version | 型号/IOS版本/序列号 |
| show arp | ARP 表 |
| show spanning-tree | STP 状态 |
| show log | 日志 |
操作类
| 命令 | 干嘛 |
|---|---|
| configure terminal | 进全局配置模式 |
| write memory / wr | 保存配置 |
| copy run start | 同上 |
| reload | 重启 |
| ping | 测试连通性 |
| traceroute | 路由追踪 |
| erase startup-config | 清空启动配置(恢复出厂) |
| delete vlan.dat | 删 VLAN 数据库(恢复出厂要一起做) |