路由
路由基础
- 为什么要引入路由:
- 随着设备的增加,二层的转发会变得难以管理,此时需要引入路由
- 路由的工作步骤:
- 匹配目标网段
- 匹配成功后将数据扔给
出接口
或者下一跳
- 关键点
- 每次三层设备接收到包的时候
TTL
都会减一 - 每次经过三层设备都会改变数据包的源和目的
MAC
- 每次经过三层设备数据包的
IP
地址一般都是不会变的(NAT
除外)
- 每次三层设备接收到包的时候
路由的功能
- 检查目标网段
- 确定源
- 发现可能的路由
- 选择最佳线路,三条原则
- 最长匹配原则,掩码越长越优先
- 优先级(管理距离),优先级越小越优先,详情见优先级
- 度量值(
cost
)。基数/入口方向带宽。基数默认是100,但是可以修改
bandwidth-reference 10000
- 等价路由。以上所有规则参数都一模一样。一般用于均衡负载
- 包负载
- 流负载(五因素)
- 验证和维护路由表
路由表
- 网段:网络地址、掩码
- 出口:接口、下一跳IP(如果出口是某个接口的话,需要在端口上开启
arp-proxy enable
,不推荐) - 更新源:
- 直连C,设备上配置的接口路由、直接连接
- 静态S,等等
静态路由
静态路由,一般不会自动改变,但是可以通过SLA
、BFD
等技术实现类似于动态路由的效果,即:通过路由协议从其他路由器那里获取的路由,网络拓扑变动时会自动更新
添加静态路由,以华为为例:
ip route-static 192.168.0.0/24 172.16.0.1
特殊情况
0.0.0.0
默认路由有可能造成路由环路,尤其是在汇总路由时NULL 0
垃圾桶,避免路由环路,所有匹配到的路由直接丢弃
ip route-static 192.168.0.0/24 NULL 0
- 配置路由时可以添加
description
备注 - 自定义优先级:
ip route-static 192.168.100.0 24 172.16.12.2 preference(优先级) 61
动态路由 OSPF
Open Shortest Path First(开放许可的最短路径优先协议)
动态路由分类
- 距离矢量路由协议
- RIP
- EIGRP
- BGP
- 链路状态路由协议
- OSPF(目前应用最广)
- ISIS
名词解释
- 邻居:OSPF 的邻居都是直连的,只有直连的才叫邻居
- 区域:Area0 是骨干区域,其他的是非骨干区域
- OSPF 中声明需要使用反掩码(!掩码)
- DR/BDR(指定/副指定路由设备)集中收集OSPF 路由信息
- 在多个路由器连接到同一广播域时有用
- DR-BDR 之间的信息直接交互
- DR 的选举是不会抢占的,直到最初的设备退出网络
- DR 选举规则,选举时的状态是(2-ways)
- 优先级:默认为1,为0 时不参加选举
- router-id:越大越优先(一般取路由器loopback口的最大IP地址,若没有loopback,则取活动接口的最大IP)
- 先到先得:40s 内没有发现其他邻居,则认为自己是DR
- 组播包:
224.0.0.5
:LSU 的信息、Hello 信息(DR 一般接收.5 发送.6)224.0.0.6
:LSU 的信息(非DR 一般接收.6 发送.5)
报文类型
- Hello:简历和维护OSPF 邻居关系
- 建立邻居:同网段、同区域
- 类似于心跳包,维持链接
- 10s 一次、40s 超时
- DBD:数据库描述信息
- LSR:链路状态请求
- LSU:链路状态更新
- 包含路由状态信息:LSA-LSDB-SPF-路由表
- LSACK:链路状态确认
优化
DR 的选举比较耗时,一般会在10-30 秒左右,可以告诉接口袭击时边缘设备或者不参加选举
int f0/0
# 告诉接口自己是背靠背直连
ip ospf network point-to-point
# 或者将其他接口设置为不参加选举,优先级为0
ip ospf priority 0
配置原则:
- DR 应设置为性能比较好的设备
- 大规模网络中才有用,两台设备直连没有必要
其他
优先级
路由协议 | 思科管理距离 | 华为优先级 |
---|---|---|
直连 | 0 | 0 |
静态路由 | 1 | 60 |
EIGRP 汇总路由 | 5 | \ |
外部BGP | 20 | 255 |
内部EIGRP | 90 | \ |
OSPF | 110 | 10 |
IS-IS | 115 | 15 |
RIP | 120 | 100 |
外部EIGRP | 170 | \ |
内部BGP | 200 | 255 |
环回口
Loopback:虚拟接口,永远不会挂掉,可以用于远程管理路由器
Interface loopback 0
Ip address 10.1.1.1 24
# Loopback 默认发包的源地址是物理口,所以不用设置回包路由
小技巧
- 配置规则: 172.16.ab.a/24 a、b 是设备名
- 一般配置完IP 就ping 一下