07 IP路由
07IP路由
7.1路由介绍
路由器的操作
1包交换(Packet Switching)
2路径选择(Path Selection)
路由器根据路由表(Routing Table)来转发数据。
路由表中包含直连(Directly Connected)的网络条目(entry),还能够学习非直连的网络条目。
路由表的条目是由网络地址与出口的对应。
路由表中直连的网络条目由接口配置IP地址并且工作正常时自动产生。
Router#show ip route (查看路由表)
查看路由器的ARP缓存表:3640C#show ip arp
路由表中非直连网络条目需要通过管理员手工配置(静态路由)或者路由器通过路由协议学习(动态路由)到。
7.2静态路由(Static Route)
7.2.1静态路由
1 占用开销较少;适合于小型网络环境。
2 静态路由的配置
Router(config)#ip route [目标网络号] [子网掩码] [下一跳路由器接口的IP地址| 本地路由器出口的接口号]
3检查配置
Router#ping [目标IP地址]
Router#traceroute [目标IP地址]
Router#show ip route (S)
7.2.2静态默认路由(Static Default Route)
Router(config)#ip route 0.0.0.0 0.0.0.0 [下一跳路由器接口的IP地址| 本地路由器出口的接口号]
Router#ping [目标IP地址]
Router#traceroute [目标IP地址]
Router#show ip route (S*)
Stub network(末节网络):可以只使用一个静态默认路由
7.3动态路由
7.3.1路由协议(Routing Protocol)
1什么是路由协议:路由协议是被用于路由器之间去决定路径和维护路由表的。一旦路径被决定,路由器能够去路由可被路由协议。
2路由协议(Routing Protocol)包括:RIP、EIGRP、OSPF、IS-IS、BGP 可被路由协议(Routed Protocol):第三层协议,如IP、IPX、APPLETALK等
7.3.2管理距离(Administrative Distance,AD)
1AD是用于衡量来自于相邻路由器上路由可信度的值。
2路由条目的AD值越低越优先放入路由表中。0-255。
3常见路由协议产生的路由的AD值:
直连网络:0;
静态路由:1
RIP:120
EIGRP:90
OSPF:110
EIGRP的汇总路由:5
7.3.3路由协议的类型
1按自治系统(Autonomous System,AS)可分为:
自治系统:
1)应用在同一自治系统的路由协议称为IGP(Internal Gateway Protocol,内部网关协议)。
如:RIP、EIGRP、OSPF、IS-IS。
2)应用在不同的自治系统的路由协议称为EGP(External Gateway Protocol,外部网关协议)如:BGP(边界网关协议)
2IGP按算法可分为:
1)距离矢量路由协议(Distance V ector Routing Protocol,DV)
路由器通过周期性的将自己的整张路由表发送给邻居路由器,并进行矢量的叠加。
距离矢量路由协议包括:RIPv1、RIPv2、RIPng、IGRP
2)链路状态路由协议(Link-State Routing Protocol,LS)
链路状态路由协议发送LSA(Link-State Advertisement,链路状态通告)给邻居(Neighbors);邻居收到LSA之后建立一个拓扑数据库(Topological Database)也被为链路状态数据库(Link-State Database,LSDB);再通过SPF算法(Short Path First Algorithm)去计算一棵以自己为根(Root)到其他目标网络路径的SPF树;然后将到目标网络路径成本最低的路径放入路由表中建立路由表。
链路状态路由协议包括:OSPF、IS-IS
3)平衡混合型路由协议(Balanced Hybrid Routing Protocol)
具备距离矢量路由协议和链路状态路由协议的综合特征,收敛的速度很快。Cisco也称为高级的距离矢量路由协议。
包括:EIGRP
3IGP按路由更新中是否包含子网掩码可分为:
1)有类路由协议(Classful Routing):在路由更新中不包含子网掩码。支持子网掩码长度要一致。包括:RIPv1。
2)无类路由协议(Classless Routing):在路由更新中包含子网掩码。支持VLSM。包括:RIPv2、EIGRP、OSPF、ISIS、BGP。
7.4距离矢量路由协议
1距离矢量路由协议的路由选择
2信息的来源及路由发现
3选择最佳路由
RIP:采用跳数(Hop Count)作为度量值(Metric)
4维护路由信息
5路由条目的不一致
6路由循环/回环/环回(Routing Loops):距离矢量路由协议因为路由条目不一致会导致路由循环(Routing Loops)
解决路由循环的方案:
1)定义最大跳数(Defining a Maximum):16跳时认为不可达。
2)水平分割(Split Horizon):从某接口收到的路由将不再从该接口再发送出去。
3)路由中毒/抑制(Routing Poisoning):当路由器监测到到达某个网络连接断开时,会给该路由分配一个无穷大的度量值
4)毒性逆转(Poisoning Reverse):路由器向其相邻路由器通告毒化信息时,其相邻路由器会违反水平分割规则,将中毒信息送回始发站,称为毒化逆转。
5)触发更新(Triggered Updates)
6)抑制计时器(Holddown Timer)
7.5RIP
7.5.1RIP概述
RIP(Routing Information Protocol,路由信息协议)是开放标准的距离矢量路由协议。
采用的是bellman ford(贝尔曼.福特)算法。
7.5.2RIP配置
Router(config)#router rip (启用RIP路由协议)
Router(config-router)#network [网络号] (网络号所定义的接口都将发送和接收RIP信息;网络号所定义的网络地址将参与到RIP进程中)
在Cisco IOS中,默认打开的RIPv1的版本。
可选配置:将接口设置为被动接口,接口将不再发送和接收任何RIP信息,但接口的网络地址仍然可以被路由从其他接口发给邻居。
-Router)#passive-interface [接口号]
7.5.3检查RIP的配置
1 #show ip protocolos (查看当前正在运行的所有动态路由协议的运行情况)
2 #show ip route (R)
3 #debug ip rip (时事查看RIP的运行过程)#no debug ip rip #undebug all 1)RIPv1将采用广播(255.255.255.255)更新路由信息;
2)发送和接收的路由更新中不带子网掩码。
7.6 RIPv2
7.6.1 RIPv1和RIPv2的比较
1.RIPv2通过在路由更新中包括子网掩码来支持VLSM;
2.RIPv2使用组播地址224.0.0.9进行路由更新;
3.RIPv2在交换路由信息之前,邻居是需要被认证的;
4.RIPv2支持手工汇总
7.6.2 RIPv2的配置
Router(config)#router rip (启用RIP路由协议)
Router(config-router)#version 2 (启用RIP的V2版本)
Router(config-router)#network [网络号] (网络号所定义的接口都将发送和接收RIP信息;网络号所定义的网络地址将参与到RIP进程中)
#clear ip route * (立刻刷新路由表)
7.6.3路由汇总(Route Summarization)
RIPv2默认是开启自动路由汇总的,默认将按类在网络边界进行汇总。
优点:路由条目更少,路由效率更高。
缺点:路由匹配不精确。
关闭自动汇总:
Router(config)#router rip
Router(config-router)#no auto-summary
优点:可以学习到更加明细的路由,路由匹配更精确;
缺点:路由条目更多,路由效率低。
关闭自动汇总,开启手工汇总。
手工汇总的方法:将多个地址的连续相同地址位作为汇总地址的网络地址位;将不连续相同的地址位作为汇总地址的主机地址位。
172.16.0.0/24
172.16.1.0/24
172.16.2.0/24
172.16.3.0/24
172.16.0.0/24 10101100.00010000.00000000.00000000
172.16.1.0/24 10101100.00010000.00000001.00000000
172.16.2.0/24 10101100.00010000.00000010.00000000
172.16.3.0/24 10101100.00010000.00000011.00000000
172.16.0.0/22=172.16.0.0 255.255.252.0
在RIPv2中开启手工汇总:
Router(config-if)#ip summary-address rip [汇总地址] [子网掩码]
7.6.4RIPv2的认证(Authentication)
1)使用一个名称定义口令链(key chain):
Router(config)#key chain [口令链名称]
2)在口令链中定义一个或多个口令:
Router(config-keychain)#key [口令ID]
Router(config-keychain-key)#key-string [口令]
3)在一个接口打开认证并指定使用的口令链:
Router(config)#interface [接口]
Router(config-if)#ip rip authentication key-chain [口令链名称]
4)在接口指定使用MD5认证
Router(config-if)#ip rip authentication mode md5
7.6.5 RIP的默认路由
1 先创建一个静态默认路由到ISP;
2 将连接ISP的网络通过RIP通告到其他路由器。
3 Router(config)#ip default-network [连接到ISP的主类网络地址]
Router#show ip route (R*)
4 刷新路由表
附:
R3(config-router)#default-information originate
R3(config-router)#redistribute static