IP位址與網域名稱之分配與管理





潘貞如、林盈達

國立交通大學資訊科學系
新竹市大學路1001號
TEL:(03)5712121 EXT. 56667
EMAIL:gis87550@cis.nctu.edu.tw, ydlin@cis.nctu.edu.tw






摘要

網際網路中,所有連接上網路的機器為了彼此能相互溝通,每一台主機都有不相同且唯一的IP地址與網域名稱。隨著網路的普及化,使用網路的人口暴增,IP地址與網域名稱分配與管理的問題日益徒顯其重要性。在不久的將來將會面臨的問題包括IP位址不足與使用率不佳、網域名稱系統如何建構才能更有效合理地配置網域名稱等問題。近來提出解決IP不足的方法有DHCPprivate IPCIDR等,另外,在註冊名稱系統方面也逐步有相關規範出現。此篇文章即就這些問題做一探討。





一、統計資料

隨著網際網路的發達,全世界使用Internet的人口與日俱增,根據Network Wizards八十六年七月之統計資料,到目前為止連上Internethost (有記錄IP 地址的網域名稱),包括了240個國家,大約有29,670,000 hosts。圖一為1993年一月至1998年一月間hosts的成長數。從此圖可看出每年host的成長率約在40%50% 之間,若依過去三年的平均成長

率計算,則西元2000年一月hosts數將達90,000,000。用此統計方法中並發現大數量的hosts歸於 .COM之下,.COM是目前擁有hosts最多的Domain,大約佔所有hosts28% [1]。表一為目前台灣網域名稱數量統計表 [2]

表一、台灣網際網路各類領域(Domain)數量統計表

Date

COM

EDU

GOV

NET

ORG

Total

1998/01

10806

623

295

344

619

12687

1998/02

11723

648

298

512

653

13834

1998/03

12040

654

299

523

681

14197

1998/04

14241

702

318

534

808

16603

1998/05

15946

725

333

574

921

18299

1998/06

18184

780

350

591

1032

20737

1998/07

20165

867

374

584

1179

23169

1998/08

21914

903

388

600

1283

25088

另外,台灣目前各ISP IP位址擁有數及使用量的情形如表二 [3]

表二、各ISP IP位址擁有數及使用量清單(單位:Class C

ISP 名稱

IP 數量

使用量

使用率

TANet(台灣學術網路)

1792

1642

91.63%

HiNet

1792

1595.69

89.05%

SEEDNet

1536

1042

67.84%

GSN(政府網路)

256

252.19

98.51%

醫療網

128

122

95.31%

SySNet(精業)

176

121.25

68.89%

TTNet(台灣電訊網路)

128

47.5

37.11%

AcerNet(元硌穈T)

96

88

91.67%

GCNet(廣通科技)

128

67.78

52.95%

HtNet(仲琦科技)

88

20.31

23.08%

Unet(向邦科技)

32

8

25%

英普達

32

0.0

0%

悉達

16

0.0

0%

吉立通

48

0.0

0%

太聯

16

0.0

0%

Total

6264

5006.72

79.93%

由這些統計資料中可發現Internet的使用人口劇增,而目前尚有足夠的IP Address可分配使用,但以現存的IP Address架構,未來勢必難以應付大量的使用者加入。除此之外,網際網路在各界的宣傳及推廣活動之下,商業應用的潛力漸漸浮現,以目前台灣領域下的COMEDUGOVNETORG等五個子領域做比較,以商業應用為主的COM領域對Domain需求量最多,目前為21914個,與其他的domain數量相比有顯著的差異 [3]。在台灣各ISP發放IP位址方面,從表二可看出IP位址使用率有高達98.51%也有低到23%甚至0%,呈現使用率不均的情況。使用率的計算是以ISP所擁有的位址數除以已核發出去的使用量。觀察此使用率,其中可能隱含了已分配出去的IP位址但卻未被使用的情況。尤其以Class BIP位址最為嚴重。一段Class B的位址包含了64000台主機,目前申請到Class B位址的多為學校單位,學校裡最多也不過數千台機器,可推算將近超過一半的Class B真正使用率並不到一半。由此可見IP位址實際使用率不佳的情況可能極為嚴重。為了避免這些使用率不均、IP位址不足、網域名稱過於擁擠的發生,目前已有提出一些相關的因應之道,此篇文章後面將提出這些解決方案,而在提出這些方法之前,我們必須先瞭解目前IP位址及網域名稱的架構,才能更進一步分析及解決這些問題。





二、IP位址與網域名稱之架構

1. IP Address架構

Internet上每一個Host Router都有唯一的IP address。透過Internet,當我們想傳送資料到某地或與某一地做溝通時,必須知道對方的位置為何處,即傳送的過程需表明來源與目的地位置才能作正確的連結,而此位置即由IP address來表示。由IP address 可看出目前所在主機的網路號碼與主機號碼,為了每一主機的區別,絕對沒有兩台主機會有相同網路號碼與主機號碼的組合。

Class

目前的IP位址規格如圖二,每一IP位址有32個位元,所有的IP位址分為四個Class,分別為Class ABCD [4]。雖然IP位址長32位元,但實際上僅含兩項資訊,即網路號碼(Network number)與主機號碼(Host number)。Class ABC表示的網路號碼與主機號碼範圍各有不同,Class D 則是做群播用。在這個架構下,我們可輕易得知同一網路下的主機,網路號碼一定相同,因此相同網路的主機可直接互通,而不同網路的主機則需透過路由器於網路間傳遞封包。IP位址若以十進位來表示,可表示的範圍為0.0.0.0 255.255.255.255。另外有些IP address代表某些特殊用途,如圖三。例如,當IP address全為1時,表示向現在的網路做廣播的動作。若是想向別處網路作廣播時,則網路號碼的部分改成那方的網路號碼而後面的部分仍維持全為1即可。

 

網路分級的原因是考慮到不同規模的網路,當申請一個網路時,申請者需考慮其網路內可能有的主機數量,申請適當等級網路,申請超過實際所需的網路將使大部分IP位址被閒置,這在目前IP位址短缺的情況下士不被允許的。由於IP的網路號碼決定了主機所屬的網路,因此主機在傳送封包前,會先由其中過濾出網路號碼,而這樣Classful的機制決定了封包該先送往那個class,方便做routing的動作,routing table不必記錄每一個host全部的位址,減少了routing tablesize

Subnet

IP位址規劃成網路號碼與主機號碼兩部分已可應付大部分需求,但網路分class所衍生的問題是,有些大型機構、組織、或企業內部實際上是由數個LANs組成,而這些區域網路若要彼此傳遞封包,則每個LAN皆得擁有自己的網路號碼,解決方式是為每個區域申請一個網路號碼,但這通常會造成IP位址的浪費。而實際上也沒有一個LAN可以在不使用路由器或閘道器之情況下含滿class Aclass B所能包含的主機數目,因此,網路有必要再劃分為次網路(subnet)。

為了設置subnet,就必須有subnet number,即為了在本來的網路號碼下再獲得次網路號碼,必須犧牲主機號碼的一些位元來作為次網路號碼的位元,至於此位元數由次網路的數量來決定。而如何由主機號碼挪出次網路號碼的位元?實際作法是將網路mask1的範圍延伸至主機號碼的位元。網路mask主要是為取出整段位址之中的網路號碼及次網路號碼,捨棄掉後面代表主機的位元部分,因此將想取的部分設為1,其他要捨棄的主機部分位元設為0,與整個位址做AND,便可找出網路號碼與次網路號碼。

次網路的設置使得IP位址的使用更有彈性,採階層化的路由方式,還可解決不同網路類型之並存,例如透過次網路的設置,不同種類的網路即可擁有自己的次網路位址,再透過路由器即可連接到這些次網路。另外,主機數量過多的網路,也可使用這個技巧將之打散成數個小網路,減少了主機間封包碰撞頻率過高,傳輸率下降的問題 [5]



2. DNS架構

網路上傳輸主要靠IP address來表示位址,IP address的表示法雖然方便且直接,但太過數字化卻使人不容易記住所有機器的位址。因此我們用人類較容易記憶的方式來對應電腦與IP位址,而這種方式就是註冊名稱系統。當您想透過瀏覽器查詢資料時,在輸入網域名稱後,電腦主機其實無法認得它指的是那個位置,這個時候便是透過註冊名稱系統的對照表,去查出並轉成此相對應的IP位址,才能順利到達你所想要去的地方。


階層架構

註冊名稱系統的架構是採樹狀階層分散式的設計,每一層之間以〝•〞號分開,分為首層網域(Top-level Domain),與次網域(Sub Domain)。例如一段網域名稱〝.nctu.edu.tw〞,其中首層網域為 .tw,第二級則為管理教育單位的 .edu,接下來才是屬於教育部下的nctu。在國際網路的網路名稱體制中,首層網域包括除了國別或地域的兩個字母外,還有 .com, .edu, .net, .org, .int, .gov, .mil。查詢ISO-3166可得到代表國家的兩個字母,如〝.tw, .jp , .us, .ca〞等[6] 而其他幾個首層網域:

.com 代表商業機構,如netscape.comyahoo,com

.edu 為教育研究等單位,如yale.edumit.edu

.net 為提供網路服務的網路組織

.org 非營利機構,如 ietf.org

.int 為國際性組織

.gov 政府部門,如whitehouse.gov

.mil 軍事單位

圖四即為部分之DNS的樹狀階層。

DNS流程:網域名稱至IP位址

在尋找一台機器名稱時,查詢會以遞迴方法從頂端開始,例如,當你從csl.nec.co.jp的位址想要找出linda.cs.yale.edu時,你的名稱伺服器必須找到負責edu的一台名稱伺服器,這個問題它會去查問root.cache檔案,而root伺服器會給它一份edu伺服器列表,開始查問某台根伺服器。由edu name sever查到yale後,進一步會到yalename sever選擇其中一個並且查詢cs.yale.edu,由此進行下去,便可找到linda.cs.yale.edu。查到最後目標的IP位址後,剛所走過的各個server會將其資源記錄往回傳,傳回自己出發的伺服器,伺服器會暫存所有這些在為你尋找這個答案時所找到的資訊,而且在一段時間內它不必再次查問[7]。圖五即為此網域名稱查詢流程圖。其查詢步驟從1開始至8返回。

若想新增一個新的網域名稱時,例如有一個VLSI的小組想註冊一個網域名稱vlsi.cs.mit.edu時,此時會先從cs.mit.edu找起,若無人與其相同,則cs.mit.edu的管理者便可將vlsi.cs.mit.edu指定給VLSI的小組。這樣的方式不但可避免有重複的網域名稱出現,每個網域名稱還可完全掌握、有效管理其下之子網域名稱。





三、申請IP位址與網域名稱的流程

在簡單介紹完IP位址與網域名稱的架構後,對於目前IP位址與網域名稱分配的問題,與其申請組織所訂定的規章有相當的關係。接下來簡略介紹申請IP位址與網域名稱整個申請的階層架構。註冊一個新的IP位址與網域名稱,在網際網路中亦有階層式的註冊系統可尋,如圖六。全球的IP位址空間全球註冊單位IANAThe Internet Assigned Numbers Authority)來統籌分配。IANA之下有三個區域註冊單位RIPEReseaux IP Europeens)、APNICAsia Pacific Network Information Center)、InterNICInternet Network Information Center),RIPE負責歐洲的註冊事宜,APNIC服務亞太地區,InterNIC則負責美洲的部分。區域註冊單位之下有地方註冊單位,如APNIC管轄亞太地區國家的註冊單位,包括台灣的註冊單位TWNIC、日本註冊單位JPNIC、韓國註冊單位KRNIC [8]


IP位址申請流程

IANA將所有IP address空間分配一部份給國家或區域註冊單位(如APNIC),並授權區域註冊單位把這些拿到的位址空間全權分配給下游的地方註冊單位(如TWNIC),依此階層往下推,地方註冊單位亦有權將其擁有的位址分配下去給各ISP。當使用者想申請一個IP address時,只要將申請表格交給最接近的ISPISP會將此申請表送到上一層的註冊單位,由註冊單位審核通過即核發IP address給使用者。

目前若您想申請class Bclass C皆可以。但由於全球網路位址缺乏,申請class B位址將有嚴格的限制,且class B位址僅由全球註冊單位(IANA)分配,所以當國家或區域註冊單位接受您申請class B後,會將您的申請表轉送至全球註冊單位作進一步的評審。

為了使全球網際網路的class B位址能得到公平的分配,目前在台灣地區,若您有意申請class B位址應附上詳細的文件資料,如主機的數量、地理上的分佈情形、主機的類型等,及您的網路是否真的無法使用一段連續的class C位址。若您的網路包含大量的實體網路,但每一網路上的主機數量卻很少,我們將會建議您切割(subnettingclass C網路。由於實在沒有足夠的class B位址來滿足申請單位的規劃方式,所以申請者若能對為什麼不能利用一段區塊的class C做詳盡的說明,愈容易讓註冊單位評定是否分配class B的網路位址給您。愈清楚的文件說明將會縮短申請過程的時間。


網域名稱申請流程

Domain name的申請方式與程序大致與IP address相同,一般而言,您的ISP給你IP address,同時會幫你註冊網域名稱。用戶依其所屬性質向不同的單位申請。受理申請IP address之單位將負責把申請表格及結果以電子檔案方式Email轉給用戶指定之Domain name申請單位,此單位再將所有申請表格及結果Email轉給TWNIC備檔。TWNIC再往回傳送所有結果,一層一層地傳送直到將結果寄送給申請者為止,詳細流程請見圖七 [9]

國內提供一般網路用戶申請IP位址與網域名稱之單位如下:

•申請IP位址有教育部電算中心(TANet)、資策會(Seednet)及交通部數據所(Hinet),其受理之範圍如下:

TANet:教育部相關之學校單位、中研院等研究機構、政府單位(非營利)

Seednet:商業界研究單位、財團法人等組織

Hinet:網路組織(如電信加值網路等)

•申請網域名稱各不同領域性質的單位:

行政院研考會:gov(政府單位)

TANetedu(教育研究等單位)

Seednetcom(商業界)、net(網路組織)、org(財團法人等組織)

HinetHinet.netHinet相關單位)





四、未來可能發生的問題

隨著全世界網際網路開放的風潮,使用網路的人口與國家增加,台灣地區的網路發展環境也跟上這個大環境的變革。以目前IP address的架構和分配方式來看,位址空間在不久之將來將面臨短期內耗盡的窘境。此問題並不能怪當初設計者無先見之明,在TCP/IP誕生的年代,網路作業僅限制於大型機構,當時尚無UNIX系統,一個32位元的定址方式在當時已經夠大了,天知道網路會發展至今天的規模。現今用戶申請IP address主要配置是以class C為主,由於一段Class C的位址區塊較小,將會使得routing table變大,隨之而來的便是routing因此變得沒有效率,負載過大。另外,所有分配出去的IP位址,各單位的使用率不佳。例如某些單位可能並未完全利用所擁有的位址空間,甚至所申請的空間很大,大到永遠也用不完,造成有些人想拿拿不到,有些卻給太多的情況。

而對應IP位址的網域名稱,也因國際網路迅速擴張,使得首層網域名稱如 .com.net、和 .org等已出現過度擁擠的現象,這種現象將造成name server的負載量不均,使整個註冊名稱系統的效能降低。

另外,觀察國外許多研究網際網路使用與國家發展的機構所做的統計資料,台灣上網的主機與推估的網路使用人口似乎不是很高,但根據國內的調查統計,卻與此結果有相當大的差別。原因在於國內網路上線單位的forward/reverse DNS資料庫登錄,沒有落實,長期以來,登錄主機數量嚴重偏低,而沒有反映出實際的網路使用人口。而這些資料庫登錄不全,將會因各式網路應用的增多,網路流量增大,影響系統的效能控制如performance tuningload balancing等規劃。另外,很多單位幾乎只有一個DNS,沒有網路服務品質的觀念,亦會造成整個網路品質與網域名稱系統效能的降低。





五、因應之道

1. IP位址不足:

關於IP位址即將耗盡有下列幾種解決方案:

DHCP

DHCP為「Dynamic Host Configuration Protocol」之簡稱。其目的為動態分配IP位置給子網路區域中的機器,尤其是用於公司或企業內部,例如辦公室中的DOSWin95機器。藉此可省去使用者費心費力設定的麻煩,同時管理者也可實施有計畫的分配,以杜絕私設IP位址的情況發生。

其運作原理為,當使用者機器打開後,其網路卡會向整個子網路發出廣播封包,詢問是否有DHCP伺服器的存在,如果有就會向他發出請求要租一個可用的IP位置,然後DHCP伺服器便會出租一個IP位置給這部機器,另外也會將相關訊息(例如subnet maskname servergateway等)一併送給使用者的機器。等到租約到期後,機器必須重新要一個IP位置。整個過程可化成以下幾個步驟:

  1. 用戶端發出廣播封包請DHCP伺服器回應。
  2. DHCP伺服器聽到廣播。
  3. DHCP伺服器送出IP位址等相關資料給用戶端。
  4. 用戶端收到後便使用這個IP位址上網,一直到租約到期。

因此在DHCP的協定中,IP位址被當作一塊土地般地被出租出去,然後時間到了就自動收回。向在一般的辦公環境裡,可以把租期設為一天。另外在一些特殊的情況下,例如資訊教室內,可依照每張網路卡的硬體卡號配與事先設定好的IP位址,達到固定IP位址管理但又不用麻煩地一台台去設定 [10]

Private IP

另外,對於企業內部可用private IP的方式來管理。IANA保留了一些位址空間給私人企業使用。這些位址空間區塊如下:

10.0.0.0 - 10.255.255.255

172.16.0.0 - 172.31.255.255

192.168.0.0 - 192.168.255.255

在以前,公司企業對任何需要連上網際網路的機器都必須向註冊單位申請一個IP位址。但現在,企業內部可以任意使用IANA所保留的這些位址有效地做公司內部位址的運用。對某些不會連到公司外部的機器,公司可利用這些位址來擴充自己的位址空間 [11]

CIDR

為避免routing table過大,另有CIDRClassless Interdomain Routing)的方法出現。它的方法是將連續區塊的Class C配置出去,而全世界分為四個區域,每一區域給一段連續的Class C的位址空間:

194.0.0.0 -- 195.255.255.255 歐洲

198.0.0.0 -- 199.255.255.255 北美洲

200.0.0.0 -- 201.255.255.255 中南美洲

202.0.0.0 -- 203.255.255.255 亞太地區

這個方式除了配置連續的Class C位址外,另外尚給router一個網路mask,當一個封包到達時,首先判斷它是屬於四大區域中哪一個區域,傳送到該區域後,router便將此封包與routermaskAND,一一比較後若與其中一mask吻合,即可知要傳送的路徑該走哪裡。由此方法,傳統的class分法將不存在,也因此稱為classlessrouting方式。我們目前的router只要有支援classless,便能採取這種方式來對IP位址空間做更好的安排 [12][13]

2. IP位址使用率不佳:

TWNICIP位址訂定有撤銷原則,申請者於代理發放單位處取得其核發的網路位址後半年內若未使用,則代理單位得收回該位址。網路位址為網路世界中大家共有之資源,並非為取得該網路位址之單位的個人財產,對於所申請的IP位址,應即刻訂定相關規則,評估其使用率之高低,對使用率低者應收回其位址,避免位址空間的浪費。因為有CIDR這種routing方式,建議可將已分配出去的Class B位址,尤其是真正使用率不到一半的學校單位,回收其中某一段地址,再分配給其他ISP,以充分利用網路位址空間。


3. 網域名稱過度擁擠

前面提到隨著網際網路在世界掀起一陣風潮,上網人數增多,而全世界註冊之網域名稱亦年年高升。觀察首層網域名稱中,以商業應用的.COM高居首位,為因應將來可能造成首層網域名稱出現負載不均的情形,最近有人提議增加七個新的首層網域名稱 [14]

.firm 商業機構或公司

.store 經營貨物出售的機構

.web 在網路上經營的機構

.arts 文化或娛樂組織

.rec 體育或娛樂組織

.info 提供信息服務的機構

.nom 私人的網域名稱

對於這個提議各界的反應不一,支持者對新擴充的網域名稱表示歡迎,期望有更多組織能參與註冊管理工作。但反對者表示,假如採用新的網域名稱之後,cocacola.com被迫使用cocacola.storecocacola.firm,若有人來註冊cocacola.com這個名稱,可能會造成註冊商標使用權的爭議。而新的網域名稱實施之後,可能因很多公司換了網域名稱,對諮詢名稱的系統將形成很大的壓力,影響國際電腦網路的正常運作。而這類的規範仍有待世界各國去協調努力。


4. 網域名稱資料庫登錄不全及沒有secondary DNS server

網域名稱登錄不全將造成系統管理者很難做好系統流量規劃管制等工作,這方面MOECC或各區域網路中心,應加強下層的系統管理者對DNS相關的管理知識,規劃與設計一些相關課程提供管理者對DNS有更多更清楚的概念。。另外,各單位也應適當地增加各自的secondary DNS server,尤其是對外頻寬在T1級以上的單位。並在上一層註冊,讓上層的DNS server真正發揮功能,做好上層的指引工作。





六、結語

統計資料可發現,由於網路所帶來的便利,在日常生活中使用網際網路查詢新資訊的人口越來越多,隨之而來的問題也越來越多,原有IP addressDomain name的規範漸漸產生漏洞,IP address不足、Domain name過度擁擠的現象等將逐一浮現。這些問題的解決方法很多,如CIDRprivate IP等,能減低目前IPv4的路由表的成長速度,但許多問題似乎並未訂出一個共同標準來遵循。尤其在網域名稱上,相關單位應及早明確定訂出公平合理的方式,來因應未來可能產生的糾紛及問題。未來的網際網路新一代的通訊協定IPv6將取代目前的IP定址方式IPv4,國內相關單位似乎仍未在此新領域有充分瞭解,這一部分將有待積極努力,規劃未來相關的管理方案。






參考資料:

  1. http://www.nw.com/
  2. http://power2.nsysu.edu.tw/ipdomain/DNS/History.html
  3. http://www.twnic.net
  4. Andrews S. Tanenbaum , “Computer Networks” , 3rd edition, Prentice Hall
  5. P. Tsuchiya, “On the Assignment of Subnet Numbers”, RFC 1219, Apr 1991
  6. J. Postel, “Domain Name System Structure and Delegation”, RFC 1591, Mar 1994
  7. P. Mockapetris, “Domain name: Concepts and Facilities”, RFC 1034, Nov 1987
  8. K. Hubbard, M. Kosters, D. Conrad, D. Karrenberg, J. Postel, “Internet Registry IP allocation Guidelines”, RFC 2050, Nov 1996
  9. http://gopher.twnic.net
  10. R. Droms, “Dynamic Host Configuration Protocol”, RFC 1541, Oct 1993
  11. Y. Rekhter, B. Moskowitz, D. Karrenberg, G. J. de Groot & E. Lear, “Address Allocation for Private Internets”, RFC 1918, Feb 1996
  12. Y. Rekhter, T. Li, “An Architecture for IP Address Allocation with CIDR”, RFC 1518, Sep 1993
  13. V. Fuller, T. Li, J. Wu, K. Varadhan, “CIDR: an Address Assignment and Aggregation Strategy”, RFC 1519, Sep 1993
  14. 張揚, “網路名稱茲事體大”, 網路通訊19986