Unity網絡開發基礎 (2) 網絡協議基礎

???????本文章不作任何商業用途 僅作學習與交流 部分圖片來自Unity唐老師

目錄

1.虛擬模型

2.實際模型 TCP/IP

3.傳輸層協議 TCP/UDP

TCP 協議詳解

1. 核心機制

2. 頭部格式(20 字節最小)

UDP 協議詳解

1. 核心特點

2. 頭部格式(固定 8 字節)

選擇 TCP 或 UDP 的依據

實際應用示例


1.虛擬模型

????????OSI 模型是理論框架

層次功能協議 / 技術示例數據單元
應用層為用戶提供直接服務(如文件傳輸、電子郵件、Web 瀏覽)。HTTP、FTP、SMTP、DNS數據(Data)
表示層處理數據格式轉換、加密解密、壓縮解壓縮。SSL/TLS、ASCII、JPEG數據(Data)
會話層管理通信會話的建立、維護和終止。NetBIOS、RPC數據(Data)
傳輸層提供端到端的可靠或不可靠傳輸,確保數據完整性。TCP、UDP段(Segment)
網絡層負責路由選擇和數據包轉發,實現不同網絡之間的通信。IP、ICMP、ARP數據包(Packet)
數據鏈路層處理相鄰節點間的數據幀傳輸,提供錯誤檢測和糾正。Ethernet、PPP、MAC 地址幀(Frame)
物理層定義物理介質(如電纜、光纖)的電氣、機械特性,傳輸比特流。RJ45、IEEE 802.3比特(Bit)

????????大概做了什么?

2.實際模型 TCP/IP

????????TCP/IP 模型是實際網絡通信中廣泛使用的協議棧

TCP/IP 模型OSI 模型功能協議 / 技術示例數據單元
應用層應用層、表示層、會話層提供用戶服務(如 Web 瀏覽、郵件)、數據格式處理、會話管理。HTTP、FTP、SMTP、DNS數據(Data)
傳輸層傳輸層端到端的數據傳輸,確保可靠性或效率。TCP、UDP段(Segment)
網絡層網絡層路由選擇和數據包轉發,實現跨網絡通信。IP、ICMP、ARP數據包(Packet)
網絡接口層數據鏈路層、物理層物理介質的比特流傳輸,數據幀的組幀與傳輸。

?????????每層職能

? ? ? ? 其協議

?????????

3.傳輸層協議 TCP/UDP

特性TCP(傳輸控制協議)UDP(用戶數據報協議)
連接性面向連接(需三次握手建立連接)無連接(無需建立連接)
可靠性可靠傳輸(保證順序、無丟失、無重復)不可靠傳輸(不保證到達或順序)
傳輸方式流式傳輸(按字節流處理)數據報傳輸(按獨立數據包處理)
頭部大小固定 20 字節(最小)固定 8 字節
流量控制支持(通過滑動窗口)不支持
擁塞控制支持(避免網絡擁塞)不支持
端口號使用 16 位端口號區分應用同樣使用 16 位端口號
典型應用HTTP、HTTPS、SMTP、FTP、SSHDNS、視頻流、實時游戲、語音通話(VoI

? ?

TCP 協議詳解

1. 核心機制
  • 三次握手
    建立連接時,客戶端和服務器通過?SYNSYN-ACKACK?三個報文確認連接
  • 四次揮手
    關閉連接時,雙方通過?FINACKFINACK?四個報文釋放資源
  • 滑動窗口
    通過動態調整發送窗口大小實現流量控制,避免接收方過載。
  • 重傳機制
    超時未收到確認時,重傳丟失的數據包。
2. 頭部格式(20 字節最小)
字段描述
源端口號發送方端口(16 位)
目標端口號接收方端口(16 位)
序號數據字節流編號(32 位)
確認號期望接收的下一個字節編號(32 位)
數據偏移頭部長度(4 位)
標志位SYN、ACK、FIN、RST 等控制位(9 位)
窗口大小接收方允許的最大數據量(16 位)
校驗和檢測數據傳輸錯誤(16 位)
緊急指針緊急數據位置(16 位,可選)

UDP 協議詳解

1. 核心特點
  • 簡單高效:無連接、無確認、無重傳,適合實時性要求高的場景。
  • 資源消耗低:頭部僅 8 字節,處理速度快。
  • 盡最大努力交付:不保證可靠性,但可通過上層協議(如 RTP)補充可靠性。
2. 頭部格式(固定 8 字節)
字段描述
源端口號發送方端口(16 位)
目標端口號接收方端口(16 位)
長度UDP 數據報總長度(16 位)
校驗和可選的錯誤檢測(16 位)

選擇 TCP 或 UDP 的依據

  • 選 TCP
    • 需要可靠性(如文件傳輸、Web 瀏覽)。
    • 對延遲不敏感(如郵件發送)。
  • 選 UDP
    • 實時性優先(如視頻會議、在線游戲)。
    • 數據量小或可接受少量丟失(如 DNS 查詢)。

實際應用示例

  1. 視頻通話
    • UDP:低延遲,允許部分數據包丟失(丟包可通過畫面模糊補償)。
  2. 文件下載
    • TCP:確保文件完整無誤。
  3. DNS 查詢
    • UDP:單次查詢無需建立連接,快速響應。

?

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

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

相關文章

HTML label 標簽使用

點擊 <label> 標簽通常會使與之關聯的表單控件獲得焦點或被激活。 通過正確使用 <label> 標簽&#xff0c;可以使表單更加友好和易于使用&#xff0c;同時提高整體的可訪問性。 基本用法 <label> 標簽通過 for 屬性與 id 為 username 的 <input> 元素…

JDBC、MyBatis 、MyBatis-Plus面試總結(一)

以下為你整理了一些 MyBatis 和 MyBatis-Plus 中 mapper.xml 相關的常見面試問題及答案&#xff1a; 基礎概念類 問題 1&#xff1a;什么是 mapper.xml 文件&#xff0c;它在 MyBatis 中有什么作用&#xff1f; 答案&#xff1a;mapper.xml 文件是 MyBatis 中用于定義 SQL 語…

GCC RISCV 后端 -- GCC Passes 注釋

在前面文章提到&#xff0c;當GCC 前端完成對C源代碼解析完成后&#xff0c;就會使用 處理過程&#xff08;Passes&#xff09;機制&#xff0c;通過一系列的處理過程&#xff0c;將 GENERIC IR 表示的C程序 轉步轉換成 目標機器的匯編語言。過程描述如下圖所示&#xff1a; 此…

基于Python實現的智能旅游推薦系統(Django)

基于Python實現的智能旅游推薦系統(Django) 開發語言:Python 數據庫&#xff1a;MySQL所用到的知識&#xff1a;Django框架工具&#xff1a;pycharm、Navicat 系統功能實現 總體設計 系統實現 系統首頁模塊 統首頁頁面主要包括首頁&#xff0c;旅游資訊&#xff0c;景點信息…

鴻蒙全棧開發 D2

課程目標 掌握ArkTS基礎語法與核心概念理解聲明式UI開發范式能獨立開發簡單鴻蒙應用組件建立規范的代碼編寫習慣 第一部分&#xff1a;初識ArkTS 1.1 語言全景認知 #mermaid-svg-V5mnjQN3DAHkfoBo {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size…

【YashanDB認證】yashandb23.3.1 個人版單機部署安裝實踐

YCA報名鏈接如下: YashanDB|崖山數據庫系統YashanDB學習中心-YCA認證詳情 目前免費 主要參考文檔&#xff1a; 單機&#xff08;主備&#xff09;部署 | YashanDB Doc 另外還參考摩天輪文章&#xff1a; YashanDB 23.2.9.101 企業版安裝步驟搶先看&#xff01; - 墨天輪 …

【藍橋杯】每天一題,理解邏輯(3/90)【Leetcode 快樂數】

閑話系列&#xff1a;每日一題&#xff0c;禿頭有我&#xff0c;Hello&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;,我是IF‘Maxue&#xff0c;歡迎大佬們來參觀我寫的藍橋杯系列&#xff0c;我好久沒有更新博客了&#xff0c;因為up豬我寒假用自己的勞動換了…

爬蟲Incapsula reese84加密案例:Etihad航空

聲明: 該文章為學習使用,嚴禁用于商業用途和非法用途,違者后果自負,由此產生的一切后果均與作者無關 一、找出需要加密的參數 1.js運行 atob(‘aHR0cHM6Ly93d3cuZXRpaGFkLmNvbS96aC1jbi8=’) 拿到網址,F12打開調試工具,隨便搜索航班,切換到network搜索一個時間點可以找…

緩存雪崩 緩存擊穿 緩存穿透

1. redis使用場景-緩存-緩存穿透 在實際開發中&#xff0c;Redis 被廣泛應用于緩存&#xff0c;以提高系統性能和響應速度。然而&#xff0c;在使用緩存時&#xff0c;需要注意一些問題&#xff0c;其中 緩存穿透 是一個常見且需要重點關注的場景。 什么是緩存穿透 ● 緩存穿…

【YOLOv12改進trick】多尺度大核注意力機制MLKA模塊引入YOLOv12,實現多尺度目標檢測漲點,含創新點Python代碼,方便發論文

??改進模塊??:多尺度大核注意力機制(MLKA) ??解決問題??:MLKA模塊結合多尺度、門控機制和空間注意力,顯著增強卷積網絡的模型表示能力。 ??改進優勢??:超分辨的MLKA模塊對小目標和模糊目標漲點很明顯 ??適用場景??:小目標檢測、模糊目標檢測等 ??思路…

better-sqlite3之exec方法

在 better-sqlite3 中&#xff0c;.exec() 方法用于執行包含多個 SQL 語句的字符串。與預編譯語句相比&#xff0c;這種方法性能較差且安全性較低&#xff0c;但有時它是必要的&#xff0c;特別是當你需要從外部文件&#xff08;如 SQL 腳本&#xff09;中執行多個 SQL 語句時。…

電路基礎:【1】PN結二極管制作電橋點亮LED燈

第一章&#xff1a;PN結二極管制作電橋點亮LED燈 文章目錄 第一章&#xff1a;PN結二極管制作電橋點亮LED燈前言一、電路原理二、電路圖與元器件1.電路圖 做實驗總結 前言 在本章中&#xff0c;我們將探討如何通過PN結二極管制作電橋電路&#xff0c;并利用該電路點亮LED燈。L…

XHR請求解密:抓取動態生成數據的方法

在如今動態頁面大行其道的時代&#xff0c;傳統的靜態頁面爬蟲已無法滿足數據采集需求。尤其是在目標網站通過XHR&#xff08;XMLHttpRequest&#xff09;動態加載數據的情況下&#xff0c;如何精準解密XHR請求、捕獲動態生成的數據成為關鍵技術難題。本文將深入剖析XHR請求解密…

機器學習數學基礎:42.AMOS 結構方程模型(SEM)分析的系統流程

該流程圖完整呈現了 AMOS 結構方程模型&#xff08;SEM&#xff09;分析的系統流程&#xff0c;具體步驟及內涵如下&#xff1a; 1. 模型設定 基于理論基礎或研究假設&#xff0c;構建結構方程模型的初始框架&#xff0c;明確潛變量與顯變量的關系、測量模型&#xff08;因子…

以太網通訊

接口開發筆記-WebApi-CSDN博客 以太網常用通訊協議 1、modbus tcp using EasyModbus; using System;class Program {static void Main(string[] args){// 創建Modbus客戶端實例ModbusClient modbusClient new ModbusClient("192.168.1.100"); // IP地址modbusCli…

Arcgis中添加腳本工具箱

文章目錄 準備資料1、打開arcmap2、找到目錄窗口3、復制粘貼工具箱的路徑4、添加或者確認python腳本路徑準備資料 (1)工具箱 (2)python腳本 1、打開arcmap 2、找到目錄窗口 3、復制粘貼工具箱的路徑 4、添加或者確認python腳本路徑 腳本上右鍵屬性(注意:腳本內容和路徑…

TDengine SQL查詢語法

簡介 TDengine 中的查詢 SQL 基本遵循 MYSQL 的查詢語法&#xff0c;大部分查詢都是通過超級表按時間維度進行的各種查詢。 TDengine 時序數據庫以時間為主索引列進行數據組織排序及存儲&#xff0c;同時按存儲塊做了預計算&#xff0c;所以在無普通列過濾的 SQL 查詢語句中聚…

Apache nifi demo 實驗

Apache nifi 是個數據流系統&#xff0c;可以通過配置 自定義的流程來實現數據的轉換。 比如可以配置一個流程&#xff0c;讀取數據庫里的數據&#xff0c;再轉換&#xff0c;最后保存到本地文件。 這樣可以來實現一些數據轉換的操作&#xff0c;而不用特地編寫程序來導入導出。…

javascript一些原生方法記錄

Element.scrollIntoView() Element 接口的 scrollIntoView() 方法會滾動元素的父容器&#xff0c;使被調用 scrollIntoView() 的元素對用戶可見。 structuredClone() 方法 Window 接口的 structuredClone() 方法使用結構化克隆算法將給定的值進行深拷貝。

記一次ScopeSentry搭建

介紹 Scope Sentry是一款具有資產測繪、子域名枚舉、信息泄露檢測、漏洞掃描、目錄掃描、子域名接管、爬蟲、頁面監控功能的工具&#xff0c;通過構建多個節點&#xff0c;自由選擇節點運行掃描任務。當出現新漏洞時可以快速排查關注資產是否存在相關組件。 目前功能 插件系…