边界网关协议BGP(Border Gateway Protocol),是TCP-Based Routing 协议。
猜测题主是想了解其它Routing协议的不同,对吗? 否则没有现实意义,太宽泛了,无法比较。
当前依然健在的Routing协议,主要有BGP、OSPF、ISIS、EIGRP、RIP。
问题就变成,BGP与其它路由协议OSPF、ISIS、EIGRP、RIP有何不同?
不同电信运营商ISP之间交换路由表,通常只使用BGP,而不会使用其它路由协议。
尽管其它协议支持VRF-aware,可以用在运营商与客户之间的MPLS VPN交换路由。但是BGP天生就支持VRF-aware,故BGP与其它路由协议相比,在运营商有天生的优势。
除了以上的不同,BGP与其它路由协议没有本质上的不同,主要工作高度概括为2点:
1.与Peer 交换 Database,通常使用AF_NET的Socket完成。ISIS例外,使用AF_OSI的Socket完成。
2.将最佳路由通过AF_Route的Socket植入Radix Tree(大名鼎鼎的Routing Table)。
BGP使用AF_NET域的SOCK_STREAM Socket完成通信,AF_Route Socket植入Radix Tree。
OSPF使用AF_NET域的SOCK_RAW Socket完成通信,AF_Route Socket植入Radix Tree。
ISIS使用AF_OSI域的SOCK_RAW Socket完成通信,AF_Route Socket植入Radix Tree。
EIGRP使用AF_NET域的SOCK_RAW Socket完成通信,AF_Route Socket植入Radix Tree。
RIP使用AF_NET域的SOCK_DATAGRAM Socket完成通信,AF_Route Socket植入Radix Tree。
一句话概括就是,每个Routing 协议,都有2个Socket,一个用于与Peer通信。另外一个用于注入Radix Tree。
原文始发于微信公众号(车小胖谈网络):边界网关协议与其他网络协议有什么不同?
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论