test01
This commit is contained in:
@@ -1,134 +0,0 @@
|
||||
# 03.路由原理
|
||||
|
||||
## 1. 路由原理
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
A[路由器收到数据] --> B[查找路由表]
|
||||
B-->C[存在匹配条目]
|
||||
B-->D[不存在匹配条目]
|
||||
C-->E[匹配条目中有没有出接口]
|
||||
E-->F[存在出接口直接转发]
|
||||
E-->G[不存在出接口,根据下一跳地址再次查找路由表]
|
||||
D-->H[存在默认路由,就从默认路由标识的出口转发]
|
||||
H-->G
|
||||
D-->I[不存在默认路由,就丢弃]
|
||||
```
|
||||
|
||||
```
|
||||
R1#show ip route # 查看路由表
|
||||
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
|
||||
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
|
||||
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
|
||||
E1 - OSPF external type 1, E2 - OSPF external type 2
|
||||
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
|
||||
ia - IS-IS inter area, * - candidate default, U - per-user static route
|
||||
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
|
||||
a - application route
|
||||
+ - replicated route, % - next hop override, p - overrides from PfR
|
||||
# 以上是路由表的提示信息,标识路由条目中出现的代码意思
|
||||
Gateway of last resort is not set
|
||||
# 上面这条是表示这个路由器没有默认的路由,当下面的条目与数据中目的地址一个也对不上的时候,就丢弃
|
||||
# 如果有默认路由,当下面的条目与数据中目的地址一个也对不上的时候,就从默认的路由转发
|
||||
192.168.12.0/24 is variably subnetted, 2 subnets, 2 masks # 为了方便查看,路由表会按照ABC类IP地址进行分类,这个是分类的标题
|
||||
C 192.168.12.0/24 is directly connected, Ethernet0/0 # 前面的C,可以对照上面的codes,是直连的条目,后面的意思,可以直接从e0/0接口转发
|
||||
L 192.168.12.1/32 is directly connected, Ethernet0/0
|
||||
S 192.168.23.0/24 [1/0] via 192.168.12.2 # 前面的S,表示静态,后面并没有表示出接口,只标识了下一跳IP地址,这样就需要再次查找路由表,称为递归查找
|
||||
```
|
||||
|
||||
### 1.1 路由匹配条件
|
||||
|
||||
路由表中出现了`192.168.12.0/24`说明:
|
||||
|
||||
1. 数据的目的IP地址的二进制,至少前24位要和`192.168.12.0`二进制前24位完全一致。
|
||||
2. 这边的`/24`不一定和子网掩码是一样的,因为数据包中并不携带子网掩码信息。
|
||||
|
||||
### 1.2 路由匹配原则
|
||||
|
||||
### 1.3 最长匹配原则
|
||||
|
||||
```
|
||||
R2#sh ip route
|
||||
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
|
||||
S 172.16.0.0/16 [1/0] via 192.168.12.1
|
||||
S 172.16.3.0/24 [1/0] via 192.168.23.3
|
||||
192.168.12.0/24 is variably subnetted, 2 subnets, 2 masks
|
||||
C 192.168.12.0/24 is directly connected, Ethernet0/0
|
||||
L 192.168.12.2/32 is directly connected, Ethernet0/0
|
||||
192.168.23.0/24 is variably subnetted, 2 subnets, 2 masks
|
||||
C 192.168.23.0/24 is directly connected, Ethernet0/1
|
||||
L 192.168.23.2/32 is directly connected, Ethernet0/1
|
||||
R2#ping 172.16.1.1
|
||||
Type escape sequence to abort.
|
||||
Sending 5, 100-byte ICMP Echos to 172.16.1.1, timeout is 2 seconds:
|
||||
!!!!!
|
||||
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/4/5 ms
|
||||
R2#ping 172.16.3.3
|
||||
Type escape sequence to abort.
|
||||
Sending 5, 100-byte ICMP Echos to 172.16.3.3, timeout is 2 seconds:
|
||||
!!!!!
|
||||
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/3/6 ms
|
||||
```
|
||||
|
||||
`ping 172.16.1.1`的时候,由于只能与第3行的条目匹配,所以数据发给了R1,最终能用通信
|
||||
|
||||
`ping 172.16.3.3`的时候,由于第3,4行条目都匹配,路由器会优选匹配最长的条目,也就是第4行,最终能通信
|
||||
|
||||
### 1.4 默认路由
|
||||
|
||||
当路由条目的匹配长度为0的时候,那么所有的IP地址都是可以匹配的上的,这个路由条目被称为缺省路由,或者默认路由
|
||||
|
||||
```
|
||||
R1(config)#ip route 0.0.0.0 0.0.0.0 192.168.12.2
|
||||
R1#sh ip route
|
||||
Gateway of last resort is 192.168.12.2 to network 0.0.0.0
|
||||
S* 0.0.0.0/0 [1/0] via 192.168.12.2 # 默认路由在路由表中会带上*号
|
||||
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
|
||||
C 172.16.1.0/24 is directly connected, Loopback0
|
||||
L 172.16.1.1/32 is directly connected, Loopback0
|
||||
192.168.12.0/24 is variably subnetted, 2 subnets, 2 masks
|
||||
C 192.168.12.0/24 is directly connected, Ethernet0/0
|
||||
L 192.168.12.1/32 is directly connected, Ethernet0/0
|
||||
S 192.168.23.0/24 [1/0] via 192.168.12.2
|
||||
R1#ping 172.16.3.3
|
||||
Type escape sequence to abort.
|
||||
Sending 5, 100-byte ICMP Echos to 172.16.3.3, timeout is 2 seconds:
|
||||
!!!!!
|
||||
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
|
||||
```
|
||||
|
||||
在`ping 172.16.3.3`的时候,可以和路由表中的默认路由匹配的上。
|
||||
|
||||
在`ping 192.168.23.3`的时候,根据最长匹配原则,会和第11行匹配上
|
||||
|
||||
### 1.5 路由条目的来源
|
||||
|
||||
* 直连接口
|
||||
* 必须要是双`up`状态,才能生效
|
||||
* 静态路由
|
||||
* 必须出接口或者下一跳IP地址有效
|
||||
* 动态路由学习
|
||||
* 通过各种路由协议,让路由器互相分享路由信息
|
||||
|
||||
## 2. 环回接口
|
||||
|
||||
环回接口是软件模拟出来的接口,用于测试,或者管理
|
||||
|
||||
环回接口正常情况下是不会`down`,只要操作系统可以正常开机,那么环回接口就可以正常`up`
|
||||
|
||||
一台设备往往可以启动很多很多环回接口,用于模拟网络
|
||||
|
||||
```
|
||||
R1(config)#interface loopback 0
|
||||
R1(config-if)#ip add 172.16.1.1 255.255.255.0
|
||||
R1#show ip interface brief # 查看接口的IP地址和状态
|
||||
Interface IP-Address OK? Method Status Protocol
|
||||
Ethernet0/0 192.168.12.1 YES manual up up
|
||||
Ethernet0/1 unassigned YES unset administratively down down
|
||||
Ethernet0/2 unassigned YES unset administratively down down
|
||||
Ethernet0/3 unassigned YES unset administratively down down
|
||||
Loopback0 172.16.1.1 YES manual up up
|
||||
```
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user