diff --git "a/31\344\275\225\345\230\211\346\200\241/20250421 \350\267\257\347\224\261\345\231\250 OSPF \345\212\250\346\200\201\350\267\257\347\224\261.md" "b/31\344\275\225\345\230\211\346\200\241/20250421 \350\267\257\347\224\261\345\231\250 OSPF \345\212\250\346\200\201\350\267\257\347\224\261.md" new file mode 100644 index 0000000000000000000000000000000000000000..2138f23dfb5c38dcbb82e991056cf55c6b0eed61 --- /dev/null +++ "b/31\344\275\225\345\230\211\346\200\241/20250421 \350\267\257\347\224\261\345\231\250 OSPF \345\212\250\346\200\201\350\267\257\347\224\261.md" @@ -0,0 +1,170 @@ +# 路由器 OSPF 动态路由 +## 一、作用 +OSPF(开放式最短路径优先协议)是一种基于链路状态的内部网关协议,常用于大型企业网络或互联网服务提供商(ISP)网络实现动态路由。它能够高效处理大量路由信息,支持灵活的路由策略,可在复杂网络拓扑中实现高效路由计算,同时通过分层和分区特性让网络管理更加灵活。 + +## 二、技术原理 +### 2.1 路由转发基本过程 +路由器通过路由选择协议构建稳定路由表后,对收到的IP分组按以下流程转发: +1. 检查数据分组头中的目的IP地址,计算目的网络; +2. 若路由表中有到达目的网络的下一跳路由器IP地址,则按该路径转发IP分组; +3. 下一跳路由器接收分组后,重复类似处理继续转发,直至到达目的网络; +4. 若目的网络与路由器端口直连,则直接转发IP分组; +5. 若路由表中无下一跳路由地址及目的端口信息,则丢弃IP分组; +6. 若未设置默认路由或默认路由中也无目的网络路由信息,同样丢弃IP分组。 + +### 2.2 OSPF协议特点 +- **分层设计**:支持划分区域,适用于大型互联网环境; +- **开放性**:允许多厂商设备集成; +- **地址支持**:支持可变长掩码(VLSM)和无类别域间路由(CIDR); +- **无跳数限制**:相比部分协议,没有路由最大跳数限制; +- **独立数据表**:包含邻居关系数据库(跟踪直连邻居路由器)、拓扑数据库(确定全网拓扑结构)、路由选择表; +- **更新方式**:采用组播报文进行路由更新。 + +### 2.3 OSPF基本配置与概念 +- **进程与区域**:启用并运行OSPF进程,进程ID仅具本地意义(起始值为1),不同路由器无需相同进程ID也可通信,还可同时运行多个进程用于拓扑数据库备份。区域由相邻网络和路由器组成,同一区域内路由器共享区域ID ,区域0为必不可少的主干区域,同一区域路由器拥有相同拓扑表。 +- **命令参数**:`network`命令参数由网络地址和通配符掩码组成,通配符掩码用于确定匹配地址范围,0表示精确匹配,1表示任意匹配,与子网掩码概念不同。 + +## 三、实验设备 +- Router-PT 2台 +- Switch_3560 1台 +- Switch_2960 1台 +- PC 3台 +- 直通线、交叉线、串口线 + +## 四、实验拓扑 +[此处插入实验拓扑图链接或图片描述] + +## 五、实验步骤 +### 5.1 新建拓扑与PC配置 +1. 新建Cisco PT拓扑图; +2. 为各PC设置IP及网关地址: + - **PC0**:IP地址 `192.168.1.2`,子网掩码 `255.255.255.0`,网关 `192.168.1.1` + - **PC1**:IP地址 `192.168.1.3`,子网掩码 `255.255.255.0`,网关 `192.168.1.1` + - **PC2**:IP地址 `192.168.2.2`,子网掩码 `255.255.255.0`,网关 `192.168.2.1` + +### 5.2 三层交换机Switch1配置 +```bash +/*=Part1 S3560 VLAN配置 */ +Switch>en +Switch#config t +Switch(config)#vlan 2 //创建VLAN 2 +Switch(config-vlan)#vlan 3 //创建VLAN 3 +Switch(config-vlan)#exit +Switch(config)#inter f0/1 +Switch(config-if)#switchport access vlan 2 //设置端口模式为Access +Switch(config-if)#exit +Switch(config)#inter f0/2 +Switch(config-if)#switchport access vlan 3 //设置端口模式为Access +Switch(config-if)#exit +/*=Part2 SVI路由配置 */ +Switch(config)#ip routing //开启路由功能,默认关闭 +Switch(config)#interface vlan 2 //进入SVI接口模式,接口自动开启 +Switch(config-if)#ip address 192.168.3.1 255.255.255.0 //配置SVI接口IP +Switch(config-if)#exit +Switch(config)#interface vlan 3 +Switch(config-if)#ip address 192.168.1.1 255.255.255.0 +Switch(config-if)#exit +/*=Part3 OSPF动态路由配置 */ +Switch(config)#router ospf 1 //启用OSPF协议,从属OSPF进程ID=1 +//指定通告网络,并归属OSPF区域ID=0 +Switch(config-router)#network 192.168.1.0 0.0.0.255 area 0 +Switch(config-router)#network 192.168.3.0 0.0.0.255 area 0 +Switch(config)#^Z +Switch#show r +Switch#show ip route +``` + +### 5.3 Router0配置 +```bash +/*=Part1 Router0 基本配置 */ +Router>enable +Router#conf t +Router(config)#inter f0/0 //进入第0模块第0端口(快速以太网接口) +Router(config-if)#ip address 192.168.3.2 255.255.255.0 //配置f0/0接口IP +Router(config-if)#no shutdown //开启端口,默认关闭 +Router(config-if)#exit +Router(config)#interface serial 2/0 //进入第2模块第0端口(串行接口) +Router(config-if)#ip address 10.254.10.1 255.255.255.0 //配置s2/0接口IP +Router(config-if)#clock rate 64000 //必须配置时钟才可通信 +Router(config-if)#no shutdown //开启端口,默认关闭 +Router(config-if)#exit +/*=Part2 OSPF动态路由配置 */ +Router(config)#router ospf 1 //启用OSPF协议,从属OSPF进程ID=1 +//指定通告网络,并归属OSPF区域ID=0 +Router(config-router)#network 192.168.3.0 0.0.0.255 area 0 +Router(config-router)#network 10.254.10.0 0.0.0.255 area 0 +Router(config-router)#^Z +Router#show r +Router#show ip route +``` + +### 5.4 Router1配置 +```bash +/*=Part1 Router1 基本配置 */ +Router>enable +Router#conf t +Router(config)#inter f0/0 //进入第0模块第0端口(快速以太网接口) +Router(config-if)#ip address 192.168.2.1 255.255.255.0 //配置f0/0接口IP +Router(config-if)#no shutdown //开启端口,默认关闭 +Router(config-if)#exit +Router(config)#interface serial 2/0 //进入第2模块第0端口(串行接口) +Router(config-if)#ip address 10.254.10.2 255.255.255.0 //配置s2/0接口IP +Router(config-if)#no shutdown //开启端口,默认关闭 +Router(config)#exit +/*=Part2 OSPF动态路由配置 */ +Router(config)#router ospf 1 //启用OSPF协议,从属OSPF进程ID=1 +//指定通告网络,并归属OSPF区域ID=0 +Router(config-router)#network 192.168.2.0 0.0.0.255 area 0 +Router(config-router)#network 10.254.10.0 0.0.0.255 area 0 +Router(config-router)#^Z +Router#show r +Router#show ip route +``` + +### 5.5 链路测试 +在PC命令提示符CMD下执行以下命令测试链路连通性: +- **PC0和PC1**: + ```bash + ping 192.168.1.1 //内网链路通 + ping 10.254.10.1 //外网链路通 + ping 192.168.2.2 //目的网络链路通 + ``` +- **PC2**: + ```bash + ping 10.254.10.1 //链路通 + ping 192.168.3.1 //链路通 + ping 192.168.1.3 //链路通 + ``` + +## 六、路由表变化 +### 6.1 未配置OSPF时 +``` +10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks +C 10.20.30.0/24 is directly connected, GigabitEthernet0/2 +L 10.20.30.4/32 is directly connected, GigabitEthernet0/2 +192.168.250.0/24 is variably subnetted, 2 subnets, 2 masks +C 192.168.250.0/24 is directly connected, GigabitEthernet0/0 +L 192.168.250.1/32 is directly connected, GigabitEthernet0/0 +``` + +### 6.2 刚配置OSPF时 +``` +10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks +C 10.20.30.0/24 is directly connected, GigabitEthernet0/2 +L 10.20.30.4/32 is directly connected, GigabitEthernet0/2 +192.168.250.0/24 is variably subnetted, 2 subnets, 2 masks +C 192.168.250.0/24 is directly connected, GigabitEthernet0/0 +L 192.168.250.1/32 is directly connected, GigabitEthernet0/0 +O 192.168.251.0/24 [110/2] via 10.20.30.5, 00:00:05, +``` + +### 6.3 Ping目标终端后 +``` +10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks +C 10.20.30.0/24 is directly connected, GigabitEthernet0/2 +L 10.20.30.4/32 is directly connected, GigabitEthernet0/2 +192.168.250.0/24 is variably subnetted, 2 subnets, 2 masks +C 192.168.250.0/24 is directly connected, GigabitEthernet0/0 +L 192.168.250.1/32 is directly connected, GigabitEthernet0/0 +O 192.168.251.0/24 [110/2] via 10.20.30.5, 00:02:45, +``` \ No newline at end of file