IP 连接 (IP Connectivity)
IP 连接 (IP Connectivity)
1. 路由器的工作原理 (Router Operation)
路由器工作在 OSI 模型的网络层(第三层),其核心功能是转发数据包,并在不同的网络(或称子网)之间进行寻址。
a. 转发决策的依据
路由器不依赖 MAC 地址表,而是基于数据包的 目的 IP 地址 来进行转发决策。
- 数据包进入: 路由器接口收到一个数据包。
- 解封装: 路由器移除第二层(以太网)头部,检查第三层(IP)头部。
- 查找路由表: 路由器检查数据包的目的 IP 地址,并将其与路由表中的所有条目进行匹配。
- 最长前缀匹配 (Longest Prefix Match): 路由器选择与目的 IP 地址匹配度最高的条目,即子网掩码(或前缀长度)最长的路由条目。这是路由器的核心决策原则。
- 转发: 根据选定的路由条目,路由器确定下一跳 IP 地址和出接口。
- 重新封装: 路由器使用出接口的 MAC 地址作为源 MAC 地址,并使用下一跳设备的 MAC 地址作为目的 MAC 地址,重新封装数据包(将 IP 数据包封装到新的二层帧中)。
- 发送: 路由器通过出接口发送新的二层帧。
b. 路由表结构 (Routing Table Structure)
路由表是路由器做出转发决策的基础。一个典型的路由表条目包含以下关键信息:
- 目的网络 (Destination Network): 数据包要到达的网络地址和子网掩码(如
192.168.1.0/24)。 - 下一跳 (Next-Hop): 数据包应该发送到的邻居路由器的 IP 地址。
- 出接口 (Egress Interface): 数据包应该离开本路由器的物理接口(如
GigabitEthernet0/0)。 - 管理距离 (Administrative Distance, AD): 衡量路由源的可信度,值越小越可信。
- 度量值 (Metric): 衡量到达目的网络的路径优劣,值越小越好。
c. 路由表的建立方式
路由器通过三种主要方式学习路由信息:
| 学习方式 | 来源 | 特点 | AD 值 (Cisco 默认) |
|---|---|---|---|
| 直连路由 (Connected) | 路由器接口上配置的 IP 地址 | 路由器接口启用后直接形成,最可信。 | 0 |
| 静态路由 (Static) | 管理员手动配置的路由条目 | 简单、高效,但无法适应拓扑变化。 | 1 |
| 动态路由 (Dynamic) | 动态路由协议(如 OSPF, EIGRP) | 路由器之间自动交换信息,能适应拓扑变化。 | OSPF: 110 |
2. 配置和验证基本路由器接口
配置路由器的接口,使其能够参与三层转发:
1 | Router> enable |
好的,我们继续学习 IP 连接 中的 **静态路由 (Static Routing)**。
3. 静态路由 (Static Routing)
静态路由是由网络管理员手动配置在路由器上的路由条目,指导路由器如何将数据包转发到目标网络。
优点与缺点
| 特性 | 优点 | 缺点 |
|---|---|---|
| 安全性 | 高,因为路由信息不会在网络中广播。 | N/A |
| 资源消耗 | 低,路由器无需运行复杂的路由算法,CPU 和内存占用少。 | N/A |
| 可扩展性 | 低,在大规模网络中,手动配置和维护成百上千条静态路由非常耗时且容易出错。 | 低 |
| 拓扑变化 | 无法适应拓扑变化。如果指定的路径中断,静态路由会失效,需要管理员手动修改。 | 高 |
静态路由的类型和配置
静态路由的配置命令都是 ip route,但根据指定下一跳的方式,可以分为以下几种:
a. 标准静态路由 (Standard Static Route)
这是最常见的类型,用于指导数据包到达特定的目的网络。
配置语法:
ip route [目的网络] [子网掩码] [下一跳IP]- 示例: 告诉路由器,要到达
192.168.20.0/24这个网络,应该将数据包发送给邻居路由器10.1.1.2。
1
Router(config)# ip route 192.168.20.0 255.255.255.0 10.1.1.2
- 示例: 告诉路由器,要到达
配置语法(带出接口):
ip route [目的网络] [子网掩码] [出接口]- 示例: 告诉路由器,到达
192.168.20.0/24,从GigabitEthernet0/0发出。
1
Router(config)# ip route 192.168.20.0 255.255.255.0 GigabitEthernet0/0
❗ 注意 (出接口 vs. 下一跳): 在配置静态路由时,如果出接口是点对点 (Point-to-Point) 链路(如串行链路或隧道),通常使用出接口或下一跳 IP。但如果出接口是多点访问 (Multi-Access) 链路(如以太网),则必须使用下一跳 IP 地址,以避免路由器对该网段上的每个数据包都执行 ARP 查找。
- 示例: 告诉路由器,到达
b. 默认路由 (Default Route)
默认路由是一种特殊的静态路由,用于匹配路由表中没有明确匹配项的所有目的网络。它类似于计算机上的默认网关。
配置语法:
ip route 0.0.0.0 0.0.0.0 [下一跳IP]- 作用: 匹配所有网络,目标是
0.0.0.0,子网掩码是0.0.0.0。 - 示例: 将所有未知目的地的流量发送给 ISP 的路由器
203.0.113.2。
1
Router(config)# ip route 0.0.0.0 0.0.0.0 203.0.113.2
- 作用: 匹配所有网络,目标是
c. 浮动静态路由 (Floating Static Route)
浮动静态路由是一种备份路由机制。它与主路由相同,但通过设置一个**更高的管理距离 (Administrative Distance, AD)**,使其在主路由(通常是动态路由或另一条静态路由)激活时保持非活动状态。
配置语法:
ip route [目的网络] [子网掩码] [下一跳IP] [AD 值]- 示例: 假设主路由是通过 OSPF (AD=110) 学习的。
1
2
3! 主路由:通过 OSPF 学习到 192.168.20.0 (AD=110)
! 浮动静态路由:设置 AD=130,只有当 OSPF 路由失效时,它才会被激活
Router(config)# ip route 192.168.20.0 255.255.255.0 10.1.2.5 130- 作用: OSPF 路由失效(AD=110 的条目消失)时,路由器发现 AD=130 的静态路由是当前到达目的地的最优路径,将其安装到路由表中,实现自动切换。
验证命令
查看路由表:
1
2Router# show ip route
! 静态路由在路由表中以 'S' 标识验证浮动路由状态: 浮动路由在主路由激活时不会出现在路由表中。要查看配置本身,需要使用:
1
Router# show running-config | section ip route
好的,我们进入 IP 连接 中最重要的动态路由协议之一:OSPFv2 (开放最短路径优先) 的学习。
4. OSPFv2 (开放最短路径优先)
OSPFv2 是一种 链路状态 (Link-State) 内部网关协议 (IGP),专为 IPv4 网络设计(OSPFv3 用于 IPv6)。
a. OSPF 的核心工作原理
OSPF 不依赖下一跳的距离计数,而是基于网络的拓扑信息来计算最优路径。
- 建立邻居关系 (Establish Neighbor Adjacencies):
- 路由器在接口上启用 OSPF 后,会通过发送 Hello 报文来发现同一网段上的其他 OSPF 邻居。
- Hello 报文用于协商并确保双方的 Router ID、区域 ID (Area ID)、Hello/Dead 定时器、认证等参数一致。
- 一旦参数匹配,路由器会进入 Full 状态,表示邻居关系完全建立。
- 链路状态通告 (LSA, Link-State Advertisements) 交换:
- 路由器将自身的 链路状态信息(接口状态、成本、连接的网络)打包成 LSA。
- 路由器通过 LSDB (Link-State Database, 链路状态数据库) 相互交换 LSA,最终网络中所有路由器都拥有完全相同的拓扑图。
- SPF 算法计算:
- 每台路由器以自身为根,运行 Dijkstra 的最短路径优先 (SPF) 算法。
- 该算法计算出到达网络中所有目的地的**最短路径树 (Shortest Path Tree)**。
- 安装路由:
- 根据 SPF 算法的结果,路由器将最优路径安装到 IP 路由表中。
b. 关键概念和参数
- 区域 (Area): OSPF 采用分层结构,将网络划分为不同的区域。
- 骨干区域 (Area 0 或 Backbone Area): 所有其他区域必须直接连接到 Area 0。
- 非骨干区域 (Non-Backbone Area): 用于将大型网络分割成更小的管理单元,减少 LSA 泛洪的范围,提高网络稳定性。
- Router ID (RID): 路由器在 OSPF 网络中的唯一标识符,是一个 32 位的 IP 地址格式。
- 确定顺序: 优先使用手动配置的 Router ID;如果没有,则使用最高的 Loopback 接口 IP 地址;如果还没有,则使用最高的 活动物理接口 IP 地址。
- 重要性: RID 在邻居关系建立后不会改变,除非重启 OSPF 进程。
- Cost (开销): OSPF 用 Cost 来衡量路径优劣,是 SPF 算法的输入值。
- 计算公式: $Cost = \frac{Reference_Bandwidth}{Interface_Bandwidth}$
- 默认参考带宽 (Reference Bandwidth): 10^8 bps (即 100 Mbps)。
- 示例: 100 Mbps 接口 Cost=1;10 Mbps 接口 Cost=10。
c. OSPFv2 单区域配置
CCNA 级别主要关注单区域 (Single-Area) OSPFv2 的配置。
启用 OSPF 进程:
1
2Router(config)# router ospf 1
! '1' 是进程 ID (Process ID),仅在本地有意义,可以任意设置设置 Router ID (可选但推荐):
1
2Router(config-router)# router-id 1.1.1.1
! 明确设置 RID通告网络 (宣告):
使用 network 命令指定哪些接口要参与 OSPF 进程。
- 配置语法:
network [网络地址] [通配符掩码] area [区域ID] - 通配符掩码 (Wildcard Mask): 与子网掩码相反,用于指定 IP 地址中哪些位需要匹配(0 表示必须匹配,1 表示可以忽略)。
- 示例:
192.168.1.0 0.0.0.255表示匹配192.168.1.x网段中的所有 IP 地址。
- 示例:
- 示例配置:
1
2
3
4Router(config-router)# network 192.168.1.0 0.0.0.255 area 0
! 宣告 192.168.1.x 网段加入 Area 0
Router(config-router)# network 10.1.1.1 0.0.0.0 area 0
! 宣告特定接口 10.1.1.1 (使用精确匹配) 加入 Area 0❗ 注意:
network命令的真正作用是:在匹配的接口上启用 OSPF 进程,并决定将该接口所属的网络作为 LSA 发送出去。- 配置语法:
d. 验证命令
查看 OSPF 邻居状态:
1
2Router# show ip ospf neighbor
! 检查邻居的 RID、状态 (State 应为 FULL)、邻接关系建立时间查看 OSPF 进程和 RID:
1
2Router# show ip ospf
! 查看 OSPF 进程 ID, RID, 区域信息查看 OSPF 路由表:
1
2Router# show ip route ospf
! 仅显示通过 OSPF 学习到的路由 (在路由表中以 'O' 标识)查看 LSDB:
1
2Router# show ip ospf database
! 查看路由器收到的所有 LSA 详情,即拓扑图的原始数据
5. 冗余协议 (First-Hop Redundancy Protocols, FHRP)
在任何局域网 (LAN) 中,默认网关都是单点故障。一旦路由器接口或整个路由器失效,局域网中的所有设备都将无法与外部网络通信。
FHRP 的目的就是消除默认网关的单点故障,提供网关冗余。
a. FHRP 工作原理
FHRP 通过创建一个虚拟路由器来实现冗余:
- 虚拟 MAC 地址和 IP 地址: FHRP 组中的所有物理路由器共享一个虚拟 IP 地址和一个虚拟 MAC 地址。
- 默认网关配置: 终端设备的默认网关地址被配置为这个虚拟 IP 地址。
- 主/备选举: 协议在 FHRP 组中的路由器之间选举一个**活动路由器 (Active Router)(或称主路由器)和一个或多个备用路由器 (Standby Router)**。
- 流量转发: 活动路由器负责响应 ARP 请求,并使用虚拟 MAC 地址转发所有发送到虚拟 IP 地址的数据包。
- 故障切换: 如果活动路由器失效,备用路由器会在几秒钟内接管虚拟 IP 地址和 MAC 地址,成为新的活动路由器,网络连通性得以快速恢复。
b. 常见的 FHRP 协议
CCNA 中主要关注以下两种协议:
HSRP (Hot Standby Router Protocol)
- 特点: 思科私有协议。
- 路由器角色: Active (活动) 和 Standby (备用)。
- 选举机制: 比较优先级 (Priority)(默认 100,范围 0-255,值越高越优先)。如果优先级相同,则比较接口的IP 地址(IP 地址越高越优先)。
- 抢占 (Preemption):
- 默认情况下,HSRP 不启用抢占。这意味着即使一台具有更高优先级的路由器加入,它也会保持 Standby 状态。
- 启用抢占后,如果一台具有更高优先级的路由器上线,它将立即抢夺 Active 角色。
- 版本: HSRPv1 和 HSRPv2 (支持 IPv6 和更高的组编号)。
配置示例 (HSRP):
1 | RouterA(config)# interface GigabitEthernet0/0 |
VRRP (Virtual Router Redundancy Protocol)
- 特点: IETF 开放标准协议 (RFC 3768)。
- 路由器角色: Master (主) 和 Backup (备份)。
- 选举机制: 与 HSRP 类似,也是基于优先级(默认 100)。最高优先级的路由器成为 Master。
- 抢占: 默认启用抢占。
- 认证: 支持明文或 MD5 认证。
配置示例 (VRRP):
1 | RouterB(config)# interface GigabitEthernet0/0 |
c. 验证命令
验证 FHRP 状态:
1
2Router# show standby brief
! 查看 HSRP 组号、状态、活动/备用 IP、虚拟 IP详细验证:
1
2Router# show standby
! 查看详细信息,包括计时器和抢占状态
