運行bgp的路由器具有所有的公網路由嗎?

如題


截止2006年,全球有49024個機場,如果每個機場之間都有直飛航線,那麼世界航線的總和是:

49024 * 49023 /2 = 1.2 億

事實上這是不可能的,同時也沒有必要,世界上差不多95%的機場只有國內航班,而沒有國際航班。

以中國為例,差不多就幾大城市有國際航線,內陸地區如果出國,則需要通過國際機場中轉。

BGP路由器可以看作機場,事實上只有國際出口對連的路由器、運營商之間的路由器才需要全球路由表(航線),運營商內部的路由器即使運行BGP,也僅僅需要知道國內的路由表(航線),如果需要到達國外,只需要預設路由(0.0.0.0)指向國際出口路由器、運營商邊界路由器即可。


你是指運營商的路由器嗎?我來大概說一下運營商之間的關係,你可能就比較好理解這個問題了。

運營商之間一般有三種對等關係。

1,Transit:會提供Full route,也就是你說的所有公網路由給你,他就是你的upstream,你可以通過他訪問整個internet。

2,peer:只提供自己以及自己客戶的路由前綴給你。比如通過IX互聯,有bi-lateral peering和multilateral peering,不過都是只發布自己以及自己所有客戶或者部分客戶的prefixes。

3,customer:你就是你upstream的customer。

運營商一般分為tier 1,tier 2運營商。

tier 1的一般都是一些國際性的大運營商,定義的話就是僅僅通過和其他tier 1之間settlement-free的peer關係就可以訪問entire internet,而不需要購買upstream。

亞洲的話主要有NTT(ASN 2914),GCX(ASN 15412),TATA(ASN 6453)等等。

北美的話,Level 3、ATT、Cogent等等比較多。

tier 2一般是一些地區性的運營商,也就是說在世界上部分地區或者城市設有pop,在當地通過接入一些IX獲得本地區或者本國的一些local route,去訪問本地區或者本國的internet。再通過購買一些upstream(IP transit)去訪問其他整個internet。

pop之間的骨幹線路上跑的一般都是去往別的pop的peer的流量,本pop訪問其他地區或者國家的流量在本pop就交給upstream,而不用走自己的骨幹,這樣可以節省成本。

tier 2的運營商就太多了,也就不舉例子了。

回到你的問題,如果你作為customer,你的bgp路由表可以只有一條默認路由到達你的upstream就好了,通過他就可以訪問整個互聯網了。當然了,你也可以接收full route。

如果這台路由器只是通過bgp接入一些IX,或者只是和特定運營商的private peer,那bgp路由表可能只有你的peer或者IX的route server的路由。

知乎小白第一次回答問題,純手機打字。還望各位大哥輕噴並指正


如果收全網路由那還要做路由過濾幹什麼。策略也沒必要做了。


反證法:IPv6地址那麼多,一台伺服器是不可能存下來的,所以BGP伺服器不可能具有所有公網路由。

BGP設計設計初衷是減少路由表的大小,一個自治區域內的路由有OSPF協議路由的,離開了自治區域由邊際網關路由器路由。


讀一下,cisco 出得tcpip路由協議和bgp設計指南(好像是這個名字) 就了解了。

kael的回答說對了一半,但是有些也沒有涉及到。


推薦閱讀:

傳統工科和計算機結合的行業是否具有發展的前途?
關於C語言中輸出超精度位數浮點數的問題?
什麼時候中國的手機晶元或系統能成為主流?
學計算機專業,多倫多大學,滑鐵盧大學,麥吉爾大學和英屬哥倫比亞大學裡面,應當選哪個?
計算機專業的學生該怎樣自學量子力學?

TAG:互聯網 | 路由器 | Cisco思科 | 計算機網路 | 計算機科學 |