20250904的學習筆記

一、封包與拆包

1. 封包(Packet Encapsulation)

????????封包 是指在發送數據時,將數據從高層協議封裝到低層協議的過程。每經過一層協議,數據都會被加上相應的協議頭(有時也會加上協議尾),形成一個新的數據單元,直到數據被封裝成可以在物理介質上傳輸的幀。

應用層:

????????應用層協議(如HTTP、FTP、SMTP等)生成數據。

????????例如,HTTP請求數據。

傳輸層:

????????傳輸層協議(如TCP或UDP)將應用層數據封裝成傳輸層數據段(Segment)。

????????TCP會添加TCP頭部,包括源端口、目的端口、序列號、確認號等信息。

????????UDP會添加UDP頭部,包括源端口、目的端口、長度和校驗和。

網絡層:

????????網絡層協議(如IP)將傳輸層數據段封裝成網絡層數據包(Packet)。

????????IP會添加IP頭部,包括源IP地址、目的IP地址、協議類型等信息。

數據鏈路層:

????????數據鏈路層協議(如以太網)將網絡層數據包封裝成數據鏈路層幀(Frame)。

????????以太網會添加以太網頭部,包括源MAC地址、目的MAC地址、類型/長度字段。

????????最后,添加幀尾(如CRC校驗)。

物理層:

物理層將數據鏈路層幀轉換為電信號或光信號,通過物理介質(如電纜、光纖)傳輸。

示意圖:

應用層數據

? ↓

傳輸層數據段(TCP/UDP頭部 + 應用層數據)

? ↓

網絡層數據包(IP頭部 + 傳輸層數據段)

? ↓

數據鏈路層幀(以太網頭部 + 網絡層數據包 + 幀尾)

? ↓

物理層信號

2. 拆包(Packet Decapsulation)

????????拆包 是指在接收數據時,將數據從低層協議解封裝到高層協議的過程。每經過一層協議,數據都會被去掉相應的協議頭(有時也會去掉協議尾),直到數據被還原為應用層數據。

物理層:

????????物理層將接收到的電信號或光信號轉換為數據鏈路層幀。

數據鏈路層:

????????數據鏈路層解析幀頭,提取網絡層數據包。

????????去掉以太網頭部和幀尾,將網絡層數據包傳遞給網絡層。

網絡層:

????????網絡層解析IP頭部,提取傳輸層數據段。

????????去掉IP頭部,將傳輸層數據段傳遞給傳輸層。

傳輸層:

????????傳輸層解析TCP或UDP頭部,提取應用層數據。

????????去掉TCP或UDP頭部,將應用層數據傳遞給應用層。

應用層:

????????應用層解析應用層數據,還原為原始數據。

????????例如,HTTP請求數據被還原為HTTP請求。

示意圖:

物理層信號

? ↓

數據鏈路層幀

? ↓

網絡層數據包(去掉以太網頭部和幀尾)

? ↓

傳輸層數據段(去掉IP頭部)

? ↓

應用層數據(去掉TCP/UDP頭部)

二、IP頭格式

三、UDP協議頭

四、TCP協議頭

五、MAC幀格式

補充:

①wireshark:網絡抓包工具?,網絡協議分析,網絡調試。
1. 打開? ? ? ? --- sudo?wireshark。
2. 選擇網絡設備。
3. 設置過濾條件。? ? ? ?--- port?,ip?

②http?協議:超文本傳輸協議
url,統一資源定位符?唯一表示互聯網上的某個資源(網頁,電影,圖片)
html?,腳本語言,編寫網頁。
③http?交互步驟
1.?三次握手?
2.?發送請求報文?
3.?等待服務器回復?響應報文+數據?
4. 斷開鏈接

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

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

相關文章

STM32F4 + RT-Thread 實戰指南:TIM10 硬件定時器驅動開發與 1 秒定時功能實現

目錄前言一、STM32定時器10是個什么定時器?二、工程創建、環境配置三、程序代碼四、運行前言 在rtthread中,STM32F4的定時器10有些驅動并不完整,對比與其它定時器在使用時需要手動的添加一些代碼,我在使用上拆踩了一些坑&#xf…

echarts圖庫

環形圖// 指定圖表的配置項和數據this.option {// tooltip: {// trigger: item// },color: [#FFB32F, #FF5757, #57D5FF, #2FA8FF, #95FFF1], // 扇形區域以及列表顏色legend: {orient:vertical,//文字橫向排itemGap:20,left: left,textStyle:{color: #F3F9FF,// fontSi…

進程(Process)全面概述

進程(Process)全面概述 本文檔擴展了進程的定義、屬性、生命周期、管理機制及示例,涵蓋 task_struct 結構、進程鏈表、狀態與優先級、fork 函數及其寫時復制示例。 一、進程基本概念 進程:系統進行資源分配和調度的基本單位&#…

Java并發編程:sleep()與wait()核心區別詳解

今天完成了實驗室納新網站的工作,大體功能都已經完善,也和前端測試過了,費了點時間,而且今天大部分時間在看langchain4j的東西,就簡單復習一下八股,等會再復習一下算法題吧在Java并發編程中,sle…

AR眼鏡在智能制造的應用方向和場景用例|阿法龍XR云平臺

AR巡檢在制造業的應用已形成覆蓋設備維護、質量檢測、安全監控和遠程協作四大類別的成熟場景,不同制造領域的實踐各具特色,為行業提供了寶貴參考。在汽車制造領域,AR 巡檢主要應用于生產線設備維護和焊接質量檢測。在汽車廠總裝車間部署 AR 系…

【Linux系統】線程同步

在上一章節中,我們使用互斥量之后,確實解決了數據競爭問題,但出現了新的問題:只有一個線程(thread 1)在處理所有售票任務。這展示了互斥量的一個局限性:它確保了線程安全,但不保證公…

代碼隨想錄訓練營第三十一天|LeetCode56.合并區間、LeetCode738.單調遞增的數字

56.合并區間 思路:先讓二維數組進行排序; 遍歷數組,定義一個min表示重合區間的左邊界,max表示重合區間的右邊界; 如果當前區間左邊大于max,就證明重合區間斷了,就要對它進行加入ArrayList&am…

【Unity項目經驗分享】實現左右分屏裸眼3D程序

1、實現原理左右分屏原理,左右屏內容左右方向存在些許偏差。通過左右相機,然后左側相機向左側偏移一點3cm,右側相機向右側屏偏移一定3cm,然后將左右相機渲染內容通過RenderTexture渲染到Canvas上面的左右RawImage上面。2、實現具體…

設計軟件啟動失敗?“找不到vcruntime140.dll,無法繼續執行代碼” 場景化解決方案來了

打游戲時,剛加載到登錄界面就因 “找不到 vcruntime140.dll, 無法繼續執行代碼” 閃退;寫代碼時,編譯工具突然報錯中斷工作;做設計時,PS、AE 啟動失敗彈出相同提示 —— 不同場景下的 vcruntime140.dll 錯誤&#xff0…

基于Echarts+HTML5可視化數據大屏展示-茶葉種植大數據溯源平臺

效果展示&#xff1a;代碼結構&#xff1a;主要代碼實現 index.html布局 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta n…

PLOS One圖片處理要求及處理辦法

PLOS One圖片處理&#xff1a; 要求&#xff1a;Please remove your figures from within your manuscript file, leaving only the individual TIFF/EPS image files. These will be automatically included in the reviewer’s PDF. 請從稿件文件中移除所有圖表&#xff0c;…

AutoLayout與Masonry:簡化iOS布局

Auto Layout 與 Masonry蘋果提供的自動布局&#xff08;Auto Layout&#xff09;能夠對視圖進行靈活有效的布局。但是&#xff0c;使用原生的自動布局相關的語法創建約束的過程是非常冗長的&#xff0c;可讀性也比較差。Masonry 的目標其實就是 為了解決原生自動布局語法冗長的…

從設計到落地:校園圖書館系統的面向對象實現全流程

很多小白學面向對象時總困惑&#xff1a;“類圖、用例圖我會畫&#xff0c;但怎么把這些設計變成能跑的代碼&#xff1f;” 這篇文章就用 “校園圖書館管理系統” 當例子&#xff0c;從需求分析→設計方案→代碼實現→測試驗證&#xff0c;帶你走通 “設計→實現” 的完整鏈路&…

[鴻蒙心跡]帶新人學鴻蒙的悲歡離合

2023年底&#xff0c;我和陸神&#xff0c;威哥&#xff0c;老羅一起去深圳參加了鴻蒙師資培訓正式開啟了鴻蒙之旅&#xff0c;當時和陸神拍的合照但是我把陸神打碼了 學完以后就考取了鴻蒙的高級認證 看到沒有時間是2023年11月 馬上都要到期了。 想一想時間過得真快&#xff…

MindShow AI:AI思維導圖生成工具高效解決思路混亂難題,快速搭建學習與工作大綱

你有沒有過這種時候&#xff1f;想整理一份學習大綱或者項目方案&#xff0c;腦子裡一堆想法卻散得像亂麻 —— 比如要做個 “數據分析入門規劃”&#xff0c;明明知道要學 Excel、SQL、Python&#xff0c;可怎么分階段、每個階段學哪些重點&#xff0c;對著空白文檔半天列不出…

快速搭建一個Vue+TS+Vite項目

1、在一個文件夾下通過cmd打開&#xff0c;輸入命令npm create vitelatest命名要為英文2.選擇項目框架通過上下鍵位選擇Vue框架&#xff1a;選好按回車鍵3.選擇開發語言選擇TypeScript語言&#xff0c;方便后續開發&#xff1a;創建好的項目目錄為&#xff1a;4.安裝Vite依賴接…

深度學習:ResNet 殘差神經網絡詳解

一、ResNet 殘差神經網絡的起源與核心地位ResNet&#xff08;Residual Neural Network&#xff0c;殘差神經網絡&#xff09;是 2015 年由微軟亞洲研究院的何凱明、張祥雨等研究者提出的深度神經網絡架構。在當年的 ImageNet 大規模視覺識別挑戰賽&#xff08;ILSVRC&#xff0…

Python面試題及詳細答案150道(116-125) -- 性能優化與調試篇

《前后端面試題》專欄集合了前后端各個知識模塊的面試題,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs,nodejs,mangoDB,SQL,Linux… 。 前后端面試題-專欄總目錄 文章目錄 一、本文面試題目錄 116. 如何查找Python程序的…

C++11 智能指針的使?及其原理

目錄 1. 智能指針的使?場景分析 2. RAII和智能指針的設計思路 3. C標準庫智能指針的使? 4. 智能指針的原理 5. shared_ptr和weak_ptr 5.1 shared_ptr循環引?問題 5.2 weak_ptr 6. shared_ptr的線程安全問題 7. C11和boost中智能指針的關系 8. 內存泄漏 8.1 什么是…

【Linux】Linux進程狀態和僵尸進程:一篇看懂“進程在忙啥”

前言&#xff1a;歡迎各位光臨本博客&#xff0c;這里小編帶你直接手撕Make/Makefile (自動化構建)&#xff0c;文章并不復雜&#xff0c;愿諸君耐其心性&#xff0c;忘卻雜塵&#xff0c;道有所長&#xff01;&#xff01;&#xff01;&#xff01; **&#x1f525;個人主頁&a…