1.2.2 計算機網絡分層結構(下)

繼續來看計算機網絡的分層結構,在之前的學習中,我們介紹了計算機網絡的分層結構,以及各層之間的關系。我們把工作在某一層的軟件和硬件模塊稱為這一層的實體,為了完成這一層的某些功能,同一層的實體和實體之間需要遵循某種通信協議。也就是說協議這個東西,它是約束了水平方向的通信規則。

為了讓大家體會到協議的作用。我們不妨從水平的視角來看一下數據是怎么傳輸的。之前我們簡單的介紹過數據傳輸的過程,從垂直的視角來看,發送方這邊的數據會從最頂層開始,逐層的往下傳遞。每一層都會對數據進行相應的處理,然后再放到物理傳輸媒體上進行傳輸,在接收方這邊,當他收到數據之后,又會從最底層開始進行逐層的逆處理,最終獲得原始數據。我們不妨假設應用層需要實現L、M、N這幾個功能,那N這個功能,我們不妨假設它是要把數據進行壓縮,然后再傳輸,從而可以節省流量。基于這樣的設計,發送方的第五層實體需要把數據進行壓縮,壓縮完了之后再交給下面的層次去處理和傳輸,而接收方的第五層實體對等的這個實體,它又需要把數據進行解壓縮,解壓了之后再把它上交給上層的用戶,因此從水平視角來看。這兩個用戶,他們感受不到
數據被壓縮和解壓的過程。在他們倆看來,數據似乎是被原模原樣的傳輸的。但事實上,發送方的第五層實體和接收方的第五層實體分別做了壓縮和解壓縮的過程。

為了支持這樣的功能,我們不妨制定一個協議,這個協議的名字叫做YSCS協議。之前我們說過一個協議規定了水平方向上的兩個對等實體之間的通信規則,為了實現壓縮傳輸這個功能,我們需要在協議當中規定發送方的第五層實體,首先需要把這個數據進行壓縮,數據壓縮的算法有很多種,為了讓接收方能夠用對應的解壓算法去解壓,因此我們需要增加一個首部的信息,也就是一部分控制信息。發送方的應用層實體先把數據用某一種壓縮算法進行壓縮,然后在首部位置指明自己采用了哪一種壓縮算法,這樣的話,當接收方的第五層實體收到這個數據之后,就可以從首部位置去獲取壓縮算法的信息,緊接著再采用對應的解壓算法,把數據進行解壓,再交還給上層的用戶。從這個例子中我們可以感受到,從水平視角來看,對等的兩個實體之間,他們的通信需要遵循某種協議,而遵循這個協議的目的,是為了實現某一種功能。一個協議可能會規定在數據之前增加一個首部。當然,有的協議也可以再增加一個尾部的信息,反正無論是首部還是尾部,這些都是為了實現協議的功能而存在的控制信息。具體首部和尾部需要多少個字節,以及每個字節具有什么含義,這些都需要在協議當中規定清楚。理解了這些之后,我們就可以更深刻的體會到為什么要分層,以及為什么要制定協議了。

我們說計算機網絡功能是很復雜的,所以我們需要先把計算機網絡需要支持的功能A、B、C、D、E、F、G給羅列出來,然后再把這些功能安排到合適的層次當中,處于同一個層次的對等實體,需要去配合著實現這一層當中的這些功能。因此我們需要去制定協議去約束對等實體之間的這種通信規則。

了解協議存在的意義之后,接下來我們再從垂直的視角,來看一下數據傳輸的整個過程。假設左邊這個用戶要給右邊這個用戶發送一些數據,這些數據首先會被交給應用層進行處理,應用層負責實現某一些功能,為了實現這些功能,應用層和應用層之間的通信需要遵循某種協議,因此就需要給這些數據增加協議的首部,我們不妨把它稱為應用層的首部,應用層按照協議的規定做了這些處理之后,又會把這一整塊的數據作為一個整體,把它交給下面這一層傳輸層,傳輸層和傳輸層之間同樣需要遵循某一些通信協議,因此傳輸層也會增加協議控制信息,也就是首部的這部分數據。接下來傳輸層又把這一整塊的數據作為一個整體交給下面這一層網絡層,同樣的道理,網絡層和網絡層之間也需要遵循某種通信協議。因此,網絡層的實體也需要增加一個首部的信息,接下來,網絡層把這些數據交給數據鏈路層。那么,數據鏈路層為了實現本層的功能,它需要增加首部和尾部的信息,無論是首部還是尾部,最終都是為實現協議的功能去服務的。最后數據鏈路層再把這些數據交給物理層,在這種五層的體系結構當中,物理層并不會對這些數據進行任何處理,他只負責把這些二進制的數據原模原樣的傳輸到物理傳輸媒體上,這樣就可以讓數據到達下一個節點,下一個節點接收到這些數據之后,首先交給物理層,緊接著物理層再交給數據鏈路層,這層的實體會根據本層的協議規定,去檢查首部以及尾部的信息,然后根據這些控制信息完成數據鏈路層需要完成的一
些事情,比如說完成差錯控制的功能。如果這些數據沒有什么問題的話,這層的實體會把本層的首部和尾部拆掉,然后再交給上一層進行處理,第三層網絡層,它通過本層的協議控制信息去實現本層應該負責的功能。具體來說,這一層要實現的就是路由,也就是數據分組的存儲轉發,所以第三層的首部信息,它其實會包含發送方的IP地址以及接收方的IP地址這些信息,路由器的第三層實體就可以根據這些信息去決定數據分組下一跳應該把它轉發到什么位置,路由器的第三層實體會對 H3這個部分的控制信息進行一些簡單的處理。

具體是什么處理,我們現在先不展開,總之處理完了之后,它又會把這一整塊的數據交給下一層,也就數據鏈路層,數據鏈路層又會根據對等實體之間的協議去增加首部和尾部的信息,然后再把這些數據交給物理層,物理層再把這些數據通過物理傳輸媒體傳給下一個結點,接收方主機第一層物理層收到這些信息之后,就會把這些信息交給數據鏈路層,后面的過程就是類似的,逐層的往上處理,每一層的實體,只關注本層的首部信息,逐層往上處理,逐層的把首部信息給拆掉,最終交給用戶的就是一個干凈的,沒有首部信息的數據,這樣就完成了數據的傳輸。這就是從垂直視角來看,數據的傳輸過程,同一層次的對等實體之間。他們需要遵循某一種通信協議,而協議本質上是為了某一些功能而服務的,要讓協議規定的事情可以落地,我們就需要在數據之前增加一個首部的信息,每一層只關心自己的首部信息。

捋清這個過程之后,接下來我們引入幾個概念,分別是協議數據單元、服務數據單元和協議控制信息,英文縮寫是PDU、SDU和PCI。首先看協議數據單元,對等層次之間傳送的數據單位,就是這一層的協議數據單元。

比如說第五層和第五層之間,他們傳送的數據就是原始數據加一個H5這個頭部,所以這一整塊東西就是第五層的協議數據單元。類似的,第三層和第三層之間,它們傳送的數據是這一整塊,所以這一整塊就是第三層的協議數據單元。協議數據單元由服務數據單元和協議控制信息組成,協議控制信息指的是控制協議操作的信息,就是剛才我們提到的首部,第五層的協議控制信息,也就是第五層的PCI,就是第五層的首部,第四層的PCI就是第四層的首部,第二層的PCI包含了首部和尾部兩部分的信息,所以首部和尾部加起來,共同組成了第二層PCI,也就是協議控制信息。去除協議控制信息之外,剩下的部分就是本層的服務數據單元,也就是SDU這個概念。服務數據單元是為了完成上一層實體所要求的功能而傳送的數據。

沒有跟上的同學,在這兒給大家羅列了一些例子。大家可以暫停來感受一下,總之這三個概念之間的關系就是某一層的服務數據單元,加上這一層的協議控制信息,共同組成了這一層的協議數據單元,而這一層的協議數據單元,又會作為下一層的服務數據單元。大家可以暫停來體會一下。

最后我們再來介紹協議的三要素。我們要制定一個完整的協議,需要規定這個協議的語法語義和同步分別是什么,這就是所謂的協議三要素。首先,第一個要素,所謂的語法指的是數據與控制信息的格式。比如說我們需要規定這個協議的控制信息,也就首部總共幾個字節,每個字節的含義是什么,以及協議的數據部分,也就是SDU那個部分最多有多少個字節。這就是所謂的語法要規定數據的格式。第二個要素語義,指的是需要發出何種控制信息、完成何種動作以及做出何種應答,聽起來比較抽象。舉個例子,比如剛才我們提到壓縮傳輸的功能,A、B兩臺主機的第五層應用層的實體要實現壓縮傳輸功能。他們之間就需要遵循壓縮傳輸協議,除了規定,這個協議的數據控制信息格式之外。我們還需要規定在雙方進行數據傳輸的過程當中,雙方需要完成哪些動作以及做出哪些應答。比如說當發送方發完數據之后,接收方是否需要給他一個應答的信號,以及這個應答的信號有哪些種類。
比如說,給他應答一個傳輸成功,或者給他應答一個傳輸失敗,這就是所謂的語義要描述清楚的東西。最后第三個要素叫做同步,又叫做時序。在歷年真題當中,出現的是時序這個術語。時序這個要素需要描述清楚,通信雙方執行各種操作的條件、時序關系等等。是對事件實現順序的詳細說明。比如說A、B雙方要遵循壓縮傳輸的協議,這個協議當中我們要求發送方首先要給接收方發送數據,接收方接收完數據之后,需要立即給發送方一個回應。比如說傳輸成功,當然也可以回應傳輸失敗,如果發送方在十秒之內還沒有收到這個接收方的傳輸成功應答的話,發送方會再次嘗試重新發送這個文件的數據。所以我們用一個時序圖去描述清楚了發送方和接收方,他們的動作之間的時序關系。所以語義這個要素是描述了發送方和接收方有可能需要做的動作有哪些,而時序這個要素是需要描述清楚這些動作的發生順序。這三個要素相輔相成,共同組成了協議。在這門課的后續章節中,我們還會詳細學習很多種協議。

在這兩個視頻中,我們介紹了計算機網絡的分層結構。我們說計算機網絡的功能十分復雜,為了讓計算機網絡看起來結構清晰,并且易于維護、易于實現,因此我們引入了分層設計的思想。把計算機網絡分成多個層次,每一個層次負責實現若干個功能。對于同一層次中的活動元素,我們把它稱為這一層的實體,我們可以把處于同一層次的實體稱為對等實體。為了實現一個層次中的各種功能,對等實體之間需要根據某種協議的規定去進行通信。所以協議規定的是水平方向對等實體之間
的通信規則。在一個分層結構的計算機網絡當中,上一層的實體會通過接口去請求下一層實體的服務,而所謂的服務就是為上一層提供的功能調用。所以接口和服務這兩個概念是垂直方向的,它描述的是相鄰的上層和相鄰的下一層之間發生的一個交互關系。服務可以按照不同的維度進行分類,比如可靠的,不可靠的,有連接的,沒有連接的,以及有響應的和沒有響應的,關于服務的分類,在初學階段可以先不了解,隨著這門課后續章節的學習,我們對服務的分類會有更直觀的認知。那在這節課當中,我們也介紹了協議數據單元、服務數據單元和協議控制信息這幾個概念。處于同一層的對等實體之間,以協議數據單元為單位去交換數據,協議數據單元由服務數據單元和協議控制信息組成,所謂的協議控制信息就是首部和尾部,而服務數據單元就是上一層的實體委托給下一層的實體傳輸的那部分數據。而某一層的協議數據單元,又會作為下一層的服務數據單元,這幾個概念比較容易混淆,建議大家看圖復習,反而會更清晰。

在這節課中,我們還介紹了協議的三要素,分別是語法、語義和時序。語法描述了協議的數據與控制信息的格式,也就是描述了一個協議的SDU和PCI的格式。協議的第二個要素語義,描述了使用協議的這些對等實體之間需要發出什么樣的控制信息,以及需要完成什么樣的動作,做出什么樣的回應。簡言之,語意描述了對等實體之間需要做什么,而最后一個要素時序,它需要描述這些對等實體做的這些動作,觸發條件是什么,以及先后順序是什么?也就是需要描述清楚什么時候做。由于到目前為止,我們暫時還沒有接觸任何一個具體的協議,所以這幾個概念現在聽起來比較抽象是很正常的。通過這門課后續章節的學習對這幾個概念的理解會更加深刻。在上一節課當中我們也介紹了計算機網絡體系結構的概念。當我們要設計計算機網絡體系結構的時候,我們需要精確的定義層次的劃分以及各層的功能,各層的協議等等,只需要給出精確的定義就可以,而不需要涉及到具體的實現。相當于我們設計一個體系結構,只是給計算機網絡的軟硬件開發者搭建了一個框架,開發者們只需要按照體系結構的定義去進行開發。開發的軟件和硬件就可以在我這個網絡上去正常的運行。

所以具體的實現這個問題是交給軟硬件開發者的,體系結構的設計者只需要給出定義就可以,在上節課中我們也簡單介紹了三種常見的網絡體系結構,分別是OSI參考模型TCP/IP模型,以及我們教學使用的五層模型。OSI參考模型是法律標準,是由一個國際標準化組織提出來的,但是現在的互聯網世界,網絡的體系結構是TCP/IP模型,也就是分為了四層,所以TCP/IP模型它是事實上的標準。在下節課中,我們會展開介紹OSI參考模型和TCP/IP模型,而在這門課程的后續幾個章節中,我們會更詳細的去研究五層模型的各個層次。

以上就是這個視頻的全部內容。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/90680.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/90680.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/90680.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

實訓八——路由器與交換機與網線

補充——基本功能路由器:用于不同邏輯網段通信的交換機:用于相同邏輯網段通信的1.網段邏輯網段(IP地址網段):IP地址的前三組數字代表不同的邏輯網段(有限條件下);IP地址的后一組數字…

C++——構造函數的補充:初始化列表

C中,構造函數為成員變量賦值的方法有兩種:構造函數體賦值和初始化列表。構造函數體賦值是在構造函數里面為成員變量賦值,如:class Data { public://構造函數體賦值Data(int year,int month,int day){_year year;_month month;_d…

代碼隨想錄|圖論|12島嶼周長

leetcode:106. 島嶼的周長 題目 題目描述 給定一個由 1(陸地)和 0(水)組成的矩陣,島嶼是被水包圍,并且通過水平方向或垂直方向上相鄰的陸地連接而成的。 你可以假設矩陣外均被水包圍。在矩陣中恰好擁有…

開發制作模仿參考抄別人的小程序系統

很多老板看見別人公司的小程序系統界面好看,功能強大,使用人數多。就想要抄襲模仿參考別人家的小程序系統。想要了解一下有沒有侵權風險,以及怎么開發制作開發制作模仿參考抄別人的小程序系統。首先回答第一個問題,只要你的小程序…

c語言中的數組IV

數組的集成初始化 集成初始化的定位 數組的大小 數組的賦值 不能直接將一個數組a賦值給數組b&#xff0c;只能通過遍歷來實現 遍歷數組 示例——檢索元素在數組中的位置#include <stdio.h> int search(int key,int a[],int length); int main(void){int a[] {2,4,6,7,1,…

LDO選型

目錄 一、最大輸出電流 二、最大輸入電壓 三、最大功率&#xff1a;Pmax 四、負載動態調整率 五、輸入電源紋波抑制比&#xff1a;PSRR 一、最大輸出電流 參考TI LM1117IMPX-3.3/NOPB數據手冊 由于LDO轉換效率很低&#xff0c;LDO的標稱最大電流 ≥ 實際最大負載電流 1…

飛算JavaAI:重構Java開發的“人機協同”新范式

目錄一、從需求到架構&#xff1a;AI深度參與開發“頂層設計”1.1 需求結構化&#xff1a;自然語言到技術要素的準確轉換1.2 架構方案生成&#xff1a;基于最佳實踐的動態匹配二、編碼全流程&#xff1a;從“手寫代碼”到“人機協同創作”2.1 復雜業務邏輯生成&#xff1a;以“…

解決SQL Server SQL語句性能問題(9)——SQL語句改寫(7)

9.4.15. 消除join場景一 與Oracle等其他關系庫類似,SQL Server中,join作為基本語法用于SQL語句中相關表之間的連接,有些場景中,join既可以增強SQL語句的可讀性,同時,又可以提升SQL語句的性能,但有些場景中,join會導致CBO為SQL語句產生次優的查詢計劃,進而出現SQL語句…

深度學習-數據準備

一、數據準備 1.1定義 數據準備&#xff08;Data Preparation&#xff09; 是數據分析與機器學習流程中的核心環節&#xff0c;指將原始數據轉換為適合分析或建模的結構化格式的過程。 1.2組成 數據準備主要由兩個部分組成&#xff0c;一個是劃分數據集&#xff0c;一個是構建…

IPA軟件源預覽系統源碼(源碼下載)

這是一款IPA軟件源預覽系統源碼&#xff0c;搭建這個源碼一定記住沒有軟件源的別搭建&#xff0c;因為你玩不明白&#xff0c;不是做IPA軟件源的不要下載這套源碼&#xff0c;簡單的測試了&#xff0c;UI很舒服&#xff0c;喜歡的自行部署&#xff01; 源碼下載&#xff1a;htt…

python 數據分析 單細胞測序數據分析 相關的圖表,常見于腫瘤免疫微環境、細胞亞群功能研究 ,各圖表類型及邏輯關系如下

這是一組 單細胞測序數據分析 相關的圖表&#xff0c;常見于腫瘤免疫微環境、細胞亞群功能研究 &#xff0c;各圖表類型及邏輯關系如下&#xff1a;使用kimi doubao 和deepseek &#xff0c;分析圖標和pdf 豆包最好&#xff0c;用豆包分析| 圖表類型 A、E&#xff08;堆疊柱狀…

表達式索引海外云持久化實踐:關鍵技術解析與性能優化

隨著全球數字化轉型加速&#xff0c;表達式索引技術正成為海外云服務商提升數據庫性能的核心方案。本文將深度解析如何通過云原生架構實現索引持久化&#xff0c;對比主流云平臺的技術實現差異&#xff0c;并給出跨國業務場景下的優化建議。 表達式索引海外云持久化實踐&#x…

sprinboot團隊任務管理系統 計算機畢業設計源碼32322

摘 要 隨著團隊協作模式的日益多樣化&#xff0c;傳統的任務管理方法已無法滿足現代團隊對高效協作和任務分配的需求。因此&#xff0c;本研究通過引入信息化設計并實現了一套團隊任務管理系統&#xff0c;旨在為管理員、成員用戶和團長用戶等用戶提供高效、靈活的任務管理…

單鏈表,咕咕咕

1.引入單鏈表順序表對于中間或者頭部的刪除&#xff0c;時間復雜度為O(N)&#xff0c;增容需要申請新的空間&#xff0c;拷貝數據&#xff0c;釋放就空間&#xff0c;消耗。增容一般是2倍的增長&#xff0c;會有空間的浪費。為了解決這些問題&#xff0c;引入了單鏈表。2.單鏈表…

docker設置鏡像加速

配置鏡像加速器解決 Docker 拉取問題 在使用 Docker 拉取鏡像時&#xff0c;我首先按照官方指引嘗試配置阿里云鏡像加速器。然而&#xff0c;多次操作后仍無法正常使用&#xff0c;懷疑是個人賬號沒有權限拉取鏡像&#xff0c;但經過多輪權限檢查與配置核對&#xff0c;始終未…

【計算機網絡】王道考研筆記整理(2)物理層

第二章 物理層2.1 通信基礎的基本概念本節主要介紹通信中常用的一些基本概念&#xff0c;包括&#xff1a;信源、信宿、信號、信道&#xff0c;以及碼元、速率、波特。首先&#xff0c;我們來看什么是信源、信宿、信號、信道&#xff0c;這些概念通過一張圖就可以理解。其中&a…

2023年IEEE TITS SCI2區TOP,增強回溯搜索算法EBSA+多無人機輔助商業包裹遞送系統飛行規劃,深度解析+性能實測

目錄1.摘要2.回溯搜索算法BSA原理3.模型定義4.增強回溯搜索算法EBSA5.結果展示6.參考文獻7.算法輔導應用定制讀者交流1.摘要 利用無人機進行商業包裹投遞可以顯著推動物流行業的轉型升級&#xff0c;這得益于節省了人力資源成本&#xff0c;而無人機正在成為智能交通運輸系統的…

window wsl 環境下編譯openharmony,HarmonyOS 三方庫 FFmpeg

1.wsl 創建 C:\Users\Administrator>wsl --list --online 以下是可安裝的有效分發的列表。 使默認分發用 “*” 表示。 使用 wsl --install -d <Distro> 安裝。 NAME FRIENDLY NAME Ubuntu Ubuntu Debian Debian GNU/Linux kali-linux Kali Linux Rolling Ub…

Kubernetes服務暴露與負載均衡深度探析

目錄 Kubernetes服務基礎 服務類型與適用場景 服務發現與DNS 負載均衡機制 kube-proxy IPVS Ingress控制器 Ingress與服務暴露 Ingress資源 Ingress控制器 負載均衡策略與配置 服務配置 Ingress配置 IPVS配置 高可用性設計 服務冗余 Ingress控制器高可用 負載…

探索飛算 JavaAI 進階:解鎖高效Java開發的新維度

前引&#xff1a;在當今快速迭代的軟件開發領域&#xff0c;Java作為企業級應用的基石&#xff0c;持續推動著技術創新。隨著性能需求的提升&#xff0c;“飛算JAVA”應運而生&#xff0c;它融合了現代優化理念&#xff0c;為開發者提供了一套簡潔、高效的解決方案。本文將深入…