盤它!OSI參考模型,TCP/IP以及3GPP規範

一:理解OSI分層思想和TPC/IP

1.1:分層思想

分層思想
在這裏插入圖片描述web

1.2:應用場景

甲某經過計算機的電腦端微信給乙某發了兩個字「你好」算法

1.2.1:經過每層的數據傳輸將「你好」如何輸出

應用層shell

最直觀的理解就是人機交互界面,或者說是系統程序窗口。甲某將「你好」兩個字輸入電腦微信軟件。數據庫

表示層
計算機如何處理「你好」兩個字? 答案就是「翻譯」! 人類有人類的語言,計算機也有本身的語言。計算機是不懂漢語的,但它會識別二進制的 0 和 1 ,那麼甲某在計算機的微信上打了「你好」這兩個字,計算機接收到後開始經過二進制轉換成本身的語言。這一步就是翻譯,固然,表示層還有其餘的功能,例如安全加密,壓縮等。數組

會話層
計算機知道你要發送的東西以後,就須要準備發送了。那麼,第一步就是要找到對方(乙某),並和對方創建會話關係。直接理解:會話屬於軟件層面,容許不一樣機器上的用戶之間創建會話關係。安全

傳輸層
傳輸層可理解爲是同一個軟件中的兩個端口進行數據傳輸。我用微信發送的消息,你也須要用微信來接收。那麼就是電腦端微信用戶之間的傳輸。服務器

網絡層
傳輸層已經準備就緒了,但是咱們知道微信用戶千千萬,甲某和乙某中間還存在不少的其餘用戶,咱們怎麼實現賈某的文字就能準確的發送到乙某的微信上呢? 這就是須要網絡層的 IP 地址了。只要知道了乙某的 IP 地址,就能夠選擇最佳路徑進行準確的數據傳輸了。微信

數據鏈路層
網絡層接收到數據後須要繼續往下傳輸,須要使用工具,就是數據鏈路層的網卡,繼續進行傳輸。網絡

物理層
數據到達物理層後,變成信號傳輸,經過bit流。
數據到達目標主機後,開始進行一個逆向的過程。
即數據到達對方主機後,從物理層傳輸到數據鏈路層–網絡層–傳輸層–會話層–表示層–應用層。
此時,數據到達乙某的電腦,乙某就能夠看到甲某發送的「你好」兩個字了。架構

1.3:OSI七層參考模型模型和TCP/IP模型

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

1.4:TCP/IP vs OSI模型

在這裏插入圖片描述
值得注意的是,OSI參考模型沒有考慮任何-組特定的協議,所以OSI更具備通用性。而TCP/IP參考模型與TCP/IP協議簇吻合得很好,雖然該模型不適用於其餘任何協議棧,但現在的網絡多以TCP/IP協議簇做爲基礎,這使得在分層設計上沒有過多考慮協議的OSI分層理念,因此沒有普遍地應用於實際工做中。相反,人們更多地應用TCP/IP分層模型在實際工做中分析問題、解決問題。

1.5:TCP/IP協議族的組成

在這裏插入圖片描述

二:對於數據的傳輸過程從而更快的熟悉OSI

2.1:每層所進行傳輸的數據單元

在這裏插入圖片描述
在這裏插入圖片描述

2.2:數據如何進行封裝的

因每一層的傳輸數據單元不一樣,因此須要封裝TCP報文頭部,以此使下一層可以看懂識別。

應用層:數據被「翻譯」爲網絡世界使用的語言—二進制編碼數據

傳輸層:上層數據被分割成小的數據段,併爲,每一個分段後的數據封裝TCP報文頭部

網絡層:上層數據被封裝上新的報文報文頭部—IP頭部

數據鏈路層:上層數據被封裝一個MAC頭部,其內部有一個關鍵的字段信息—MAC地址(物理地址)

它由一組48位的二進制數組成

物理層:不管以前封裝的報文頭部仍是上層的數據信息都是由二進制數組成的,在物理層,將這些二進制數字組成的比特流轉換成電信號在網絡上傳輸

在這裏插入圖片描述

2.3:數據如何進行解封裝

物理層:首先將電信號轉換成二進制數據,並將數據送至數據鏈路層。

數據鏈路層:將查看目標MAC地址,判斷其是否與本身的MAC地址吻合,並據此完成後
續處理。若是數據報文的目標MAC地址就是本身的MAC地址,數據的MAC頭部將被「拆掉」,並將剩餘的數據送至上一層:若是目標MAC地址不是本身的MAC地址,對於終端設備來講,它將會丟棄數據。

網絡層:目標IP地址將被覈實是否與本身的IP地址相同,從而肯定是否送至上一層。

傳輸層:首先要根據TCP頭部判斷數據段送往哪一個應用層協議或應用程序,而後將以前被分組的數據段重組。

應用層:這些二進制數據將經歷複雜的解碼過程,以還原成發送者所傳輸的最原始的信息。
在這裏插入圖片描述

三:深刻理解OSI

第一層:物理層
是參考模型的最低層。該層是網絡通訊的數據傳輸介質,由鏈接不一樣結點的電纜與設備共同構成。主要跟功能是:利用傳輸介質爲數據鏈路層提供物理鏈接,負責處理數據傳輸並監控數據出錯率,以便數據流的透明傳輸。傳輸數據的單位是比特(Bits)

機械性能:接口的形狀,尺寸的大小,引腳的數目和排列方式等;

電氣性能:接口規定信號的電壓、電流、阻抗、波形、速率好平衡特性等;

工程規範:接口引腳的意義、特性、標準。

工做方式:肯定數據位流的傳輸方式,如:半雙工、全雙工等。

物理層協議:美國電子工業協會(EIA)的RS232/RS422/RS423等;

國際電報電話諮詢委員會(CCITT)的X.25/X.21等;

物理層的數據單位是位(BIT),典型設備時集線器HUB。

這主要是和硬件有關,與軟件關係不大。

第二層:數據鏈路層
是參考模型的第二層。主要功能是:在物理層提供的服務基礎上,在通訊的實體間創建數據鏈路鏈接,傳輸的數據單位是「幀」,並採用差錯控制與流量控制方法,使有差錯的物理線路變成無差錯的數據鏈路。

鏈路層屏蔽傳輸介質的物理特徵,使數據可靠傳送。

內容包括介質訪問控制、鏈接控制、順序控制、流量控制、差錯控制和仲裁協議等。

鏈路層協議有:協議有面向字符的通信協議(PPP)和麪向位的通信協議(HDLC)。

仲裁協議:CSMA/CD(Carrier Sense Multiple Access with Collision Detection)、Token Bus、Token Ring

鏈路層數據單位是幀,實現對MAC地址的訪問,典型設備是交換機SWITCH。

第三層:網絡層
是參考模型的第三層。主要功能是:爲數據在節點之間傳輸建立邏輯鏈路,經過路由選擇算法爲分組經過通訊子網選擇最適當的路徑,以及實現擁塞控制、網絡互連等功能。

網絡層管理鏈接方式和路由選擇。

鏈接方式:虛電路和數據報服務。

虛電路是面向鏈接的,數據通信一次路由,經過會話創建的一條通路。數據報是非鏈接的,每一個數據報都有路由能力。網絡層的數據單位是包,使用的是IP地址,典型設備時路由器Router。

這一層能夠進行流量控制,但流量控制更多的是使用第二層或第四層。

第四層:傳輸層
是參考模型的第四層。主要功能是:向用戶提供可靠地端到端服務,處理數據包錯誤、數據包次序,以及其餘一些關鍵傳輸問題。傳輸層向高層屏蔽了下層數據通訊的細節。所以,它是計算機通訊體系結構中關鍵的一層。

提供端到端的服務,能夠實現流量控制、負載均衡。

傳輸層信息包括端口、控制字和校驗和。

傳輸層協議主要是TCP和UDP。

傳輸層位於OSI的第四層,這層使用的設備時主機自己。

第五層:會話層
是參考模型的第五層。主要功能是:負責維擴兩個結點之間的傳輸鏈接,以便確保點到點傳輸不中斷,以及管理數據交換等功能。

會話層主要內容時經過 繪畫進行身份驗證、繪畫管理和肯定通信方式。一旦創建鏈接,會話層的任務就是管理會話。

第六層:表示層
是參考模型的第六層。主要功能是:用於處理在兩個通訊系統中交換信息的表示方法,主要包括數據格式變換、數據加密與解密、數據壓縮與恢復等功能。

表示層主要是解釋通信數據的意義,如代碼轉換、格式變換等,使不一樣的終端能夠表示。

還包括加密與解密、壓縮與解壓等。

第七層:應用層
是參考模型的最高層。主要功能是:爲應用軟件提供了不少服務,好比文件服務器、數據庫服務、電子郵件與其餘網絡軟件服務。

應用層應該是直接面向用戶的程序或服務,包括系統程序和用戶程序,好比www、FTP、DNS、POP3和SMTP等都是應用層服務。

數據再發送時是數據從應用層至物理層的一個大包的過程,接收時是數據從物理層至應用層的一個解包過程。

從功能角度能夠分爲三組:1/2層解決網絡通訊問題,3/4層解決傳輸問題,5/6/7層處理對應用進程的訪問。

從控制角度可分爲二組:1/2/3層是通訊子網,4/5/6/7是主機控制層。

四:瞭解OSI的歷史

OSI模型最初是由於美國人的兩臺機器之間有進行通訊的需求。

需求1:
兩個硬件之間如何進行通訊,具體就是一臺發比特流,另外一臺可以收到。因而就有了物理層:主要是定義設備標準,如網線的額接口類型、管線的接口類型、各類傳輸介質的傳輸速率等。它的主要租用是傳輸比特流,就是從1/0轉化爲電流強弱來進行傳輸,到達目的以後再轉化爲1/0,也就是咱們常說的數模轉換。這一層的數據是比特。

需求2:
如今經過電線我能發數據流了,可是我仍是但願能經過無線電波,經過其餘介質來進行傳輸。而後我還要保證傳輸過去的比特流是正確的,須要由糾正錯誤的功能。

數據鏈路層:定義瞭如何讓格式化數據進行傳輸,以及如何讓控制對物理介質的訪問。這一層一般還提供錯誤檢測和糾正,以確保數據的可靠傳輸。

需求3:
如今我能發正確的比特流數據到另外一臺計算機了,可是當我發大量數據的時候,可能須要很長時間,例如:一個視頻格式的,網絡會中斷好屢次,實際上,即便有了物理層和數據鏈路層,網絡仍是常常中斷,只是中斷的時間是毫秒級別的。

那麼,我還須要保證傳輸大量文件時的準確性。因而,我要對發出去的數據進行封裝。就像發快遞同樣,一個個發送。

因而,發明了傳輸層(傳輸層在OSI模型中,是在網絡層面上)。

好比TCP,是用於發送大量數據的,我發出去一萬個包,另外一臺電腦就須要告訴我是否接收到一萬個包,若是缺乏3個包,就告訴我是第1001/234/8888個包丟了,那我再發一次。這樣,就能保證對方把這個視頻完整接收了。

例如UDP,適用於發送少許數據的。我發20個包出去,通常不會丟包,因此 ,我無論你收到多少,在多人互動遊戲中,也常常受到UDP協議,由於通常都是簡單的額信息,並且有廣播的需求。若是用TCP,效率就會很低,由於它會不停地告訴主機我收到20個包,或者18個包,再發我兩個!若是同時有1萬臺計算機都這樣作,那麼用TCP反而會下降效率,還不如用UDP,主機發出去就算了,丟幾個包就卡一下,算了,下次再發包更新。

TCP協議是會綁定IP和端口的協議,下面會介紹IP協議。

需求4:
傳輸層是解決了打包的問題。可是若是我有多臺計算機,怎麼能找到我要發的那臺?或者A要給F發信息,中間要通過B/C/D/E,可是中間還有好多節點,如K/J/Z/Y.我怎麼選擇最佳路徑?這就是路由要作的事情。

因而,發明了網絡層,也就是路由器,交換那些具備尋址功能的設備所實現的功能。這一層定義的是IP複製,經過IP地址尋址,因此產生了協議。

需求5:
如今已經可以給指定計算機發送正確的封裝過的信息了,可是用戶級別的體驗並非很好?難道我每次都要調用TCP去打包,而後調用IP協議去找路由,本身去發?固然不行,因此咱們要創建一個自動收發包,自動尋址的功能。

因而發明了會話層。會話層的做用就是創建和管理應用程序之間的通訊。

需求6:
如今我能保證應用程序自動收發包和尋址了,可是我要用Linux給window發包,兩個系統語法不一致,就像安裝包同樣,EXE不能在Linux下用,shell在window也也是不能直接運行的。

因而須要表示層,幫咱們解決不一樣系統之間的通訊語法問題。

需求7:
如今全部必要條件都準備好了,咱們能夠寫個Android程序,web程序去實現需求吧。

五:5G協議

5.1:5G技術規範

5.1.1:關於3GPP

●3GPP:第三代合做夥伴計劃,通訊行業標準化組織
●1998年12月成立

5.1.2:3GPP成員

●歐洲的ETSI(歐洲電信標準化委員會)
●日本的ARIB(無線行業企業協會)和TTC(電信技術委員會)
●中國的CCSA(中國通訊標準化協會)
●韓國的TTA(電信技術協會)
●北美的ATIS(世界無線通信解決方案聯盟)
●印度的TSDSI(電信標準開發協會)

5.1.3:3GPP定義的5G技術規範,TS38系列的部份內容

●TS23.501: 系統整體介紹
●TS38.300:無線側整體介紹
●TS38.401:無線側架構
●TS38.211:物理信道結構
●TS38.104:基站射頻要求

5.1.4:TS38系列下載地址

●https://www.3gpp.org/ftp/Specs/2017-12/Rel-15/38_ series/

5.2:3GPP定義的5G分爲三大場景

➢加強型移動寬 帶(eMBB, Enhance Mobile Broadband)

按照計劃可以在人口密集區爲用戶提供1Gbps用戶體驗速率和10Gbps峯值速率,在流量熱點區域,可實現每平方千米數十Tbps的流量密度。

➢海量物聯網通訊 (mMTC, Massive Machine Type Communication)

不只可以將醫療儀器、家用電器和手持通信終端等所有鏈接在一塊兒,還能面向智慧城市、環境監測、智能農業、森林防火等以傳感和數據採集爲目標的應用場景,並提供具有超千億

網絡鏈接的支持能力。

Enhance Mobile Broadband)

按照計劃可以在人口密集區爲用戶提供1Gbps用戶體驗速率和10Gbps峯值速率,在流量熱點區域,可實現每平方千米數十Tbps的流量密度。

➢海量物聯網通訊 (mMTC, Massive Machine Type Communication)

不只可以將醫療儀器、家用電器和手持通信終端等所有鏈接在一塊兒,還能面向智慧城市、環境監測、智能農業、森林防火等以傳感和數據採集爲目標的應用場景,並提供具有超千億

網絡鏈接的支持能力。

➢低時延、高可靠通訊(uRLLC, Ultra Reliable & Low Latency Communication)主要面向智能無人駕駛、工業自動化等須要低時延高可靠鏈接的業務,可以爲用戶提供亳秒級的端到端時延和接近100%的業務可靠性保證。

5.3:空中接口

在這裏插入圖片描述

5.4:5G無線協議棧

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述