HCIP第十一天
- 双点重发布
默认RIP和OSPF协议若进行双点重发布,由于两者的优先级不同,故第一台ASBR的重发布动作结束后,将影响其他ASBR设备的路由表。使得路由可能被传回到源协议,发生路由回馈可能造成选路不佳,甚至出现环路在多点的重发布中,由于重发布技术的种子度量值问题,将必然导致选路不佳;只能依赖路由策略来人为干涉选路
控制层流量:路由协议发送路由信息是产生的流量
数据层流量:设备访问目标地址时产生的流量
1抓取流量(控制层流量)
1)通过ACL列表进行抓取 — 本身用于限制数据层流量的进出,也可以用于抓取控制层流量,但由于通配符的设计,导致其无法精确匹配控制层流量
2)通过前缀列表进行抓取
[r1]ip ip-prefix aa permit 192.168.1.0 24
[r1]display ip ip-prefix aa
前缀列表的匹配规则:自上而下,逐一匹配,一旦匹配上将按照该规则执行,而不再向下匹配,末尾隐含拒绝所有
[r1]ip ip-prefix aa index 15 permit 192.168.3.0 24
[r1]undo ip ip-prefix aa index 15
[r1]ip ip-prefix aa permit 192.168.3.0 24 less-equal 28
[r1]ip ip-prefix aa permit 192.168.4.0 24 greater-equal 28
[r1]ip ip-prefix aa permit 192.168.5.0 24 greater-equal 28 less-equal 30
[r1]ip ip-prefix aa permit 192.168.6.0 24 greater-equal 28 less-equal 28
[r1]ip ip-prefix aa permit 0.0.0.0 0 greater-equal 32
[r1]ip ip-prefix aa permit 0.0.0.0 0 less-equal 32
[r1]ip ip-prefix aa permit 0.0.0.0 0
2路由策略
1)RIP的merticin和merticout(偏移列表)只能应用在距离矢量型协议上,链路状态型协议是无法使用的。
[r1]ip ip-prefix aa permit 23.0.0.0 24
[r1-GigabitEthernet0/0/1]rip metricin ip-prefix aa 10
2)filter-policy (过滤列表/过滤策略)
[r1]ip ip-prefix bb deny 34.0.0.0 24
[r1]ip ip-prefix bb permit 0.0.0.0 0 less-equal 32
[r1-rip-1]filter-policy ip-prefix bb import GigabitEthernet 0/0/0 -
过滤列表:可以在距离矢量型协议上使用,也可以在链路状态型协议中使用。但是注意,在链路状态型协议中使用时,在一个区域内,因为他没有办法过滤拓扑信息,所以,只能在入方向进行调用,用来影响自身,并且只是在路由加表时不向路由表中加表,并不是将拓扑信息过滤掉。 当然,如果想在出方向进行调用,可以在ABR或者ASBR上针对三类,五类,七类LSA进行过滤。
3Route-policy (路由策略)
1)先抓取流量
Basic ACL 2000, 1 rule
Acl’s step is 5
rule 5 permit source 1.1.1.0 0
Basic ACL 2001, 1 rule
Acl’s step is 5
rule 5 permit source 2.2.2.0 0
ip ip-prefix aa index 10 permit 3.3.3.0 24
ip ip-prefix bb index 10 permit 4.4.4.0 24
2)路由策略
[r2]route-policy aa deny node 10
[r2]route-policy aa deny node 10
[r2-route-policy]if-match acl 2000
[r2]route-policy aa permit node 20
[r2-route-policy]if-match acl 2001
[r2-route-policy]apply cost-type type-1
[r2]route-policy aa permit node 30
[r2-route-policy]if-match ip-prefix aa
[r2-route-policy]apply cost 10
[r2]route-policy aa permit node 40
[r2-route-policy]if-match ip-prefix bb
[r2-route-policy]apply cost-type type-1 -
[r2-route-policy]apply tag 6666
[r2]route-policy aa permit node 50
3)在重发布中进行调用
[r2-ospf-1]import-route rip 1 route-policy aa - BGP边界网关协议
IGP内部网关协议
EGP外部网关协议
AS自治系统 ;由单一的机构或组织所管理的一些列IP网络及设备所构成集合
划分AS的原因:网络范围太大,协议跑不过来;自治管理
为了方便对自治系统进行管理,每个自治系统设计个AS号16位二进制构成 ---- 取值范围:0 - 65535,其中0和65535为保留;AS号的可用值范围为1 - 65534 ---- 其中 64512 -65534被设定为私有AS号,剩下的为公有AS号。
因为传统的AS号存在不够用的情况,所以,目前大部分设备均支持拓展的AS号 — 32位二进制构成。
IPV4环境:BGPV4、BGPV4+(在BGPV4的基础上,可以支持多种地址族) - BGP协议
无类别的路径矢量协议
无类别指传递路由信息时携带子网掩码
路径矢量
1距离矢量中的距离指的是协议将一个路由器作为一跳来计算开销。而路径矢量是以一个AS作为一个单位来传递信息的
2距离矢量型协议的分发是根据算法来分的,但是BGP协议不存在算法的概念,因为BGP协议不需要去计算路由,只需要将现有的传递到自己的邻居处即可
IGP
选路佳,收敛快,占用资源少
EGP
1可控性: AS之间需要传递大量的路由信息,所谓可控,就是可以更方便的干涉选路,更容易做策略, 弥补重发布的不足为了保证路由传递的可控性,更方便干涉选路,BGP协议舍弃了开销值,为路由信息设计了很多路径属性,可以通过属性进行选路,是的选路过程更加灵活,可控性更高
2可靠性: BGP协议为选择TCP协议作为传输层的协议来完成数据收发,使用的是TCP 179号端口使用TCP协议通讯造成的问题是,传输效率降低,只能实现单播通讯,占用资源会加大 ,使用TCP之后,便不能通过广播或者组播去自动发现邻居进行通信,BGP协议可以实现非直连建邻,非直连建邻的前提条件是邻居双方网络可达,BGP的非直连建邻是建立在IGP的基础上
3AS-BY-AS:BGP将一个AS作为一个单位来看待,BGP的特性:BGP不支持负载均衡
- BGP的数据包
ospf的hello包:周期发现,建立和保活邻居关系。
发现邻居的任务在BGP中由手工指定邻居关系来替代,建立邻居的任务在BGP中由OPEN报文来承担,保活邻居的任务在BGP中由Keeplive报文来承担
Open包:建立邻居关系
AS号:在手工建立邻居关系时声明的邻居的AS号。对端收到后会检查其是否和本地的AS号一致,一致则正常建立邻居关系
认证:BGP也可以在建邻时做认证,需要比对双方认证口令,不一致则无法建立邻居关系
Router-ID:主要区分和标定路由器。OPEN报文中携带RID的目的是为了确保双方的RID不一致。确保其唯一性,如果相同,则无法正常建立邻居关系
keeplive包:仅完成周期保活即可,不需要携带太多的参数,也不具备太多的功能,Keeplive报文的发送周期 — 保活时间的1/3,保活时间默认为180S,则周期发送时间默认为60S。KeepLive包在收到对方发送的OPEN报文后,临时充当确认包的作用。TCP本身具有确认机制,可以确保传输的可靠性,这里的确认主要是确认OPEN报文中携带的参数,如果认同对方的参数,则将回复Keeplive包进行确认
Update包:更新包携带路由信息的数据包,包括目标网段,子网掩码信息以及BGP的各种属性在UPdate包中存在撤销路由字段,我们可以直接将不可达的路由信息放在该字段下进行通告,以达到传递失效信息的目的,不像RIP那样采用带毒传输的方式
Notification包:BGP的告警机制,当BGP检测到一个错误的时候,他将会用这个包进行告警,告知对端错误点在哪
Route-refresh包:用于改变路由策略后请求对等体重新发送路由信息 - BGP的状态机
BGP的状态机仅描述BGP对等体建立过程中的状态变化,因为BGP可以做到建立邻居关系和发布路由分开完成
IDLE状态:启动BGP之后,先处于IDLE状态,之后手工指定邻居关系当手工指定好邻居之后,BGP将开启检查步骤。他需要确认指定的IP地址在本地路由表中是否路由可达,如果可达,则开始尝试建立TCP会话,进入下一个状态。如果不可达,则将停留在IDLE状态
connect状态:进行TCP会话连接的状态。如果TCP会话连接建立成功,则进入OPENsent状态;如果TCP会话建立失败,则进入Active状态,反复尝试重新建立会话连接
注意:在建立TCP会话连接时,双方都会尝试建立连接,一方建 立成功,则将创建一个双向的TCP会话通道;双方都建立成功,则将会出现两个双向通道。则需要关闭一个TCP通道。后面开始发送OPEN报文,其中会携带RID,双方将比较RID,仅保留RID大的一端发起的TCP连接,RID小的一端发起的TCP连接通道将被断开
OPENsent :开始发送OPEN报文,报文中携带建立邻居关系所需的参数。当收到对端发送的OPEN报文后,将检查里面的参数。如果参数没有问题,则将回复一个keeplive作为确认,则进入下一个状态
OPENConfirm:OPEN确认状态:对端收到本段的OPEN报文后,确认参数无误,则将发送keeplive包进行确认。此时,则代表双方的OPEN包中的参数都确认无误则进入下一个状态
Established — 建立完成状态:标志着对等体关系的建立。TCP连接失败,则进入ACTIVE状态,尝试重连,如果重连超时,则放弃重连,判断邻居关系建立失效,回到idle状态。整个环节中,任意环节出现问题,都将发送Notification包进行报错,之后将状态退回到IDLE状态 - BGP的工作过程
1基于IGP(静态,直连)实现IP可达;
2指定邻居关系,邻居间需要建立TCP会话通道。BGP之后发送的所有数据包都是通过TCP会话通道发送,来保证其传输的可靠性的
3使用OPEN报文和keeplive报文进行邻居关系的建立;生成邻居表
4使用Update报文共享路由信息,信息中携带目标网络号,掩码信息及各种属性;将收集和发送的所有路由信息记录在BGP表
5之后,将BGP表中的最优路径加载到路由表中,到达同一个目标网段可能收到多条路由信息,BGP仅加载一条最优路径,最优路径是通过属性来选择的
6收敛完成后,将使用keeplive包进行周期保活,默认保活时间为18S,周期发送时间为60S。
7若出现错误信息,将使用notification报文进行告警
8若发生结构突变,则将直接发送UPdate报文进行触发更新