【Linux網絡】網絡協議基礎

網絡基礎

計算機網絡背景

  • 獨立模式:計算機之間相互獨立
    在這里插入圖片描述
  • 網絡互聯:多臺計算機連接在一起,完成數據共享
    在這里插入圖片描述
  • 局域網LAN:計算機數量更多了,通過交換機和路由器連接在一起
    在這里插入圖片描述
  • 廣域網WAN:將遠隔千里的計算機都連在一起
    在這里插入圖片描述
    所謂"局域網"和"廣域網"只是一個相對的概念.比如,我們有"天朝特色"的廣域網,也可以看做一個比較大的局域網

初識協議

  • "協議"是一種約定.
  • 打電話約定電話鈴響的次數的約定
    在這里插入圖片描述

計算機之間的傳輸媒介是光信號和電信號.通過"頻率"和"強弱"來表示0和1這樣的信息.要想傳遞各種不同的信息,就需要約定好雙方的數據格式.

思考:只要通信的兩臺主機,約定好協議就可以了么?

定好協議,但是你用頻率表示01,我用強弱表示01,就好比我用中國話,你用葡萄牙語一樣,雖然大家可能遵守的一套通信規則,但是語言不同,即是訂好了基本的協議,也是無法正常通信的

所以,完善的協議,需要更多更細致的規定,并讓參與的人都要遵守。

  • 計算機生產廠商有很多;
  • 計算機操作系統,也有很多
  • 計算機網絡硬件設備,還是有很多;

如何讓這些不同廠商之間生產的計算機能夠相互順暢的通信?就需要有人站出來, 約定一個共同的標準,大家都來遵守,這就是網絡協議;

協議分層

  • 協議本質也是軟件,在設計上為了更好的進行模塊化,解耦合,也是被設計成為層狀結構的.
  • 軟件分層的好處:分層可以實現解耦合,讓軟件維護的成本更低(分層是解耦合的有效方式)
  • 小白視角來看,同層協議直接通信
  • 工程師角度:同層協議,沒有直接通信,而是各自使用下層提供的結構能力實現的函數

OSI 七層模型

  • OSI(OpenSystemInterconnection,開放系統互連)七層網絡模型,稱為開放式系統互聯參考模型,是一個邏輯上的定義和規范;

  • 把網絡從邏輯上分為了7層.每一層都有相關、相對應的物理設備,比如路由器,交換機;

  • OSI七層模型是一種框架性的設計方法,其最主要的功能使就是幫助不同類型的主機實現數據傳輸;

  • 它的最大優點是將服務、接口和協議這三個概念明確地區分開來,概念清楚,理論也比較完整.通過七個層次化的結構模型使不同的系統不同的網絡之間實現可靠的通訊;

  • 但是,它既復雜又不實用;所以我們按照TCP/IP四層模型來講解
    在這里插入圖片描述

  • 其實在網絡角度,OSI定的協議7層模型其實非常完善,但是在實際操作的過程中,會話層、表示層是不可能接入到操作系統中的,所以在工程實踐中,最終落地的是5層協議。

應用層:數據處理業務
表示層:自定義協議并添加相應報頭
IO基本層

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

TCP/IP是一組協議的代名詞,它還包括許多協議,組成了TCP/IP協議簇.

TCP/IP通訊協議采用了5層的層級結構,每一層都呼叫它的下一層所提供的網絡來完成自己的需求.

  • 物理層:負責光/電信號的傳遞方式.
    • 比如現在以太網通用的網線(雙絞線)、早期以太網采用的的同軸電纜(現在主要用于有線電視)、光纖,現在的wifi無線網使用電磁波等都屬于物理層的概念。
    • 物理層的能力決定了最大傳輸速率、傳輸距離、抗干擾性等.
    • 集線器(Hub)工作在物理層.
  • 數據鏈路層:負責設備之間的數據幀的傳送和識別.例如網卡設備的驅動、幀同步(從網線上檢測到什么信號算作新幀的開始)、沖突檢測(如果檢測到沖突就自動重發)、數據差錯校驗等工作.
    • 有以太網、令牌環網,無線LAN等標準.交換機(Switch)工作在數據鏈路層.
  • 網絡層:負責地址管理和路由選擇.
    • 例如在IP協議中,通過IP地址來標識一臺主機,并通過路由表的方式規劃出兩臺主機之間的數據傳輸的線路(路由).
    • 路由器(Router)工作在網路層.
  • 傳輸層:負責兩臺主機之間的數據傳輸.如傳輸控制協議(TCP),能夠確保數據可靠的從源主機發送到目標主機.
  • 應用層:負責應用程序間溝通,如簡單電子郵件傳輸(SMTP)、文件傳輸協議(FTP)、網絡遠程訪問協議(Telnet)等.
    • 我們的網絡編程主要就是針對應用層.

在這里插入圖片描述
物理層我們考慮的比較少,我們只考慮軟件相關的內容.因此很多時候我們直接稱為TCP/IP四層模型.

一般而言:

  • 對于一臺主機,它的操作系統內核實現了從傳輸層到物理層的內容;
  • 對于一臺路由器,它實現了從網絡層到物理層;
  • 對于一臺交換機,它實現了從數據鏈路層到物理層;
  • 對于集線器,它只實現了物理層;

但是并不絕對.很多交換機也實現了網絡層的轉發;很多路由器也實現了部分傳輸層的內容(比如端口轉發)

協議詳解

為什么要有TCP/IP協議?

首先,即便是單機,你的計算機內部,其實都是存在協議的,

比如:其他設備和內存通信,會有內存協議。其他設備和磁盤通信,會有磁盤相關的協議,比如:SATA,IDE,SCSI等。只不過我們感知不到罷了。

而且這些協議都在本地主機各自的硬件中,通信的成本、問題比較少。

其次,網絡通信最大的特點就是主機之間變遠了。任何通信特征的變化,一定會帶來新的問題,有問題就得解決問題,所以需要新的協議。

在這里插入圖片描述

什么是TCP/IP協議?

  • TCP/IP協議的本質是一種解決方案
  • TCP/IP協議能分層,前提是因為問題們本身能分層

在這里插入圖片描述

  • 傳輸層最著名的協議為TCP協議
  • 網絡層最著名的協議為IP協議

所以究竟什么是協議?

在這里插入圖片描述
問題:主機B能識別data,并且準確提取a=10,b=20,c=30嗎?
回答:答案是肯定的!因為雙方都有同樣的結構體類型structprotocol。也就是說,用同樣的代碼實現協議,用同樣的自定義數據類型,天然就具有”共識“,能夠識別對方發來的數據,這不就是約定嗎?

關于協議的樸素理解:所謂協議,就是通信雙方都認識的結構化的數據類型

因為協議棧是分層的,所以,每層都有雙方都有協議,同層之間,互相可以認識對方的協議。

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

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

相關文章

LabVIEW表面粗糙度測量及算法解析

在制造業和科研領域,表面粗糙度測量對保障產品質量、推動材料研究意義重大。表面粗糙度作為衡量工件表面加工質量的關鍵指標,直接影響著工件諸如磨損、密封、疲勞等機械性能。隨著技術的發展,LabVIEW 在表面粗糙度測量及數據處理中發揮著不可…

深入探索 JavaScript 中的模塊對象

引言 在現代 JavaScript 開發中,模塊化編程是一項至關重要的技術。它允許開發者將代碼拆分成多個獨立的模塊,每個模塊專注于單一功能,從而提高代碼的可維護性、可測試性和復用性。而模塊對象則是模塊化編程中的核心概念之一,它為…

Linux——Mysql數據庫

目錄 一,數據庫簡介 二,數據庫的基本概念 1,數據 2,數據庫和數據庫表 3,數據庫管理系統和數據庫系統 三,主流數據庫介紹 四,數據庫的兩大類型 1,關系型數據庫 主鍵 外鍵 2…

73頁最佳實踐PPT《DeepSeek自學手冊-從理論模型訓練到實踐模型應用》

這份文檔是一份關于 DeepSeek 自學手冊的詳細指南,涵蓋了 DeepSeek V3 和 R1 模型的架構、訓練方法、性能表現以及使用技巧等內容。它介紹了 DeepSeek V3 作為強大的 MoE 語言模型在數學、代碼等任務上的出色表現以及其訓練過程中的創新架構如多頭潛在注意力和多 To…

LabVIEW 2019 與 NI VISA 20.0 安裝及報錯處理

在使用 Windows 11 操作系統的電腦上,同時安裝了 LabVIEW 2019 32 位和 64 位版本的軟件。此前安裝的 NI VISA 2024 Q1 版,該版本與 LabVIEW 2019 32 位和 64 位不兼容,之后重新安裝了 NI VISA 20.0。從說明書來看,NI VISA 20.0 …

基于Centos7的DHCP服務器搭建

一、準備實驗環境: 克隆兩臺虛擬機 一臺作服務器:DHCP Server 一臺作客戶端:DHCP Clinet 二、部署服務器 在網絡模式為NAT下使用yum下載DHCP 需要管理員用戶權限才能下載,下載好后關閉客戶端,改NAT模式為僅主機模式…

最全盤點,趕緊收藏:2025 年全網最全的 Java 技術棧內容梳理(持續更新中)

大家好,我是栗箏i,是一個擁有 5 年經驗的 Java 開發工程師和技術博主,曾有多年在國內某大廠工作的經歷。從 2022 年 10 月份開始,我將持續梳理出全面的 Java 技術棧內容,一方面是對自己學習內容進行整合梳理&#xff0…

【項目實踐】boost 搜索引擎

1. 項目展示 boost搜索引擎具體講解視頻 2. 項目背景 對于boost庫,官方是沒有提供搜索功能的,我們這個項目就是來為它添加一個站內搜索的功能。 3. 項目環境與技術棧 ? 項目環境: ubuntu22.04、vscode ? 技術棧: C/C、C11、S…

一個簡單的MCP測試與debug

最近MCP挺火,我也跟著網上教程試試,參考如下,感謝原博主分享: https://zhuanlan.zhihu.com/p/1891227835722606201https://zhuanlan.zhihu.com/p/1891227835722606201 MCP是啥?技術原理是什么?一個視頻搞…

深度學習系統學習系列【7】之卷積神經網絡(CNN)

文章目錄 說明卷積神經網絡概述(Convolutional Neural Network,CNN)卷積神經網絡的應用圖像分類與識別圖像著色自然語言處理NLP卷積神經網絡的結構卷積神經網絡中的數據流動 CNN與ANN的關系 卷積操作Padding 操作滑動窗口卷積操作網絡卷積層操作矩陣快速卷積Im2col算法GEMM算法…

事務隔離(MySQL)

事務隔離 —— 為什么你改了我還看不見? 在數據庫中,事務(Transaction) 用于保證一組數據庫操作要么全部成功,要么全部失敗,這是一種原子性的操作機制。在 MySQL 中,事務的支持由存儲引擎層實現…

華為昇騰910B通過vllm部署InternVL3-8B教程

前言 本文主要借鑒:VLLM部署deepseek,結合自身進行整理 下載模型 from modelscope import snapshot_download model_dir snapshot_download(OpenGVLab/InternVL3-8B, local_dir"xxx/OpenGVLab/InternVL2_5-1B")環境配置 auto-dl上選擇單卡…

Spring Boot 3 + Undertow 服務器優化配置

優化背景 當你的application需要支持瞬時高并發的時候,tomcat已經不在是最優的選擇,我們可以改為Undertow,并對其進行優化。 Undertow 是一個輕量級的、高性能的Java Web 服務器,由JBoss 開發并開源。它是基于非阻塞(…

利用 Python pyttsx3實現文字轉語音(TTS)

今天,我想跟大家分享如何利用 Python 編程語言,來實現文字轉換為語音的功能,也就是我們常說的 Text-to-Speech (TTS) 技術。 你可能會好奇,為什么學習這個?想象一下,如果你想把書本、文章、雜志的內容轉換…

vue修改了node_modules中的包,打補丁

1、安裝patch npm i patch-package 安裝完成后,會在package.json中顯示版本號 2、在package.json的scripts中增加配置 "postinstall": "patch-package" 3、執行命令 npx patch-package 修改的node_modules中的包的名稱 像這樣 npx patch-packag…

Vue3快速入門/Vue3基礎速通

Vue3 漸進式的javascript框架&#xff0c;我們可以逐步引入vue的功能 官方文檔 Vue.js中文手冊 你可以借助 script 標簽直接通過 CDN 來使用 Vue&#xff1a; <script src"https://unpkg.com/vue3/dist/vue.global.js"></script>通過 CDN 使用 Vue 時…

[人機交互]理解界面對用戶的影響

零.重點 – 什么是情感因素 – 富有表現力的界面 – 用戶的挫敗感 – 擬人化在交互設計中的應用 – 虛擬人物&#xff1a;代理 一.什么是情感方面 情感是指某事物對心理造成的一種狀態 二.計算機科學中存在的兩個相關的研究領域 2.1情感計算 機器如何能感知其他代理的情感&…

Ubuntu22.04及以上版本buildroot SIGSTKSZ 報錯問題

本文提供一種解決 Buildroot SIGSTKSZ 報錯途徑 解決途徑來源參考&#xff1a;Buildroot error when building with Ubuntu 21.10 其出現原因在于 GNU C Library 2.34 release announcement&#xff1a; Add _SC_MINSIGSTKSZ and _SC_SIGSTKSZ. When _DYNAMIC_STACK_SIZE_SOU…

Spark處理過程-案例數據清洗

&#xff08;一&#xff09;需求說明 準備十條符合包含用戶信息的文本文件&#xff0c;每行格式為 姓名,年齡,性別&#xff0c;需要清洗掉年齡為空或者非數字的行。 例如&#xff1a; 張三,25,男 李四,,女 王五,30,男 趙六,a,女 孫七,35,男 周八,40,女 吳九,abc,男 鄭十,45,女…

多模態大語言模型arxiv論文略讀(六十五)

VS-Assistant: Versatile Surgery Assistant on the Demand of Surgeons ?? 論文標題&#xff1a;VS-Assistant: Versatile Surgery Assistant on the Demand of Surgeons ?? 論文作者&#xff1a;Zhen Chen, Xingjian Luo, Jinlin Wu, Danny T. M. Chan, Zhen Lei, Jinqi…