路由基础
前言
字数15000+,预估阅读时间较长。
OSI七层模型回顾
层 | 主要功能 |
---|---|
7.应用层 | 人机交互,面向应用程序 |
6.表示层 | 将逻辑语言转换为机器语言,对即时通信的软件进行加密 |
5.会话层 | 防止数据冲突,建立端对端的会话虚拟连接 |
4.传输层 | 通过不同的端口号来区别不同的流量 |
3.网络层 | 寻址,路由 |
2.数据链路层 | 通过不同的传输介质进行不同的封装 |
1.物理层 | 定义电气,光学等物理传输介质 |
静态路由
静态路由有两种写法:
1.ip route+目标网段+下一跳
2.ip route+目标网段+出接口
第一种适合MA网络,第二种适合点对点网络
也可以两种都写上,互为备份:
ip route+目标网段+下一跳+出接口
浮动静态路由实验实例
实验要求:
- 优先使用串行链路,串行链路故障时使用以太网链路
- 优先使用以太网链路,以太网链路故障时使用串行链路
1.优先使用以太网链路
配置
设备名称 | 以太网接口地址 | 串行接口地址 | 环回接口地址 |
---|---|---|---|
R1 | 172.16.70.1/24 | 172.16.80.1/24 | 2.2.2.2/24 |
R2 | 172.16.70.2/24 | 172.16.80.2/24 | 1.1.1.1/24 |
静态路由配置
R1:
r1(config)#ip route 1.1.1.0 255.255.255.0 172.16.70.2 5
r1(config)#ip route 1.1.1.0 255.255.255.0 172.16.80.2 10
R2:
r2(config)#ip route 2.2.2.0 255.255.255.0 172.16.70.1 5
r2(config)#ip route 2.2.2.0 255.255.255.0 172.16.80.1 10
输入show ip route 来查看路由表:
R1:
R2:
可以看到此时去往对端环回的路由都是选择以太网链路
在r1上输入:ping 1.1.1.1 repeat 1000
然后在r2上shutdown 以太网接口,查看是否可以自动切换为串行链路
可以看到此时shutdown后已经不能通信了,再将r2的接口打开,再次ping
此时通信恢复。
出现这种不能自动切换的解决方法:设置sla流量接收器和track跟踪器
在r1上配置:
//定义sla
r1(config)#ip sla 1
r1(config-ip-sla)#icmp-echo 172.16.70.2 source-ip 172.16.70.1
r1(config-ip-sla)#exit
r1(config)#ip sla schedule 1 life forever start-time now
//定义track追踪
r1(config)#track 100 ip sla 1 reachability
r1(config-track)#exit
//重新写去往1.1.1.0/24的路由,在末尾调用track 100
r1(config)#ip route 1.1.1.0 255.255.255.0 172.16.70.2 5 track 100
再次测试:使用r1 ping r2
可以看到,中间丢了几个包,然后恢复通信。
2.优先使用串行链路
优先使用串行链路可以自动转换,在此不多赘述。
永久静态路由写法:ip route + 目标网段 + 下一跳/出接口 + permanent
动态协议分类
以内外部网关协议区分:
IGP(内部网关协议):RIP,OSPF,EIGRP,ISIS
BGP(外部网关协议):BGP
按照是否携带掩码:
有类别(不携带掩码)
无类别(携带掩码)
有无类别可以理解为:是否需要进行区分A,B,C类网
按照算法分类:
距离矢量型 - DV算法:RIP,EIGRP
链路状态型 - LS型:OSPF
RIP协议
RIP协议 - routing information protocol - 路由信息协议
RIP有两个版本:RIPv1,RIPv2
RIPv1不携带掩码,RIPv2携带掩码
算法:DV算法
数据包:request包(请求包)、response包(响应包)
RIP通过周期更新来保证路由的正确性
更新地址:v1:255.255.255.255(广播)、v2:224.0.0.9(组播)
RIPv2中将更新方式换为组播更新是为了减少对不相关设备的开销
组播:224-239之间的地址被称为组播地址,组播地址无网络掩码,一个组播MAC地址可以对应32个组播地址。
RIP协议的特性:
- 水平分割,接收数据的接口不会将该数据从此接口再转发出去
- RIP计算器:update(更新路由表,默认为30秒),invaild(无效计时器,默认180秒,如果超过180秒还没有响应,将这个路由置为possibly down,如果240秒还没收到,就删除该路由),hold down(抑制计时器,默认180秒),flush(刷新计时器,默认240秒)
- 毒性,逆转水平分割,毒性:发送不可达路由,将metric设置为16,接收到该数据包的路由器会将该路由删除,并将此数据包再发回给发送方,做一个变相的确认。
- 异步更新:运行散列算法,在0-0.15之间随机选数字乘30,得到的结果就是下次的更新时间。
RIP的计时器更改:
r1(config)#router rip
r1(config-router)#timer basic 10 60 60 80
自动汇总:RIP协议默认自动汇总
RIPv2只支持VLSM,不支持CIDR
RIP协议实例(1)-- 数据的接收版本
设置路由器接收数据的RIP版本
R1配置为version 1,R2不配置版本,R3配置为version 2
配置
设备名称 | 以太网接口地址 | 环回接口地址 |
---|---|---|
R1 | 1.1.1.1/24 | 10.1.1.1/24 |
R2 | 1.1.1.2/24和2.1.1.1/24 | 11.1.1.1/24 |
R3 | 2.1.1.2/24 | 12.1.1.1/24 |
RIP协议配置
r1:
设置r1接口的接收版本:
r2:
r3:
设置r3接口的接收版本:
查看路由表:
r1:
r2:
r3:
可以看出,通过配置接收数据的RIP版本,R1和R3也可以相互学习到路由表了。
RIP协议实例(2) – 单播邻居
要求:R1可以学习到所有路由表,R2和R3之间不能学习路由表
运用知识:单播邻居
配置:
设备名称 | 以太网接口地址 | 环回接口地址 |
---|---|---|
R1 | 1.1.1.1/24 | 10.1.1.1/24 |
R2 | 1.1.1.2/24 | 20.1.1.1/24 |
R3 | 1.1.1.3/24 | 30.1.1.1/24 |
RIP协议配置:
r1:
r2:
r3:
查看路由表:
r1:
r2:
r3:
可以看出,现在R2和R3的路由表中已经没有彼此的路由信息。</