路由介绍:
什么是路由:
- 路由就是寻径,是指路由器在收到IP包后,去查找自已的路由信息进行转发的过程。
- 路由信息就是去往目的地的一条信息,它指明了去往目的地的方向,通常也把路由信息简称为路由。
- 要完成对数据包的传输,路由器必须知道并处理哪些信息:
- 目的地址
- 相邻路由器,并且能够从邻居处获得远程网络的信息
- 到远程网络的所有可能的路径
- 能计算出到达远程网络的最佳路径
- 要能够维护并验证路由信息,在路径发生改变时,要能很快的知道
什么是路由表:
- 路由器使用一个路由表来保存去往目的地的路由信息,路由表中的信息描述了如何到达远程网络。
- 路由器根据路由表中的路由信息来进行数据包的转发,如果在路由表中找不到去往目的地的路由,数据包将会被丢弃。
- 路由表中默认只有直连路由信息
路由表的基本元素:
- 目标网络号
- 去往目的地的下一跳地址(直连的邻居地址)
- 出接口
- 管理距离
- metric值:描述了去往目的地的路线的好坏
管理距离:
当从不同的路由协议学到去往同一目的地路由的时候,用于在路由协议之间进行比较,以确定把从哪一种路由协议学到的路由放入路由表。
路由的学习分两类:
- 静态路由--手工配置的路由
- 动态路由--由动态路由协议学习到的路由
还有一种默认路由,是路由的一种特殊形式,它指明了如果在路由表内找不到去往目的地的路由时,可以将数据从哪个方向转发出去。
动态路由协议--就是使路由器在互联的网络中动态的寻找所有的网络,并确保所有路由器拥有相同路由表的协议。例如RIP、EIGRP、OSPF协议。动态路由协议会不断的更新对网络的认识。PS:这个定义不严谨,为了方便理解,暂时这样写。
Note:每台路由器的路由表并不一定相同。
实际上,路由协议就是一种软件,路由器运行了路由协议后,就能互相学习路由信息。
配置静态路由:
实验一:在R2和R3上配置静态路由,实现互访。
R2(config)#ip route 13.1.1.0 255.255.255.0 12.1.1.1 用下一跳
R3(config)#ip route 12.1.1.0 255.255.255.0 s1/1
ip route 172.16.0.0 255.255.0.0 10.1.1.1 50 修改管理距离
ip route 172.16.0.0 255.255.0.0 10.1.1.1 permanent 默认当一条路由下一跳不可达时。此路由就会从路由表删除。加了这个参数就是无论下一跳是否可达。都保留在路由表中。(用这个参数时不能写接口,只能用下一跳)
默认路由:
默认路由是一条特殊的路由,可以用来代表所有的网络。
通常可以在存根网络上只配置默认路由:存根网络是指与外界只有一个输出连接的网络。
实验二:
R2(config)#ip route 0.0.0.0 0.0.0.0 12.1.1.1 用下一跳
R3(config)#ip route 0.0.0.0 0.0.0.0 s1/1
ip classless 在有类路由协议中,如果想使用默认路由,就必须打上这一命令,否则数据包会被丢弃。现已是默认配置。
什么是路由协议:
路由协议从工作范围来分类:
1、内部路由协议 IGP--工作在自治系统之内
2、外部路由协议 EGP--工作在自治系统之外
从工作原理分为:
1、距离矢量协议 例如:RIP 距离矢量协议通过判断距离查找到达远程网络的最佳路径。数据包每通过一个路由器,称为一跳。使用最少跳数到达目的网络的路由被认为是最佳路由。
距离矢量路由协议发送完整的路由表到相邻的路由器,一个传一个,所以被戏称为传言路由。
2、链路状态协议 例如:OSPF
3、混合型协议 例如:EIGRP
还可分为:
1、有类协议 RIP-V1、IGRP 通告时不带掩码,在主类边界自动汇总,不以手工汇总
2、无类协议 RIP-V2、EIGRP、OSPF
有类别的路由查找--首先将IP包的目的IP地址与路由表中的主网地址匹配,找到后,然后再匹配主网的子网,如果经过这些步骤找不到匹配的子网路由,数据包将被扔掉,即使路由表中还有默认路由也不会匹配。只有在主网路由也没有的情况下,才会去匹配默认路由。
无类别的路由查找--会将IP包的目的地址与路由表中的每一条路由逐位进行最佳匹配,找到最匹配的路由,如果没有找到相匹配的,那么也会去匹配默认路由,进行转发。
对于RIP-V1和IGRP这样的有类路由协议,也可以通过全局命令ip classless来强制启用无类路由查找。
配置浮动静态路由:
这是一种用来进行路由备份的方法,可以在动态路由发生改变,不再可用的情况下去启用一个备份路径。
其实就是写一条静态路由,但是将它的管理距离设得比动态路由协议要大,这样平常这条静态路由就不会起作用,一旦动态路由不可用了,消失了,这条静态路由就生效了。
实验三:R1与R2之间有两条链路,在R1与R2的E0/0口之间运行RIP,并且将2.2.2.0宣告进RIP,这样R1就可以学到2.2.2.0的路由,R1和R2之间还有一条链路是用s1/0口相连,现在要求在E0/0口down掉之后,R1还能通过S1/0的接口访问2.2.2.0网段。
R1(config)#ip route 2.2.2.0 255.255.255.0 s1/0 150 只要在R1上设置这样一条静态路由就可以了