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