Network-2
动态路由协议
AS(自治系统)
IGP协议,工作在AS内部:
IGP协议根据对网络的认识:
1.距离矢量DV(distance-vector)
RIP,EIGRP,IGRP(淘汰)
将整个路由表进行复制,将副本特定的时间传一份给邻居,邻居学习并计算metric值
2.链路状态LS(link-state)
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