互联网行业基础词汇
互联网行业基础词汇
06
什么是BGP?
互联网的基础路由协议介绍
对互联网运作机制,大家了解多少?
BGP(Border Gateway Protocol,即边界网关协议)是深入了解互联网机制必不可少的关键词。我们能日常使用互联网实际上都得益于BGP。 BGP使互联网成为可能,是互联网机制的核心,本文将聚焦BGP,让零基础读者也能轻松理解。
什么是BGP(Border Gateway Protocol,即边界网关协议)
BGP是一种路由协议。
路由协议是指在通信网络上为数据包规划并协定最佳路径的规则。
互联网上交换的所有数据(数据包)根据路由信息传输,路由协议控制路径以确保传输过程的正确运行。其中代表性的路由协议就有BGP。
路由协议大致可分为IGP(Interior Gateway Protocol,即内部网关协议)和EGP(Exterior Gateway Protocol,即外部网关协议)两种,前者是AS内部的动态路由协议,后者是AS之间的动态路由协议。
IGP协定AS内部路由器之间交换信息的协议,而EGP则是协定不同AS之间交换路由信息的协议。
下述BGP属于EGP。BGP的路由信息中包含到达目的地址所途经的AS*1号码列表,通常协议会选择AS路径较短的路由,还可根据所需操作路径属性,实现更灵活的路径控制。 由此可见,BGP是具备可扩展性、灵活性和稳定性的路由协议。
*1 AS(Autonomous System):自治系统,是由单一机构管理的网络,互联网通过众多AS相互连接而成。
BGP建立连接的过程
BGP路由器之间相互交换特定格式的 “消息”来建立 “对等”连接。 信息类型多样,因BGP的状态而异。 一旦建立了对等互联,路由器便会持续定期交换路由信息,从而获得各网络的最新路由信息,高效管理互联网数据流。
建立对等互联的路由器可能处于同一AS内部也可能位于不同AS内,基于此BGP处理对等互联的方式也有所不同。 同一AS内的对等互联称为“ iBGP(内部边界网关协议)”,不同 AS 之间的对等互联称为“eBGP(外部边界网关协议)”。 下节将更为详细地介绍BGP中主要交换的消息类型以及这些消息中使用的路径属性。
BGP消息类型
如前文所述,为维持各路由器高效交换信息并保持稳定的互联网通信,BGP使用几种不同类型的消息。下文将简单介绍主要的消息类型及其作用。
OPEN消息
OPEN是TCP连接建立后发送的第一个消息,开启与相邻对等体的会话。OPEN消息包含“版本号、AS号码、BGP路由器ID、holdtime(持有时间)、认证”等信息。若此阶段消息得以确认,路由器将继续交换KEEPALIVE消息和UPDATE消息。
UPDATE消息
UPDATE包含了BPG表生成时发送的所有路由信息和更改时发送的新的路由信息。此外,各路径设置“路由属性”信息,由此控制路径的优先级及属性。
NOTIFICATION消息
NOTIFICATION是检测到错误时发送的消息,发出NOTIFICATION消息的发送方会中断当前的TCP会话。
KEEPALIVE消息
KEEPALIVE是为了查看对等网络建立状态而定期发送的确认消息。通常每经过1/3的持有时间交换一次消息。如超过所设置的持有时间仍未收到KEEPALIVE或UPDATE消息,对等互联将被视为中断。
路径属性
BGP的UPDATE消息包含 “路径属性”,路径属性可有效控制路由信息,并基于网络拓扑和策略选择最佳路径。接下来将对这其中特别重要的路径属性进行说明。
AS_PATH属性
AS_PATH属性是路由途径的AS号码列表。通过查看AS_PATH,路由器可确认自己的AS是否在列表中以免环路,同时可控制路径的优先级。
NEXT_HOP属性
NEXT_HOP属性记录下一跳的路由器IP地址以保证到达指定路径。由此确保数据包能够正确地朝着目地址传输。
MULTI_EXIT_DISC属性
MULTI_EXIT_DISC属性用于控制同一AS内不同接入点的网络流量。MED值越小,路由优先级越高
ORIGIN属性
ORIGIN属性显示路径信息的生成来源。当多个路径到达同一目的地址时可通过该属性确定优先级。
LOCAL_PREF属性
MULTI_EXIT_DISC属性用于控制同一AS内的网络流量。LOCAL_PREF值越高,路由优先级越高。
总结
本文介绍了BGP的连接流程及其种类。BGP可优化互联网整体路由并提升数据转发效率,同时网络管理员还能灵活设置路由策略。它拥有极高可扩展性和稳定性,是一种在大型网络环境中也能顺畅运行的协议,支撑着互联网的运行。