图解TCPIP---第五章---IP协议相关技术
DNS
TCPIP世界從一開始就有一個叫做主機識別碼的東西 這種識別方式是指為每臺計算機賦予唯一的主機名 在進行網絡通信時可以直接使用主機名而無需使用一大串的IP 此時需要將主機名字轉換為具體的IP地址 此時主機往往會用到一個叫做hosts的數據庫文件
在上述背景之下 產生了一個可以有效管理主機名和IP地址之間對應關系的系統 那就是DNS系統
當然了DNS不僅僅只記錄了這些信息 其他更多信息見P164 比如IP解析出主機域名的PTR信息
ARP
ARP是一種解決地址問題的協議 以目標IP地址為線索 用來定位下一個應該接收數據分包的網絡設備對應的MAC地址 如果目標不在同一個鏈路時可以用ARP查找下跳路由器的MAC地址
在IPv6中使用ICMPv6代替ARP
機制很簡答 使用一個ARP請求報和響應包進行鄰居探索就可以知道一個鏈路的MAC地址了 獲取的MAC地址會緩存一段時間 避免在鏈路上存在過多的ARP包
RARP
RARP是一種從MAC定位到IP的一種協議 比如沒有任何輸入接口或無法通過DHCP動態獲取IP時的某些設備就會用到 需要架設一個RARP服務器
代理ARP
通常ARP包會被路由器隔離但是采用代理ARP的路由器可以將ARP請求轉發給相鄰網段
ICMP
之前章節有說有些網絡環境為了安全考慮會屏蔽ICMP包 不能過分依賴ICMP
主要功能分兩類
- 同之出錯原因的錯誤消息
- 用于診斷的查詢消息
下面介紹一些主要的ICMP消息
- 目標不可達 類型3
- 實際通信中常返回錯誤代碼1表示主機不可達
- 錯誤代碼4表示之前說的路徑MTU探索
- 重定向或者改變路由 類型5
-
如果路由器發現發送端主機采用了次優的路徑發送數據那么會返回一個ICMP重定向消息給這個主機.信息中包含了最合適的路由和源數據
-
不過多數情況這種重定向會引發問題 所以往往不進行這種設置
-
具體如下圖
-
- 超時消息 類型11
- 第三章講到的TTL 為0丟棄該包時會返回一個超時消息 錯誤號為0
- 有一款利用超時消息的應用 traceroute 顯示出由執行程序的主機到達特定的主機之前經歷過多少路由器 在windows中叫做tracert
- 回送消息 類型0(回送應答) 類型8(回送請求)
- ping 就是用這個消息實現的
- 原點抑制消息 類型4
- 使用低速廣域網線路時的情況下 連接WAN的路由器可能擁堵
- 擁堵時 路由器可以向IP包源主機發送一個原點抑制消息 讓主機開啟IP包的傳輸間隔 但是可能會引起不公平的網絡通信 一般不被使用
- 路由探索消息 類型9(路由器公告) 類型10(路由器請求)
- 地址掩碼消息 類型17(地址子網請求) 類型18(地址子網應答)
ICMPv6
ICMP在IPv4中僅僅作為輔助支持IPv4 在IPv6中沒有ICMPv6無法正常通信 尤其在IPv6中 IPv4的ARP轉為了ICMP的鄰居探索消息
這種鄰居探索融合了IPv4的ARP ICMP重定向以及ICMP路由器選擇消息等功能于一體 甚至還提供了自動設置IP地址的功能 (IPv6中沒有DNS服務器的通知功能所以需要HDCPv6才能實現自動設置IP)
DHCP
- 一般該網段的路由器充當DHCP服務器
- 發送DHCP請求報和發現包時 DHCP即插即用的IP地址還未確定因為發現包的地址為廣播地址255.255.255.255源地址為0.0.0.0表示未知
- DHCP服務器故障時可能會無法上網因此經常設置兩臺或以上的DHCP服務器但是這樣會有一個問題每個DHCP服務器都記錄了IP的分配可能會沖突
- 避免這種可以對分配的地址進行分段
- 第二種分配之后進行檢查避免沖突
- DHCP服務器在分配IP之前 對其發送ICMP回送請求包 確認沒有應答
- DHCP客戶端收到服務器分配的IP之后 對此IP發送ARP請求包 確認沒有應答
- 大型網絡多個路由器可以選擇一個作為DHCP代理統一管理
NAT
前面的章節有介紹 NAT是用于在本地網絡使用私有地址 在連接互聯網時轉而使用全局IP地址的技術
還有可以轉換TCP UDP端口號的NAPT技術等
在NAT內部有一個自動生成的轉換IP端口的轉換表
- 在TCP時 建立TCP的首次握手的SYN包一經發出就生成這個表 在收到關閉連接時發出FIN包的確認應答從表中刪除
- 在UDP時 兩端應用通信時啟止時間不一致生成轉化表比較困難
潛在問題
- 無法從NAT的外部向內服服務器建立連接 其實這點很容易解決P181
- 轉換表的生成有開銷
- 一旦NAT異常需要重新啟動時所有的TCP連接都會被重置
- 即使備至兩臺NAT做容災備份 TCP連接還是會斷開
IP隧道
可以連接IPv4和IPv6兩個不同的網絡 P183自行閱讀
其他IP相關技術
多播
任播
通信質量控制
顯示擁塞通知
Mobile IP
- Q 通常手機或電腦設備每連接大不同的子網 都會有DHCP或手動的方式分配不同的IP地址 那么有什么問題呢
- A 通常與移動設備進行通信時 所連接的子網一旦發生變化 則無法通過TCP繼續通信
- Mobile IP技術在主機所連接的子網IP發生變化時 主機IP地址仍然保持不變 應用不需要做任何改動通信也能繼續
- P191見圖
總結
以上是生活随笔為你收集整理的图解TCPIP---第五章---IP协议相关技术的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: react学习(21)---接口加回调显
- 下一篇: react(97)--分支切换