RFC 1918

RFC 1918

RFC 1918私有網路地址分配 (Address Allocation for Private Internets)

介紹


RFC 1918私有網路地址分配 (Address Allocation for Private Internets)
在本文檔中,企業表示一個自治地操作一個使用TCP/IP協議網路的實體,特別地,該實體要決定該網路的定址方案和地址分配。
該文檔描述了私有網路的地址分配。該分配允許一個企業內的所有主機之間以及不同企業內的所有公開主機之間在網路所有層次上的連接。

動力目的


隨著TCP/IP技術在包括Internet網本身以外的世界範圍內的擴散,越來越多沒有連接到Internet網路上的企業使用該技術。這些企業只是使用該技術的定址能力用於企業內部通信,而沒有打算與其他企業或是Internet網路直接相連。
Internet網路的發展出乎任何人的預料。持續的指數級增長不斷引起新的挑戰。其中一個挑戰是來自Internet社區內部的關註:全球唯一的地址空間將被耗盡。一個與此不同,且更為迫切的關注是:路由負荷的數量將超過ISP(Internet Service Provider)的能力。社區內正在努力試圖找到一個關於這些問題的長期解決方案。同時,有必要再次探討地址分配過程及其對Internet路由系統造成的影響。
為容納路由負荷的增長,一個Internet服務提供商從地址註冊組織獲得一個地址塊,然後根據每個客戶的要求將塊內的地址分配給客戶。這個過程造成的結果是:到許多客戶的路由將會被聚合起來,對其他服務提供商呈現為一個單一的路由。為了讓路由聚合有效,Internet服務提供商鼓勵加入其網路的客戶使用提供商的地址塊,然後重新為其計算機設定地址。這樣的鼓勵也許在將來會成為一種要求。
考慮當前Internet的大小以及它的增長速度,通過從地址註冊組織獲得全球唯一的IP地址,某個組織一旦連接到Internet網路上,該組織就具有Internet 範圍內的 IP 連接,這樣的假設不再現實。相反,很可能是這樣:當一個組織想要連接到Internet上以獲得Internet範圍內的IP連接,該組織需要對它所有的公開主機(需要Internet範圍IP連接的主機)進行地址轉換(renumber),而不管該組織原先使用的地址是否是全局唯一的。
典型地,一般所有使用TCP/IP協議的所有主機都被分配一個全局唯一地址。為了延長IPv4地址空間的生命周期,地址註冊請求審查將比任何以往時候都更為嚴格,使得申請更多地址空間難度增大。
在企業內部使用IP的主機可以分為三類:
第一類:企業內的主機不需要訪問其他企業內的主機或Internet;這類主機可以使用企業內沒有多義的但在企業之間可能會有多義的IP地址。
第二類:主機需要訪問外部有限的服務(例如 E-mail, FTP,網路新聞,遠程登陸等),這些服務可由中介網關來處理(例如應用層網關)。對於這類中的許多主機而言,不受限制的外部訪問(通過IP連接)也許是不必要的,從安全形度考慮,也是不合適的。正如第一類主機那樣,該類主機可使用在企業內部無多義而在企業之間可能有多義的IP地址。
第三類:主機需要企業外部網路層的訪問(假設在通過IP連接的方式下);這最後一類主機需要全局無多義的IP地址。
我們將第一、第二類中的主機稱作“私有的”,將第三類主機稱作“公開的”。
對於大多數內部主機,許多應用只要求企業內部的連接,而不需要與企業外的連接。在比較大的企業,很容易識別出一大堆使用TCP/IP協議但是不需要與外部企業建立網路層連接的主機。
下面是一些例子,這些例子中外部連接可能不需要。
------一個大型機場,通過TCP/IP網路來顯示不同航班的到達和離開。很顯然,這些顯示不必被其他網路直接訪問到。
------大型機構,如銀行,連鎖店正轉向使用TCP/IP 來構建其內部通信。大量的本地工作站,如 收銀機, 取錢機和在辦公室的設備很少需要與外部的連接。
------處於安全考慮,許多企業使用應用層網關來將內部網路與外部網路連通。內部網路通常不能直接訪問Internet,這樣僅有一個或更多個網關在Internet上是可見的。在這種情況下,內部網路可以使用非唯一的IP地址。
------內部網路的路由器介面通常不必被外部企業直接訪問。

私有地址空間


網際網路域名分配組織IANA組織(Internet Assigned Numbers Authority)保留了以下三個IP地址塊用於私有網路。
10.0.0.0 - 10.255.255.255 (10/8比特前綴)
172.16.0.0 - 172.31.255.255 (172.16/12比特前綴)
192.168.0.0 - 192.168.255.255 (192.168/16比特前綴)
我們把第一塊稱為“24-比特塊”,第二塊稱為“20-比特塊”,第三塊稱為“16-比特塊”注意(在前面的CIDR 記號中),第一塊地址就是一個A類網路號,第二塊地址是16個連續的B類網路號集合,第三塊地址是256個連續的C類網路號集合。
一個決定使用該文檔中定義的IP地址空間的企業不需要與IANA組織或Internet 地址註冊組織進行協商。這樣,該地址空間可以被許多企業使用。私有地址空間中的地址僅在一個企業內部或在一組選擇在該空間協同通信的企業內部保證唯一,這樣他們可以在自己擁有的私有網路內部實現通信。
以前,任意一個需要使用全局唯一地址的企業必須向Internet註冊機構提出申請。上述定義的私有地址空間中的地址塊將不會被Internet註冊機構分配給一個申請用於外部連接的IP地址的企業。
要使用私有地址,企業要決定在可預見的時期內哪些主機不需要與外部建立網路層連接,從而將這些主機歸類為“私有的”。這類主機將使用上述定義的私有地址。私有主機能與企業內的所有其他主機通信,包括“公開的”和“私有的”的主機。但它們和企業外部的任何主機都沒有IP 連接。儘管如此,它們仍然能通過中介網關(如應用層網關)訪問外部服務。
其他的主機將被歸類為“公開的”,這些公開主機必須使用由Internet註冊機構分配的全局唯一的地址空間。公開主機可以與企業內部的其他公開主機和私有主機通信,它們可以具有與企業外部公開主機之間的IP連接。公開主機與其他企業內部的私有主機之間沒有連接。
將私有主機轉為公開主機或是相反的操作涉及到IP地址的轉換,DNS中相關記錄的改變和在其他主機上用IP地址來標誌該主機的配置文件的改變。
因為私有地址沒有全局意義,因此在企業之間的鏈路上沒有必要傳播私有網路的路由信息。源或目的地址為私有地址的包也不應該在這樣的鏈路上被轉發。網路中不使用私有地址的路由器,尤其是那些屬於ISP的路由器,期望被設置為拒絕(過濾)關於私有地址的路由信息。如果一個路由器接收到這樣的信息,拒絕操作不應該被視為路由協議錯誤。
對於這樣的地址的非直接參考應該被包含在企業內部。關於這樣的參考,一個突出的例子是DNS中的 Resource 記錄(Resource records)和其他有關內部私有地址的信息。特別的(In particular),ISP應該採取措施防止這樣的泄露。

利弊


普遍地,對於Internet來說,使用私有地址空間一個明顯的好處就是在不必要使用全局地址的地方使用私有地址,從而保存了全局唯一地址空間。
企業同樣從使用私有地址空間中獲益不菲:具有比使用全局唯一地址池時有更多的地址空間支配權使得他們在進行網路設計時有很大的靈活性。這使得操作和管理地址分配方案及擴展路徑更為容易和便利。
由於各方面的原因,Internet上已經遇到這樣的情形:沒有連接到Internet上的某個企業使用了不是IANA分配的地址空間。在某些情況下,這個地址空間已經被分配給了其他企業。如果這樣一個企業以後要連接到Inernet上,這將產生很多嚴重的問題,因為IP路由在地址具有多義性的時候不能進行正常的操作。儘管在理論上,ISP應該通過路由過濾防備此類錯誤,但實際上往往不會這樣做。使用私有地址空間為這樣的企業提供了一種安全的選擇,能夠在企業需要連接到Internet的時候避免產生衝突。
使用私有地址空間的一個主要缺陷是,它也許實際上減少了企業訪問Internet的靈活性。一旦一個企業決定使用私有地址,為了能讓部分主機具有與Internet之間IP連接的能力,他也要承擔部分主機地址轉換的任務。通常地址轉換的代價可以用需要從私有地址轉換為公開地址的主機數目來衡量。正如我們上面討論的那樣,即使一個網路使用的是全局唯一地址,為了獲得Internet範圍的IP地址的連接能力,它也可能仍然需要進行地址轉換。
使用私有地址空間的另一個缺陷是:將幾個私有網路合併成一個私有網路時,它也可能需要進行地址轉換。回顧第二部分列出的例子,我們注意到公司有合併的趨勢。如果這些企業在合併前各自使用私有地址構造自己的私有網路,當這些私有網路合併成一個私有網路時,合併后的私有網路地址不一定唯一。結果是,具有不唯一地址的主機需要重新分配地址。
地址轉換的代價可以通過開發和便於轉換的開發工具來減輕(例如 DHCP).當決定是否要採用私有地址時,我們建議諮詢計算機和軟體廠商是否能獲得這類相應的工具。一個單獨的IETF 組織正在致力於完成描述地址轉換過程和要求的所有文檔。

操作考慮


一種可能的策略是先設計網路中的私有部分,給所有內部鏈接分配私有地址空間。然後在需要的位置安排公開子網,設計外部連接。
這種設計不必是永久固定的。如果以後一組主機(一台或多台)要求改變它們的地位(從私有到公開,或是相反),通過轉換涉及到的主機的地址,在必要的時候改變其物理連接即可完成。如果需要,在某些事先可以預見的位置,建議為公開子網和私有子網配置不同的物理介質,從而方便這樣的改變。為了避免主要的網路破壞,建議將主機按照相似的物理連接要求分組,放置在不同的子網內。
如果能設計一個合適的子網方案,並且該方案能夠得到相關設備的支持,建議使用24-比特塊私有地址空間(A類網路),採用便於擴展的製作定址方案。如果使用子網是個問題,那麼可以採用16-比特(C類網路)或20-比特(B類網路)地址塊。
有人可能被慫恿為同一物理介質同時分配公開的和私有的地址。如果這是可能的話,這種設計存在著不可知的危險。(注意,這種危險和使用私有地址空間無關,而是由於在一個普通數字鏈路子網上多個IP子網的存在引起的)。我們建議在處理該領域時要特別注意。
強烈建議連接企業到外部網路的路由器在鏈路的兩端安裝合適的包和路由過濾,以便防止包和路由信息的泄露。一個企業應該從入站的路由信息中過濾掉任何私有網路,從而保護它自己不陷入路由歧義的境遇,這種境遇在如果到私有網路地址空間的路由指向了企業外部時會發生。
有這樣的可能,兩個站點,協作使用私有地址空間,通過一個公開網路彼此通信。為了這樣做,他們必須使用一些方法,在公開網路邊界上進行封裝,從而保持他們的私有地址的私有性。
如果兩個(或更多個)組織遵循本文規定的地址分配方案,以後希望建立彼此之間的IP連接時,這時就會有地址唯一性被打破的危險。為減小這樣的冒險,強烈建議使用私有IP地址的組織在為其內部分配子塊時,隨機地從保留的私有地址池中選取IP地址。
如果一個企業使用私有地址空間,或混合使用私有地址和公開地址空間,企業外部的DNS客戶端不應該看到企業使用的私有地址,因為這些地址將會是多義的。一個確保此實現的方法是為每個既包含使用公開地址的主機,又包含使用私有地址的主機的DNS域運行兩個權威伺服器。一個伺服器對公開地址空間可見,它僅包含企業地址中公開地址能訪問到的子網。另一個伺服器僅能被私有網路訪問,它包含所有的數據集合,包括私有地址和能訪問私有網路的公開地址。為了保證一致性,每個伺服器應該用相同的數據來配置,配置中,公開可見域僅包含一個過濾后的版本。提供這些功能在一定程度上有附加的複雜性

安全考慮


安全主題在本備忘錄中不討論。

總結


使用上述方案,許多大型企業只需要全局IP地址空間中相對較少的地址塊。Internet從保存全局唯一地址空間獲得好處,這將有效地延長IP地址空間的生命周期。通過提供一個相對較大的私有地址空間,企業從增加的靈活性中得到好處。但是,企業網路連接性隨時間發生變化時,使用私有地址要求一個組織為企業網路中的部分或所有主機轉換地址。