網絡基礎_02

1.ARP協議

地址解析協議(Address Resolution Protocol)

已知對方的三層ip地址,需要二層mac地址


?當一臺設備(請求方)需要知道某個 IP 地址對應的 MAC 地址時,會使用 ARP封裝一個數據幀。這臺設備的網絡層以自己的 IP 地址作為源 IP 地址、以目的設備(被請 求方)的 IP 地址作為目的 IP 地址、以自己的 MAC 地址作為源 MAC 地址、以廣播 MAC 地址作為目的 MAC 地址在本地網絡中發送一個 ARP 廣播消息,其目的是在本地網絡 中尋找數據包目的 IP 地址對應的 MAC 地址.

工作過程

1) 主機A首先查看自己的ARP表,如果ARP表中含有主機B對應的ARP表項,則主機A直接利用ARP表中的MAC地址,對IP數據包進行幀封裝,并將數據包發送給主機B。

(2) 如果主機A在ARP表中找不到對應的MAC地址,則將緩存該數據報文,然后以廣播方式發送一個ARP請求報文。ARP請求報文中的發送端IP地址和發送端MAC地址為主機A的IP地址和MAC地址,目標IP地址和目標MAC地址為主機B的IP地址和全0的MAC地址。由于ARP請求報文以廣播方式發送,該網段上的所有主機都可以接收到該請求,但只有被請求的主機(即主機B)會對該請求進行處理。

(3) 主機B比較自己的IP地址和ARP請求報文中的目標IP地址,當兩者相同時進行如下處理:將ARP請求報文中的發送端(即主機A)的IP地址和MAC地址存入自己的ARP表中。之后以單播方式發送ARP響應報文給主機A,其中包含了自己的MAC地址。

(4) 主機A收到ARP響應報文后,將主機B的MAC地址加入到自己的ARP表中以用于后續報文的轉發,同時將IP數據包進行封裝后發送出去。

免費ARP

功能:重復地址探測

主機被分配了IP地址或者IP地址發生變更后,必須立刻檢測其所分配的IP地址在網絡上是否是唯一的,以避免地址沖突。主機通過發送ARP Request報文來進行地址沖突檢測。

當以一臺設備的接口由 down-> up 的瞬間向同一局域網內的設備發送一個arp 報文。

源ip:本機ip

源mac:本機mac

目標mac:ff:ff:ff

目標IP:本機IP

??

為了檢驗局域網下是否由相同的ip?

代理arp

?代理ARP(Proxy-arp)的原理就是當出現跨網段的ARP請求時,路由器將自己的MAC返回給發送ARP廣播請求發送者,實現MAC地址代理(善意的欺騙),最終使得主機能夠通信。

?把AR2的兩個接口開啟代理arp,ar1就能訪問到ar3了,但其實是只能訪問到AR2,借助AR2訪問對方。

2.ping 過程

成幀:一個數據若想被發送出去,那么這個數據必須完成數據幀格式的封裝(成幀)否則,沒有資格被發送出去

數據ping過程

  1. 發送方先封裝數據包,由于數據包需要目標MAC
  2. 先在自己的arp表中找,如果沒有
  3. 發送一個廣播的arp,尋找目標的mac
  4. 目標收到后,發送響應arp,發送發獲取到mac
  5. 封裝數據發送數據.

3.傳輸層TCP/UDP

1.TCP?

TCP全稱傳輸控制協議,必須對數據的傳輸進行控制。

tcp數據包

三次握手

第一次握手:當計算機 A 想要和計算機 B 建立連接時,會封裝一個數據段,該數據段

的 SYN 位置位,表示計算機 A 希望與計算機 B 建立連接。此時 TCP 為序列號字段隨機

生成一個值來代表第 1 個數據字節的序列號,這里用 a 表示ACK 未置位確認號為 0

第二次握手:當計算機 B 收到數據段時,會封裝一個數據段。這個數據段的 SYN

位和 ACK 位都置位,因為計算機 B 既需要確認計算機 A 的建立連接請求,又需要向

計算機 A 請求連接。SYN 位置位,TCP 為序列號字段隨機生成一個值來代表第 1 個數

據字節的序列號,這里用 b 表示。ACK 位置位,確認已接收序列號為 a 的數據段。

但是,該數據段沒有數據部分,因此計算機 B 等待接收的是下一個數據段,即確認

號為 a+1。

第三次握手:當計算機 A 收到 SYN, ACK 數據段時,會封裝一個 ACK 數據段來確認

計算機 B 的建立連接請求。這個數據段的 SYN 位未置位,因此序列號字段不再隨機生成,

而是計算機 B 第二次握手中的確認號,即 a+1;ACK 位置位,確認接收到序列號為 b 的

數據段,即確認號為 b+1。

四次握手

第一次握手:當計算機 A 想要與計算機 B 斷開連接時,會封裝一個 FIN 數據段, 表示之后沒有數據要傳輸了。該數據段的 FIN 置位,表示計算機 A 希望斷開和計算機 B

之間的連接。

第二次握手:當計算機 B 收到 FIN 數據段時,會封裝一個 ACK 數據段來確認計算 機 A 的斷開連接請求。

第三次握手:同時,計算機 B 也需要封裝一個 FIN 數據段來發起斷開連接請求,并且把該數據段發送給計算機 A。

第四次握手:計算機 A 使用 ACK 數據段確認自己收到計算機 B 發來的 FIN 數據段

?seq:信息發送的次序,
ack:確認信息,ack=M+1:表示 seq=M的數據包已經收到,要接受M+1的數據包了

ack對seq的回復

UDP?

UDP全稱為用戶數據報協議。UDP 為應用程序提供了一種無需建立連接就可以發送封裝的 IP?數據包的方法

UDP數據包


小白一枚,水平有限,如有錯誤,歡迎指教。。。

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

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

相關文章

華為RH2288H V3服務器iBMC的SSL證書續期

本文對華為RH2288H V3服務器iBMC的SSL證書續期,以避名登錄告警提示及主機狀態異常。 一、檢查現網服務器iBMC的SSL證書到期時間 登錄iBMC,點擊配置--SSL證書,如下: 可以看到本服務器SSL證書將于今年7月22日到期。 二、聯系廠家…

【第四節】C/C++數據結構之樹與二叉樹

目錄 一、基本概念與術語 二、樹的ADT 三、二叉樹的定義和術語 四、平衡二叉樹 4.1 解釋 4.2 相關經典操作 4.3 代碼展示 一、基本概念與術語 樹(Tree)是由一個或多個結點組成的有限集合T。其中: 1 有一個特定的結點,稱為該樹的根(root)結點; 2 …

【Linux】進程2——管理概念,進程概念

1.什么是管理? 那在還沒有學習進程之前,就問大家,操作系統是怎么管理進行進程管理的呢? 很簡單,先把進程描述起來,再把進程組織起來! 我們拿大學為例子 最典型的管理者——校長最典型的被管理…

來自工業界的知識庫 RAG 服務(三),FinGLM 競賽獲獎項目詳解

背景介紹 前面介紹過工業界的 RAG 服務 QAnything 和 RagFlow 的詳細設計,也介紹過來自學術界的 一些優化手段。 前一陣子剛好看到智譜組織的一個金融大模型比賽 FinGLM,主要做就是 RAG 服務的競賽,深入研究了其中的幾個獲獎作品&#xff…

Pyramid Vision Transformer, PVT(ICCV 2021)原理與代碼解讀

paper:Pyramid Vision Transformer: A Versatile Backbone for Dense Prediction without Convolutions official implementation:GitHub - whai362/PVT: Official implementation of PVT series 存在的問題 現有的 Vision Transformer (ViT) 主要設計…

C++結合ffmpeg獲取聲音的分貝值

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 文章目錄 前言一、分貝是什么?1.功率量2.場量 二、實際操作1.分析wav文件2.讀取麥克風 總結 前言 最近面對一個需求,就是需要傳遞聲音文件到模型里推…

鏈表的回文結構OJ

鏈表的回文結構_牛客題霸_牛客網對于一個鏈表,請設計一個時間復雜度為O(n),額外空間復雜度為O(1)的算法,判斷其是否為。題目來自【牛客題霸】https://www.nowcoder.com/practice/d281619e4b3e4a60a2cc66ea32855bfa?tpId49&&tqId29370&rp1&a…

CodeMeter助力Hilscher,推動實現全球智能制造連接解決方案

Hilscher的旗艦店為開放工業4.0聯盟(OI4)社區提供了應用商店的便捷和開放性,將這一概念引入工業領域。該商店依托CodeMeter的許可證管理和加密保護,為工業用戶提供了豐富的應用和解決方案庫,滿足他們在車間自動化和連接…

2020年06月C語言二級真題

計算矩陣邊緣元素之和 題目描述 輸入一個整數矩陣,計算位于矩陣邊緣的元素之和。 所謂矩陣邊緣的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。 輸入格式 第一行分別為矩陣的行數n和列數m,兩者之間以一個空格分開。 接下來輸…

WPF中讀取Excel文件的內容

演示效果 實現方案 1.首先導入需要的Dll(這部分可能需要你自己搜一下) Epplus.dll Excel.dll ICSharpCode.SharpZipLib.dll 2.在你的解決方案的的依賴項->添加引用->瀏覽->選擇1中的這幾個Dll點擊確定。(添加依賴) 3.然后看代碼內容 附上源碼 using Excel; usi…

計網復習資料

一、選擇題(每題2分,共40分) 1. Internet 網絡本質上屬于( )網絡。 A.電路交換 B.報文交換 C.分組交換 D.虛電路 2.在 OSI 參考模型中,自下而上第一個提供端到端服務的是( )。 A.數據鏈路層 B.傳輸…

Thinkphp使用Elasticsearch查詢

在Thinkphp中調用ES,如果自己手寫json格式的query肯定是很麻煩的。我這里使用的是ONGR ElasticsearchDSL 構建 ES 查詢。ongr ElasticsearchDSL 的開源項目地址:GitHub - ongr-io/ElasticsearchDSL: Query DSL library for Elasticsearch。ONGR Elastics…

100V 15A TO-252 N溝道MOS管 HC070N10L 惠海

MOS管的工作原理是基于在P型半導體與N型半導體之間形成的PN結,通過改變柵極電壓來調整溝道內載流子的數量,從而改變溝道電阻和源極與漏極之間的電流大小。由于MOS管具有輸入電阻高、噪聲小、功耗低等優點,它們在大規模和超大規模集成電路中得…

package.json中resolutions的使用場景

文章目錄 用途配置示例使用方法注意事項和peerDependencies有什么不同peerDependenciesresolutions 總結 ?創作者:全棧弄潮兒 🏡 個人主頁: 全棧弄潮兒的個人主頁 🏙? 個人社區,歡迎你的加入:全棧弄潮兒的…

git【工具軟件】分布式版本控制工具軟件

一、Git 的介紹 git軟件的作用:管理軟件開發項目中的源代碼文件。 常用功能: 倉庫管理、文件管理、分支管理、標簽管理、遠程操作 功能指令: add,commit,log,branch,tag,remote…

Ubuntu Linux LTS 24.04 AMD64 桌面版安裝記錄

下載iso aria2c -x 4 -s 12 "https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/24.04/ubuntu-24.04-desktop-amd64.iso" "https://mirrors.163.com/ubuntu-releases/24.04/ubuntu-24.04-desktop-amd64.iso" "https://mirrors.zju.edu.cn/ubuntu…

[pyradiomics][python]pyradiomics所有whl文件下載地址匯總

源碼地址:https://github.com/AIM-Harvard/pyradiomics pyradiomics是一個開源的Python軟件包,專門用于從醫學影像中提取高通量的定量特征,這些特征被稱為影像組學(Radiomics)特征。以下是關于pyradiomics的詳細介紹: 一、基本概…

華為端云一體化開發 (起步1.0)(HarmonyOS學習第七課)

官方文獻: 為豐富HarmonyOS對云端開發的支持、實現端云聯動,DevEco Studio推出了云開發功能,開發者在創建工程時選擇云開發模板,即可在DevEco Studio內同時完成HarmonyOS應用/元服務的端側與云側開發,體驗端云一體化協…

大數據面試題第二期*6

題1、Namenode掛了怎么辦? 方法一:將SecondaryNameNode中數據拷貝到namenode存儲數據的目錄。 方法二:使用importCheckpoint選項啟動namenode守護進程,從而將SecondaryNameNode中數據拷貝到namenode目錄中。 題2、Hadoop 的namenode 宕機怎么…

論文代碼解讀STPGNN

1.前言 本次代碼文章來自于《2024-AAAI-Spatio-Temporal Pivotal Graph Neural Networks for Traffic Flow Forecasting》,基本模型結構如下圖所示: 文章講解視頻鏈接 代碼開源鏈接 接下來就開始代碼解讀了。 2.代碼解讀 class nconv(nn.Module):de…