DHCPv6 DHCP IPv6 網路協定 協定

當DHCP遇見IPv6 快速入門DHCPv6協定

2015-07-01
大部分人對於DHCP協定可能不陌生,但對於DHCP的認知都還是著重在IPv4的版本,而IPv6的版本有什麼不同呢?本文會針對DHCP協定在IPv6的部分多加介紹。而考慮到某些人可能對於DHCP協定的細節以及IPv6的部分不太了解,因此也會從這些方向多加介紹。
什麼是DHCP協定

DHCP的全名是Dynamic Host Configuration Protocol,它在網路七層協定中屬於第七層的Application Layer。DHCP這個網路協定運作於Server-Client的架構內,用來讓客戶端(Client Side)取得網路相關的設定。

這裡指的設定包含IP位址、預設路由(Default Route)位址、DNS伺服器位址等等。而這些設定都是由DHCP伺服器所取得而來的,以便於讓客戶端能夠在網路IP層中運作。

最典型的應用環境就是區域網路(LAN)。想必很多人都曾經在區域網路(或是無線網路)環境中聽到DHCP這個名詞。

圖1就是Mac作業系統在DHCP中的設定值,此設定可從Mac左上角的蘋果圖案→System Preference→Internet & Wireless→Network中找到,選擇要設定的網路類型,例如Wi-Fi,然後選擇右下方的〔Advanced...〕,接著再選擇〔TCP/IP〕頁籤即可找到。


▲圖1 在Mac作業系統內設定DHCP。

從選單中發現,也可以選擇BOOTP協定。如果在區域網路環境內,每個設備(無論是電腦、手機、平板甚至是路由器)都算是DHCP協定的客戶端,不過路由器則同時扮演DHCP客戶端與DHCP伺服器端的角色。

當扮演DHCP伺服器端時,就必須把網路設定分配給其他網路設備。若扮演DHCP客戶端,則需要跟ISP業者的DHCP伺服器要求取得網路設定值。

從這個畫面中也可以看到,這裡也有IPv6的設定部分,因為筆者所處的網路並沒有IPv6,所以這個部分就直接讓它自動設定。

DHCP協定的發展歷史

DHCP協定最開始是發展於1993年10月,被定義在RFC 1531文件中。當初定義DHCP協定是用來解決或是改善BOOTP協定的手動設定過程。而BOOTP(Bootstrap Protocol)協定(詳情可參考RFC 951文件)可以讓電腦透過網路從伺服器端取得網路開機的啟動程序。

BOOTP協定的前身是RARP(Reverse Address Resolution Protocol)。BOOTP協定與DHCP協定非常類似,差別在於BOOTP協定都要用手動設定方式來進行,非常麻煩。因此,如果有些IP位址已經沒有被使用的話,必須手動記錄或是指派等等。

所以,DHCP協定的出現,就是用來解決這個問題,排除了手動的程序,讓整個過程更加自動化。

1997年,DHCP協定完整記載於RFC 2131文件。至於IPv6的版本,則可以從RFC 3315內找到。如果想對DHCP在IPv6環境有更深入的了解,可以參考RFC 3633文件,裡面提到IPv6的Prefix Delegation。

DHCP的運作模型

DHCP協定的運作環境是以Client-Server的模型為主。Client端指的是一般電腦設備(用戶端),而Server端就是DHCP伺服器端。

基本上來說,DHCP協定用於IPv4網路環境,也用於IPv6網路環境,而DHCP伺服器上持有一份可用的IP列表以及相關設定的資料庫。DHCP伺服器一旦收到由客戶端發送過來的IP要求,首先會針對DHCP伺服器與DHCP客戶端之間的網路,來決定如何發送回所需要的資料,接著會把可用的IP位址及IP相關設定發送回給客戶端。

每次DHCP伺服器給予的IP都是有使用期限的,但是DHCP伺服器並不會幫助客戶端去記錄使用期限是否到期並給予新的IP,這些都是客戶端的責任。

因此,客戶端必須在使用期限到達之前,即時發送新的IP需求給DHCP伺服器端,以便於取得新的IP位址與相關設定。

即便用戶端不使用DHCP來取得IP位址,也必須透過DHCP伺服器來取得相關設定,舉例來說,IPv4的用戶端也許需要取得Link-local位址,而IPv6用戶端則可能需要取得Stateless Addressing Auto-configuration。

NAT網路環境介紹

NAT(Network Address Translation)是用來將已經註冊的IP位址轉換到私有的IP位址,簡化IP位址的管理,以便讓企業內部的網路連到外部的網際網路,而且甚至不需要有註冊的子網路。

在Cisco設備內,NAT會被應用在Cisco路由器上。一般的作法是,把Cisco路由器設備同時連接兩段網路,一段是內部網路,另一段則是外部網際網路。一旦在內部網路中有任何電腦想發送網路封包到外部的網際網路,當封包流過Cisco路由器設備時,Cisco路由器設備就會做NAT位址轉換的動作,然後再傳送封包到外部網際網路。

如果要簡單一些的話,也可以透過適當的設定,讓外部網際網路只使用一個公有IP位址,但是卻給整個內部網路所有的電腦使用。這樣的作法也可以隱藏內部網路各電腦的IP位址,而達到一定程度的安全性。

NAT技術的各種位址種類

在NAT的敘述中,所謂的「內部網路(Inside Network)」指的是需要經過位址轉換的網路區域,一般而言,內部網路都是像公司內部的網路或是某組織架構中的網路,是沒有直接暴露在網際網路上的網路環境。

「外部網路(Outside Network)」指的是其他的網路區段,在外部網路中,是不需要做位址轉換,換句話說,外部網路上的IP位址都會是公有IP位址,一般而言,外部網路指的通常都是網際網路或是直接暴露於網際網路的網路區域。

接著介紹「Inside Global位址」、「Inside Local位址」、「Outside Global位址」、「Outside Local位址」等四種不同的位址種類稱呼。

Inside Global位址是指經由Network Information Center或是Server Provider所分派的邏輯IP位址,是給內部網路的電腦所使用。Inside Local位址是內部網路中所取得的IP位址,但卻不是透過Network Information Center或是Service Provider所提供的IP位址。

Outside Global位址是網際網路中實際有效而且能被繞送的IP位址,是給外部網際網路電腦所使用的。而Outside Local位址是外部網際網路中的電腦在內部網路所運行的IP位址。


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!