TCP/IP各層講解 - 網絡層(下)

DNS

DNS(域名系統協議)主要是負責域名與IP地址之間的轉換,當訪問域名時,DNS會自動檢索註冊當前域名的主機的IP地址進行返回。數據庫

域名的構成

瞭解DNS是怎麼檢索以前,須要瞭解域名是怎麼構成的。舉個例子:緩存

www.yahoo.com.cn 分別對應的是:服務器

  • 頂級域名:cn/com
  • 組織機構名:yahoo
  • 主機名:www

域名的結構就是一個樹狀結構,頂點就是根(Root),底下就是第一級域名(頂級域名)如:.com 頂級域名/一級域名,二級域名就是:baidu.com,如此類推,三級域名就是tieba.baidu.com。每一級域名下面都有一個域名服務器,每一層域名服務器註冊着下一層的IP地址,對於DNS的檢索數據有着相當重要的做用。網絡

DNS查詢

舉個例子,當ku-sa.co.cn域中的計算機想要訪問www.ietf.org的時候.net

  1. 解析器(主機)就向本域下的域名服務器進行查詢
  2. 接收到查詢的域名服務器會在數據庫進行查詢,找到便可返回,若是沒有找到,則像上一層根服務器進行查詢。
  3. 根服務器知道ietf.org域名服務器的地址,把域名服務器地址返回。
  4. ku-sa.co.cn的域名服務器會像ietf.org域名服務器請求www.ietf.org的IP地址,而後返回。
  5. 這樣ku-sa.co.cn域中的計算機就能夠和www.ietf.org創建通訊。

ARP

ARP是一個以IP地址爲線索,能夠找到對應的MAC地址的協議。若是查找的IP地址不在同一數據鏈路,則會返回下一跳的路由器MAC地址。blog

ARP的工做機制

ARP的工做機制其實就是利用廣播發送一個ARP請求包,這個包包含了想要了解其MAC地址的IP地址,當適配的主機接收到此包後ARP響應包進行返回。路由

若是每一次獲取MAC地址都須要發送包會形成沒必要要的網絡流量。所以,MAC地址一般都會被緩存一段時間,當到過時時間後,從新請求MAC地址後,被緩存的MAC地址即被刪除。get

IP地址和MAC地址缺一不可?

blog.csdn.net/guorong520/…域名

  1. 首先,咱們若是第一次將信息從A端發往B端,那麼信息須要從應用層到物理層一層一層進行封裝,到達對端後再從物理層到應用層依次解包,拿到信息。
  2. A端發送的信息到了網絡層的時候只能知道對方的IP地址,卻不瞭解對方的MAC地址,到不了數據鏈路層,沒法發送幀,因此這時咱們就須要使用ARP協議,來獲取到對端的MAC地址。
  3. 這時就有人說,爲啥不直接使用IP地址,知道了對端的IP地址就能夠直接發送了,是的,它確實能夠識別一臺主機,可是在局域網中,IP地址都是動態分配的,當你下一次發送消息時,說不定就不是這個IP地址了(分配到了新的IP地址),可是MAC地址就不存在這個問題,其序列號存在於網卡中,全球惟一,一出廠網卡上就燒錄了MAC地址(48位的序列號)。那麼此時有人就說光使用MAC地址不就夠了,還須要IP地址幹嗎?
  4. 其實,MAC地址種類繁雜,處處分佈在世界上海量的主機上,要是光靠MAC地址來找對端,不知道路由器轉發的消息獲得猴年馬月才能到對端手上,那麼,此時IP地址的優點就體現了出來。IP地址的分配有必定的區域性,經過IP地址能夠將地址進行集約。就比如你找某個地方,經過IP地址你能夠找到大體的方位,如中國陝西,再經過MAC地址,找到具體地方的街道門牌號。

ICMP

ICMP主要是功能是確認IP包是否成功到達目標地址,通知在發送過程中IP包被廢棄的具體緣由,改善網絡等等。class

舉個例子:主機A給主機B發送數據包,但因爲主機B關機了沒法發送,那麼主機B所鏈接的路由器B就會給主機A發送一個ICMP包告訴主機A到底是什麼緣由致使。

下面是ICMP消息類型

  • 0:回送應答
  • 3:目標不可達
  • 4:原點抑制
  • 5: 重定向或改變路由
  • 8: 回送請求
  • 9: 路由器公告
  • 10: 路由器請求
  • 11: 超時
  • 17: 地址子網請求
  • 18:地址子網應答

ICMPv6

ICMPv6對於IPv6來講是必不可少的。在IPv6中,從IP地址尋找MAC地址的ARP變成了ICMPv6中的鄰居探索。鄰居搜索消息融合了ARP、ICMP重定向以及ICMP路由器選擇消息等功能,設置融合了DHCP自動分配IP地址的功能。

DHCP

DHCP主要是爲了實現自動設置IP地址、統一管理IP地址分配,也就是即插即用。

DHCP工做機制

  1. DHCP客戶端發送DHCP發現包,因爲IP地址還沒有肯定,因此DHCP發現包的地址爲廣播地址。
  2. 管理員在DHCP服務器上設置可分配的IP地址、默認地址以及子網掩碼。而後DHCP服務端(路由器)通知可使用的網絡設置。
  3. DHCP客戶端廣播其餘DHCP客戶端通知想要使用的IP地址。
  4. DHCP服務端通知DHCP客戶端容許配置。

DHCP中繼器

通常家庭可以使用路由器充當DHCP服務端,但在大型的網絡中,若是須要給每一個路由器都配置可分配的IP地址範圍,會變得難以維護。這時可使用DHCP中繼器進行統一管理,DHCP客戶端會向DHCP中繼器發送DHCP請求包,當DHCP接受到這個包後會以單播的形式發給DHCP服務器。服務器會向DHCP中繼器做出應答,並由中繼器將包返回DHCP客戶端。

NAT

NAT是用在本地網絡中使用私有地址,而在鏈接互聯網的時候就使用全局IP地址的技術。

NAT工做機制

若是10.0.0.10的主機要和163.221.120.9通訊,在經過NAT路由器的時候會被轉化爲全局IP地址202.224.137.34進行通訊,而當包返回時,會把地址轉化爲10.0.0.10再進行轉發。

但這樣子全局地址明顯是浪費的,因此這時候就使用NAPT解決。便是在請求的時候帶上端口號,10.0.0.10:8082和10.0.0.10:8083都須要與外界通訊,在經過NAPT轉化的時候,全局地址既變成202.224.137.34:8082和202.224.137.34:8082進行通訊。

寫在最後

IP層說完啦啦啦啦

圖解TCP/IP

這會做爲最近的一個長期目標不按期更新。

相關文章
相關標籤/搜索