<再看TCP/IP第一卷>關於網絡層及協議細節---IP協議(2)--移動IP及DHCP

題外話:原本想按照互聯網的層級自下向上回顧這些協議的,可是今天實在得破個例,DHCP不得不說!數據庫

 

 

主機從一個網絡遷移到另外一個網絡,那麼IP編址的結構就要發生改變,當今主流有以下幾種修改方案:vim

 

(一)改變地址:服務器

主機在移動到新的網絡的時候改變它的地址,這裏須要DHCP協議,將其和新的網絡關聯起來,這麼作的話須要咱們手動修改可能須要以下的命令網絡

1 sudo vim /etc/network/interface

每次修改若想要使修改以後生成的IP地址生效,大部分狀況下須要咱們重啓主機spa

1 /etc/init.d/network restart

而且這麼作的話DNS表必需要更新,使因特網上的其餘主機能夠知道其變化代理

 

 

(二)兩個地址:rest

使用兩個地址是一種更可行的方法,主機有原始的地址成爲歸屬地址,還有一個臨時的地址稱爲轉交地址,前者是永久的,使得它與歸屬網絡永久相關聯。code

每次當主機發生移動的時候,改變的是臨時地址即轉交地址,下面重點看這方面的內容。blog

 

 

歸屬地址和轉交地址與之對應的是歸屬網絡轉交網絡,歸屬網絡和外地網絡之間的橋樑是因特網,而歸屬網絡和因特網之間須要一個歸屬代理,轉交網絡和因特網鏈接須要一個轉交代理,所謂的代理就是路由器,可是代理的功能是在應用層完成的,因此兩個代理更強調的是做爲主機的功能。路由

當主機在移動到一個外地的網絡的時候,外地的網絡就須要動態地給加入的主機分配一個IP地址,這個IP地址的分配過程就是DHCP完成的,(當外地主機充當外地代理的時候,這個轉交地址就成爲同址轉交地址,使用同址轉交地址的主機能夠移動到任何的網絡,沒必要擔憂代理的可用性)。

 

關於與遠程主機的通訊過程,移動主機須要通過三個過程:代理髮現登記傳送數據

 

1.代理髮現

##移動主機在外地網絡進行代理髮現的基礎條件是已知歸屬代理地址##

代理髮現的過程主要分爲兩個階段:

 

a.代理通告

發送一個ICMP報文(類型值16:用戶信息應答)報文中數據是轉交地址,只有外地代理才能使用這個字段。

代碼位含義:

0    須要登記,沒有同址轉交地址

1    代理忙,如今不接受登記

2    代理充當歸屬代理

3    代理充當外地代理

4    代理使用最小的封裝

5    代理使用通用路由選擇封裝

6    代理支持首部壓縮

7    Reserved

 

b.代理詢問

發送一個ICMP詢問報文,在當移動主機已經移動到了新的網絡而沒有收到代理通告的時候,它能夠發起一個代理詢問,讓代理知道它須要幫助。

 

2.登記

移動主機移動到外地網絡以後,而且已經發現了外地代理以後,必須登記。登記的四個要素以下:

a.移動主機必須向外地主機進行代理

b.移動主機必須向它的歸屬代理登記,這一般是由外地代理以移動主機的身份來完成的。

c.若是截至期到了,那麼移動主機必須從新登記

d.若是移動主機回到了歸屬網絡,那麼必須取消登記

 

登記的過程之中須要使用登記請求和登記回答,這些信息是封裝在UDP協議報中的,代理處理登記請求和回答使用知名端口434,移動主機使用任意臨時端口。

報文內容中須要指明歸屬地址,歸屬代理地址,轉交地址和標識(用於使請求和迴應相互匹配)

 

3.數據傳送

進行數據傳送的過程時已經搭建了移動IP的通信環境,通信過程分爲大體兩種 :

a.當遠程地址向移動地址發送信息時,源地址是遠程主機自己的地址,目的地址是移動主機的歸屬地址,總之就是認爲移動主機在歸屬網絡中。實質上呢,是歸屬代理使用ARP代理技術使用歸屬物理地址從而在鏈路層上接收了數據幀分組,而後再將分組轉發給移動主機所在的外地網絡。

b.從移動主機向遠程主機發送信息時,它就像正常的狀況同樣進行發送,移動主機分片後將分組發送給歸屬地址,用遠程主機的地址做爲目的地址。

 

 

(三)關於DHCP協議:

絕大多數狀況下來說,對於一臺主機四種信息是必要的:

(1)IP address

(2)subnet mask

(3)gateway IP

(4)DNS IP

 

一樣做爲IP地址分配/回饋協議的有RARP和BOOTP,不一樣的是DHCP的出現更爲了符合將以上4個必要的信息動態分配(與BOOTP不一樣,BOOTP爲查表靜態)的協議。

DHCP客戶和DHCP服務器能夠處於同一個網絡上,也能夠處於不一樣的網絡之中,當客戶和服務器放在了同一個網絡中的時候,會進行以下的操做:

(1)DHCP服務器在UDP端口67發出被動打開命令,等待客戶請求。

(2)客戶端在UDP68號端口發出主動打開命令,這個報文天然被裝入UDP報文的首部之中,再使用IP地址進行封裝,這裏的IP地址源端IP爲0,目的地址-1(受限廣播,只在本地網絡傳播)

(3)服務器使用廣播或者單播來響應這個客戶,它使用了UDP源端口67和目的端口68,這裏回覆的過程之中就可使用IP地址拉,也不須要ARP解析地址。

 

當DHCP客戶和DHCP服務器處於不一樣的網絡之中的時候,會進行以下的操做:

(1)服務器端和客戶端進行的操做以前是同樣的,可是由於受限廣播,沒有路由器會接收該IP數據報。

(2)在網絡中設置一臺主機做爲中繼代理,中繼代理知道DHCP服務器的單播IP地址,而後DHCP服務器和中繼代理在應用層完成通信,中繼代理再把它轉達給DHCP客戶。

 

 

經過DHCP報文的格式咱們能夠注意到DHCP的差錯控制和對類型細緻的分類。

DHCP服務器分配IP過程分爲兩種:靜態分配和動態分配

靜態分配:經過訪問DHCP服務器中的表來進行查詢與DHCP客戶相對應的永久IP地址

動態分配:經過數據庫實現IP地址池,當接收請求的時候動態分配一個IP地址,時間長短能夠協商。

相關文章
相關標籤/搜索