羅望東 王洋 陳永超
【摘要】隨著IPv4地址的即將耗盡,各家電信運營商將加速部署IPv6網絡和服務,如何規劃分配IPv6地址是一個很關鍵的問題。本文介紹了幾種地址分配方法,并以一個省為例,對省級電信運營商IPv6地址在各市的分配規劃進行探討。
【關鍵詞】IPv4IPv6地址分配地址規劃
引言:IPv4地址的現狀
IANA(The Internet Assigned Numbers Authority,互聯網數字分配機構)的IPv4地址庫在2011年2月3日宣告枯竭。APNIC(Asia-Pacific Network Information Centre,亞太互聯網絡信息中心)的IPV4地址消耗速度也相當快,在2011年4月15日APNIC的剩余IPv4地址少于1個/8的地址(即剩最后1個A類地址),APNIC開始執行新的分配政策,不再按需分配大段IPv4地址,每次分配只能申請一塊/22的地址(即1024個地址),且只能用于IPv4向IPv6的遷移。這意味著亞太地區ISP已不能從APNIC申請到大段IPv4地址,亞太地區的ISP按照現有的消耗增速,2013年各家ISP的IPv4地址將耗盡。IPv6在這之后將會加快發展速度,使用IPv6的網絡會越來越多,在一個省級電信運營商網絡中,如何規劃使用新分配的IPv6地址是一個重要的問題。
一、IP地址分配方法介紹
IP地址分配方法有順序分配、稀疏分配、基于增長率分配等方法。
1.1順序分配法
順序分配是IPv4地址在分配使用時常常采用的方法,即按照使用人申請IP的先后順序,從可用IP地址空間中順序分配所需IP地址塊。這種分配方法造成的一個后果就是,骨干路由器中路由表條目過多。一個省級電信運營商在分配IPv4地址時采用順序分配方法,一塊地址可能會混亂地分配給不同的市分公司。且從APNIC申請來的IP地址塊也是被順序分配的,一個運營商可能會有多個不連續的IP地址塊。這些問題造成省級運營商的核心路由器中路由表條目過多,給路由器的運行帶來了很大壓力。使用順序分配法會造成地址碎塊過多,不太適用于IPv6地址的規劃。
1.2稀疏分配法
稀疏分配是每一個新地址塊的分配,都會把現有用戶和新用戶之間的地址塊均衡地劃分成兩段。這種方法能夠為兩個用戶都留下最大的潛在增長空間。稀疏分配方法顯示了良好的聚合特性,但是其顯著缺陷在于,并沒有充分利用用戶的地址申請和使用信息,傾向于將地址空間均分給申請的用戶,對不同規模的用戶申請適應性較差。稀疏分配法在實際使用時因為各個地區用戶規模差異很大,也不太適用于IPv6地址的規劃。
1.3基于增長率分配法
基于增長率的地址分配法在選擇空閑地址塊時,要參考已存在用戶和新增地址使用單位的地址需求的增長率。當存在n個已分配地址的用戶的時候,對于第n+l客戶最多有n個可能的地址選擇位置。此種分配方法不同于稀疏分配方法那樣同等對待每一個用戶。基于增長率的地址分配方法先要將這n個可能的空閑地址塊試分給新地址用戶,計算出每個試分方案的地址增長空間碰撞時間,選擇碰撞時間最長的空閑地址分配方案作為新用戶的地址分配方案。其計算公式如下:
max{min[t(Xi,ri),t(Yi,rN+1)],i-1,…,n}
t(X,r)是地址增長率為r的地址分配方案A填滿地址空間X的時間。換句話說,新的分配位置將從所有可用地址空間中選擇能夠使得當前用戶和新用戶所導致的地址耗盡時間最長的位置。根據各自增長率r的不同,函數t(X,r)也可以表現為其他不同的形式。基于增長率的方法比較好的解決了不同地區用戶增長速度的不同與便于地址聚合的問題,比較適用于IPv6地址的規劃。
1.4按照現網用戶比例分配法
基于增長率分配法較適用于IPv6地址規劃,但在實際規劃時,計算各用戶之間地址耗盡時間的最長位置很復雜。參考基于增長率分配法的理念,在一個省級電信運營商規劃IPv6地址分配時,可以考慮按照當前各城域網用戶所占比例來分配的方法,在高位地址段按用戶比例,提前規劃好各城域網的地址塊。這樣可以減少地址碎塊,即有較好的聚合特性,也有較好的用戶申請適應性,也能達到在省級運營商內部,各城域網用戶之間的地址耗盡時間最長的效果。
二、IPv6地址規劃
IPv4地址因種種原因,造成分配時地址塊的不連續,使得骨干網絡路由器的路由表難以聚合,給路由器帶來很大的維護和運行壓力。IPv6地址在設計之初就已經考慮到,通過設計層次化地址結構和層次化的地址分配來做路由聚合,IPv6地址的開始使用,對重新合理規劃地址塊的分配帶來了一個難得的機會。為減少無法聚合的地址碎塊,在規劃IPv6地址分配時尤其要做好高位地址的規劃。
一個省級運營商初次申請將能夠分配到一個/32的IPv6地址塊,下面將以一個省級電信運營商的網絡為例,按用戶所占比例分配法,規劃分配各市城域網的地址。
按照IPv6地址格式的定義,128位的IPv6地址,如果分配到一個/32的地址塊,前32位是全球可路由前綴,分配后就已經固定不變了,運營商是無法規劃的,后64位是接口ID,能夠規劃使用的是第33位到64位之間的32位。接口ID所占的64位是主機號,顯然沒有那個子網會有這么多主機,看上去可用地址減少了很多,但子網ID還有32位,我們可以規劃的子網是2的32次方個,謹慎的分配使用,IPv6地址還是有很大使用空間的。省級IP地址管理員,主要負責規劃省內市一級城域網的IP地址層次,在省內規劃好各市城域網的IP地址段,減少省核心路由器匯聚路由時的地址碎塊。省一級為減少地址碎塊,在能規劃的高位提前做好規劃,比如在第33-40bit進行各市城域網的地址規劃,其他的低位地址段由市級IP地址管理員規劃。
省級地址規劃建議注意事項:
1、為方便市一級IP地址管理員提早規劃城域網的各縣區機房的IP地址,減少市城域網內的地址碎塊,方便路由聚合。初次分配時,盡量多分配一些IPv6地址。以免多次分配,造成地址不連續,碎塊過多。
2、為減少地址碎塊,省級IP地址管理員規劃分配地址段時,給各市分配的地址塊以/40為最小單位分配,這樣即使分配不太連續,省核心路由器上的路由條目最多也只有256條。
3、為方便路由聚合,規劃各市城域網IPv6地址網段時,每個網段的/40網段數最好等于2的n次方(n是大于等于0的整數),這樣一條路由條目就可以匯總該市的路由。
4、為給省一級預留一些未分配IP地址,按照用戶比例算出預計分配給各市的/40地址塊數量后,實際分配給各市的地址塊數,向小于預計分配數的2的n次方的數值靠近。
5、地址塊數規劃好后,為了使各市地址塊的地址增長空間碰撞時間盡量長,分配地址時,兩個相鄰地址塊一個從低位往高位分,另一個從高位往低位分,下兩個相鄰地址塊也采用同樣的分配方法。兩個相鄰地址塊之間空閑的地址塊作為預留地址,下次分配時優先考慮分給相連的城市。
2.1省內各市城域網規劃
將第33位至40位共8位地址作為城域網標識符,這8位地址共有256個/40的地址塊,將這256個/40的地址塊分配給各市城域網。假如一個省有18個地級市,以IPv6地址段2001:0db8::/32為例,各市地址塊最終的分配情況見(表1)。(表1)中用戶所占百分比是各城市的用戶量在總用戶量中的占比,18個城市的用戶量占比最高的占到21%,低的只有1%,(表1)中城市1~18的用戶量依次減少。一個/32的地址塊中有256個/40的地址塊,256乘以用戶量所占百分比=預計分到的/40地址塊數,18個城市預計分配/40地址數最多的54個,最少的3個。預計分配量過大,可能會造成一些城市用不完這些地址,另一些城市地址又不夠用的情況發生,為了預留一些未分配IP地址,實際分配給各市的/40地址塊數,向小于預計分配數的2的n次方數值靠近,這樣就得到實際分配的/40地址塊數,18個城市中最多的32個,最少2個。
實際分配地址塊數量規劃好后,為了使各城市地址增長空間碰撞時間盡量長,在分配各市具體地址塊時,兩個相鄰地址塊一個從低位往高位分,另一個從高位往低位分,下兩個相鄰地址塊也采用同樣的分配方法,中間空閑的作為預留地址。兩個相鄰的地址塊加上中間空閑的地址塊的/40地址塊總數,最好也是等于2的n次方。為了使各城市的碰撞時間盡量長,一個用戶量多的城市最好與另一個用戶量少的城市相鄰,可以在(表1)中看到城市1~18的次序被打亂了。
2.2市級城域網內的地址規劃
市級IP地址管理員可以參照規劃各市城域網地址段的方法,按照本市各縣區的用戶量,將分配給本城市的IP地址按照縣區機房進行規劃,本文不再進行規劃。
三、結束語
IPv6的大規模使用即將開始,在遇到具體情況時,本方案還需要更進一步研究與完善。IPv4時代因為種種原因,造成地址分配混亂,地址利用率不高,骨干網路由器的路由表項冗繁,使用IPv6地址是個機會,可以在初始分配時,重新合理的規劃好。