網絡通信之基礎知識

一、什么是計算機網絡?

????????計算機網絡是指由若干主機、通信鏈路和網絡設備(如路由器、交換機等)組成的系統,借助通信協議,實現信息共享和資源互聯。
其本質是:多臺設備之間通過協議進行數據交換。

二、網絡協議與分層思想

2.1 為什么要分層?

  • 簡化復雜系統的設計

  • 各層職責清晰、可獨立開發與維護

  • 不同協議之間解耦,提高可移植性與可替換性

2.2 常見的網絡模型

模型層數特點
OSI 模型7理論模型,標準化程度高,用于理論研究
五層模型5實用簡化模型,更貼近 TCP/IP 實現
TCP/IP 模型4實際部署中廣泛采用,協議主導

名稱作用說明
應用層?面向用戶,提供網絡應用接口,如瀏覽網頁、發郵件、下載文件。如HTTP、FTP、SMTP、DNS。
表示層?處理數據表現形式,進行編碼轉換、加密/解密、壓縮/解壓,確保不同系統間可識別數據格式。如:SSL/TLS 加密、ASCII、UTF-8。
會話層?管理會話/對話連接,負責建立、維護和終止通信會話。支持會話恢復和同步。協議示例:NetBIOS、RPC。
傳輸層?提供端到端可靠或不可靠的數據傳輸,包括流量控制、差錯檢測、重傳機制、數據排序。協議:TCP(可靠)、UDP(不可靠)。
網絡層?實現主機間通信,負責邏輯地址(IP)分配和路徑選擇(路由),讓數據跨網段傳輸。如:IP、ICMP。
數據鏈路層?局域網中節點間通信,將網絡層數據封裝成幀,加入 MAC 地址,進行差錯檢測與糾正。協議:Ethernet等
物理層負責比特流在物理介質上傳輸,如電信號、光信號、無線信號等。規定電氣標準、接口類型。如:網線、光纖、網卡。

三、OSI模型與TCP/IP模型的比較

四、以太網協議

    以太網協議:是一種使用廣泛的局域網技術,是一種應用于數據鏈路層的協議,使用以太網可以完成相鄰設備的數據幀傳輸:

    以太網幀結構:

    1. 類型:標識上層協議(2字節)
    2. 目的地址和源地址:MAC地址(每個6字節)
    3. 數據:封裝的上層協議的分組(46~1500字節)
    4. CRC:循環冗余碼(4字節)
    5. 以太網最短幀:以太網幀最短64字節(其中數據最短46字節);

    MAC地址:

    1. MAC地址長度為6字節,48位;
    2. MAC地址具有唯一性,每個網絡適配器對應一個MAC地址;
    3. 通常采用十六進制表示法,每個字節表示一個十六進制數,用 - 或 : 連接起來;
    4. MAC廣播地址:FF-FF-FF-FF-FF-FF。

    五、HTTP 與 HTTPS 協議

    4.1 HTTP 是什么?

    • HTTP(HyperText Transfer Protocol) 是 Web 通信的核心協議。

    • 位于 應用層

    • 特點:

      • 無狀態:每個請求獨立

      • 明文傳輸:安全性差

      • 基于 TCP 傳輸,端口號默認 80

    4.2 HTTPS 是什么?

    • HTTPS = HTTP + TLS/SSL 加密層

    • 加密通信:防止竊聽和中間人攻擊

    • 使用證書驗證身份(X.509 證書)

    • 默認端口 443

    • 位于 應用層 + 表示層(加密處理在表示層邏輯)

    4.3 HTTP vs HTTPS 對比

    特性HTTPHTTPS
    安全性無加密,易被竊聽加密傳輸,支持身份認證
    端口80443
    協議棧位置應用層應用層 + 加密邏輯
    性能更快多一次握手、加密計算稍慢

    4.4 HTTP狀態碼

    狀態碼類型含義常見場景/說明
    200成功請求成功,返回預期響應內容GET/POST 請求成功
    201成功成功創建資源POST 提交新數據(如用戶注冊、上傳)
    204成功請求成功,但無響應內容DELETE 請求成功,無需返回內容
    301重定向永久重定向頁面永久遷移,新 URL 更新
    302重定向臨時重定向登錄后跳轉原頁面
    304緩存優化資源未修改,使用本地緩存瀏覽器緩存機制,結合 ETag 使用
    400客戶端錯誤請求格式錯誤或參數無效請求參數錯誤、JSON 格式異常
    401客戶端錯誤未認證,需登錄JWT 過期、Token 缺失、用戶未登錄
    403客戶端錯誤已登錄但無權限訪問權限不足、越權訪問
    404客戶端錯誤請求資源不存在接口路徑錯誤,路由未定義
    405客戶端錯誤請求方法不允許POST 請求了一個只允許 GET 的接口
    429客戶端錯誤請求過于頻繁接口限流、反爬蟲保護
    500服務端錯誤服務器內部錯誤未處理的異常、代碼崩潰
    502服務端錯誤網關錯誤反向代理連接后端服務失敗(如 Nginx)
    503服務端錯誤服務暫時不可用應用維護中、限流熔斷中
    504服務端錯誤網關超時后端超時,代理層(如 Nginx)響應超時錯誤

    六、比特(bit)與字節(Byte)

    1、定義

    • 比特:二進制數系統中,每個0或1就是一個位(bit)。位是數據存儲(計算機中信息)的最小單位。計算機中的CPU位數指的是CPU一次能處理的最大位數。
    • 字節:8比特就稱為一個字節, 即1Byte=8bit,是計算機中信息的基本單位。

    2、基礎關系

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

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

    相關文章

    Java 設計模式及應用場景

    Java 設計模式是解決軟件開發中常見問題的通用方案,通過合理的設計模式可以提高代碼的可維護性、可擴展性和復用性。下面將介紹 Java 中常見的設計模式及其原理。一、設計模式的分類設計模式主要分為三大類,共 23 種經典模式:創建型模式&…

    GitHub Jekyll博客本地Win開發環境搭建

    GitHub Jekyll博客本地Win開發環境搭建 標簽 后端 blog jekyll 全文鏈接 GitHub Jekyll博客本地Win開發環境搭建 概述 本文詳細介紹了在Windows系統上搭建Jekyll博客本地開發環境的完整步驟,為GitHub Pages博客開發提供本地預覽和調試能力。 環境依賴 Ruby環…

    瀏覽器防錄屏是怎樣提高視頻安全性?

    文章目錄前言一、什么是瀏覽器防錄屏二、瀏覽器防錄屏的原理是什么?(javascript)三、如何實現瀏覽器防錄屏總結前言 在數字內容版權保護面臨嚴峻挑戰的今天,瀏覽器防錄屏技術作為視頻安全體系的關鍵一環,其重要性日益…

    uni-app項目配置通用鏈接拉起ios應用android應用

    uniapp開發ios&android可拉起app的辛酸歷程IOS配置指南1、登錄[apple Developer](https://developer.apple.com/account/resources/identifiers/list)賬戶找到自己開發的對應的項目2、確保對應項目的Associated Domains是打開狀態3、本地創建一個 apple-app-site-associati…

    deep learning(李宏毅)--(六)--loss

    一,關于分類問題及其損失函數的一些討論。 在構建分類模型是,我們的最后一層往往是softmax函數(起到歸一化的作用),如果是二分類問題也可以用sigmoid函數。 在loss函數的選擇上,一般采用交叉熵損失函數(…

    Python綁定及其在Mujoco仿真器中的作用

    好的,這是一個非常核心且重要的問題。我來分兩部分為你詳細解釋:首先是“什么是Python綁定”,然后是“它在MuJoCo中具體的作用”。第一部分:什么是Python綁定 (Python Binding)? 簡單來說,Python綁定是一座…

    數學建模從入門到國獎——備賽規劃優秀論文學習方法

    數學建模從入門到國獎——備賽規劃 數學建模國一:我的逆襲經驗分享在大二,我們團隊初次參加媽媽杯,遺憾未獲獎,后來經過5個月的時間,在大三上學期的9月,我們團隊以C題數據挖掘機器學習創新斬獲國賽一等獎&a…

    大型語言模型的白日夢循環

    每周跟蹤AI熱點新聞動向和震撼發展 想要探索生成式人工智能的前沿進展嗎?訂閱我們的簡報,深入解析最新的技術突破、實際應用案例和未來的趨勢。與全球數同行一同,從行業內部的深度分析和實用指南中受益。不要錯過這個機會,成為AI領…

    【Gaussian Haircut論文】在Deepseek和Chatgpt的幫助下慢速了解核心方法

    3.Method 一、 1.核心目標 輸入:多張從不同角度拍攝的頭發照片。輸出:3D發型模型,且模型由發絲構成(即每根頭發被建模為獨立的曲線/線段,而非體積/網絡)。 2.數據預處理 在正式重建前,需要從輸入…

    眾趣SDK重磅升級:空間物聯IOT新視界,賦能實景三維場景深度應用

    近日,空間數字孿生云服務行業領導者—眾趣科技宣布旗下核心產品云服務平臺Qverse SDK迎來里程碑式升級!本次升級聚焦行業前沿需求,重磅推出IoT設備監控系統、iframe跨平臺頁面無縫集成、BI數據智能三大解決方案,旨在將三維空間計算…

    021_自然語言處理應用

    自然語言處理應用 目錄 NLP應用概述文本理解技術文本生成應用語言分析工具多語言處理專業領域應用實踐案例 NLP應用概述 核心能力范圍 文本理解 語義理解:深度理解文本含義和上下文實體識別:識別人名、地名、機構名等命名實體關系提取:…

    小程序中狀態管理Redux

    Redux 是一個 集中式 狀態管理框架,所有狀態存儲在一個 全局 Store 中,并通過 Action 觸發 Reducer 進行數據更新。。1.安裝npm install redux miniprogram-computed2.創建// store.js import { createStore } from "redux";// 定義初始狀態 c…

    c++:類型轉換函數

    簡介 在C++中,類型轉換運算符(也稱為類型轉換函數或轉換函數)是一種特殊的成員函數,它允許將一個類類型的對象轉換為其他類型。轉換運算符的聲明形式如下: operator type() const; 關鍵點 ??聲明??:在類內部聲明,沒有返回類型(因為type已經表示了返回類型),沒…

    Java 8 jdk1.8下載及安裝教程和環境變量配置

    1. 概述 本文介紹如何在 Windows 10 系統下下載并安裝 Java 開發工具包(JDK 1.8),適合 Java 初學者或需要搭建開發環境的用戶。 2. 安裝包下載 2.1 安裝包獲取 由于 Oracle 官網下載需注冊登錄,可選擇以下替代方式獲取 JDK 安裝…

    git@github.com: Permission denied (publickey).

    摘要:記錄新電腦需要clone和push代碼到GitHub error: Cloning into FPGA_common… gitgithub.com: Permission denied (publickey). fatal: Could not read from remote repository. 遇到的這個錯誤信息: gitgithub.com: Permission denied…

    【Linux基礎知識系列】第五十四篇 - 網絡協議基礎:TCP/IP

    在網絡通信中,TCP/IP 協議是實現設備之間數據傳輸的基礎。TCP/IP 協議棧定義了數據在網絡中傳輸的方式,從應用層到網絡層,再到物理層,每一層都有其特定的功能和協議。理解 TCP/IP 協議的基本概念和工作原理,對于網絡管…

    《python語言程序設計》2018版第8章8題編寫函數實現二進制轉十進制(字符串變整數)!!整數沒法進行下標

    二進制轉十進制前言第1章幻想的草稿第2章如何把這些幻想的數字帶到現實的算式中第3章看來是我想多了第4章 空值不一定是最好的選擇第5章 成功了前言 將字符串變成整數,但是整數沒法像字符串一樣做下標 反復嘗試最好的手段,是多多打印 第1章幻想的草稿 …

    LeetCode20

    一個新手小白開始算法的學習之路,以后會不定期分享個人做完一些題目的筆記,使用語言為JavaScript//聲明一個名為isValid的函數,接收一個參數s(要檢查的字符串) let isValid function(s) {//初始化棧//創建一個空數組s…

    Spring Boot 自動配置:從 spring.factories 到 AutoConfiguration.imports 的演變

    引言 Spring Boot 的自動配置機制是其【開箱即用】特性的核心支撐,通過減少顯式配置和簡化開發流程,顯著提升了開發效率。隨著 Spring Boot 版本的迭代,自動配置的實現機制也在不斷優化。本文將深入解析 spring.factories 和 AutoConfigurat…