DHCP
你有沒有想過你的計算機是如何獲取 IP 地址的?首先你必須知道計算機獲取 IP 地址是有兩種途徑的,一種是靜態(tài)方式衷笋,另一種是動態(tài)方式。
靜態(tài)方式就是由管理員在機器上手動設(shè)置 IP 地址淀散。如果你的計算機連接在局域網(wǎng)或者類似的網(wǎng)絡(luò)上的話右莱,需要注意的是你所設(shè)置的 IP 地址不能和網(wǎng)絡(luò)上任何其他機器的 IP 地址相同蚜锨,因為那樣會引起 IP 地址沖突档插,兩臺機器就都不能連接到 Internet 了。
動態(tài)方式就是計算機(在系統(tǒng)啟動的時候)請求一臺服務(wù)器來為它分配一個 IP 地址亚再。這一過程使用的協(xié)議稱為動態(tài)主機配置協(xié)議(DHCP)郭膛。這里提到的服務(wù)器就是 DHCP 服務(wù)器,這臺服務(wù)器負責(zé)為網(wǎng)絡(luò)上所有的計算機分配 IP 地址氛悬。此時由 DHCP 來保證沒有 IP 地址沖突则剃。如果一臺機器關(guān)閉繼而重啟,那么一條刷新 DHCP 的請求就發(fā)送到 DHCP 服務(wù)器上如捅,這一次可能會分配給它一臺與原來相同或者不同的 IP 地址棍现。通常 DHCP 服務(wù)器會得到一個 IP 地址池,DHCP 服務(wù)器只能分配該地址池內(nèi)的地址镜遣。這么做是為了保證將其他 IP 地址作為靜態(tài)地址的時候不會引起任何沖突己肮。
DNS
我們大多數(shù)人都使用過 google.com 進行搜索,不過你有沒有想過為什么在瀏覽器里面輸入 google.com 就能連接到 Google 的服務(wù)器呢?嗯……要理解這件事情悲关,我們需要理解域名服務(wù)器(DNS)的概念谎僻。
就如同現(xiàn)實生活中人們通過名字互相區(qū)分一樣,在計算機網(wǎng)絡(luò)的世界里寓辱,不同的計算機之間通過指派給它們的 IP 地址來互相區(qū)分艘绍。IP 地址有兩種類型:公有和私有。通常服務(wù)器使用公有地址秫筏,這是因為他們要被全世界數(shù)以百萬計的計算機訪問诱鞠。至于你那連接在路由器上的個人電腦挎挖,它通常獲取到的是私有 IP。由于公有地址的數(shù)量是有限的航夺,所以現(xiàn)在搭設(shè)局域網(wǎng)(在一個有著公有 IP 的路由下搭建)然后使用私有地址開始變得流行并且非常成功肋乍。
記憶 IP 地址這樣的任務(wù)對于大多數(shù)人來說有些困難,于是每個服務(wù)器都還有一個名字(比如 google.com)敷存。這樣最終用戶只需要記住這個名字墓造,在瀏覽器中輸入它,然后敲回車就可以了锚烦。
現(xiàn)在讓我來看看當(dāng)用戶在瀏覽器中輸入名字并敲回車之后究竟發(fā)生了什么觅闽。首先,需要把域名轉(zhuǎn)換成對應(yīng)的 IP涮俄。要完成這項任務(wù)蛉拙,需要給默認網(wǎng)關(guān)(大多數(shù)情況下就是路由器)發(fā)送一條 DNS 請求。路由都會配置一個 DNS 服務(wù)器地址彻亲,這個地址便是 DNS 請求的目的地孕锄。
DNS 服務(wù)器用來將域名轉(zhuǎn)換成 IP 地址。當(dāng) DNS 服務(wù)器收到一條請求后苞尝,它會檢查它有沒有該請求需要的轉(zhuǎn)換信息畸肆。如果沒有這條轉(zhuǎn)換信息,那么 DNS 服務(wù)器會把這條請求轉(zhuǎn)發(fā)給其他的 DNS 服務(wù)器宙址。通過這種方式轴脐,就完成了從域名到 IP 地址的轉(zhuǎn)換。轉(zhuǎn)換結(jié)果隨后會發(fā)回到發(fā)出請求的計算機抡砂。
路由轉(zhuǎn)發(fā)
數(shù)據(jù)包離開源計算機后大咱,與其相連的路由(數(shù)據(jù)要先發(fā)送到這里)的 MAC 地址就這個包的目的 MAC 地址。
數(shù)據(jù)包到達該路由之后注益,路由就會做下面幾件事情:
減記 TTL 值碴巾,重新計算數(shù)據(jù)包的校驗和。
搜索其路由表丑搔,以檢查其中有沒有數(shù)據(jù)包的目的 IP 所對應(yīng)的主機厦瓢。如果有的,路由就將該包發(fā)到相應(yīng)的主機低匙。
如果沒有這樣的一條路由旷痕,就從路由表中搜索源于該目的 IP 的網(wǎng)絡(luò)的地址。如果有的話就將該包發(fā)送到這個特定的網(wǎng)絡(luò)顽冶。
如果上面的兩次搜索都失敗的話欺抗,該數(shù)據(jù)包就被發(fā)送到路由表中指定的默認路由。
上面的所有情況中强重,不論數(shù)據(jù)包是在路由之間傳送還是從路由傳送到目的地绞呈,目的 MAC 地址都會變成最近的路由或者目的地的 MAC 地址贸人。通過這種方式,目的 IP 地址保持不變佃声,而目的 MAC 地址不斷從一個路由變?yōu)榱硪粋€艺智。就是這樣,數(shù)據(jù)包從一臺路由到下一臺路由圾亏,直到它抵達終點十拣。