一、路由的分类
1)直连路由:默认优先级为0
2)非直连路由:
&:静态路由:默认优先级为60
&:动态路由:
@:IGP 内部网关协议:
DV 距离矢量路由协议:
RIP、IGRP、EIGRP
LS 链路状态路由协议:
OSPF 开放式最短路径优先,工作在网络层,其中1、2、3类LSA计算出来的路由优先级为10,4、5、7类LSA计算出来的路由优先级为150
ISIS工作在数据链路层
@:EGP 外部网关协议:
BGP 外部网关协议:默认路由优先级为255,是应用层协议,端口号为TCP 179,是一种距离矢量路由协议
二、为什么使用BGP
一是需要在不同AS之间通信,二是BGP有三点优势:
1)稳定:用TCP建立的通道,用五种报文、六种状态达成路由传递
2)可以传递大量路由:有精确的network注入和import一种类型的注入方式
3)路由控制策略非常丰富:有11条路由选优的规则
三.AS号
AS:Autonomous System 自治系统:是互联网中的一种标识符,用于标识自治系统的唯一数字,自治系统指的是由一组路由器组成的网络
-AS可以帮助路由器快速寻址
-AS由互联网分配机构IANA(互联网分配号码管理局)分配
-AS号被划分为公有AS号与私有AS号两类,公共AS号由IANA分配,私有AS号由IR分配
-4字节AS号由IANA管理,由RIR负责分配
四.BGP概述
1.作用
在AS之间动态交互路由信息
2.邻居类型
EBGP:不同AS之间建立BGP邻居关系
IBGP:同一AS中建立的BGP邻居关系
3.特点
BGP工作在应用层,用TCP建立的连接,端口号为179
运行BGP的设备被称为BGP Speaker或BGP路由器
两个建立BGP邻居的路由器互为对等体(Peer)
BGP在Peer之间传递路由
BGP只会发送增量的路由信息,或者进行触发式的更新
BGP能够发送大量的路由信息,可以应用于大型网络
4.报文类型
1)Open报文:用于建立邻居关系(类比Hello报文)
2)KeepAlive报文 :保活报文,用于维护邻居关系,是BGP中唯一的周期性报文,每60s发送一次,若三个周期没有收到保活报文则会发送Notification报错
3)Update报文:更新报文,用于传递、撤销路由(类比LSU)
LSU分为单播和组播,当OSPF邻居LSR主动请求时会发送单播LSU将详细的LSA交给邻居,但是当路由条目更新时,OSPF路由器也会主动发送组播的LSU(组播地址为224.0.0.5)将更新的路由信息发给所有邻居
4)Notification报文 :通知报文,用于通知BGP邻居之间的错误信息,断开邻居关系时也会用,尝试用LoopBack接口来建立EBGP邻居关系时也会出现
5)Router-Refresh报文:重传报文,请求邻居重新发送路由信息,一般是用:
<R1>refresh bgp all import
5.状态类型
1)Idle 空闲状态:tcp未连接的状态,通常是三层没有通导致的,当bgp设备和邻居建立TCP连接时,会由Idle状态转变为Connect状态
2)Connect 连接状态:建立TCP连接时进入的状态分为两种情况:
&:若TCP建立成功,则邻居间会发送OPEN报文,状态也会由Connect转变为OpenSent状态
&:若TCP没有建立成功,则会进入Active状态
3)Active 活跃状态:TCP建立连接失败由Connect转变成的状态,在此状态下,BGP路由器仍会尝试建立TCP连接,若连接上了则会由Active状态转变成OpenSent状态
4)OpenSent Open报文已发送状态:
&:若发送给邻居的Open报文收到了回复,且邻居回复的报文是正确的,bgp路由器会继续发送KeepAlive报文,且状态会由OpenSent状态变成OpenConfirm状态
&:若发送给邻居的Open报文收到了回复,但是邻居回复的报文是错误的,bgp路由器会向邻居继续发送notification报文用于断开bgp连接,断开连接后会进入Idle状态
5)OpenConfirm Open报文确认状态:
&:若收到邻居的KeepAlive报文,则由OpenConfirm状态转变成Established状态
&:若收到邻居的Notification报文,则由OpenConfirm状态转变成Idle状态
6)Established 建立状态:此状态下邻居才能发送update报文
&若收到邻居发来的报文是错误的update报文或KeepAlive报文,则bgp路由器会发送Notification报文断开邻居关系,状态由Established转变成Idle状态
6.BGP的工作原理
1)建立三层连接
2)建立TCP连接
3)建立BGP邻居关系
4)传递路由
7.BGP属性分类
1)公认必遵
2)公认任意
3)可选过度
4)可选非过度
8.BGP选路原则
1)比较PrefVal协议首选项,这时华为的私有属性默认值为0,不在网络中传输,数值越大越优先
2)Loc_Pref本地优先级,这是公认任意属性,默认值为100,数值越大越优先
3)是始发路由还是邻居学来的路由,本地始发路由优先于邻居学来的路由
手动聚合>自动聚合>network>import
4)比较AS_Path长度,BGP路由数据每经过一个AS就会记录经过的AS,可以防止EBGP间环路还可以作路由优选,长度越短越优先
5)比较起源属性,和As_Path在同一列的属性,network>import
6)比较MED值,BGP没有cost用MED来表示开销值,越小越优先
7)比较是从EBGP学来的还是从IBGP学来的,EBGP路由优于IBGP的
8)比较去往下一跳IP地址的cost值,越小越优先
前8条还选不出来最优路由的话就可以开启路由的负载均衡了
[Huawei-bgp]maximum load-balancing ibgp 2 #有几条优先级相同的路由就可以写几
9)比较cluster_list长度,越短越好
cluster_list只在有路由反射器的情况下才有的,是为了防止集群间环路
10)比较router-id,数值越小越优先(有路由反射器时比较Originator-id)
Originator-id只在有路由反射器的情况下才有的,是为了防止集群内环路
11)比较peer的ip地址大小,越小越优先