起序:路由器选择路径的时候,不是根据 MAC 地址
选择路径,而是根据 目标 IP 地址
选择,因为路由器是连接不同网段的,路由器是对不同网段之间进行转发。
一、概述
先说一下
路由
,它和路由器
的意思容易让人搞混,差别还是有的:
- 路由(动词):跨越从
源主机
到目标主机
的一个互联网络来转发数据包
的过程,同时也是选择最佳路径
的过程。 - 路由器(名词):能够将数据包转发到正确的目的地,并在转发过程中
选择最佳路径
的设备。
路由器是
三层设备
,主要工作就是路由,转发数据最基本的依据就是路由表
。路由表的形成方式:
- 直连路由条目:配置接口 IP 地址并开启,自动形成。
- 非直连路由条目:需要手工配置
静态路由
或配置动态路由
。
路由表的形成方式不同,那么形成的
路由条目
就会有不同的类型:
- C(Connect):直接路由条目(自动形成)
- S(Static):静态路由(手工配置)
- S*:默认路由(手工配置)
二、配置路由表
1、网络拓扑图
话不多说,开局一张图,内容全靠编。图结构不是很复杂,就是标注的比较多,为了更好区分,就采取了画框的手段。
2、路由表
在
网络拓扑图
中的每个路由器
都需要配置路由表
,下方每个路由器需要配置的路由表。除了直连路由
可以写接口,非直连路由
不能写接口,只能写下一跳地址
。
- 配置静态路由
# ip route 目标网段 子网掩码 下一跳 IP 地址 [管理距离]
ip route 10.1.1.0 255.255.255.0 20.1.1.2
- 配置默认路由
# ip route 0.0.0.0 0.0.0.0 下一跳 IP 地址 [管理距离]
ip route 0.0.0.0 0.0.0.0 20.1.1.2
- 查看路由表
show ip route
1)、路由器 R1
需要配置的路由表
路由条目类型 | 目标 IP 网段 | 接口 / 下一跳 IP 地址 |
C | 10.1.1.0/24 | Fa0/0 |
C | 20.1.1.0/24 | Fa0/1 |
S | 30.1.1.0/24 | 20.1.1.2 |
S | 40.1.1.0/24 | 20.1.1.2 |
S | 50.1.1.0/24 | 20.1.1.2 |
S | 60.1.1.0/24 | 20.1.1.2 |
配置 IP 地址
# 进入 `特权模式`
R1>en
# 进入 `全局配置模式`
R1#conf t
# 进入 `接口配置模式` 编号为 0 的接口
R1(config)#int f0/0
# 给接口编号为 0 的配置 IP 地址(格式:ip add IP地址 网关)
R1(config-if)#ip add 10.1.1.254 255.255.255.0
# 启动这个接口
R1(config-if)#no sh
# 进入 `接口配置模式` 编号为 1 的接口
R1(config-if)#int f0/1
# 给接口编号为 1 的配置 IP 地址(格式:ip add IP地址 网关)
R1(config-if)#ip add 20.1.1.1 255.255.255.0
# 启动这个接口
R1(config-if)#no sh
# 查看接口配置好的 IP 地址
R1(config-if)#do sh ip int b
配置路由表
# 进入 `特权模式`
R1>en
# 进入 `全局配置模式`
R1#conf t
# 配置静态路由表
R1(config)#ip route 30.1.1.0 255.255.255.0 20.1.1.2
R1(config)#ip route 40.1.1.0 255.255.255.0 20.1.1.2
R1(config)#ip route 50.1.1.0 255.255.255.0 20.1.1.2
R1(config)#ip route 60.1.1.0 255.255.255.0 20.1.1.2
# 查看配置好的路由表
R1(config)#do sh ip route
2)、路由器 R2
需要配置的路由表
路由条目类型 | 目标 IP 网段 | 接口 / 下一跳 IP 地址 |
C | 20.1.1.0/24 | Fa0/0 |
C | 30.1.1.0/24 | Fa0/1 |
C | 40.1.1.0/24 | Fa1/0 |
S | 10.1.1.0/24 | 20.1.1.1 |
S | 50.1.1.0/24 | 40.1.1.2 |
S | 60.1.1.0/24 | 30.1.1.2 |
配置 IP 地址
R2>en
R2#conf t
R2(config)#int f0/0
R2(config-if)#ip add 20.1.1.2 255.255.255.0
R2(config-if)#no sh
R2(config-if)#int f0/1
R2(config-if)#ip add 30.1.1.1 255.255.255.0
R2(config-if)#no sh
R2(config-if)#int f1/0
R2(config-if)#ip add 40.1.1.1 255.255.255.0
R2(config-if)#no sh
R2(config-if)#do sh ip int b
配置路由表
R2>en
R2#conf t
R2(config)#ip route 10.1.1.0 255.255.255.0 20.1.1.1
R2(config)#ip route 50.1.1.0 255.255.255.0 40.1.1.2
R2(config)#ip route 60.1.1.0 255.255.255.0 30.1.1.2
R2(config)#do sh ip route
3)、路由器 R3
需要配置的路由表
路由条目类型 | 目标 IP 网段 | 接口 / 下一跳 IP 地址 |
C | 50.1.1.0/24 | Fa0/0 |
C | 40.1.1.0/24 | Fa0/1 |
S | 10.1.1.0/24 | 40.1.1.1 |
S | 20.1.1.0/24 | 40.1.1.1 |
S | 30.1.1.0/24 | 40.1.1.1 |
S | 60.1.1.0/24 | 40.1.1.1 |
配置 IP 地址
R3>en
R3#conf t
R3(config)#int f0/0
R3(config-if)#ip add 50.1.1.254 255.255.255.0
R3(config-if)#no sh
R3(config-if)#int f0/1
R3(config-if)#ip add 40.1.1.2 255.255.255.0
R3(config-if)#no sh
R3(config-if)#do sh ip int b
配置路由表
R3>en
R3#conf t
R3(config)#ip route 10.1.1.0 255.255.255.0 40.1.1.1
R3(config)#ip route 20.1.1.0 255.255.255.0 40.1.1.1
R3(config)#ip route 30.1.1.0 255.255.255.0 40.1.1.1
R3(config)#ip route 60.1.1.0 255.255.255.0 40.1.1.1
R3(config)#do sh ip route
4)、路由器 R4
需要配置的路由表
路由条目类型 | 目标 IP 网段 | 接口 / 下一跳 IP 地址 |
C | 30.1.1.0/24 | Fa0/0 |
C | 60.1.1.0/24 | Fa0/1 |
S | 10.1.1.0/24 | 30.1.1.1 |
S | 20.1.1.0/24 | 30.1.1.1 |
S | 40.1.1.0/24 | 30.1.1.1 |
S | 50.1.1.0/24 | 30.1.1.1 |
配置 IP 地址
R4>en
R4#conf t
R4(config)#int f0/0
R4(config-if)#ip add 60.1.1.254 255.255.255.0
R4(config-if)#no sh
R4(config-if)#int f0/1
R4(config-if)#ip add 30.1.1.2 255.255.255.0
R4(config-if)#no sh
R4(config-if)#do sh ip int b
配置路由表
R4>en
R4#conf t
R4(config)#ip route 10.1.1.0 255.255.255.0 30.1.1.1
R4(config)#ip route 20.1.1.0 255.255.255.0 30.1.1.1
R4(config)#ip route 40.1.1.0 255.255.255.0 30.1.1.1
R4(config)#ip route 50.1.1.0 255.255.255.0 30.1.1.1
R4(config)#do sh ip route
注:从 网络拓扑图
和 每个路由器的路由表
中可以看出,路由器 R1、R3、R4
属于 末端路由
,因为这些路由转发的 下一跳 IP 地址
是同样的,相同 下一跳 IP 地址
是可以合并的。所以 末端路由
可以很大程度的被优化。
3、路由优化
优化后的
路由表
的目标 IP 网段
中0.0.0.0/0
表示所有网段。而这同样是手工配置
的,区分静态路由
:
- 静态路由(S):表示一个具体的网段。
- 默认路由(
S*
):表示所有网段。
末端路由R1、R2、R3
优化之后路由表
展示:
- 路由器 R1
路由条目类型 | 目标 IP 网段 | 接口 / 下一跳 IP 地址 |
C | 10.1.1.0/24 | Fa0/0 |
C | 20.1.1.0/24 | Fa0/1 |
S* | 0.0.0.0/0 | 20.1.1.2 |
- 路由器 R3
路由条目类型 | 目标 IP 网段 | 接口 / 下一跳 IP 地址 |
C | 50.1.1.0/24 | Fa0/0 |
C | 40.1.1.0/24 | Fa0/1 |
S* | 0.0.0.0/0 | 40.1.1.1 |
- 路由器 R4
路由条目类型 | 目标 IP 网段 | 接口 / 下一跳 IP 地址 |
C | 30.1.1.0/24 | Fa0/0 |
C | 60.1.1.0/24 | Fa0/1 |
S* | 0.0.0.0/0 | 30.1.1.1 |
注:0.0.0.0/0
有两个意思,一个是无效地址,另一个是所有地址。
4、路由条目的优先级
路由器在匹配路由条目时,是按照路由条目的优先级先后进行匹配。
路由条目的优先级与
管理距离值 A
成反比,下面表格展示,管理距离值
越小的优先级
越高。在匹配过程中,一旦匹配成功,就不在往下匹配,而是按照响应的条目,直接向
下一跳 IP 地址
转发。
路由条目类型 | 管理距离值 | 备注 |
C(直接路由条目) | 0 | 不可更改 |
S(静态路由) | 1 | 可更改 |
S*(默认路由) | 1无穷大 | 可更改 |