主頁 > 軟體設計 > 一文徹底弄清4G/藍牙/WiFi/TCP/IP之間的關系

一文徹底弄清4G/藍牙/WiFi/TCP/IP之間的關系

2021-11-02 09:41:37 軟體設計

??計算機學院或者軟體學院畢業的小伙伴必然學過《計算機網路》這門課,作為一個小小的考驗,我們來稍微思考一下這么一個問題:
??計算機的通信協議跟手機的通信協議有什么區別?TCP/IP協議和4G/5G的LTE,GSM等區別,
??要解釋這個問題,先從分層模型講起,在課本中會給出國際標準化組織ISO的OSI七層模型和TCP/IP五層模型,
1
??這張圖可以說相當經典,每本課本講到這里都還會舉個坐飛機的例子,說到分層的優點大家都會背:

1)人們可以很容易的討論和學習協議的規范細節,
(2)層間的標準介面方便了工程模塊化,
(3)創建了一個更好的互連環境,
(4)降低了復雜度,使程式更容易修改,產品開發的速度更快,
(5)每層利用緊鄰的下層服務,更容易記住個層的功能,

但其實很難體會它真正的用處,看完下面的講解大概就能體會到分層的好處了,
??TCP/IP通過競爭慢慢地戰勝了其它一些網路協議方案,包括OSI七層模型,TCP/IP實際上是一個四層的體系結構,主要包括:應用層傳輸層網路層網路介面層,如圖:
在這里插入圖片描述

從實質上講,TCP/IP協議堆疊起始于第三層協議IP(互聯網協議) ,所有這些協議都在相應的RFC檔案中討論及標準化,可以說TCP/IP協議堆疊只有上邊三層,網路介面層沒有什么具體的內容,

??值得一提的是,重要的協議在相應的RFC檔案中均標記了狀態: 必須 (required) ,推薦(recommended) ,可選(optional) ,其它的協議還可能有"試驗"(experimental) 或"歷史"(historic) 的狀態,如圖:
2119
??所有的TCP/IP應用都必須實作IP和ICMP,應用層和網路介面層的大部分協議都 并不是TCP/IP協議組的“必須”協議,也就是說網路介面層的協議有多種選擇,

有線局域網

??目前的以太網幾乎占領著所有的有線局域網市場,在早些時期,還有其它的局域網技術,如令牌環FDDIATM(Asynchronous Transfer Mode,異步傳輸模式)等等,雖然這些技術也抓住了部分市場,但是以太網1980發明以來,就不斷演化和發展,直到今天,以太網成為應用最廣泛的有線局域網技術,以至于以太網幾乎成為局域網的代名詞
??以太網并不是單一的協議標準,它有很多技術,如:10BASE-T、10BASE-2、100BASE-T、1000BASE-LX和10GBASE-T,這些已經被IEEE 802.3作業組標準化了,其中10和100表示速率,10Mbps、100Mbps和10Gbps,"BASE"指基帶以太網,幾乎所有的802.3標準都適用于基帶以太網,最后一部分指物理媒介,以太網是鏈路層和物理層的規范(統稱網路介面層),并且能夠使用各種物理媒介,如:同軸電纜、銅線和光纖,一般來說,T是指雙絞線,我們平時用的網線都是雙絞線,

無線局域網

??無線局域網和有線局域網一樣,上世紀90年代研發了很多無線局域網的標準和技術,但目前來看,有一類標準明顯已經成為了贏家:IEEE 802.11 無線LAN,也稱WiFi,沒錯,我們平時說的連WiFi、蹭WiFi,指的就是這個,
??IEEE 802.11協議族有幾套無線局域網的標準,如下表:

標準頻率最大速率
802.11b2.4GHz11Mbps
802.11a5GHz54Mbps
802.11g2.4GHz54Mbps
802.11n2.4GHz,5GHz450Mbps
802.11ac5GHz1300Mbps

??不同的802.11標準都具有一些共同的特征,例如:都使用相同的媒體訪問協議CSMA/CA;鏈路層都使用相同的幀結構;都具有減少速率以伸展到更遠距離的能力,
??802.11設備作業在兩個不同的頻段上:2.4到2.485GHz(稱為2.4GHz頻段)和5.1~5.8GHz(稱為5GHz頻段),2.4GHz頻段是一種無須執照的頻段,也就意味著,同樣使用2.4GHz的電話、微波爐、藍牙耳機等設備可能會爭用該頻段,我之前就有過體會,筆記本連的是WiFi(2.4GHz),連上藍牙耳機后網路就有點卡,我們也可以在網路屬性里看到,如圖:
在這里插入圖片描述
??我的無線網卡雖然支持802.11n協議,但是只作業在2.4GHz頻段,就算作業在5GHz頻段,速率也是沒有802.11ac快的,現在市面上的筆記本的無線網卡基本上都支持WiFi 6了,早在2018年,Wi-Fi聯盟便將基于802.11ax標準的Wi-Fi正式納入正規軍中,通過推廣802.11ax的機會,將Wi-Fi規格重新命名,新標準802.11ax改名為Wi-Fi6,具體對應關系如下表:

標準名稱
802.11 nWi-Fi 4
802.11acWi-Fi 5
802.11axWi-Fi 6

下面開始鏈路層和物理層合稱網路介面層,

藍牙和ZigBee

??除了WiFi以外,還有兩個無線協議:藍牙和ZigBee,藍牙定義在IEEE 802.15.1標準中,IEEE 802.15.1網路以低功率和低成本在小范圍內運行,本質上是一個"電纜替代"技術,平時我們也能發現,藍牙主要用于計算機與無線鍵盤、滑鼠、耳機等外部設備的互聯,所以藍牙也被稱為無線個人域網路(Wireless Personal Area Network, WPAN),藍牙也是定義的網路介面層,以TDM方式作業于無須許可證的2.4GHz頻段,802.15.1能提供高達4Mbps的數率,藍牙通常用于自組網路,也就是不需要網路基礎設施(如AP)來互連藍牙設備,這就意味著藍牙不能上網,
??有人可能會問,同樣是無線協議,同樣定義在網路介面層,為什么WiFi能上網,而藍牙就不行,我們講下層為上層協議提供了一個統一的介面,隱藏了實作細節,網路層并不關心底層是雙絞線還是無線,不管你是以太網還是WiFi,它只是通過介面獲取下層提供的服務,那么為什么藍牙不行?
??雖然藍牙協議結構和802.11協議的結構圖類似,都包括最下的物理層和中間的資料鏈路層,但是藍牙協議還包括了一個中間層協議和最后的應用層協議,而且,某些控制資料和音頻資料完全不經過中間層,是直接從Baseband到達應用層,甚至也跨過了部分資料鏈路層的結構,所以藍牙并不能加入TCP/IP體系,也就不能上網,不過倒也有方法,兩臺手機開啟藍牙共享功能,一臺手機通過移動資料或者WiFi聯網,另一臺手機可以在只開啟藍牙的情況下上網
??ZigBee被定義在IEEE 802.15.4標準中,它與藍牙目標不同,ZigBee的服務目標是低功率、低速率、低作業周期的應用,因為并非所有的網路應用都需要高帶寬和隨之而來的高成本,比如,家庭溫度和光線傳感器、安全設備和墻上安裝的開關都是非常簡單、低功率、低作業周期、低成本的設備,ZigBee非常適合這些設備,和藍牙一樣,也是用于自組網路(Ad Hoc),

移動蜂窩網路

??雖然目前5G已經大行其道,但我們依然拿4G來舉例,原理都差不多,
??首先,4G也是屬于網路介面層,也就是說,我們使用4G上網,上層還是走的TCP/IP協議堆疊,有人可能聯想到WiFi,同樣是定義了物理層和鏈路層,上層同樣是TCP/IP協議堆疊,同樣是無線網路協議,是不是WiFi和4G就差不多呢,
??實際上,4G和WiFi非常不同,舉幾個我們能明顯感受到的不一樣:不管是以太網還是WiFi,都有MAC地址和網關;而在4G里面沒有MAC地址和網關的概念(如果要類比的話可以把PGW看作是網關,它負責分配IP和DNS),如圖:
在這里插入圖片描述
在這里插入圖片描述
??說到4G就不得不說到一個組織:3GPP,很多人以為3GPP是制定3G標準的,其實不是,他們是負責整個移動蜂窩網路的標準化作業的,另外很多人會把4G和LTE混為一談,4G全稱是第四代移動通信技術(the 4th generation mobile communication technology),只是一個標準,是由3GPP組織負責定制的,只要你的協議能達到4G的標準,你就可以稱為4G,
??至于為什么需要蜂窩網路,而不直接使用WiFi作為無線接入,那是因為WiFi接入區域范圍在10~100米,因此我們需要在WiFi熱區外接入互聯網時就需要蜂窩網路,因為蜂窩電話早就已經普及了,很自然想到擴展蜂窩網路,使它們不僅支持語言電話,也支持無線互聯網接入,
??不過4G和之前的3代還是很有區別的,第一代(1G)系統是模擬FDMA系統,專門用于語音通話,后來被2G系統替代,2G系統也是為語音通話設計的,后來擴展了對因特網的支持(2.5G),3G系統支持語音和資料,但更強調資料能力和更高速的無線接入,到了基于LTE技術的4G系統,其特征是全IP核心網路,
??現在我們打電話也是走的IP網路,不過也不是所有的都是,有這種場景:我們在接電話時就不能上網了,而且4G的標志也變成了2G,這因為語音服務用的不是上述模型,在打電話時,占用了4G所在的頻段,所以就不能上網了,有一種VoIP的語音通話技術,它是基于IP的語音傳輸,在4G中的應用就是VOLTE,也就可以分為下面兩種:

1VOLTE ,采用與資料傳輸同種形式,
(2CSFB (電路域衰落),采用2G網路傳輸語音,

??當使用VOLTE技術時,會用到IP層及以上的部分協議,當采用CSFB衰落到2G網路時,運營商有專門的語音網路,在這個網路上只支持手機,不支持互聯網其他設備接入,不必考慮其它層的資料封裝,此時整個網路模型只有物理層和MAC層,沒有上層,現在大部分手機都是使用VOLTE進行通話,

總結

??4G和WiFi都是屬于網路介面層,上層都是走的TCP/IP協議堆疊,4G和WiFi都是輸入接入網的范疇,核心網相同,WiFi屬于局域網范疇,和以太網理念一樣,底層使用MAC地址在局域網內通信,4G嚴格來說沒有局域網的概念,使用移動資料網路時主要靠IMSI碼,需要鑒權、注冊等一系列動作,這些大部分靠我們插入的SIM卡來完成,總之,4G的技術比WiFi要復雜很多很多,因為4G要考慮的東西非常之多,4G相關的技術常見的有:

1、LTE技術標準,
2、LTE-Advanced技術標準(分為TD-SCDMA直接進化的TDD和WCDMA直接進化的FDD兩種標準),
3、WiMax技術標準,
4、HSPA+技術標準,
5、WirelessMAN-Advanced技術標準,

??我國三大運營商采用的都是第2種技術,FDD-LTE和TDD-LTE都有,蜂窩網路是一個龐大的體系,無法詳盡展開,在《計算機網路·自頂向下》這部書中的第7章有詳細的介紹,這本書也是我老師推薦我讀的,確實不錯,對于想深入了解計算機網路的可以看看,這本書已經出到了第7版,目前最新的一版,為了方便大家學習,我已經將其打包,可以在公眾號:極客隨想中獲取,在公眾號內回復訊息:計算機網路,就可獲取資源,
在這里插入圖片描述

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/344177.html

標籤:其他

上一篇:WebSocket的實作原理

下一篇:centos環境下常用軟體安裝

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more