BGP 详解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
BGP基础:
1. 使用TCP179号端口作为底层传送机制。由于将分段、重传、确认、排序等工作交给TCP处理,使得BGP的更新机制得到简化。也由于BGP建立在TCP之上,因此需要为每个对等体建立一个独立的点到点连接。
2.利用AS_path 可以防环。路由器在收到路由更新后,如果发现在AS_path中包含了自己的本地AS号,那么就说明出现了环路。进而拒绝接收该更新。从而避免环路。
3.命令show ip bgp 可以看到BGP 路由表。BGP 路由表中西那是了目的网络、下一跳、以及用于最短路径的度量值,weight、localpre、path等。
BGP 路由表列出所有已知路径。*表示有效路由。*>则表示当前使用的路由,该最佳路由是拥有最短AS_PATH的路径。
如果去往目的地是存在多条并行等价路径,默认下EBGP仅选择一条路径。命令maximum_path拥有更改并行路径的默认最大值。而对于IBGP而言,只能使用一条链路。
4.两个邻居在首次建立BGP对等连接时,会交换各自的全部BGP 路由表,之后则交换增量的部分更新。由于BGP 不使用周期性的路由更新机制,因而对等体之间必须交换保持激活消息(keepalive)消息,以维护该对等体连接。
BGP消息类型
在建立bgp对等连接之前,两个邻居必须执行标准TCP三次握手进程,并在端口179打开TCP连接。
所有BGP消息采用单播方式经TCP连接传递给邻居。
4种消息类型:
-Open 消息
-keepalive (保持激活)消息
-Update 消息
-Notification (通告)消息
1.open 消息:
TCP建立后,两端发送Open消息指定BGP参数
包括:
- BGP版本号:如果两端版本不一致,则协商至相同为止,版本号高的服从版本号低的。假设一端是BGP-3,另一端是BGP-4,则最后协商的结果为BGP-3.
-自治系统号:表示会话发起端路由器的AS号,用以确定该BGP会话是EBGP会话,还是IBGP会话
-保持时间:表示路由器在收到keepalive消息或者Update消息前可以等待的最长时间。cisco默认保持时间为180秒
-BGP标识符:用来标识邻居的IP地址.Cisco IOS 确定BGP标识符的过程与确定OSPF 路由器ID的过程完全一致。即:
手工指定>looback口最大IP地址>up的物理接口上最大的IP地址
-可选参数:用来宣告支持验证、多协议支持和路由刷新等可选功能。:Marker用于BGP验证的计算,不使用验证的时候所有bit的值均为1
2.keepalive消息
如果路由器接受邻居发送来的OPEN消息中指定的参数,则响应一条Keepalive消息。此后,默认每60秒发送一次keepalive消息。180秒收不到则邻居关系down。
3.Update消息
用于宣告可行路、以撤销路由或者两者。Update消息包括以下信息:-NLRI 网络层可达信息。是一个或多个宣告IP地址前缀及长度的二元组。
-路径属性
-已撤销路由:描述那些已变为不可达且退出服务的目的地址(长度、前缀)二元组
4.Notification 消息
路由器只要检测到差错,就会发送Notification消息并关闭BGP连接。
BGP路径属性
分为4类
1.周知强制属性
2.周知自选属性
3.可选传递属性
4.可选非传递属性
周知属性:所有BGP实现都必须能识别这些属性。而可选属性并不要求BGP实现支持这些属性
周知属性包括了:1.强制属性---即必须包含在BGP update消息
中
2.自选属性---即可以包含在特定的BGP update消息中,也可以不包含在特定的Upadate消息中。
如果可选属性是传递的,那么BGP进程应该接受该属性中包含的路径,即使不支持该属性,并将该路径传递给对等体。如果可选属性是非传递的,那么无法识别该属性的BGP进程可以忽略Update消息中包括的该属性,并且不将该属性传递给对等体。
路径属性表:
ORIGIN --周知强制属性AS_path 周知强制属性NEXT_HOP 周
知强制属性
LOCAL_PREF 周知自选属性ATOMIC_AGGREGATE 周知自选属性AGGREGATOR 可选传递属性 COMMUNITY 可选传递属性
MED(MULTI_EXIT_DISC 多出口分区) 可选非传递属性ORIGINATOR_ID 可选非传递属性CLUSTER_LIST 可选非传递属性。
--ORIGIN 起源属性
指定了路由更新的来源。是用来确定优选路由的因素之一。ORIGIN 属性指定的路由来源有以下3中:
1.IGP:IGP源拥有ORIGIN值的最高优先级。如果路由是通过NETWORK语句从IGP路由表中学到的,那么其BGP路由的源就是IGP
2.EGP:优先级次优
3.不完全的:BGP通过重分发学习到的路由将携带不完全路由来源属性。该携带该属性的路由优先级最低。
--AS_PATH 属性
该属性利用一串AS号描述去往特定目的地的路由。由BGP发言者发起一条路由,并在AS_paht加上自己的AS号,而后,后续的BGP发言者在将路由宣告给外部对等体时,都会在AS_Paht中加上自身的AS号(加在最前面)。这样,AS_PATH就描述了该路由经过的全部自治系统。从最近到达的AS开始,到发起该路由的源AS结束。
注意:仅当Update消息被发送到其他AS时,才会在AS PATH中加上自身的AS号。即只在EBGP对等体中宣告路由条目时才追加AS号。但有一种情况例外。