1. 程式人生 > >web及網絡基礎

web及網絡基礎

本地 lan 一個個 arp net 三次握手 根據 數據封裝 協議

關於本http系列博客

本系列博客內容全部來自或參考自《圖解http》,不過博客中的圖示基本上為博主自己手動繪制,部分圖可能來自其它地方,但都有標註。

常見協議的分類

分層 常見協議
應用層 http、ftp、snmp、dns
傳輸層 tcp、udp
網絡層 ip、icmp
鏈路層 ieee802.3、pppoe

傳輸示意圖

技術分享圖片

以http舉例來說,客戶端發送的數據交給傳輸層tcp,這時數據會被分割成一個個小塊,並且對每個小塊數據加上對應的端口號進行封裝,封裝好後移交給網絡層。網絡層收到數據後會再次進行封裝,將設備的網卡mac地址封裝進去後傳給下一層,數據經過客戶端鏈路層通過一系列硬件處理後到達了服務器的鏈路層,數據開始向上傳輸進行解封裝。具體流程如下。

數據封裝與解封裝

技術分享圖片

負責傳輸的IP(Internet Protocol)

IP 協議的作用是把各種數據包傳送給對方。 而要保證確實傳送到對方那裏,則需要滿足各類條件。其中兩個重要的條件是 IP 地址和 MAC 地址(Media Access Control Address)。

IP 間的通信依賴 MAC 地址。在網絡上,通信的雙方在同一局域網(LAN)內的情況是很少的,通常是經過多臺計算機和網絡設備中轉才能連接到對方。而在進行中轉時,會利用下一站中轉設備的 MAC 地址來搜索下一個中轉目標。這時,會采用 ARP 協議(Address Resolution Protocol)。 ARP 是一種用以解析地址的協議,根據通信方的 IP 地址就可以反查出對應的 MAC 地址。

路由傳輸過程

技術分享圖片

傳輸層TCP的三次握手

技術分享圖片

DNS(支持域名查IP或IP反查域名)

下圖來自百度圖片搜索

技術分享圖片

如上圖(左)所示,DNS的解析會先在本地的hosts文件(windows在c:\windows\system32\drivers\etc\hosts)中查看,之後才會本地的hosts緩存中進行查詢,當這兩步都沒有查詢到時才會向本地的DNS服務器發起查詢請求,DNS服務器大概會做類似的操作後,將結果返回。

總結

技術分享圖片

web及網絡基礎