动态路由协议

AS(自治系统)

IGP协议,工作在AS内部:

IGP协议根据对网络的认识:

1.距离矢量DV(distance-vector)

RIP,EIGRP,IGRP(淘汰)

将整个路由表进行复制,将副本特定的时间传一份给邻居,邻居学习并计算metric值

OSPF,ISIS

路由器之间传递拓扑信息,并且计算

EGP协议,工作在AS和AS之间

BGP协议


RIP(routing information protocol)路由信息协议

最大支持15跳,16跳不可达,不适合大型网络

使用UDP520端口通信,源端口和目标端口都是520

周期性发送整个路由表

AD=120

分为version1和2

v1

不支持可变长子网掩码(8,16,24),不支持自动汇总,广播更新(更新的内容是地址簇,标识,网段,metric)最多支持25条路由条目,不包含下一跳信息的,不携带子网掩码

v2

支持可变长子网掩码,支持自动汇总,组播方式更新,组播地址224.0.0.9,可以给路由打标记,包含下一跳信息,携带子网掩码

RIP的定时器:

路由更新定时器30s(思科采用15%的偏移量,也就是25-30s之间,防止同步更新)

路由的失效定时器180s–路由失效之后通知给邻居

路由刷新定时器240s–将该路由删除

路由抑制定时器180s–如果接收到一个路由更新条目,它的跳数大于自己已知的跳数,那么就会进入抑制计时器(6个更新周期),此时路由器状态为抑制状态,不再接收来自这个路由的更新

解决DV环路问题:

1.设置16跳最大

2.水平分割,从该接口接收到的信息不从该接口发出

3.路由中毒,将16跳的路由变成(infinity)

4.holddown timer,冻结时间

如果在冻结时间内,路由恢复,继续采纳该路由

如果在冻结时间内,收到了更好的路由,就用更好的

如果在冻结时间内,收到了更差的路由,就不采纳

5.triggered updates,触发更新(目前只会用在低速链路上,带宽小于1.544M)

避免长时间占用带宽,只在拓扑发生变化的时候更新

配置命令:

(config)

router rip 启动rip协议

ver 2 使用版本2

network [主类宣告] 告诉大家我有谁

认证

v1不支持认证,v2支持明文和密文认证(默认用明文)

(config)

key chain R1 定义一个钥匙串名字叫R1

key 1 第一把钥匙

key-string 123 (注意空格!!!空格算一个字符!!!)

(config-if)

ip rip authen key-chain R1 把钥匙挂在接口上

ip rip authen mo md5 把钥匙进行加密

(认证这种东西,两边都要配)


EIGRP增强内部网关路由协议

—–是cisco私有的

EIGRP是触发更新

支持组播更新和单播更新,支持VLSM,可以关闭自动汇总,可以手工关闭汇总

metric的计算:

带宽,延迟,负载,可靠性,MTU。默认只考虑带宽(bandwith)和延迟(delay)

EIGRP直接封装ip头部,协议号88

EIGRP属于距离矢量,高级的距离矢量

默认承载路由100条

AD=5(汇总),90(正常),170(外部)

支持并且只支持md5认证,默认情况不做认证

更新只发送改变的路由表

组播地址:224.0.0.10

EIGRP需要建立邻居关系:

邻居表:

1.两个设备必须互相连接

2.对方必须运行EIGRP

3.必须互相发送hello包

拓扑表:

所有路由都保存在这里,不管好坏

路由表:

从拓扑表中取出的最佳路径


EIGRP的数据包:

1.hello,组播

2.update,点到点

3.query,组播和单播

4.reply,单播

5.ack,单播(解决ip不可靠的问题)

(注意:2,3,4需要ack作为可靠保证)


配置

(config)

router ei [as号] 启动EIGRP协议,as号要一样

no au 关闭自动汇总

net [自己的ip网段]\[反掩码] 宣告

sh ip ei nei 查看邻居表

sh run | se [路由协议/其他东西] 查看sh run中某个特定协议

sh run int [接口] 查看接口下运行了什么


汇总:

好处:

1.减少路由条目

2.使路由表翻动概率减少

3.使用最小的metric沿途累加

4.eigrp的手动汇总,会在自己身上产生一条通往null0的路由,该路由用来防止环路,并且ad为5,本地有效

10.1.8.0

10.1.9.0

10.1.10.0

10.1.11.0

========

00001000

00001001

00001010

00001011

========

00001000

11111100

00000011 = 3

汇总之后的

10.1.8.0 255.255.252.0

反掩码写法

10.1.8.0 0.0.3.255

(config-router)

net 10.1.8.0 0.0.3.255

在要汇总的接口上

(config-if)

ip sum ei 1 10.1.8.0 255.255.252.0

钥匙问题:

1.

key1=123 key1=123

2.

key1=123 key1=345 key2=123

R1没有,R2有

3.

key1=123 key2=456 key1=456 key2=123

都有

4.

key3=123 key5=234 key2=456 key6=234 key7=123

R1没有,R2有


DUAL算法:弥散更新算法

AD–通告距离,邻居到达目的地的metric

FD–可行性距离,本路由器到达目的地的metric

successor(S)–后继路由器,具有最优metric的路由

feasible successor(FS)–可行性后继路由器,符合条件的后备路由


sh ip ei to 查看拓扑表

clear ip ei nei 清除邻居表(如果你嫌慢,或者你增加了其他网络,eigrp还没反应)


eigrp的认证:(基于接口的!!!!!)

key chain R1

key 1

key-string 123

在接口下

ip authen mo ei [as号] md5

ip authen key-chain ei [as号]\[钥匙串名字]

(备注:如果只有key-chain,没有声明使用md5,此时是不认证的!!)

show key chain 查看钥匙信息

sh run int [接口] 查看接口配置信息

sh ip ei int [接口] 查看eigrp接口信息

debug ei pack 查看eigrp的详细包信息


修改hello时间:

>1.544M 5s发一次

< 60s发一次

(config-if)

ip hello-int ei [as号]\[多少秒]

ip hold-time ei [as号]\[多少秒]

一边的hello对应另一边的hold


负载均衡:

默认支持4条负载均衡

(config-router)

maxi [多少条]


metric:

带宽 负载 延迟 可靠性 MTU

1 0 1 0 0

默认情况下,只和带宽和负载有关系

计算公式:

FD=(10^7/BW+Delay/10)*256

BW:Kbps(小数点去尾)

Delay:微秒 延迟之和

接口延迟和带宽

接口 BW DLY
Ethernet 10000 1000
Serial 1544 20000
Loopback 800w 5000

路由传播方向入接口!!!!!!metric的累加

(config-if)

delay [微秒*10]

band [带宽/kb]


偏移列表:

R1

(config)

acc 10 per 3.3.3.0 抓取哪一条路由

router ei 1`

off 10 in [增加多少metric]\[加在哪个接口上] 把acl为10的抓取的信息,在in方向,增加多少metric,挂到哪个接口上


分发列表:

(config)

只抓取3.3.3.0的路由

acce 10 per 3.3.3.0

acce deny any(电脑默认添加拒绝其他,你看不到)

除了3.3.3.0以外的路由

acce 10 deny 3.3.3.0

acce 10 per any

router ei 1

distr 10 in/out [接口]


修改管理距离(AD):

无法穿越,修改自己身上的

R2

acce 10 per 3.3.3.0

router ei 1

distan [ad的值]\[R3出接口的ip] [反掩码]\[acl列表]


重发布:

在边界路由器上做!!!!!

router ei 1

redis rip 无法成功,因为metric无限大,重发布进eigrp的东西必须指定带宽延迟可靠性MTU的值!!!

redis rip me 1000 100 255 1 1500

router rip

redis ei [as] me 1


默认路由:

1.通过静态宣告

ip route 0.0.0.0 0.0.0.0 [出接口]

router ei 1

net 0.0.0.0 0.0.0.0

2.通过重发布来

ip route 0.0.0.0 0.0.0.0 [出接口]

router ei 1

redis st

3.写汇总

(config-if)

ip sum ei [as] 0.0.0.0 0.0.0.0