1.1 什麼是網絡協議
1. 簡單來說,網絡協議就相當于任意兩台計算機之間指定達成的一種“約定”,這個“約定”規定了進行網絡通信時發送的數據格式以及進行數據打包、拆封數據包的方式等,隻要遵守協議的實現,那麼兩台計算機就可以實現網絡通信,即使兩台計算機的系統不同、CPU不同甚至是網絡硬件設備不同。
在古代傳遞機密文件時,有一種類似于協議的通信方式:
(1)在A、B兩地各放置一個書架,并且保證書架上所放置的書籍、書籍内容、書籍擺放順序必須完全相同。(指定協議)
(2)然後A發送一份信件,信件的原文字内容要依據書架上的内容進行加密處理,文字要從書架上的書籍中選取,處理後的信件内容就隻有書籍的位置和文字所在的頁碼以及行列位置,這樣的内容人是完全無法理解的。(依據協議對數據進行打包發送)
(3)當信件發送到B地時,在将信件上的記錄信息通過B地的書架進行與A地同樣的方法進行翻譯處理,就可以得到可以理解的原文字内容。(依據協議進行拆封數據包還原)
2. 分組交換協議:分組交換協議指的是将所需要傳輸的一個大的數據整體,分割為一個個小單位的數據包,然後依次傳輸這些數據包。
每一個分組中的每一個數據包都會有一個報文首部,這部分數據保存發送數據的源主機地址以及接收數據的目标主機地址。
3. 通信協議通常會規定報文首部應該寫入哪些數據信息,以及如何處理這些信息,也就是約定了發送數據的源主機如何構造報文首部和接收主機如何處理解析報文首部,雙方必須保證對報文首部保持一緻的定義和解釋。
1.2 OSI參考網絡模型的協議分層
1. 協議分層:在OSI網絡模型中,計算機網絡協議依據負責的功能被分為7層,在該模型中每一層都能接受其下一層所提供的特定服務,并且能為其上一層提供特定服務。上下層服務之間進行交互時所遵循的約定被稱為“接口”,同一層之間的交互約定被稱為“協議”。
2. 為什麼協議分層:協議分層的理念其實與軟件開發中的模塊化思想相同,七層網絡協議組合共同工作實現通信,但每一層之間又是獨立的,也就是說某一層的更改并不會引起其他層的變化,隻需要保證變更層協議與上下層交互的接口一緻即可,而且分層詳細界定了每一層的具體責任與功能。
3. OSI網絡模型中各層作用(功能):
(1)第7層——應用層:為應用程序提供服務并且規定應用程序中相關的細節,比如文件傳輸協議、電子郵件協議等。
(2)第6層——表示層:将應用程序中的數據轉換為适合于網絡傳輸的數據格式,也就是下層中進行傳輸的數據格式,或者将來自下層的數據轉換為上層能夠處理的數據格式,也就是說該層主要負責數據格式轉換。表示層接收到應用層發來的數據後,需要将接收的數據進行格式轉換,将其轉換為“網絡通用的标準數據格式”,因為不同系統或者應用對于同一段字節流的解釋可能是不同的,最簡單的例子就是字符編碼,如果發送方應用發送的是utf-8編碼的漢字,而接受方應用對于接收數據的處理是采用編碼ISO-8859-1那麼就一定會産生亂碼。所以表示層這裡就是要将應用層傳過來的數據轉換為一個“網絡通用的标準數據格式”,這樣接收方也采用同樣的“網絡通用的标準數據格式”就能保證數據在應用層的正确表示。轉換完畢後就将數據交給會話層處理。
(3)第5層——會話層:通信管理,負責确定如何建立、斷開通信連接,以及數據分割等數據傳輸相關的管理。
(4)第4層——傳輸層:管理兩個節點之間的數據傳輸,進行建立、斷開連接,負責可靠傳輸
(5)第3層——網絡層:将數據傳輸到目标地址,目标地址是多個網絡通過路由器連接而形成的的一個地址。因此這一層主要負責尋址和路由選擇。
(6)第2層——數據鍊路層:負責物理層上互聯的節點之間的通信傳輸。将0/1序列劃分為有意義的數據幀進行傳輸
(7)第1層——物理層:負責将0/1比特流轉換為電壓的高低、燈光的閃滅。
4. OSI參考模型通信處理過程簡單介紹:如下如所示,發送方從應用層自頂向下層層處理傳輸數據,發送到接收方時,再從物理層自底向上層層處理傳輸數據,在應用層進行展示。(實際發送過程肯定要複雜得多)
2.1 面向有連接型和面向無連接型
1. 面向有連接型:指的是在發送數據之前,必須先保證在收發主機之間有一條已連接的通信線路(比如TCP協議)。
2. 面向無連接型:指的是不要求必須要先建立連接,發送方可以随時發送數據,不需要關心接收方是否收到數據,也不關心接收方是否存在(比如UDP協議)。
2.2 電路交換與分組交換
1. 電路交換:該技術應用于老式的電話網,兩台計算機通過電路來建立連接實現通信,直到斷開連接,但是在一台計算機使用一個電路連接進行收發數據期間是獨占整條線路進行數據傳輸的,其他計算機隻能等待該計算機斷開連接後才能建立連接收發數據,也就是說并發性很差。所以出現了分組交換技術
2. 分組交換:分組交換協議正是應用在這裡,将要發送的數據分成一個個小的數據包,并且按順序發送,每一個數據包都會通過所攜帶的報文首部中的信息正确的被路由到目标主機,這樣就可以讓多個用戶同時在一條線路上進行收發數據,如下圖所示
3. 地址在互聯網通信中,每一個主機都必須要有一個唯一标示的“地址”,在網絡中可以通過這個地址找到任意一台主機。在TCP/IP協議中,使用的是MAC地址、IP地址以及端口号的組合來作為主機的地址标示。
3.1 地址的性質
1. 唯一性:即在一個通信網絡中,不允許有兩個相同地址的通信主機存在。
2. 層次性:地址分層其實就相當于寫自己的家庭住址一樣,國家-省份-市區-縣區-鄉鎮,IP地址就采用了地址分層,地址分層最大的好處就是可以快速定位主機。
4. 網絡的構成硬件1. 通信媒介與數據鍊路:計算機之間通過電纜或是電磁波(無線網絡)來進行鍊接和傳輸數據的媒介,進而構成網絡系統。
2. 網卡:任何一台計算機連接網絡都必須要有網卡(網絡接口卡、網絡适配器、NIC)。
3. 中繼器:OSI模型的第一層——物理層,由電纜傳輸過來的光信号或電信号經由中繼器進行處理後在傳輸給另一條電纜。
4. 網橋/2層交換機:網橋是OSI模型中的第2層——數據鍊路層,用來連接兩個網絡的設備。網橋依據MAC物理地址進行處理
5. 路由器/3層交換機:對應第3層——網絡層,連接兩個網絡,并進行分組報文轉發的設備。
6. 4-7層交換機:對應傳輸層到應用層,用來處理從傳輸層到應用層的數據。
7. 網關:負責将傳輸層到應用層中的數據進行轉換和轉發的設備,和4-7層交換器相同,都是處理傳輸層以上的數據
另外C/C 就是一個既可以強化思維能力,又可以打好編程基礎的編程語言,你要做做軟件開發,成為核心程序員的話,就來摳摳學習C/C 吧!你如果感覺自學C/C 語言有困難的話,C/C 編程學習,六七一,二七4和157。即使是零基礎的學習者,都可以一起成長進步。
希望對你有幫助,謝謝閱讀~
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!