計算機網絡分層結構
我們把計算機網絡的各層及其協定的集合稱為網絡的體系結構(Architecture)。換言之,計算機網絡的體系結構就是這個計算機網絡及其所應完成的功能的精确定義,它是計算機網絡中的層次、各層的協定及層間接口的集合。
體系結構是抽象的,而實作是指能運作的一些軟體和硬體
網絡體系結構是從功能上描述計算機網絡結構
計算機網絡體系結構簡稱網絡體系結構是分層結構。分層的基本原則
- 每層之間互相獨立,每層隻實作一種相對獨立的功能
- 每層之間界面自然清晰,易于了解,互相交流盡可能少
- 結構上可分割開。每層都采用最合适的技術來實作
- 保持下層對上層的獨立性上層單向使用下層提供的服務
- 整個分層結構應該能促進标準化工作
每層遵循某個/些網絡協定以完成本層功能

- 實體:第n層中活動元素稱為n層實體。同一層的實體叫做對等實體。例如主機B L5 data可以稱作5層實體,對應的主機A L5 data可以稱作對等實體
-
協定:為進行網絡中的對等實體資料交換而建立的規則、标準或約定稱為網絡協定【水準】
協定的三大要素,這裡以比特序列01010001111000為例
- 文法:規定傳輸資料的格式,即資料按照0/1這種數字形式來傳輸,比特序列從那裡分割,哪裡啟示、結束都是文法規定的内容
- 語義:規定所要完成的功能,即比特序列根據文法分割以後變成好幾段,每個分段的意思,能實作什麼功能就是語義的作用
- 同步:規定各種操作的順序,即規定哪個資料報先發,哪個後發
- 接口(通路服務點SAP):上層使用下層服務的入口
- 服務:下層為相鄰上層提供的功能調用【垂直】
僅僅在相鄰層間有接口,且所提供服務的具體實作細節對上一層完全屏蔽
- SDU服務資料單元:為完成使用者所要求的的功能而傳送的資料。也就是每一層要傳輸的資料,就是有用的那些部分
- PCI協定控制資訊:控制協定操作的資訊。可以了解成一些控制資訊
-
PDU協定資料單元:對等層次之間傳送的資料單元
$$n-PCI \quad + \quad n-SDU=n-PDU=(n-1)-SDU$$
第n層在向n+1層提供服務時,此服務不僅包含第n層本身的功能,還包含由下層服務提供的功能
OSI參考模型
$$
計算機網絡分層結構 \left{\begin{aligned}&7層OSI參考模型,法定标準\&4層TCP/IP參考模型,事實标準\end{aligned}\right.\Rightarrow 5層的體系結構
$$
為了支援異構網絡系統的互聯互通(不同公司提出不同網絡體系結構),國際标準化組織(ISO)與1984年提出開發系統互連(OSI)參考模型
上面四層是端到端的通信(運作在兩個主機内程序的通信),下面三層是點到點的通信(隻管下一步到哪裡,不管最後到哪裡)
因為對等實體遵從相同的協定,是以知道應該加上或去掉哪些資料
-
應用層:使用者與網絡的界面,所有能和洪湖互動産生網絡流量的程式(記事本等不聯網能用的不算)
典型應用層服務:檔案傳輸(FTP),電子郵件(SMTP),網際網路(HTTP)……
- 表示層:用于處理兩個通信系統中交換資訊的表示方式(文法和語義)
- 功能一:資料格式變換,例如把比特流轉換成圖檔JPG格式
- 功能二:資料加密和解密,例如微信支付密碼的加密和解密
- 功能三:資料的壓縮和恢複,例如圖檔本身很大,通過壓縮變小再放到鍊路上傳輸
-
會話層:向表示層實體/使用者程序提供建立連接配接并在連接配接上有序地傳輸資料。這就是會話,也是建立同步(SYN)
例如有一台電腦,打開了百度網頁,然後放到背景,換個網頁開始看電影,現在這個電腦已經和這兩個視窗建立起了同步,但是還沒有進行資料的傳輸。這是調整電影播放速率,受到影響的是電影所在的網頁,而不是百度網頁
會話之間是彼此獨立,而不互相影響
- 功能一:建立、管理、終止會話
-
功能二:使用校驗點可使會話在通信失效時從校驗點/同步點繼續恢複通信、實作資料同步
适用于傳輸大檔案
- 傳輸層:負責主機中兩個程序的通信,即端到端的通信。傳輸機關是封包段或使用者資料報
-
功能一:可靠傳輸、不可靠傳輸
可靠傳輸,一種基于确認機制的傳輸。例如發一個檔案,把它切成封包段,一個一個放到鍊路上傳輸,傳輸到接收端,接收端每收到一個封包段都會傳回一個确認的資訊,隻有發送端收到了确認的資訊才會發下一個封包段;如果沒有收到确認資訊,會再發一次封包段,直到收到這個封包段的确認為止,才能繼續往下發送封包段
不可靠傳輸,不需要建立連接配接,不管會不會丢,直接發送資料包就行。通常用于發送一些比較小的資料
- 功能二:差錯控制,當傳送的封包段失去了,順序錯了,傳輸層就會糾正這些錯誤
- 功能三:流量控制,控制發送端的速度,例如發送端發送了大量資料,但接收方硬體不好,接收的很慢,這是發送端就會被控制減緩發送速度
-
功能四:複用分用
複用:多個應用層程序可同時使用下面運輸層的服務
分用:運輸層把收到的資訊分别傳遞給上面應用層中相應的程序
例如,發送的同時使用QQ和微信向接收端發送消息,QQ端口号為1,微信端口号為2,接收端收到封包段,發現端口号為1,則分給QQ,端口号為2,則分給微信
-
-
網絡層(IP層):主要任務是把分組從源端傳到目的端,為分組交換網上的不同主機提供通信服務。網絡層傳輸機關是資料報
如果資料報過長,就可能被分割成多個分組,然後放到鍊路上傳遞
- 功能一:路由選擇,就是選擇最佳路徑例如發送端發送一個資料報給接收端,但從發送端到接收端有多條路徑,網絡層就會通過算法選擇最佳路徑
詳解計算機網絡體系結構-計算機網絡體系結構與參考模型【王道計算機網絡筆記】 - 功能二:流量控制,協調發送端和接收端速度問題。類似傳輸層的流量控制
- 功能三:差錯控制,兩節點之間約定一些規則,接收方根據規則,檢查收到的分組是否有錯誤,如果能糾錯就糾錯,如果不能糾錯就扔掉,保證傳輸層送出的内容都是正确的
- 功能四:擁塞控制。相交于流量控制,擁塞控制是對于全局的速度控制,如果所有節點都來不及接收分度,而要丢棄大量分組的話,網絡就會處于擁塞狀态。是以要采取一定措施,緩解這種擁塞
- 功能一:路由選擇,就是選擇最佳路徑例如發送端發送一個資料報給接收端,但從發送端到接收端有多條路徑,網絡層就會通過算法選擇最佳路徑
- 資料鍊路層:主要任務是把網絡層傳下來的資料報組裝成幀。資料鍊路層/鍊路層的傳輸機關是幀
- 功能一:成幀(定義幀的開始和結束),資料報組裝成幀以後會形成一個比特流序列,這時候需要定義幀的開始和結束,就是需要定義01的組合作為開始和結束的标志。隻要這樣定義好了,在接收端接收到一個幀的時候獲得裡面的資料
- 功能二:差錯控制,可以檢錯也可以糾錯,錯誤分為幀錯和位錯
- 功能三:流量控制,類似上面的
- 功能四:通路(接入)控制,主要是對信道通路的控制。例如有四台主機連在一個實體介值上,資料鍊路層就要控制哪台主機目前可以發送資訊,即可以使用共享信道(廣播室網絡當中,同時隻能有一個主機發送資訊,其他主機都在監聽的狀态)
-
實體層:主要任務是在實體媒體上實作比特流的透明傳輸(把比特流轉成電信号并放到鍊路上傳輸,沒有其他處理)。傳輸機關是比特
透明傳輸:指不管所傳資料是什麼樣的比特組合,都應當能夠在鍊路上傳送
- 功能一:定義接口特性,例如确定連接配接電纜的插頭有多少根引腳,每根引腳如果連接配接……
-
功能二:定義傳輸模式
單工:同一時間兩方,隻有一方可以發送,另一方隻能接收,并且發送端和接收端是确認的,不能改變
半雙工:同一時間兩方,隻有一方可以發送,另一方隻能接收,但發送端和接收端不确定,兩方都可以
雙工:同一時間兩方可以同時發送
- 功能三:定義傳輸速率
- 功能四:比特同步
- 功能五:比特編碼
TCP/IP參考模型
OSI參考模型與TCP/IP參考模型
- 相同點
- 都分層
- 基于獨立的協定棧的概念
- 可以實作異構網絡互聯(不同廠家生成的裝置聯系起來)
- 不同點
- OSI定義三點:服務、協定、接口
- OSI先出現,參考模型先于協定發明,不偏向特定協定
- TCP/IP設計之初就考慮到異構網互聯問題,把IP作為重要層次
-
ISO/OSI參考模型在網絡層采用無連接配接+面向連接配接,傳輸層采用面向連接配接;TCP/IP模型網絡層采用無連接配接,傳輸層采用無連接配接+面向連接配接
面向連接配接分為三個階段,第一是建立連接配接,在此階段,發出一個建立連接配接的請求。隻有在連接配接成功建立之後,才能開始資料傳輸,這是第二階段接着,當資料傳輸完畢,必須釋放連接配接。而面向
無連接配接沒有這麼多階段,它直接進行資料傳輸。