溫習一下網絡基礎TCP/IP

一般使用的網絡(包括互聯網)是在TCP/IP協議族的基礎上運做的,而HTTP屬於它內部的一個子集web

~先來一波書上的知識作個小筆記~服務器

而TCP/IP協議是計算機與網絡設備互相通信的規則;
簡單的說從電纜的規格到IP地址的選定方法等與互聯網相關聯的協議集合起來總稱TCP/IP網絡

經過TCP/IP進行分層管理
TCP/IP協議族按照層次分爲4層:應用層、傳輸層、網絡層、數據鏈路層spa

  • 應用層: 決定了向用戶提供應用服務時通訊的活動;HTTP協議也處於該層;DNS服務一樣處於這層
  • 傳輸層:提供處於網絡鏈接中的兩臺計算機之間的數據傳輸;在傳輸層有兩個性質不一樣的協議:TCP 和 UDP
  • 網絡層: 處理網絡上流動的數據包;IP協議
  • 鏈路層/網絡接口層:處理鏈接網絡的硬件設備

以上四層的通信順訊
用HTTP來舉例:發送端輸入URL發送請求(http協議,http請求)查看web頁面code

圖片描述

其中IP協議的做用是把數據包傳送給對方;確保準確的傳送的兩個重要條件是IP地址和MAC地址;MAC地址是指網卡所屬的固定地址
接下來,要敲小黑板劃重點了blog

經常放在口中的TCP鏈接3次握手和四次揮手,究竟是怎麼實現的呢?
emmm...確實每次都是話到口邊卻說不來了
下面來打包一下,作個一次性總結:
爲了準確無誤的將數據送到目標地,鏈接時TCP採用3次握手策略,握手中使用了TCP的標誌:syn和ack接口

  1. 發送端首先發送帶syn同步序列標誌的數據包給接收端
  2. 接收端收到後回傳一個帶有syn/ack(確認)標誌的數據包表示傳達確認信息
  3. 發送端收到後,在發送一個帶有ack(確認)標誌的數據包表示握手結束

當客戶端不想再鏈接了,那麼它接下來就要向服務端發起結束請求了,可是這不是談戀愛,不是一方說分手就能分手的。由於客戶端發起結束請求,並不表明服務端此刻已經把全部的數據都返給客戶端了;因此就有了四次揮手, 目的也是爲了確保客戶端與服務端的數據傳輸是完整的圖片

  1. 首先是客戶端發起的結束請求,也就是發送FIN報文;此時的客戶端進入FIN_WAIT_1狀態
  2. 服務端收到FIN後,發送一個ACK給客戶端,確認序號爲收到序號+1(與SYN相同,一個FIN佔用一個序號),服務端進入CLOSE_WAIT狀態
  3. 服務端發送一個FIN,用來關閉服務端到客戶端的數據傳送,服務端進入LAST_ACK狀太
  4. 客戶端收到FIN後,客戶端進入TIME_WAIT狀態,接着發送一個ACK給服務端,確認序號爲收到序號+1,服務端進入CLOSED狀態,完成四次揮手。

HTTP協議與其餘協議之間的關係
DNS服務:解析對應域名的IP
http協議:生成針對目標Web服務器的HTTP請求報文
TCP協議: 爲了方便數據傳遞,將HTTP請求報文分割成報文段,把每一個報文段可靠的傳送給對方;或者接收對方的報文段,重組成報文
IP協議:搜索對方的地址,一邊中轉一邊傳送同步

相關文章
相關標籤/搜索