因特網5層模型及7層OSI參考模型
在因特網中,涉及兩個或多個遠程通信實體的所有活動都受協議的制約。
分層的體系結構:
為了給網絡協議的設計提供一個結構,網絡設計者以分層的方式組織協議和實現協議的硬件和軟件。且每一層具有地協議被稱為協議棧(protocol stack)。因特網地協議棧由五個層次組成,自頂向下(top-down)分別為:
應用層(軟件)
-
應用層的分組稱為報文。
-
應用層協議分布在多個端系統上,端系統之間的應用程序使用協議交換報文。
-
應用層包括許多協議:HTTP(WEB文檔的請求和傳送),SMTP(電子郵件),FTP(端系統間文件傳送)。
運輸層(軟件)
-
運輸層的分組稱為報文段(segment)。
-
在應用程序端點之間運輸應用層報文。
-
兩種運輸協議:
-
TCP:
-
向應用程序提供面向連接的服務,包括應用層報文向目的地的確保傳遞和流量控制。
-
將長報文划分為短報文。
-
提供擁塞控制機制(網絡擁塞時,抑制其傳輸速率)。
-
-
UDP:
- 向應用程序提供無連接式服務,不提供不必要服務。
- 無可靠性,無流量控制和擁塞控制。
網絡層(硬件軟件混合)
-
網絡層的分組稱為數據報(datagram)。
-
將數據報從一台主機移動到另外一台主機。
-
包括網際協議和路由選擇協議,其中有著名的網際協議IP,定義了數據包中各個字段以及端系統和路由器如合作用於這些字段。
-
IP僅有一個,且所有具有網絡層的因特網組件都要運行IP,所以盡管網絡層具有除IP協議以外的路由選擇協議,但還是被親切地稱為IP層,因為IP厲害,IP將因特網連在了一起。
鏈路層(硬件)
-
鏈路層分組稱為幀(frame)。
-
將分組從一個節點(主機或路由器)移動到路徑上的下一個節點,網絡層必須依靠鏈路層的服務。
-
鏈路層包括以太網,WiFi和電纜接入網的DOCSIS協議。
-
鏈路層提供的服務取決於該鏈路特定的鏈路層協議,某些協議基於鏈路提供可靠傳遞。鏈路層不同的鏈路會被不同的鏈路層協議處理,接受不同的服務。
物理層(硬件)
- 物理層的任務是將鏈路層傳遞的幀中的一個個比特從一個節點移動到下一個節點,物理層協議依舊與鏈路相關,且與鏈路的實際傳輸媒體(如雙絞銅線和單模光纖)有關。
OSI模型
OSI(Open System Interconnection)參考模型是國際標准化組織(ISO)制定地一個用於計算機或通信系統間互聯地標准體系,一般被稱為OSI參考模型或者七層模型。
沒有提供一個可以實現地方法,而是描述一些概念,是一個概念性地框架,而且OSI模型在設計時協議這玩意還沒發明出來。
OSI模型自上而下分別為應用層、表示層、會話層、運輸層、網絡層、鏈路層和物理層。除了表示層和會話層,其他五層與因特網五層模型中地對應層功能相同,所以再補充以下表示層和會話層的功能。
表示層
使通信的應用程序能夠解釋交換數據地含義,包括數據壓縮,數據加密和數據描述。
會話層
提供數據交換地定界和同步功能,包括建立檢查點和恢復方案地方法。
關於OSI模型的參考:OSI模型究竟忽悠了多少人
封裝
數據從發送端系統的協議棧向下,沿着中間的鏈路層交換機和路由器的協議棧,然后向上到達接收端系統的協議棧。
路由器和鏈路層交換機都是前兩篇提到的分組交換機,且他們並沒有實現協議棧中的所有層次。
比如:鏈路層交換機實現了鏈路層和物理層這兩層,而路由器實現了網絡層,鏈路層和物理層這三層,相比之下,可以看出,路由器能夠實現鏈路層交換機無法實現的IP協議(第三層協議)。
主機能夠實現所有的層次。
封裝(encapsulation)是一個很重要的概念,可以看到:
-
在發送主機端,一個應用層報文(application-layer message)被傳送給運輸層,運輸層收到之后,在報文首部附上首部信息,這個首部信息會被接收端的運輸層使用。應用層報文和運輸層首部信息一起構成了運輸層報文段(transport-layer segment),也就是說運輸層封裝了應用層報文。
-
同理:運輸層則向網絡層傳遞報文段,網絡層又類似地在其首部添加注入源和目的端系統地址等網絡層首部信息,生成網絡層數據報(network-layer-datagram)。
-
繼續向下,數據包被傳遞給鏈路層,鏈路層繼續加上鏈路層地首部信息,生成鏈路層幀(link-layer-frame)。
自此,報文從應用層傳輸到鏈路層的過程結束,我們可以知道:
-
在每一層地分組都具有兩種類型地字段:首部字段和有效載荷字段(payload field),所謂有效載荷就是上一層地分組。
-
接收端反向對封裝進行重構,一層一層去掉首部信息,以接收原信息。