- 應用層:客戶端瀏覽器經過DNS解析到www.baidu.com的IP地址220.181.27.48,(DNS常見使用分佈式的結構)經過這個IP地址找到客戶端到服務器的路徑。客戶端瀏覽器發起一個HTTP會話到220.161.27.48,而後經過TCP進行封裝數據包,輸入到網絡層。
- HTTP請求與響應:將要發送的數據以及http請求的地址等封裝成一個http請求報文。
-
傳輸層:把HTTP會話請求分紅報文段,添加源和目的端口,如服務器使用80端口監聽客戶端的請求,客戶端由系統隨機選擇一個端口如5000,與服務器進行交換,服務器把相應的請求返回給客戶端的5000端口。而後使用IP層的IP地址查找目的端。這裏還涉及到創建TCP連接(3次握手)以及以後釋放TCP連接(4次握手)。瀏覽器
-
網絡層:網絡層不關心應用層或者傳輸層的東西,主要作的是經過查找路由表肯定如何到達服務器,期間可能通過多個路由器,這些都是由路由器來完成的工做,經過查找路由表決定經過那個路徑到達服務器。(這裏涉及到路由選擇的一些算法:RIP、OSPF等)服務器
- 鏈路層:包經過鏈路層發送到路由器,經過ARP協議查找給定IP地址的MAC地址(ARP:經過查路由表肯定了路由的下一跳是誰),而後發送ARP請求查找目的地址,若是獲得迴應後就能夠使用ARP的請求應答交換的IP數據包如今就能夠傳輸了,而後發送IP數據包到達服務器的地址