一、IP路由基础
1、路由,将数据报文从一个子网转发到另一个子网的行为
2、路由协议,路由器之间交互信息的一种语言,它维护路由表,提供最佳转发路径
路由协议分类--作用范围:
IGP:RIP、OSPF、ISIS,运用在一个自治系统(AS)内部
EGP:BGP,运用在AS直接
路由协议分类--协议算法:
距离矢量路由选择协议:RIP、BGP
链路状态路由选择协议(最短路径优先路由选择协议):OSPF、ISIS
路由协议分类--业务运用:
单播路由协议:RIP、OSPF、BGP、IS-IS等
组播路由协议:PIM-SM、PIM-DM等
3、路由表
dis ip routing-table
Destination/Mask:网段
Proto: 协议
Pre:优先级
Cost:路由度量
NextHop:下一跳地址
Interface:下一跳端口
4、路由优先级(Preference)
数值越小,优先级越高。当存在多个路由来源时,优先级高的优先**,用于指导报文的转发。VRP缺省路由优先级如下:
路由协议 优先级
DIRECT 0
OSPF 10
IS-IS 15
STATIC 60
RIP 100
OSPF ASE 150
BGP 255
5、路由的度量
路由器优先选择度量较小的路由
等价路由协议:ECMP(Equal Cost Multi-Path),同一个路由协议,到同一个目的地有几条相同度量值的路由时,这些路由都会被加入到路由表中,IP包会在这几个链路上负载分担
6、最长匹配原则
查找路由表时,目的地址与掩码分别作“与”操作,与路由表中的目的地址作比较,挑选最长匹配项进行路由
二、VLAN间通信
1、二层交换机和路由器部分功能集成构成三层交换机,三层交换机在功能上实现了VLAN的划分、VLAN内部的二层交换和VLAN间路由的功能。
2、VLAN-IF配置
interface vlanif 10 进入vlan-if接口
ip address 192.168.1.254 24 配置vlan-if三层IP地址
三、静态路由原理及配置
1、静态路由,有管理员手工配置而成,配置简单,适合于网络拓扑简单的网络
2、静态路由配置
ip route-static 10.1.1.1 255.255.255.255 1.1.1.1
ip route-static 10.1.1.1 32 1.1.1.1
ip route-static 10.1.1.1 32 serial 0
dis ip routing-table
10.1.1.1是目标网段或者地址,255.255.255.255为子网掩码,1.1.1.1为下一跳地址,是对端IP地址,serial 0是自己设备的出接口
配置多条等价路由,自动实现负载分担。
3、静态路由的备份
ip route-static 10.1.1.1 255.255.255.255 1.1.1.2 preference 65 手动设置另一条为较大优先级,实现静态路由的备份
4、缺省路由
在路由表中,缺省路由以到网络0.0.0.0(掩码为0.0.0.0)的形式出现,可以通过静态路由配置,也可以通过动态路由协议,如OSPF和IS-IS。当路由器收到一个在路由表中匹配不到明确路由的数据包时,会将数据包转发给缺省路由指向的下一跳。
ip route-static 0.0.0.0 0.0.0.0 1.1.1.1
静态缺省路由也支持路由负载分担和备份
四、动态路由协议原理
1、常见动态路由协议:
RIP:Routing information Protocol ,路由信息协议
OSPF:Open shortest path first ,开放式最短路径优先
ISIS:intermediate System to intermediate system ,中间系统到中间系统
BGP:Border gateway protocol ,边界网关协议
2、自治系统(AS):由同一个技术管理机构管理、使用统一选路策略的一些路由器的集合
3、路由协议直接的互操作:
每种路由协议只能发布和学习自己协议已知的路由;不同的路由协议间交换路由信息时,需要进行引入(import route)操作
4、距离矢量路由协议
基于距离矢量算法,又称为Bellman-ford,路由以矢量的方式通告。
路由器启动时对路由表进行初始化,对每个与自己直接相连的网段生产一个表项,每个初始表项跳数为0;每个路由器周期性地向直连相连的其他路由器发送自己的路由表,进行周期性的更新,更新的过程中,会记录每个网段及其对应的跳数。这样会存在路由环路的风险。为了解决路由环路,定义如下内容:
路由不可达:如果跳数为16,则认为该路由不可达,删除该路由,所以路由里最大跳数为15。
水平分割:从一个接口收到的路由信息,不会再从这个接口发出去,比如A从B收到的路由,A向B通报的时候,从B收到的路由不会在通报回给B。
路由抑制:对于突然断掉的路由,会同时更新该路由跳数为16,并更新给其他路由器,这样其他路由器中的这条路由也被标记为不可用,并被删掉,这个过程叫毒性反转更新。
5、RIP(Routing information protocol)
(1)属于距离矢量路由协议,属于IGP协议,使用于中小型网络,使用UDP进行路由信息的交互,目标端口号520,支持水平分割、毒性逆转和触发更新。
RIP路由表启动后,会发送请求(request)报文,其他路由收到后会回复(response)报文,request只会在初始化时发送,response会每隔30s在所有端口发送一次,一条路由超过180s没有更新,会从路由表中删除,再等120s还是收不到更新,就会把该路由条目彻底删除。
(2)RIPv1和RIPv2区别:
RIPv1为有类别路由协议,不支持VLSM和CIDR,以广播的形式发送报文,不支持验证。
RIPv2为无类别路由协议,支持VLSM,支持路由聚合与CIDR,支持以广播或者组播(224.0.0.9)的形式发送报文,支持明文验证和MD5密文验证。
(3)RIPv1报文格式:
Command(0-7):取1代表request报文,取2代表respon报文
Version(8-15):取1代表V1,取2代表V2
Unused(16-31):无用,全设置为0
小于等于25条路由条目(20个字节):协议标志(2个字节)+2个无用字节+IP地址段(4个字节)+8个无用字节+Metric(4个字节)。
(4)RIPv2报文格式:
Command(0-7):取1代表request报文,取2代表respon报文
Version(8-15):取1代表V1,取2代表V2
Unused(16-31):无用,全设置为0
小于等于25条路由条目(20个字节):协议标志(2个字节)+Route tag(2个字节,用于给路由分组)+IP地址段(4个字节)+子网掩码(4个字节)+Next hop(4个字节)+Metric(4个字节)。
(5)RIP基本配置
rip 2 进入rip,进程号2,默认为1
version 2 设定使用RIPv2
network 192.168.1.0 发布网段,但只能发布主类网络
dis rip 2 查看RIP 2进程
interface s1/0/1
rip version 2 broadcast 当s1/0/1连接的另一台路由器是RIPv1,可以手动指定运行RIPv1,或者RIPv2的broadcast模式(兼容RIPv1,默认的multicast不支持RIPv1)
(6)路由聚合
同一自然网段内的不同子网的路由在向外发送时会合成一条自然掩码的路由发送,RIPv2默认开启该功能。如10.10.1.0/24到10.10.100.0/24的100条路由在路由表里会被自然合成10.0.0.0/8,在RIPv2下,summary always开启自动聚合,undo summary开启手动聚合,一般会把自动聚合关闭掉。手工聚合的方法:
接口模式下:rip summary-address 172.16.1.0 255.255.255.252
(7)配置实验
拓扑图:
配置过程:
1)PC1网关设置成192.168.1.1,PC2网关设置成192.168.2.4;
2)为各个路由器各个端口配置相应IP地址,举例:
interface e0/0/1
ip address 192.168.1.1 24
配置完成后,各个直连端口可以直接ping通;
3)配置各个路由器的RIPv2,举例:
rip 进入rip进程1
version 2 配置为RIPv2
undo summary 关掉自动路由聚合
network 10.0.0.0 注意必须是主类网络,否则会提示报错
network 192.168.1.0 注意必须是主类网络
查看路由器全部配置完成后的路由表:
此时网络全部互通,PC1运行tracert命令:
shutdown掉R1的G0/0/3端口,PC2再运行tracert命令,可以看到路径已经发生变化:
R1上查看路由表,可以发现到192.168.2.0/24的跳数由2变3,下一跳地址变成10.10.12.2:
恢复R1的G0/0/3端口,路由表会在一段时间后恢复原来的表项。
4)路由表中,通过RIP学习到的路由优先级默认100,也可以进行手动修改,但RIP一般不需要修改
preference 50
5)配置接口附加度量值(开销值)
RIP开销值主要是根据跳数决定的,跟带宽没什么关系,假如R1-R3间的带宽变为10M时,R1上经过R3的开销值依然不变,PC1到PC2依然会从直接从R3过来,而不是改走带宽1000M的R2-R3这条路径,这样显然是不合理的。而配置接口附加度量值,可以直接增加端口出入增加的开销值(默认是+1,可以修改的更高),从而手动改变路由的开销,优化路径。
举例:
在R1上:
int g0/0/3
rip metricin 3 R1上进入g0/0/3的路由开销+3,
此时,PC1到PC2的路径改为PC1-R1-R2-R3-R4-PC2,但PC2到PC1的路径依然是PC2-R4-R3-R1-PC1,因为只是PC1到PC2方向上增加了附加度量值,PC2到PC1方向上的开销值没有额外增加,查看R3上RIP路由可以看到192.168.1.0/24的开销还是1:
这个时候,可以在R1上配置G0/0/3的出路由附加度量值或者在R3上配置G0/0/3的入路由附加度量值:
在R1上:
int g0/0/3
rip metricout 3 R1上g0/0/3口出去的路由,开销值+3
配置完成后,R3上到192.168.1.0/24路由条目的下一条地址变更为10.10.23.2:
6、环回口loopback
环回口是路由器自己产生的虚拟接口,可以配置IP地址,永远不会DOWN掉,可以宣告进路由协议,经常用于配置管理IP,具有很高的冗余性,OSPF需要使用环回口IP做ROUTER-ID。
interface loopback 0 进入loopback0接口
ip address 192.168.1.1 32 配置ip地址