【Linux網絡】網絡基礎概念——帶你打開網絡的大門

1. 計算機網絡背景

文章目錄

  • 1. 計算機網絡背景
    • 網絡發展
  • 2. 初識協議
    • 2.1 協議分層
      • 軟件分層的好處
    • 2.2 OSI七層模型
    • 2.3 TCP/IP五層(或四層)模型

網絡發展

獨立模式
獨立模式是計算機網絡發展的最初階段,主要特點如下:

  1. 單機工作環境:

    • 每臺計算機完全獨立運行
    • 沒有網絡連接或數據共享能力
    • 所有數據處理都在本地完成
  2. 典型應用場景:

    • 早期大型計算機系統(如20世紀60年代)
    • 個人計算機普及初期(1980年代)
    • 需要高度安全隔離的特定環境(如軍事系統)
  3. 主要局限性:

    • 數據無法在不同計算機間傳輸
    • 資源無法共享(打印機、存儲等)
    • 工作效率低下,需要人工搬運數據介質(如磁帶、軟盤)
  4. 技術特點:

    • 使用批處理操作系統
    • 通過物理介質(打孔卡片、磁帶)交換數據
    • 計算任務排隊執行,無并發處理能力
  5. 代表性系統:

    • IBM 360大型機系統
    • 早期UNIVAC計算機
    • 第一代個人計算機如Apple II、IBM PC

獨立模式階段


網絡互聯
網絡互聯是指通過有線或無線通信技術,將分布在不同地理位置的計算機、服務器、網絡設備等連接起來,形成一個統一的通信系統,實現數據共享和資源互通。現代網絡互聯主要采用TCP/IP協議作為基礎通信協議,通過路由器、交換機等網絡設備實現數據的傳輸和轉發。
在這里插入圖片描述
典型的網絡互聯形式包括:

  1. 局域網(LAN):覆蓋范圍通常在幾公里內,如辦公室、學校或家庭內部的網絡,通過交換機和路由器連接在一起;
    在這里插入圖片描述
  2. 廣域網(WAN):將遠隔千里的計算機都連在一起,跨越城市、國家甚至全球的網絡,如互聯網
    在這里插入圖片描述

所謂 “局域網” (Local Area Network, LAN) 和 “廣域網” (Wide Area Network, WAN) 其實是一個相對的概念,主要區別在于網絡覆蓋范圍和連接方式。局域網通常指小范圍內的網絡,比如家庭、辦公室或校園網絡,使用以太網或Wi-Fi等連接方式;而廣域網則覆蓋更大地理范圍,如城市間或國際網絡,通過光纖、衛星等遠程通信技術連接。

在中國特色的網絡環境下,“國家廣域網"這一概念頗有深意。從技術層面看,中國的互聯網通過"防火長城”(Great Firewall)系統實現了與國際互聯網的隔離式連接,形成了獨特的網絡生態。這種架構使得整個國家的網絡在某種程度上可以視為一個超大規模的局域網

計算機作為人類的重要工具,其發展歷程始終圍繞著提升工作效率和促進協作這一核心目標。從早期的大型主機到現代的個人電腦,計算機的計算能力雖然不斷提升,但單機工作的局限性日益凸顯。

  1. 信息孤島問題
    • 在非聯網環境下,每臺計算機就像一座信息孤島
    • 數據交換依賴物理介質(如軟盤、磁帶),效率低下
    • 版本控制困難,容易產生"文件沖突"
  2. 協同工作的剛性需求
    • 科研領域:需要共享實驗數據和計算結果(如CERN的粒子對撞實驗)
    • 商業領域:跨部門協作、供應鏈管理
    • 教育領域:資源共享、遠程教學
  3. 網絡技術的發展歷程
    • 1969年ARPANET誕生,實現4個節點的互聯
    • 1983年TCP/IP協議成為標準
    • 1991年萬維網(WWW)的出現徹底改變了信息共享方式
  4. 現代網絡應用場景
    • 云計算:Google Docs實現多人實時協作編輯
    • 版本控制:GitHub促進全球開發者協同編程
    • 物聯網:智能家居設備間的互聯互通

網絡不僅是計算機發展的必然產物,更是人類協作方式革命性變革的催化劑。


2. 初識協議

"協議"是一種正式的約定或規范,它定義了通信雙方或多方之間交互的規則、格式和程序。在通信領域中,協議確保不同設備或系統能夠相互理解并正確交換信息,就像人類社會中人們通過共同遵守的規則來有效溝通一樣。

以電話通信為例,一個典型的協議約定可以體現在電話鈴響次數的約定上:

  • 當電話鈴響1次時,可能表示"我在辦公室,請過來"
  • 當電話鈴響2次時,可能表示"有急事,請立即回電"
  • 當電話鈴響3次時,可能表示"常規通話請求"

這種預先約定的鈴聲次數協議,在沒有來電顯示功能的早期電話系統中特別常見,它幫助人們在不接通電話的情況下就能傳遞基礎信息。


在這里插入圖片描述
計算機之間的傳輸媒介主要依賴于光信號和電信號。在物理層面上,這些信號通過"頻率"(如電磁波的振蕩次數)和"強弱"(如電壓的高低或光強度的變化)來編碼表示二進制的0和1。例如,在光纖通信中,強光脈沖可能代表1,而弱光或無光則代表0;在電纜傳輸中,高電壓可能代表1,低電壓代表0。

要想實現有效的信息傳遞,通信雙方必須嚴格約定數據格式。這包括:

  1. 信號的物理表示方式(如用哪種調制技術)
  2. 數據的組織方式(如數據幀結構)
  3. 時序控制(如同步機制)
  4. 錯誤檢測與糾正方法

深入思考:僅僅兩臺主機之間約定協議是否足夠?

即使雙方都同意使用某種協議,但如果對基礎信號的解釋方式不同,就如同兩個人都同意用語言交流,但一個說中文一個說葡萄牙語,是無法進行交流的。

對應計算機中例如:

  • A設備用高頻信號表示1,低頻表示0
  • B設備用強信號表示1,弱信號表示0

這種情況下,雖然都遵守了"用信號表示二進制"的基本協議,但因編碼方式不同,仍無法正常通信。

現實的復雜性體現在:

  • 計算機硬件廠商方面:有Intel、AMD、蘋果、華為等眾多廠商
  • 操作系統方面:存在Windows、Linux、macOS、Android等多個系統
  • 網絡設備方面:思科、華為、Juniper等廠商的設備各有特點
  • 傳輸介質方面:包括光纖、雙絞線、同軸電纜、無線等多種形式

要確保這些異構系統能夠互聯互通,就需要建立統一的網絡協議標準。典型的標準化組織包括:

  • 國際組織:如ISO(國際標準化組織)、ITU(國際電信聯盟)
  • 行業協會:如IEEE(電氣電子工程師學會)制定802系列標準
  • 互聯網組織:如IETF(互聯網工程任務組)制定TCP/IP協議
  • 商業聯盟:如Wi-Fi聯盟認證無線設備

這些組織通常具有以下特征:

  • 在行業內具有權威性和公信力
  • 成員包括主要的技術廠商和科研機構
  • 制定過程公開透明,接受行業評議
  • 標準文檔完整規范,具有法律效力

例如,IEEE 802.3標準詳細規定了以太網的:

  • 物理層特性(電纜類型、連接器等)
  • 數據鏈路層格式(MAC幀結構)
  • 傳輸速率(10Mbps到400Gbps)
  • 錯誤處理機制等

這些標準的建立使得不同廠商的設備可以互操作,推動了全球互聯網的發展。

以下內容由DeepSeek生成:

能定制協議標準的組織或公司
協議標準的制定和定制是一個多層次、多角色的生態系統,主要包括以下幾類參與者:

  1. 國際標準化組織 (International Standards Organizations)
    這類組織通常由各國成員體組成,制定的是最基礎、最通用、旨在全球范圍內推廣的標準。

    • ISO (國際標準化組織):其最著名的貢獻是OSI七層模型。它制定的標準覆蓋了從質量管理體系(ISO 9001)到各種工業技術協議的方方面面。

    • IEC (國際電工委員會):負責所有電氣、電子和相關技術的國際標準。經常與ISO聯合成立JTC 1 (信息技術聯合技術委員會),共同制定信息技術領域的國際標準(如ISO/IEC標準)。

    • ITU (國際電信聯盟):作為聯合國機構,其ITU-T部門制定的電信標準(如G.711語音編碼、H.264/265視頻編碼)是全球通信網絡的基石。

    • IEEE (電氣和電子工程師協會):其IEEE 802系列(以太網802.3、Wi-Fi 802.11、藍牙802.15.1)是局域網領域的絕對核心。

  2. 互聯網標準機構 (Internet Standards Bodies)
    這類組織專注于互聯網相關的核心協議,運作模式更具開放性和協作性。

    • IETF (互聯網工程任務組):這是互聯網的“憲法”制定者。我們每天使用的TCP/IP、HTTP、DNS、SMTP等幾乎所有核心互聯網協議,都以RFC文檔的形式由此組織發布。其原則是“粗略共識和運行代碼”,非常務實。

    • IRTF (互聯網研究任務組):專注于互聯網長期性、理論性的研究,為IETF提供未來的技術方向。

    • ICANN (互聯網名稱與數字地址分配機構):雖然不制定技術協議,但它管理著互聯網的域名系統(DNS)根區、IP地址分配等,是互聯網能夠互聯互通的基礎保障機構。

  3. 行業聯盟與協會 (Industry Consortia & Alliances)
    這是當今技術領域最活躍的標準制定力量。它們由行業內的重要企業聯合成立,旨在快速推動特定技術領域的標準統一和產業化。

    • 藍牙技術聯盟 (SIG):負責制定和維護藍牙技術標準。公司需要成為其會員才能獲得協議棧并進行產品認證。

    • Wi-Fi聯盟 (Wi-Fi Alliance):不僅推廣IEEE 802.11標準,更重要的是負責Wi-Fi品牌的認證和商標授權,確保不同廠商設備的互操作性。

    • Connectivity Standards Alliance (連接標準聯盟,前身為Zigbee聯盟):這是智能家居領域的關鍵組織。它主導開發并推廣了Matter協議(基于IP的統一應用層協議),以及Zigbee等標準。加入該聯盟是開發智能家居產品的必經之路。

    • Thread Group:推動Thread網絡協議(基于IPv6的低功耗Mesh網絡協議),是Matter協議的底層網絡技術之一。

    • NFC Forum (近場通信論壇):推動NFC技術的標準化和普及。

    • OMA (開放移動聯盟):曾制定過WAP等移動服務標準,現在仍活躍在設備管理(DM)等領域。

  4. 開源社區與基金會 (Open Source Communities & Foundations)
    開源模式本身已經成為一種“事實標準”的制定方式。基金會通過托管關鍵開源項目,引導其發展并形成生態。

    • Apache軟件基金會:其項目(如Kafka, Hadoop)在大數據、中間件等領域形成了事實上的API和協議標準。

    • Linux基金會:托管了無數關鍵項目,其中最著名的包括:

    • CNCF (云原生計算基金會):制定了Kubernetes容器編排標準,以及gRPC、Envoy等云原生技術標準。

    • LF Edge:推動邊緣計算框架和標準。

    • Eclipse基金會:在物聯網(IoT)、邊緣計算和開發工具領域擁有大量項目(如Eclipse IoT Mosquitto, Eclipse Che)。

  5. 公司 (Companies)
    大型科技公司通過其巨大的市場影響力,使其內部技術或解決方案成為“事實標準”。

    • 蘋果、谷歌、微軟、亞馬遜:這些巨頭通過其主導的操作系統和云平臺,定義了大量的API、數據格式和連接協議。例如:

      • Apple的AirPlay和MFi (Made for iPhone) 配件認證計劃。

      • Google的Cast協議。

    • 華為、高通、英特爾:作為通信和芯片領域的巨頭,它們深度參與甚至主導3GPP等組織的標準制定,并擁有大量核心專利。

    • 泰凌微電子:這類公司是協議棧的實現者和定制者。它們基于國際/行業標準(如藍牙、Zigbee),開發出更穩定、高效或針對特定場景優化的協議棧軟件,并將其與自家的芯片硬件結合,為客戶提供交鑰匙解決方案。這是產業鏈中至關重要的一環。

  6. 官方政府機構 (Official Government Agencies)
    主要負責頻譜分配、設備準入和宏觀政策制定,而非具體技術協議的開發。

    • FCC (美國聯邦通信委員會):任何在美國銷售的電于設備都必須符合FCC的規定(如電磁兼容、射頻輻射等)。

    • 中國工信部 (MIIT):中國的類似機構,負責中國的無線電頻率分配和電信設備進網許可。

對于一家想要開發產品的公司來說,流程通常是:遵循國際標準 -> 加入相關行業聯盟獲取詳細協議和認證 -> 選擇像泰凌微這樣的芯片/方案提供商獲取實現好的協議棧 -> 確保產品符合官方機構的法規要求


2.1 協議分層

協議本質也是軟件,在設計上為了更好的進行模塊化、解耦合,通常采用分層架構設計。這種層狀結構的設計思想源于計算機科學中的"分層抽象"原則

軟件分層的好處

在這里插入圖片描述
描述
圖片展示了分層通信模型的示意圖,包含“語言層”和“通信設備層”兩層結構。上層(語言層)通過“接口”與下層(通信設備層)交互:

上側示例:A(漢語)與C(漢語)通過“電話機”通信,依賴“漢語協議”和“電話機協議”,且僅通信設備層變更時(如換電話機)不影響語言層;
右側示例:B(英語)與C(英語)通過“電話機”通信,依賴“英語協議”和“電話機協議”,僅語言層變更時(如換語言)不影響通信設備層;
底部擴展示例:A與C也可通過“無線電”通信(依賴“無線電協議”),B與C通過“電話機”通信(依賴“電話協議”),體現分層模型的靈活性。

在這個例子中,我們的"協議"只有兩層:語言層和通信設備層。這種簡單的分層結構幫助我們理解了基本的網絡通信概念。

語言層負責處理信息的表達和解析,比如:

  • 定義雙方都能理解的語法規則
  • 確保信息格式統一
  • 處理編碼/解碼過程

通信設備層則負責實際的物理傳輸,包括:

  • 信號調制解調
  • 物理連接管理
  • 數據傳輸質量控制

但是實際的網絡通信協議(如TCP/IP協議棧)會設計得更加復雜,通常分為更多的功能層。通過這個簡單例子,我們可以理解分層架構帶來的關鍵優勢:

  • 解耦合:各層獨立發展,互不影響
  • 模塊化:可以單獨優化或替換某一層
  • 標準化:定義清晰的接口規范
  • 降低維護成本:問題可以快速定位到特定層次

例如,當網絡傳輸出現問題時:

  1. 可以首先檢查物理連接(通信設備層)
  2. 然后驗證語言協議(語言層)
  3. 而不需要檢查整個系統

這種分層設計使得現代復雜的網絡系統能夠保持可維護性和可擴展性。


2.2 OSI七層模型

OSI(Open System Interconnection,開放系統互連)七層網絡模型是國際標準化組織(ISO)在1984年提出的一個網絡通信的概念性框架。該模型稱為開放式系統互聯參考模型,是一個邏輯上的定義和規范,主要用于指導網絡協議的設計和實現。

主要特點包括:

  1. 分層架構設計
  • 把網絡從邏輯上分為7個層次,每個層次都具有明確定義的功能
  • 每層都建立在下一層的服務之上,并為上一層提供服務
  • 各層有對應的物理設備實現,例如:
    • 物理層:網卡、集線器
    • 數據鏈路層:交換機、網橋
    • 網絡層:路由器
  1. 標準化框架
  • 是一種框架性的設計方法
  • 主要功能是幫助不同類型的主機(如Windows、Linux、Mac等)實現跨平臺數據傳輸
  • 通過七個層次化的結構模型使不同系統、不同網絡之間實現可靠通訊
  1. 概念區分明確
  • 最大優點是將服務、接口和協議這三個概念明確區分:
    • 服務:定義該層為上層提供什么功能
    • 接口:定義上層如何使用本層服務
    • 協議:定義本層內部如何實現服務
  • 這種區分使得模型概念清晰,理論體系完整

實際應用情況:

  • 雖然理論完備,但由于過于復雜,在實際應用中較少直接使用完整的七層模型

在這里插入圖片描述
在這里插入圖片描述
在網絡架構設計中,OSI(Open Systems Interconnection)七層模型確實提供了一個非常完善的理論框架。然而在實際工程實踐中,由于操作系統實現和網絡協議棧設計的限制,完整的七層模型往往需要進行簡化。

具體來說,OSI模型中的會話層(第5層)和表示層(第6層)在現實應用中存在以下問題:

  1. 功能重疊:會話層管理通信會話的功能通常已經被傳輸層(TCP的連接管理)和應用層(應用協議的狀態管理)所覆蓋
  2. 實現困難:表示層的數據格式轉換、加密解密等操作很難作為一個獨立層次集成到現代操作系統中
  3. 性能考量:過多的協議層次會增加數據處理的延遲和系統開銷

因此,在實際網絡協議棧實現中,工程師們普遍采用簡化的五層模型:

  1. 物理層(Physical Layer)
  2. 數據鏈路層(Data Link Layer)
  3. 網絡層(Network Layer)
  4. 傳輸層(Transport Layer)
  5. 應用層(Application Layer)

2.3 TCP/IP五層(或四層)模型

TCP/IP是一組協議的代名詞,它不僅僅包括TCP和IP兩個協議,而是由眾多協議組成的完整協議簇,構成了現代互聯網的基礎架構。TCP/IP協議簇采用5層模型的分層結構,每一層都調用其下一層所提供的網絡服務來完成自身功能需求,各層之間通過明確定義的接口進行通信。

TCP/IP五層模型,可是為什么又被稱為四層模型呢?

簡單來說,TCP/IP五層模型和四層模型描述的是同一個協議棧只是對最底層“物理媒介”的抽象程度不同。它們沒有本質區別,核心的TCP/IP協議簇本身依然是那四個核心層
1. 經典的“TCP/IP四層模型”
這個模型源于TCP/IP協議族的原始設計文檔(如RFC 1122),它嚴格按照協議本身來劃分層次:

層級名稱功能描述核心協議
4應用層提供特定于應用程序的服務和用戶接口HTTP, FTP, DNS, SMTP, Telnet
3傳輸層提供端到端的通信服務,負責數據分段、流量控制和可靠性TCP, UDP
2網絡互聯層負責將數據包從源主機路由到目標主機,進行邏輯尋址IP, ICMP, ARP*
1網絡接口層負責在物理網絡上發送和接收數據幀Ethernet, WiFi, ATM, Frame Relay

*注:關于ARP地址解析協議)屬于哪一層一直有爭論,通常認為它跨越了網絡互聯層和網絡接口層。

在這個模型中,網絡接口層是一個廣義的概念,它涵蓋了所有與底層硬件打交道的細節,相當于將“數據鏈路層”和“物理層”合并成了一層

2. 教學常用的“TCP/IP五層模型”
這個模型是為了教學和理解方便而誕生的。它是一個混合模型,融合了OSI七層模型的清晰架構和TCP/IP四層模型的實際協議。

層級名稱功能描述核心協議/設備
5應用層(與四層模型相同)HTTP, FTP, DNS, SMTP
4傳輸層(與四層模型相同)TCP, UDP
3網絡層(與四層模型的“網絡互聯層”相同)IP, 路由器
2數據鏈路層從“網絡接口層”中分離出來,負責在直接相連的節點間傳輸數據幀Ethernet, WiFi, 交換機
1物理層從“網絡接口層”中分離出來,負責傳輸原始的比特流雙絞線、光纖、光/電信號、集線器

五層模型將四層模型中的“網絡接口層”進一步拆解為更精細的“數據鏈路層”和“物理層”,這使得各層的職責更加清晰,更容易與OSI模型和設備(如交換機、集線器)對應起來。

為什么會有兩種說法?
你可以這樣理解:

從軟件和協議的角度看:一個軟件開發人員可能更關心協議本身。對他而言,只要操作系統提供了驅動(即“網絡接口層”),他就可以調用Socket API通過IP地址發送數據,而無需關心數據是通過WiFi信號還是網線里的電信號傳輸的。因此,四層模型足夠用了。

從硬件和網絡工程的角度看:一個網絡工程師必須清楚地知道,數據幀在交換機(數據鏈路層)如何轉發,以及路由器(網絡層)如何路由。他需要關心物理介質的選擇(物理層)。因此,五層模型提供了更精確的描述。

結論

二者沒有根本性的區別,描述的是同一個東西

  • TCP/IP四層模型是協議棧的正式、原始的劃分方法。

  • TCP/IP五層模型是為了教學和工程講解方便,將最底層的“網絡接口層”進一步細分后的結果,是目前最常用、最清晰的模型。

當別人提到“TCP/IP四層模型”時,他指的是協議本身;當提到“五層模型”時,他通常是在一個需要詳細討論底層網絡技術的語境中。在實際交流和工作中,五層模型的使用更為普遍。

下面我們來詳細介紹一下TCP/IP五層模型:

1. 物理層 (Physical Layer)
物理層是最底層,主要負責原始比特流在物理介質上的傳輸。該層定義了:

  • 電氣特性:如電壓水平、傳輸速率等
  • 機械特性:如連接器規格、線纜類型等
  • 功能特性:如信號線功能定義
  • 規程特性:如信號時序、同步方式

常見物理層實現包括:

  • 有線傳輸:雙絞線(如Cat5e、Cat6)、同軸電纜(RG-6用于有線電視)、光纖(單模/多模)
  • 無線傳輸:Wi-Fi(2.4GHz/5GHz頻段)、藍牙、Zigbee等射頻技術
  • 新興技術:可見光通信(Li-Fi)、電力線通信(PLC)

物理層設備示例:

  • 集線器(Hub):簡單信號放大和中繼,所有端口共享帶寬
  • 中繼器(Repeater):延長信號傳輸距離
  • 調制解調器(Modem):完成數字信號與模擬信號的轉換

2. 數據鏈路層 (Data Link Layer)
數據鏈路層負責在直接相連的節點間可靠地傳輸數據幀,主要功能包括:

  • 成幀:將原始比特流組織為有意義的幀結構
  • 物理地址尋址:使用MAC地址標識設備
  • 差錯控制:通過CRC校驗檢測傳輸錯誤
  • 流量控制:防止快速發送方淹沒慢速接收方

典型協議和技術:

  • 以太網協議(IEEE 802.3):最普遍的局域網技術
  • 無線局域網(Wi-Fi, IEEE 802.11)
  • 點對點協議(PPP):常用于撥號上網
  • 高級數據鏈路控制(HDLC)
  • 虛擬局域網(VLAN)技術

數據鏈路層設備:

  • 交換機(Switch):基于MAC地址轉發幀,每個端口獨享帶寬
  • 網橋(Bridge):連接不同物理介質的網絡段

3. 網絡層 (Network Layer)
網絡層實現端到端的邏輯通信,主要職責包括:

  • 邏輯地址分配:如IP地址系統
  • 路由選擇:確定數據包從源到目的的最佳路徑
  • 分組轉發:根據路由表轉發數據包
  • 擁塞控制:避免網絡過載

核心協議和技術:

  • IP協議(IPv4/IPv6):提供無連接的數據報服務
  • 路由協議:如RIP、OSPF、BGP等
  • ICMP協議:用于網絡診斷(ping/traceroute)
  • ARP協議:IP地址到MAC地址的解析
  • NAT技術:地址轉換解決IPv4短缺問題

網絡層設備:

  • 路由器(Router):連接不同網絡,基于IP地址進行路由選擇
  • 三層交換機:結合交換和路由功能的高性能設備

4. 傳輸層 (Transport Layer)
傳輸層提供端到端的可靠數據傳輸服務,主要功能:

  • 進程到進程的通信:通過端口號標識應用
  • 可靠性保障:如TCP的確認重傳機制
  • 流量控制:滑動窗口機制
  • 擁塞控制:動態調整發送速率

主要協議:

  • TCP協議:面向連接、可靠傳輸
    • 三次握手建立連接
    • 四次揮手釋放連接
    • 超時重傳確保可靠性
  • UDP協議:無連接、高效傳輸
    • 適用于實時應用(視頻會議、在線游戲)
    • 無連接建立開銷
    • 不保證可靠性但延遲低

5. 應用層 (Application Layer)
應用層直接為用戶應用程序提供網絡服務,典型協議包括:

  • 超文本傳輸協議(HTTP/HTTPS):Web瀏覽
  • 文件傳輸協議(FTP):文件上傳下載
  • 簡單郵件傳輸協議(SMTP):電子郵件發送
  • 域名系統(DNS):域名到IP地址解析
  • 動態主機配置協議(DHCP):自動IP地址分配
  • 安全外殼協議(SSH):加密的遠程登錄

應用層編程接口:

  • Socket API:TCP/IP網絡編程的基礎接口
  • HTTP API:RESTful風格的Web服務接口
  • gRPC:高性能的RPC框架

在這里插入圖片描述
計算機網絡體系結構中,TCP/IP四層模型是實際應用中最常見的參考模型。這個模型之所以被廣泛采用,是因為在大多數軟件開發和網絡應用中,我們主要關注的是從傳輸層到應用層的功能實現,而物理層(包括具體的傳輸介質、信號調制等硬件相關部分)通常由專門的硬件廠商實現。

通常情況下:

  • 主機操作系統內核負責實現從傳輸層到物理層的功能;
  • 路由器主要實現網絡層到物理層的功能;
  • 交換機通常實現數據鏈路層到物理層的功能;
  • 集線器僅實現物理層功能;

需要注意的是,實際設備可能存在功能擴展:

  • 部分交換機具備網絡層轉發能力;
  • 某些路由器也實現了傳輸層的部分功能(如端口轉發)。

因此,從軟件開發的視角“物理層”“數據鏈路層”被合并為了一個看不見的“網絡接口層”。整個通信棧看起來就是這樣:
應用層 -> 傳輸層 -> 網絡層 -> (操作系統和硬件處理的下層)


文章中我們從單機到引入網絡,然后介紹了一些網絡的基本概念,可能一些相關的協議和技術我們還不能弄懂,但是這里只是介紹一些基本概念,我們只需要知道即可,后面我們會詳細介紹

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

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

相關文章

簡單介紹一下Clickhouse及其引擎

一、ClickHouse 的優缺點一、ClickHouse 的優點 ? 1. 極致的查詢性能 列式存儲:只讀取查詢涉及的列,大幅減少 IO。數據壓縮:常見壓縮率 5~10 倍,減少存儲和帶寬消耗。向量化執行:按批次(block)…

【卷積神經網絡詳解與實例】8——經典CNN之VGG

1 開發背景 VGGNet是牛津大學視覺幾何組(Visual Geometry Group)提出的模型,該模型在2014ImageNet圖像分類與定位挑戰賽 ILSVRC-2014中取得在分類任務第二,定位任務第一的優異成績。其核心貢獻在于系統性地探索了網絡深度對性能的影響,并證明…

【分享】中小學教材課本 PDF 資源獲取指南

很多人都不知道,其實官方提供的中小學教材課本 PDF 文檔是完全免費且正版的,無需使用掃描版,清晰度和質量都非常高。 這些資源就藏在國家中小學智慧教育平臺(basic.smartedu.cn)上。這個平臺涵蓋了從小學到高中的各個…

js趣味游戲 貪吃蛇

以下是關于JavaScript趣味游戲的系統性整理,涵蓋經典案例、開發工具、教程資源及創意方向,助您快速掌握JS游戲開發的核心邏輯:一、經典JS趣味游戲案例貪吃蛇(Snake Game)核心機制:鍵盤控制蛇的移動方向&…

【Redis#11】Redis 在 C++ 客戶端下的安裝使用流程(一條龍服務)

一、安裝使用 --Ubuntu 下啟用 1. 前置依賴 - hiredis hiredis 是一個用 C 語言實現的 Redis 客戶端庫,redis-plus-plus 庫基于 hiredis 實現。在開始之前,請確保已安裝 libhiredis-dev,可以通過以下命令安裝: sudo apt install l…

kibana+elasticsearch console查詢示例

kibana console查詢入口如下 http://localhost:5601/app/dev_tools#/console/shell 1 整體查詢 獲取index為newbook的所有數據 GET newbook/_search 2 通用查詢 獲取index為newbook的數據中,bookname包含“西游”的所有數據。 GET newbook/_search { "query&q…

軟考系統架構設計師之軟件風格篇

一、軟件架構風格-數據流風格 數據-》第1步處理-》數據-》第2步處理-》數據-》第N步處理 【分步處理】 優點: 1、松耦合【高內聚-低耦合】 2、良好的重用性/可維護性; 3、可擴展性【標準接口適配】 4、良好的隱蔽性; 5、支持并行。 缺點 1、交互性較差; 2、復雜性較…

初始QML

由于項目原因,最近要進行qml相關開發,我之前也沒有搞過qml,因此開一個qml系列的專欄,記錄自己關于qml的相關學習新建第一個qml工程按如下圖所示方法新建一個最簡單的qml工程:編譯運行可以看到是一個標題為“hello word…

Coze源碼分析-資源庫-創建知識庫-基礎設施/存儲/安全

6. 基礎設施層 基礎設施層為知識庫創建功能提供底層技術支撐,包括數據存儲、緩存、消息隊列、文檔處理、向量化等核心服務。 6.1 數據存儲服務 6.1.1 MySQL數據庫 文件位置: backend/infra/rdb/mysql.go // MySQLConfig MySQL配置 type MySQLConfig struct {Host …

【iOS】設計模式復習

目錄 觀察者模式 通知機制 基本使用 注冊觀察者 創建一個通知 發送通知 通知與多線程 使用異步發送通知 NSNotificationQueue通知隊列 在子線程中運行觀察者函數 實現原理 named表 nameless表 wildcard表 添加觀察者 發送通知 移除通知? KVO機制 基本使用 …

RK3568 NPU :RKNN-ToolKit2環境搭建

1. 安裝Miniconda3 下載 Linux 64 位 Miniconda 最新版安裝腳本 wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh安裝 Miniconda bash Miniconda3-latest-Linux-x86_64.sh -u安裝完成后會自動設置環境變量。打開新的終端,發現用戶名前…

Ubuntu 24.04 Server 版系統安裝及配置

Ubuntu 24.04 Server 版安裝及配置 文章目錄Ubuntu 24.04 Server 版安裝及配置一、獲取安裝文件二、虛擬機配置三、安裝界面四、配置網絡五、擴容根分區 一、獲取安裝文件二、虛擬機配置三、安裝界面 選擇English(US)問是否升級內核配置鍵盤手動配置ipv4…

Java 事務失效場景全解析

在 Java 開發中,事務管理是保證數據一致性的核心機制,尤其是在 Spring 框架中,Transactional注解的使用極大簡化了事務配置。然而,在實際開發中,事務常常會因為一些細節問題而失效,導致數據異常。本文將詳細…

【Coze搞錢實戰】14. 抖音直播間自動回復機器人實戰教程:三小時搭建智能客服,互動率提升150%(保姆級無代碼指南)

摘要:抖音直播間高頻問題重復回復、觀眾互動不及時是運營痛點。本文針對新手和進階用戶,提供無代碼的自動回復機器人搭建方案:新手1小時完成基礎配置(Coze+抖音對接),進階用戶通過促銷倒計時、粉絲分層、熱點借勢三大策略提升互動率150%。方案基于某女裝直播間實測數據(…

云計算核心知識梳理

云計算作為新一代信息技術的核心,其體系涵蓋特點、定義、技術演進及分類等多個維度,以下是對相關知識的系統整合與解讀。 一、云計算的核心特點 / 優勢 云計算的優勢圍繞資源利用效率、服務靈活性和管理便捷性展開,具體可拆解為五大核心特性: 按需自助服務:用戶無需人工干…

安卓13_ROM修改定制化-----安卓 13 系統 ROM 定制化與低版本系統的核心區別

安卓系統憑借其全球領先的市場占有率,開放特性為廠商和開發者提供了深度定制的空間,形成了豐富的ROM生態圈。從最初的安卓1.0到最新的安卓15,系統在功能、性能和安全方面不斷迭代升級,同時也為ROM定制帶來了新的機遇與挑戰。特別是從安卓11開始,谷歌對系統架構和安全機制進…

【Java后端】Spring Boot 2.7.x 和 Swagger 3.0.x (springfox 3.x) 的兼容性問題

springfox 在 Spring Boot 2.6 開始就有很多兼容性 bug(主要是 Spring MVC PathPatternParser 的引入),導致在 Spring Boot 2.6/2.7 里經常出現 無法啟動 / 無法訪問 swagger-ui.html 的情況。🔎 問題原因Spring Boot 2.6 開始默認…

Vue3+ts使用oidc-client-ts

配置 OIDC 客戶端 在項目中創建 authOptions 對象,定義 OIDC 認證所需的配置項: export const authOptions {authority: https://xxxxxxxxx/UserCenter, // 認證服務器 URLclient_id: xxxx, // 客戶端 IDredirect_uri: http://localhost:3000/callbac…

從 “數據中轉站“ 到 “邊緣智能中樞“:區域網關的技術突圍與開發范式重構

在物聯網架構中,區域網關長期被視為 "邊緣與云端的橋梁"—— 負責協議轉換、數據轉發、設備接入等基礎功能。但隨著邊緣計算興起與 AI 模型輕量化,區域網關正經歷從 "被動轉發" 到 "主動決策" 的范式躍遷。 本文將從開發視角拆解區域網關的三大…

Django全棧班v1.04 Python基礎語法 20250913 早上

print 函數基本用法 print函數會自加換行符,一個print,會打印一行輸出。 print("第一行") print("第二行") print("第三行")輸出結果:print 輸出多個值 一個print可以同時輸出多個值,這多個值會在一…