當(dāng)前位置:首頁 > 公眾號精選 > C語言與CPP編程
[導(dǎo)讀]我們用手機連接上網(wǎng)的時候,會用到許多網(wǎng)絡(luò)協(xié)議。從手機連接 WiFi 開始,使用的是 802.11 (即 WLAN )協(xié)議;手機自動獲取網(wǎng)絡(luò)配置,使用的是 DHCP 協(xié)議。這時手機已經(jīng)連入局域網(wǎng)了,可以訪問局域網(wǎng)內(nèi)的主機和資源,但還不能使用互聯(lián)網(wǎng)應(yīng)用,例如:微信、抖音等。想要訪問互聯(lián)網(wǎng),還需要在手機的上聯(lián)網(wǎng)絡(luò)設(shè)備上進行配置,即在無線路由器上配置 NAT、 PPPOE 等功能,才能把局域網(wǎng)接入到互聯(lián)網(wǎng)中,手機就可以上網(wǎng)玩微信、刷抖音了。

目錄

網(wǎng)絡(luò)協(xié)議

我們用手機連接上網(wǎng)的時候,會用到許多網(wǎng)絡(luò)協(xié)議。從手機連接 WiFi 開始,使用的是 802.11 (即 WLAN )協(xié)議;手機自動獲取網(wǎng)絡(luò)配置,使用的是 DHCP 協(xié)議。這時手機已經(jīng)連入局域網(wǎng)了,可以訪問局域網(wǎng)內(nèi)的主機和資源,但還不能使用互聯(lián)網(wǎng)應(yīng)用,例如:微信、抖音等。想要訪問互聯(lián)網(wǎng),還需要在手機的上聯(lián)網(wǎng)絡(luò)設(shè)備上進行配置,即在無線路由器上配置 NAT、 PPPOE 等功能,才能把局域網(wǎng)接入到互聯(lián)網(wǎng)中,手機就可以上網(wǎng)玩微信、刷抖音了。

網(wǎng)絡(luò)協(xié)議示意圖

局域網(wǎng) :小范圍內(nèi)的私有網(wǎng)絡(luò),一個家庭內(nèi)的網(wǎng)絡(luò)、一個公司內(nèi)的網(wǎng)絡(luò)、一個校園內(nèi)的網(wǎng)絡(luò)都屬于局域網(wǎng)。

廣域網(wǎng):把不同地域的局域網(wǎng)互相連接起來的網(wǎng)絡(luò)。運營商搭建連接遠距離區(qū)域的廣域網(wǎng)。

互聯(lián)網(wǎng):由世界各地的局域網(wǎng)和廣域網(wǎng)連接起來的網(wǎng)絡(luò)。互聯(lián)網(wǎng)是一個開放、互聯(lián)的網(wǎng)絡(luò),不屬于任何個人和任何機構(gòu)。

簡單來說,就是手機、無線路由器等設(shè)備通過網(wǎng)絡(luò)協(xié)議實現(xiàn)通信。網(wǎng)絡(luò)協(xié)議又是誰規(guī)定的呢?ISO 制定了一個 OSI 參考模型,被用于網(wǎng)絡(luò)協(xié)議的制定。

OSI 參考模型

OSI 參考模型將網(wǎng)絡(luò)協(xié)議提供的服務(wù)分成 7 層,并定義每一層的服務(wù)內(nèi)容,實現(xiàn)每一層服務(wù)的是協(xié)議,協(xié)議的具體內(nèi)容是規(guī)范。上下層之間通過接口進行交互,同一層之間通過協(xié)議進行交互。OSI 參考模型只對各層的服務(wù)做了粗略的界定,并沒有對協(xié)議進行詳細的定義。但是許多協(xié)議都對應(yīng)了 7 個分層的某一層。所以要了解網(wǎng)絡(luò),首先要了解 OSI 參考模型。

OSI 參考模型圖

應(yīng)用層

OSI參考模型的第 7 層(最高層)。應(yīng)用程序和網(wǎng)絡(luò)之間的接口,直接向用戶提供服務(wù)。應(yīng)用層協(xié)議有電子郵件、遠程登錄等協(xié)議。

應(yīng)用層示例圖

表示層

OSI參考模型的第 6 層。負責(zé)數(shù)據(jù)格式的互相轉(zhuǎn)換,如編碼、數(shù)據(jù)格式轉(zhuǎn)換和加密解密等。保證一個系統(tǒng)應(yīng)用層發(fā)出的信息可被另一系統(tǒng)的應(yīng)用層讀出。

表示層示例圖

會話層

OSI參考模型的第 5 層。主要是管理和協(xié)調(diào)不同主機上各種進程之間的通信(對話),即負責(zé)建立、管理和終止應(yīng)用程序之間的會話。

傳輸層

OSI參考模型的第 4 層。為上層協(xié)議提供通信主機間的可靠和透明的數(shù)據(jù)傳輸服務(wù),包括處理差錯控制和流量控制等問題。

傳輸層示例圖

網(wǎng)絡(luò)層

OSI參考模型的第 3 層。將數(shù)據(jù)傳輸?shù)侥康牡刂?,主要負?zé)尋址和路由選擇。

網(wǎng)絡(luò)層示例圖

數(shù)據(jù)鏈路層

OSI參考模型的第 2 層。負責(zé)兩個相鄰主機間的通信傳輸,即數(shù)據(jù)幀的生成與接收。

數(shù)據(jù)鏈路層示例圖

物理層

OSI參考模型的第 1 層(最底層)。負責(zé)邏輯信號(比特流)與物理信號(電信號、光信號)之間的互相轉(zhuǎn)換,利用傳輸介質(zhì)為數(shù)據(jù)鏈路層提供物理連接。

物理層示例圖

TCP/IP 參考模型

由于 OSI 參考模型把服務(wù)劃得過于瑣碎,先定義參考模型再定義協(xié)議,有點理想化。TCP/IP 模型則正好相反,通過已有的協(xié)議歸納總結(jié)出來的模型,成為實際的主流網(wǎng)絡(luò)協(xié)議標(biāo)準。

先介紹下 TCP/IP 與 OSI 分層之間的對應(yīng)關(guān)系,以及 TCP/IP 每層的主要協(xié)議。

TCP/IP 參考模型

網(wǎng)絡(luò)接入層

在 TCP/IP 分層中,有把物理層和數(shù)據(jù)鏈路層合并稱為網(wǎng)絡(luò)接入層,有把物理層和數(shù)據(jù)鏈路層分別稱為硬件、網(wǎng)絡(luò)接口層。網(wǎng)絡(luò)接入層是對網(wǎng)絡(luò)介質(zhì)的管理,定義如何使用網(wǎng)絡(luò)來傳送數(shù)據(jù),但是對物理層和數(shù)據(jù)鏈路層在通信過程中起到了不一樣的作用。所以 TCP/IP 分為四層或者五層都可以,只要能理解其中的原理就行。

網(wǎng)絡(luò)層

相當(dāng)于 OSI 模型中的第 3 層網(wǎng)絡(luò)層,使用的是IP協(xié)議,作用是將數(shù)據(jù)包從源地址發(fā)送到目的地址。

網(wǎng)絡(luò)層
  • IP

    IP 是跨越網(wǎng)絡(luò)傳送數(shù)據(jù)包, 使整個互聯(lián)網(wǎng)都能收到數(shù)據(jù)的協(xié)議,它使用 IP 地址作為主機的標(biāo)識。IP 協(xié)議獨立于底層介質(zhì),
    實現(xiàn)從源到目的的數(shù)據(jù)轉(zhuǎn)發(fā)。

  • ICMP

    用于在 IP 主機、路由器之間傳遞控制消息。被用來診斷網(wǎng)絡(luò)的健康狀況。

  • ARP

    從數(shù)據(jù)包的 IP 地址中解析出 MAC 地址的一種協(xié)議。

傳輸層

相當(dāng)于 OSI 模型中的第 4 層傳輸層,主要功能就是讓應(yīng)用程序之間互相通信,通過端口號識別應(yīng)用程序,使用的協(xié)議有面向連接的 TCP 協(xié)議和面向無連接的 UDP 協(xié)議。

傳輸層
  • TCP

    TCP 是一種面向有連接的傳輸層協(xié)議,能夠?qū)ψ约禾峁┑倪B接實施控制。適用于要求可靠傳輸?shù)膽?yīng)用,例如文件傳輸。

  • UDP

    UDP 是一種面向無連接的傳輸層協(xié)議,不會對自己提供的連接實施控制。適用于實時應(yīng)用,例如:IP電話、視頻會議、直播等。

應(yīng)用層

相當(dāng)于 OSI 模型中的第 5 - 7 層的集合,不僅要實現(xiàn) OSI 模型應(yīng)用層的功能,還要實現(xiàn)會話層和表示層的功能。HTTP 、 POP3 、 TELNET 、 SSH 、 FTP 、 SNMP都是應(yīng)用層協(xié)議。

應(yīng)用層
  • HTTP

    是 WWW 瀏覽器和服務(wù)器之間的應(yīng)用層通信協(xié)議。HTTP 定義高級命令或者方法供瀏覽器用來與Web服務(wù)器通信。

  • POP3

    簡單郵件傳輸協(xié)議,郵件客戶端和郵件服務(wù)器使用。

  • TELNET

    遠程終端協(xié)議,用于遠程管理網(wǎng)絡(luò)設(shè)備。

  • SSH

    安全外殼協(xié)議。通過使用SSH,可以把所有傳輸?shù)臄?shù)據(jù)進行加密。

  • SNMP

    簡單網(wǎng)絡(luò)管理協(xié)議,用于網(wǎng)管軟件進行網(wǎng)絡(luò)設(shè)備的監(jiān)控和管理。

封裝與解封裝

數(shù)據(jù)發(fā)送前,按照參考模型從上到下,在數(shù)據(jù)經(jīng)過每一層時,添加協(xié)議頭部信息,這個過程叫封裝。

封裝

數(shù)據(jù)接收后,按照參考模型從下到上,在數(shù)據(jù)經(jīng)過每一層時,去掉協(xié)議頭部信息,這個過程叫解封裝。

解封裝

經(jīng)過傳輸層協(xié)議封裝后的數(shù)據(jù)稱為,經(jīng)過網(wǎng)絡(luò)層協(xié)議封裝后的數(shù)據(jù)稱為,經(jīng)過數(shù)據(jù)鏈路層協(xié)議封裝后的數(shù)據(jù)稱為,物理層傳輸?shù)臄?shù)據(jù)為比特。

實際數(shù)據(jù)傳輸舉例

實際生活中,互聯(lián)網(wǎng)是使用的 TCP/IP 協(xié)議進行網(wǎng)絡(luò)連接的。我們以訪問網(wǎng)站為例,看看網(wǎng)絡(luò)是如何進行通信的。

數(shù)據(jù)傳輸舉例
發(fā)送數(shù)據(jù)包

訪問 HTTP 網(wǎng)站頁面時,打開瀏覽器,輸入網(wǎng)址,敲下回車鍵就開始進行 TCP/IP 通信了。

應(yīng)用程序處理

首先,應(yīng)用程序中會進行 HTML 格式編碼處理,相當(dāng)于 OSI 的表示層功能。編碼轉(zhuǎn)化后,不一定會馬上發(fā)送出去,相當(dāng)于會話層的功能。在請求發(fā)送的那一刻,建立 TCP 連接,然后在 TCP 連接上發(fā)送數(shù)據(jù)。接下來就是將數(shù)據(jù)發(fā)送給下一層的 TCP 進行處理。

TCP 模塊處理

TCP 會將應(yīng)用層發(fā)來的數(shù)據(jù)順利的發(fā)送至目的地,實現(xiàn)可靠傳輸?shù)墓δ?,需要給數(shù)據(jù)封裝 TCP 頭部信息。TCP 頭部信息包括源端口號和目的端口號(識別主機上應(yīng)用)、序號(確認哪部分是數(shù)據(jù))以及校驗和(判斷數(shù)據(jù)是否被損壞)。隨后封裝了 TCP 頭部信息的段再發(fā)送給 IP 。

IP  模塊處理

IP 將 TCP 傳過來的數(shù)據(jù)段當(dāng)做自己的數(shù)據(jù),并封裝 IP 頭部信息。IP 頭部信息中包含目的 IP 地址和源 IP 地址,以及上層協(xié)議類型信息。

IP 包生成后,根據(jù)主機路由表進行數(shù)據(jù)發(fā)送。

網(wǎng)絡(luò)接口處理

網(wǎng)絡(luò)接口對傳過來的 IP 包封裝上以太網(wǎng)頭部信息并進行發(fā)送處理。以太網(wǎng)頭部信息包含目的 MAC 地址、源 MAC 地址,以及上層協(xié)議類型信息。然后將以太網(wǎng)數(shù)據(jù)通過物理層傳輸給接收端。

接收數(shù)據(jù)包

包的接收流程是發(fā)送流程的反向過程。

網(wǎng)絡(luò)接口處理

收到以太網(wǎng)幀后,首先查看頭部信息的目的 MAC 地址是否是發(fā)給自己的幀。如果不是發(fā)送給自己的幀就丟棄。如果是發(fā)送給自己的幀,查看上層協(xié)議類型是 IP 包,以太網(wǎng)幀解封裝成 IP 包,傳給 IP 模塊進行處理。

IP  模塊處理

收到 IP 包后,進行類似處理。根據(jù)頭部信息的目的 IP 地址判斷是否是發(fā)送給自己包,如果是發(fā)送給自己的包,則查看上一層的協(xié)議類型,并把 IP 包解封裝發(fā)送給 TCP 協(xié)議處理。

TCP 模塊處理

收到 TCP 段后,首先查看校驗和,判斷數(shù)據(jù)是否被破壞。然后檢查是否按照序號接收數(shù)據(jù)。最后檢查端口號,確定具體的應(yīng)用程序。

數(shù)據(jù)接收完畢后,發(fā)送一個 “ 確認回執(zhí) ” 給發(fā)送端。

數(shù)據(jù)被完整接收后,會把 TCP 段解封裝發(fā)送給由端口號識別的應(yīng)用程序。

應(yīng)用程序處理

應(yīng)用程序收到數(shù)據(jù)后,通過解析數(shù)據(jù)知道了發(fā)送端請求的網(wǎng)頁內(nèi)容,然后按照 HTTP 協(xié)議進行后續(xù)數(shù)據(jù)交互。

網(wǎng)絡(luò)構(gòu)成

搭建一套網(wǎng)絡(luò)涉及各種線纜和網(wǎng)絡(luò)設(shè)備。下面介紹一些常見的硬件設(shè)備。

網(wǎng)絡(luò)構(gòu)成要素 主要設(shè)備及作用表

通信介質(zhì)

主機可以通過有線線纜進行連接。有線線纜有雙絞線、光纖、串口線等。根據(jù)網(wǎng)絡(luò)接口選擇對應(yīng)的線纜。傳輸介質(zhì)還可以被分為電波、微波等不同類型的電磁波。

網(wǎng)卡

主機連接網(wǎng)絡(luò)時,必須要使用網(wǎng)卡??梢允怯芯€網(wǎng)卡,用來連接有線網(wǎng)絡(luò),也可以是無線網(wǎng)卡連接 WiFi 網(wǎng)絡(luò)。每塊網(wǎng)卡都有一個唯一的 MAC 地址,也叫做硬件地址或物理地址。

二層交換機

二層交換機

二層交換機位于 OSI 模型的第 2 層(數(shù)據(jù)鏈路層)。它能夠識別數(shù)據(jù)鏈路層中的數(shù)據(jù)幀,并將幀轉(zhuǎn)發(fā)給相連的另一個端口。

數(shù)據(jù)幀中有一個數(shù)據(jù)位叫做 FCS ,用以校驗數(shù)據(jù)是否正確送達目的地。二層交換機通過檢查這個值,將損壞的數(shù)據(jù)丟棄。

二層交換機根據(jù) MAC 地址自學(xué)機制判斷是否需要轉(zhuǎn)發(fā)數(shù)據(jù)幀。這類功能也是數(shù)據(jù)鏈路層所具有的功能。

路由器 / 三層交換機

路由器

路由器是在 OSI 模型的第 3 層(網(wǎng)絡(luò)層)上連接兩個網(wǎng)絡(luò)、并對報文進行轉(zhuǎn)發(fā)的設(shè)備。二層交換機是根據(jù) MAC 地址進行處理,而路由器 / 三層交換機則是根據(jù) IP 地址進行處理的。因此 TCP/IP 中網(wǎng)絡(luò)層的地址就成為了 IP 地址。

路由器可以連接不同的數(shù)據(jù)鏈路。比如連接兩個以太網(wǎng),或者連接一個以太網(wǎng)與一個無線網(wǎng)。家庭里面常見的無線路由器也是路由器的一種。

四層及以上交換機

四層及以上交換機負責(zé)處理OSI模型中從傳輸層至應(yīng)用層的數(shù)據(jù)。例如,下載和視頻網(wǎng)站的服務(wù)器會用到的負載均衡設(shè)備,就是四層及以上交換機的一種。還有廣域網(wǎng)加速器、防火墻等。


end


免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉