近期我看到有些文章說,IPv4的地址已經(jīng)用光了,或者說,已經(jīng)分配完了。將來沒有IPv4的地址可供分配了,所以IPv6進入實質(zhì)性階段。那么,IPv4的地址是否真的用光了、是否已經(jīng)沒有地址可供分配了?本文將對這個問題進行探討。
首先,所謂IPv4地址將要分配完,這是對管理Internet地址的部門-IANA(The Internet Assigned Numbers Authority,互聯(lián)網(wǎng)數(shù)字分配機構(gòu))來說,在將來(預(yù)計2011年8月份所有地址分配完),已經(jīng)沒有地址可供分配。從這一點來說,IPv4地址已經(jīng)分配完了。
但是,由于運營商、先期獲得地址的公司或企業(yè),有大量的IPv4地址可供使用,對于這些公司或企業(yè)來說,在很久的一段時間內(nèi)(可能幾年甚至十幾年的時間)都不用為IPv4的地址發(fā)愁。從這點來看,可能許多運營商會為IPv4的地址發(fā)愁。但是,這也只是表面的問題,如果運營商改進地址的分配方式,在未來的幾年中甚至更長的時間中,將不會為IPv4的地址發(fā)愁。接下來我們介紹運營商是怎么管理與分配自己手中的IPv4地址的。
對于運營商來說,需要IPv4地址的用戶主要有兩類,一類是為用戶通過光纖或其他專線接入,并且給這些用戶分配一些固定IP地址;另一類用戶則是不需要獲得固定IP地址、并且只有在連接到Internet時才臨時分配一個IPv4地址,并且在斷開連接后回收這些地址供其他用戶使用。當(dāng)一個運營商的IPv4地址總數(shù)已經(jīng)固定并且不再增加,但需要接入Internet的企業(yè)或個人用戶越來越多時,運營商怎樣使用手中的地址,并且能滿足用戶的需要呢?我個人的觀點是,運營商并非沒有IPv4地址,而是由于管理等問題,造成了大量的IPv4地址的浪費,才造成IPv4地址的緊缺。為了說明這個問題,我們通過幾個例子進行介紹。
1 目前運營商地址規(guī)劃方法浪費了大量的地址
實例1:
某政府單位,通過網(wǎng)通10M光纖接入Internet,網(wǎng)通為其分配的IP地址是61.x.y.6,子網(wǎng)掩碼是255.255.255.252,網(wǎng)關(guān)是61.x.y.6。用戶同時將這個地址作為其門戶網(wǎng)站的地址(映射TCP的80端口到內(nèi)部的Web服務(wù)器)。
實例2:某單位,通過電信光纖接入Internet,電信為其分配的IP地址是219.x.y.2~219.x.y.6,子網(wǎng)掩碼是255.255.255.248,網(wǎng)關(guān)是219.x.y.1。
從這兩個實例來看,網(wǎng)通、電信劃分(規(guī)劃)IPv4地址、管理IPv4地址是沒有任何問題的,目前許多的運營商,基本上也都是這樣管理與分配IP地址的。但是,在這兩個實例中,都浪費了大量的地址。
對于實例1來說,一個相當(dāng)于C類的地址池(例如本例中的61.x.y.0/24)一共有256個IP地址,但最多只能為64個單位提供接入,其浪費率是75%,這種網(wǎng)絡(luò)連接方式網(wǎng)絡(luò)拓撲如所示。
傳統(tǒng)IPv4分配方式
【說明】當(dāng)子網(wǎng)掩碼是255.255.255.252時,可以將一個C類地址劃分為64位子網(wǎng),每個子網(wǎng)有4個地址,由于每個子網(wǎng)的第1個地址作為網(wǎng)絡(luò)地址、最后1個地址作為廣播地址不能使用,運營商一端需要使用1個地址,這樣只有1個地址供用戶使用。
對于實例2來說,一個相當(dāng)于C類的地址,使用子網(wǎng)掩碼255.255.255.248時,每個單位有5個可用地址,可以分配給32個單位,實際可用地址是160個,有接近一半的時候被浪費。目前采用255.255.255.248這種子網(wǎng)掩碼的劃分方式,目前決大多數(shù)單位,都是這種情況。
對于更大一些的單位,可能一次性獲取的IP地址會多一些,例如,運營商可能會劃分28位(子網(wǎng)掩碼255.255.255.240)甚至更大的子網(wǎng),但這樣也會造成地址的浪費。
我想,如果運營商改變以往用戶的接入方式(以前接入雙方都是通過路由器來接入的),改為類似現(xiàn)在局域網(wǎng)中的交換機接入方式,或者,仍然用路由器方式接入,但劃分更大的子網(wǎng),例如劃分24位(子網(wǎng)掩碼為255.255.25.0)的子網(wǎng)。這樣的改造同樣適合于現(xiàn)在已經(jīng)有網(wǎng)絡(luò)接入的用戶,在局端進行相應(yīng)的修改之后,只要通知企業(yè)用戶更改自己的網(wǎng)關(guān)地址、子網(wǎng)掩碼就可以繼續(xù)使用原來的地址,而對于運營商來說,這樣將節(jié)省大量的地址,用于再分配。在現(xiàn)有數(shù)量的IPv4地址基礎(chǔ)上,可供使用的地址以及節(jié)省的地址將大大增加。改進后的網(wǎng)絡(luò)拓撲如所示。
改進方式
改進之后可能出現(xiàn)的問題有:
(1)由于采用交換方式接入,這樣會導(dǎo)致多個用戶(如中的用戶1~用戶253)在同一個子網(wǎng),這樣用戶如果錯誤的設(shè)置IP地址,或者盜用IP地址,會造成地址沖突問題。要避免這個問題也比較簡單,可以在交換機上采用IP與MAC地址綁定的方法進行。
(2)在的網(wǎng)絡(luò)中,每個用戶屬于一個網(wǎng)絡(luò),不同的用戶之間是禁止廣播的,但改為之后,由于多個用戶屬于同一個網(wǎng)絡(luò),用戶之間會產(chǎn)生廣播流量。同樣,通過在交換機上配置策略也能解決。
2 ADSL家庭上網(wǎng)用戶可以使用私網(wǎng)地址
對于網(wǎng)通、電信等大的運營商來說,家庭寬帶用戶或者PSTN撥號用戶,每次獲取的都是一個動態(tài)的、合法的IP地址。實際上,對于這些用戶,完全可以使用私有地址,沒必要為其分配公網(wǎng)地址。大量寬帶用戶關(guān)心的是上網(wǎng)的速度、下載速度,從來沒有人關(guān)心自己使用的是私網(wǎng)地址還是公網(wǎng)地址,因為每少有人使用ADSL做自己的網(wǎng)站發(fā)布到外面供他人訪問。
以前中國電信(電信沒有拆分前),163(或169,具體那一個我記不清了)使用的就是10.0.0.0/8的私網(wǎng)地址。計算機
從理論上計算,每個IP地址使用TCP或UDP的1~65535個端口,而每個用戶瀏覽網(wǎng)頁、下載時,最多使用200個以內(nèi)的端口。從這點來計算,每個公網(wǎng)地址大約可以為300個用戶同時提供NAPT的服務(wù)。
即使用戶需要使用ADSL對外提供服務(wù),運營商也可以為這些用戶提供公網(wǎng)地址,或者提供端口映射服務(wù),這樣相對于現(xiàn)在使用動態(tài)IP來說,對外提供的服務(wù)地址會固定(為寬帶用戶提供固定的私網(wǎng)地址并在運營商一般在公網(wǎng)地址做端口映射)。
目前,許多小運營商,為用戶提供的就是私網(wǎng)地址。
3 高校擁有大量的IPv4地址
目前,中國的大學(xué)擁有大量的IPv4地址,以筆者的高校來說,目前擁有16個C類地址(202.x.192.0/20),雖然每個教職工上網(wǎng)獲取一個動態(tài)的公網(wǎng)地址,但這些地址已經(jīng)在網(wǎng)絡(luò)中心的路由器上進行了限制(只允許訪問外面、外面不能訪問內(nèi)部),這些地址,從本質(zhì)上來說,和使用私網(wǎng)地址沒有什么區(qū)別。
4 DNS問題
即然問題說到這,我再說一下DNS問題。一些專家說,DNS根服務(wù)器都在國外,對國內(nèi)的安全造成影響,將來一旦戰(zhàn)爭爆發(fā),中國會受制于人-國外DNS不允許訪問了,國內(nèi)的網(wǎng)站會全部癱瘓。在我看來,這些也是有點杞人憂天:
不管怎么訪問DNS,都要通過國內(nèi)大運營商(電信、移動或聯(lián)通)的國際光纖訪問國外,如果萬一國外的DNS不允許訪問,我們在國際光纖的出口之中,架設(shè)國內(nèi)的DNS服務(wù)器,或者提前使用DNS緩存的方式,保存DNS服務(wù)器的查詢結(jié)果,完全可以在很短的時間內(nèi)再建DNS服務(wù)器。要知道,我們訪問網(wǎng)站,最終是要換成DNS域名所對應(yīng)的IP地址,才能訪問網(wǎng)站的。只要網(wǎng)站存在國內(nèi),用DNS不能訪問、用IP地址還不能訪問嗎?用IP地址不能訪問(許多網(wǎng)站只允許DNS名稱訪問)、我們修改本地的hosts文件、自己創(chuàng)建域名與IP地址的對應(yīng)關(guān)系,是肯定可以訪問的!