閒談IPv6-說說IPv6地址分配和BGP
曾經IANA總管全球的IPv4地址分配,但後來的事實表明,它做的並不是很好。網際網路這麼開放的組織,統一的規則存在是合理的,但大一統的機構監管,確實彆扭。
後來地址分配和管理這件事就逐漸被一些非營利性公司或者組織接管,比如最大的ICANN,開始行使IANA的職能。
不僅僅是為了防止IPv6地址的浪費,更多的是為了提供聚合性以減輕路由器的負擔。目前IPv6的地址空間的管理是嚴格按規定的層次結構在全域性全球範圍內分配的。
IANA被保留了一段地址,它可以在這段地址繼續行使它曾經的分配管理許可權,這段地址為:
2001::/16
IANA不能再像最初管理IPv4地址時那樣管理這段IPv6地址了,它必須同樣遵守規則,按照層次聚合分配地址,層次如下:
- IANA(固定的0x2001開頭)
- 區域註冊機構RIR
- 國家註冊機構NIR-ISP/本地註冊機構LIR
- 終端使用者或ISP的層次結構
這非常類似我們的身份證,也比較類似我們的銀行卡。
在這種分配策略下,當有下層機構需要IPv6地址塊時,上層註冊機構將地址按塊狀劃分給下層註冊機構進行分配與管理,就像一個賣切糕的組織一樣。同級別註冊機構不能隨意交換和分配地址,如果註冊機構A希望獲取一段新的地址空間,它不能從同級別的B獲取,它必須把需求告訴它的上級註冊機構,由上級機構統一統籌分配。
更重要的是,一個註冊機構不能指定需要哪段地址空間,它只能提出它需要多少地址,不然,這不就又落回了IPv4那種在地址空間隨意挖洞的局面了嗎。
進入IPv6時代,事情變得更加簡單而不是更加複雜了。
使用IPv6,我甚至感覺IBGP不再需要了。要理解這個,我們先看看為什麼需要IBGP。
我理解的BGP是 路由的路由 , 更嚴格的說是 路由集合的路由 。這沒有任何問題,在BGP看來, 條路由其實就是一跳可達,它實際上實在說 到達網段1,網段2,網段3,…網段n全部可以交給EBGP對端路由器R1 ,在BGP眼裡, 個網段其實就是 一條路由!
但是,如果把這 條路由注入到IGP,比如被OSPF學到會怎樣?
完蛋,這一下子OSPF就要學習 條路由項啊! 越大,OSPF路由器的學習成本越高,隨著 的增加,直到路由器宕機!宕機的原因是,執行OSPF協議需要大量的收發控制報文,全網洪泛報文,以及需要大量的CPU資源處理這些報文。
那麼怎麼辦?
IBGP來解決!
IBGP實際上是將BGP路由進行了預處理,只在同一個AS內執行BGP協議的路由器之間相互交換路由資訊,然後算出最優路徑後,以 預設路由 或者 匯聚路由 的形式注入IGP。我們知道,宇宙中最猛的匯聚路由就是預設路由了!它只有一條!這將大大減輕AS內路由器控制平面的壓力,減少路由抖動,收斂更快,資料平面更加穩定。
所以一般的運營商AS不接受字首長度大於19的路由通告,對於我國的特殊國情,這個數字目前上升到了24!畢竟嘛,地址空間挖洞越厲害,這個數字就越大,如果可以隨意分配獨立的IP地址,那麼這個數字就是32,這意味著理論上一臺路由器上將會有43億條的路由表項…
沒錯,就是43億條!
經過測試的權威表明,目前的路由器處理50萬條路由就開始吃力…路由查詢演算法將會消耗大量的CPU,產生大量的延遲!最終的效果就是,網速 慢,慢,慢!
這一切,都是地址空間挖洞造成的!但是我國國情嘛,網速慢一點沒有關係,大家習慣了的。
IPv4地址我沒有親測過,我也不知道,但是手機號碼我是測試過的。我想運營商在管理IPv4地址時和管理手機號碼時是一個套路吧。
我的手機號碼133168XXXXX,這是我在深圳註冊登記的,以往如果你打我的手機或者我打你的手機,顯示的我的電話號碼都是廣東深圳的號碼,後來我搬到了杭州,為了減少麻煩,我不準備換手機號碼,我想大不了就是每個月多交一筆錢唄,像什麼漫遊費啥的。然而運營商可以提供 異地遷移服務 ,現在,你再打我電話或是接我的電話,顯示的我的號碼所在地就是浙江杭州了。是不是有點意思呢。
IPv6嚴格按照層次化分配地址,如果AS和地址註冊機構是對應的,這就意味著最終每一個AS理論上只需要通告一條路由即可,它可以毫無壓力地注入到IGP!IBGP還需要嗎?
路由器表項更少,查詢路由的時間更短,造成的延遲更低,所以說,IPv6減少了延遲,它雖然無法提高光速,但是它可以減少處理。
浙江溫州皮鞋溼,下雨進水不會胖。