真正“搞”懂HTTP協議02之空間穿梭( 二 )


然后就是第二層,也就是網絡層 。IP協議就在這一層,到了這一層 , 我們就可以通過IP地址來識別目標主機,進行主機級別的目標識別了 。
繼續,是第三層,也就是傳輸層 。最為大家所熟知的TCP和UDP就在這一層,負責建立傳輸通道 。
最后,就是我們的重中之重,第四層,也就是應用層,我們的HTTP就在這一層,由于前面幾層的基礎做的非常好,所以,在這一層除了HTTP協議負責傳輸超文本以外,還有超多的協議 , 比如我們稍微熟悉一點的HTTPS、DNS、POP、FTP等等等等,好多好多 , 我們暫時了解一下就可以了 。
OK , DoD我們就先這樣 。繼續,長路漫漫,唯賤作伴 。
七層網絡模型(OSI模型)這個東西 , 有點孩子沒娘說來話長,我盡量長話短說 。OSI模型是一種概念模型,也即開放式系統互聯模型 。由國際標準化組織提出 , 一個試圖使各種計算機在世界范圍內互連為網絡的標準框架 。定義于ISO/IEC 7498-1 。
為啥已經有了四層還有個七層呢?只有四層不行么?主要是因為當時除了TCP/IP協議以外,還有很多其它協議,整個互聯網很混亂,有一種群雄逐鹿的感覺 。所以這個時候國際化標準組織就大吼一聲,我是秦始皇,我要一統天下,你們都按照我的標準來 。
但是,理想是美好的,可惜我不是秦始皇,所以一統天下的局面并沒有按照原本設想的那樣 , 于是秦始皇又不得不說,該模型僅供參考 。
至于為什么一統天下的局面沒有出現 , 導致我們現在還要多學一個模型,嗯~其實是因為設備僵化 。啥意思呢,就是實際中已經很多網絡都按照DoD來用了,而且用的很好,不可能換成你的,代價太大 。
那這OSI模型有啥意義呢?又沒一統天下 , 實際上也沒咋用,那說它干啥 。其實它有一個很重要的意義,對!就是參考 。OSI模型補足了DoD模型只有純軟件以外的部分,并且形成了規范和標準,并且準確的規定了各層可以使用數字來編號 。
故事說完了 , 我們來看看OSI這七層都是哪七層吧,雖然僅供參考,我們也得知道知道 。

真正“搞”懂HTTP協議02之空間穿梭

文章插圖
我們看圖說話噢,上面花里胡哨的那三層就是多出來的三層,第一層是物理層,第五層是會話層,第六層是表示層 。嗯 , 解釋解釋 。
物理層也就是我們互連網絡傳輸中所使用到的各種物理設備,比如集線器,中繼器,網卡啥的這些 。
會話層呢 , 負責在數據傳輸中設置和維護計算機網絡中兩臺計算機之間的通信連接 。說人話就是會話層負責在維護網絡中的連接狀態,也就是保持會話和同步 。比如視頻的圖片和聲音的同步 。
表示層則會把數據轉換成雙方都可以理解的可以兼容的格式 。
DoD模型和OSI模型的對比,則是這樣的:
真正“搞”懂HTTP協議02之空間穿梭

文章插圖
很好理解,我就不多說了 。
二、空間穿梭現在,我們大致了解了互聯網絡模型是什么樣的,接下來 , 我們來實際的看一看,一個數據包到底是如何在這些模型中穿梭的 。
一種思路是從最底層也就是物理層說起,層層向上遞進,這是從最小化網絡的場景來聊互聯網絡協議 。另外一種方式就是從應用層,層層向下,這種角度就是以最小數據包的場景 , 我們下面就采用這種視角來窺一窺一個數據包在網絡中的流轉 。
第五層/應用層:不只是超文本傳輸協議應用層是離我們最近的一層,這一層往往由安裝在系統上的應用程序來處理,這一層的協議有好多好多 , 也是在整個互聯網模型中所擁有最多協議的一層 。
應用層協議包括我們所熟悉的HTTP、HTTPS、HTTP2、QUIC等,以及DNS、HTTPDNS、SSH,還有還有比如:
  1. FTP(文件傳輸協議:是一個用于在計算機網絡上在客戶端和服務器之間進行文件傳輸的應用層協議)
  2. NFS(分布式文件系統:力求客戶端主機可以訪問服務器端文件)
  3. DHCP(動態主機設置協議:主要用于內部網或網絡服務供應商自動分配IP地址給用戶或者集中管理)
  4. RPC(遠程過程調用:該協議允許運行于一臺計算機的程序調用另一個地址空間--通常為一個開放網絡的一臺計算機)的子程序)
  5. XMPP(可擴展消息與存在協議:是一種以XML為基礎的開放式即時通信協議)
  6. SNTP(簡單網絡時間協議:主要用來同步因特網中的計算機時鐘)

    推薦閱讀