常見網絡協議匯總(二)
傳輸層協議
特點:
-
無連接:只需要知道目的ip和端口號就可以發送數據,無需建立連接
-
不可靠:沒有一系列機制來應對傳輸數據時的丟包問題
-
面向數據報發送:應用層交給UDP什么樣的報文,UDP就會發送什么樣的,不會進行拆分,合并
-
UDP一次傳輸的數據大小有限,最大64k
UDP的傳輸流程
UDP的適用范圍:
由于UDP不屬于連接型協議,所以具有資源消耗小。處理速度優的特點,因此經常使用與視頻、音頻通話傳輸中,因為發送的數據較多,偶爾丟包一兩個不會產生太大影響
TCP
因為上述講到UDP的傳輸是不可靠的,經常會導致連接錯誤、數據丟包問題,針對這些問題規定了另一個傳輸層協議——TCP協議,TCP是一種面向連接、可靠的、基于字節流的傳輸層協議
-
面向連接:在傳輸數據是,要先建立起客戶端與服務端的連接,才能進行數據傳輸
-
可靠的通信:TCP輸出數據中,會基于內部的各種機制保證數據傳輸到目的端口
-
基于字節流:TCP傳輸數據是基于字節傳輸的,易于對數據的拆分與合并發送
-
TCP的頭部比UDP的開銷要打,因為要存放更多的信息
-
UDP是無連接的,TCP是有連接的
-
UDP是不可靠的,TCP是可靠的
-
UDP面向數據報,TCP面向字節流
-
UDP比TCP的傳輸消耗小,速度更快
IP協議數據報格式 |
IP協議的工作方式:
由于網絡分為同網段和不同網段,所以會分成兩種方式
-
同網段:如果源地址主機和目的地址主機處于同一網段,則目的IP地址被 ARP協議 解析為MAC地址后,源主機會根據目的MAC地址直接將數據包發送給目的主機
-
不同網段:
3、數據包經過網關發送到正確的網段后,目標IP被 ARP協議 解析為MAC地址,在根據該 MAC地址 將數據包發送給目標地址的主機
ARP的工作流程:
如圖展示的是同一網段下的兩臺主機,ARP的工作流程
-
主機A以廣播的形式向該網段內的所有主機發送ARP請求,請求中包含了目的主機的IP地址
-
主機B接收到請求,通過請求中的目的IP地址發現自己是主機A要找的,返回響應,響應包括主機B的 MAC地址
-
DNS解析:將域名轉換成對應IP地址(本機DNS緩存棧開始找—>逐級向上查找,如果根域服務器找不到,表示公網上沒有該域名主機)
-
找到IP后:通過目的IP找到對應的目的MAC地址
-
根據目的IP計算目的主機是否和主機A處于同一網段
-
如在同網段:接通過ARP協議解析出對應的目的MAC,跳轉到底9步
-
如不在同一網段:發送數據報到網關,現在ARP緩存表查找,通過網關IP查找MAC地址,找不到發送查詢MAC廣播數據報,最終返回網關自己的MAC
-
交換機轉發:在MAC地址轉換表中找到對應MAC交換機接口
-
路由器接收:分用數據報
8.途中的設備:與第7步同樣操作如目的IP對應的MAC地址不是當前設備則繼續重復該操作繼續往更接近目的IP的路由發送
9.找到目的主機B,主機B的服務器開始接受分用請求,解析,最終組織響應