TCPIP之常用協議

一、TCPIP之網絡支撐協議

1.ARP

ARP是網絡層協議,在同一廣播域內,將IP地址解析成MAC地址.

  • ?1.1 無故ARP

請求型無故ARP

設備在網絡中不管是自動獲取ip地址還是手動配置ip地址,設備都會發送請求型無故ARP檢查這個ip地址是否有重復的。

應答型無故ARP?

--一般是網關設備發。

1.2 代理ARP--已被網關代替

代理ARP(Proxy ARP)工作過程

當主機A(無默認網關配置)嘗試與不同子網的主機B通信時,主機A誤認為B在同一局域網,遂發起ARP請求查詢B的MAC地址。此時,路由器(開啟代理ARP功能)攔截該廣播請求:

  1. 路由器檢查目標IP(B的IP)是否屬于其直連的其他子網;

  2. 若是,路由器以自己的MAC地址單播回復ARP響應給主機A;

  3. 主機A將發往B的數據幀封裝目的MAC為路由器接口MAC

  4. 路由器收到數據后,按正常路由流程轉發至目標子網。
    本質:路由器“欺騙”主機A,代理了跨網段主機的ARP響應職責,使無網關配置的主機能與外網通信。

1.3 RARP

抓包分析

2.ARP表

不同設備展示ARP表的命令。

3.? ICMP? 互聯網控制消息協議

ICMP工作在網絡層,封裝于IP,協議號1,用于發送錯誤消息和控制消息。

你可以把 ICMP 當成網絡里的?“信使”?或?“反饋員”

  • 當網絡里的數據包出問題(比如到不了目標、超時、路徑不對),ICMP 會發 “報錯信” 告訴源主機哪里錯了
  • 需要測試網絡通不通(Ping)、查數據包走哪條路(Traceroute),ICMP 會配合發 “探測信” 和 “回應信”。

3.1? ICMP報文類型

分類類型值報文名稱功能說明常見細分代碼(Code)及含義
差錯報告報文3目的不可達(Destination Unreachable)數據包無法送達目標時發送,告知源主機具體原因0:網絡不可達
1:主機不可達
3:端口不可達
6:目標網絡未知
7:目標主機未知
11超時(Time Exceeded)數據包因 TTL 過期或分片重組超時而被丟棄0:TTL 過期(跳轉次數超過限制)
1:分片重組超時(未收到所有分片)
12參數問題(Parameter Problem)IP 報文頭部存在錯誤(如字段無效),無法處理時發送0:IP 頭部參數錯誤(如版本號不正確)
1:缺少必要的選項字段
4源抑制(Source Quench)告知源主機降低發送速率(因接收方緩存已滿),現代網絡中較少使用無細分代碼
5重定向(Redirect)路由器告知源主機更優路由,引導調整數據包發送路徑0:網絡重定向
1:主機重定向
2:網絡和端口重定向
3:主機和端口重定向
查詢報文8回顯請求(Echo Request)測試目標主機可達性(Ping 命令核心),包含隨機數據無細分代碼(需接收方回復類型 0 的報文)
0回顯應答(Echo Reply)對回顯請求的響應,返回請求中的隨機數據無細分代碼
13時間戳請求(Timestamp Request)用于同步網絡時間或測量傳輸延遲,包含發送時間戳無細分代碼(需接收方回復類型 14 的報文)
14時間戳應答(Timestamp Reply)對時間戳請求的響應,包含接收和發送時間戳無細分代碼
10路由請求(Router Solicitation)主機啟動時發現局域網內的路由器,獲取網關信息無細分代碼(需路由器回復類型 9 的報文)
9路由通告(Router Advertisement)對路由請求的響應,包含路由器 IP 地址等信息無細分代碼
17地址掩碼請求(Address Mask Request)主機獲取所在網絡的子網掩碼(無 DHCP 時使用)無細分代碼(需路由器回復類型 18 的報文)
18地址掩碼應答(Address Mask Reply)對地址掩碼請求的響應,返回子網掩碼信息無細分代碼

ICMP協議以及報文講解(ICMP查詢報文、ICMP差錯報文)_icmp報文-CSDN博客

3.2 ping命令

3.3Trace Route

1. Traceroute 基本作用與目的

Traceroute 是網絡排障、路徑分析的常用工具,用于追蹤數據包從源主機到目標主機經過的網絡路由( hops,跳數 ),幫我們理清 “數據怎么從本地傳到目標,中途經過哪些設備”,排查網絡延遲、不通等問題。

2. TTL(生存時間)的關鍵機制
  • TTL 本質:IP 數據包頭部的一個字段(8 位),初始值由操作系統 / 設備設置(如常見 64、128 等),每經過一個路由器(路由跳),TTL 值減 1 。
  • 核心邏輯若 TTL 減到 0,數據包還未到達目標,路由器會丟棄該包,并向主機發送 “ICMP TTL 超時” 消息?,告知 “我是第 X 跳路由器,包在這超時被扔啦” 。
3.此情況涉及兩種ICMP類型
  • ICMP TTL 超時:路由器收到 TTL=0 的包時發送,用于 “上報” 路徑中的路由跳。
  • ICMP 回顯應答:目標主機收到 TTL 未超時、且是自己的包時(如最終 Traceroute 探測包),回復此消息,標志 “到達終點” 。

4.目標不可達類型

三、TCPIP應用協議

1.常見TCP應用協議

2. FTP-文件傳輸協議

1.基本概念

2.FTP兩種文件傳輸模式

3.FTP兩種數據傳輸模式

4.FTP的連接方式

主動模式是服務器主動發起數據連接,在客戶端有嚴格防火墻時連接失敗;
被動模式是客戶端主動發起數據連接,解決了客戶端防火墻的限制, 當服務器也開啟防火墻時,服務器支持動態開放端口支持被動FTP連接。

4. telnet-遠程登錄協議

1.基本概念

2.常見UDP應用協議

1.1 DNS??

Hosts 文件

作用:主機本地的 “小字典”,存主機名和 IP 的對應關系,系統訪問網絡時,會先查 Hosts 找對應,能實現簡單的本地域名解析 。

DNS 域名解析基礎

架構與協議采用客戶端 / 服務器(C/S)架構,基于 UDP 協議,服務器默認用 53 端口通信 。客戶端發域名查詢請求,服務器返回 IP,讓域名和 IP “掛鉤” 。

3.域名層級劃分

根域(.)→ 頂級域(TLD)→ 二級域(SLD)→ 子域(Subdomain)

  • 例:mail.google.com.

    • .:根域(通常省略)

    • com:頂級域(gTLD:通用域 / ccTLD:國家域如?.cn

    • google:二級域(注冊的網站主體)

    • mail:子域(自定義分區)

4.域名層級 vs. 對應的 DNS 服務器
域名層級代表什么對應的 DNS 服務器該服務器的職責
根域 (Root Domain)域名體系的最頂層,通常用一個點?.?表示(如?www.example.com.?最后的點,通常省略)根 DNS 服務器管理所有頂級域 (TLD)?的信息。它知道每個頂級域(如?.com,?.org,?.cn?等)由哪些?TLD 服務器?負責。
頂級域 (Top-Level Domain, TLD)緊跟在根域后面的部分(如?.com,?.org,?.net,?.cn,?.ukTLD 服務器管理特定頂級域下注冊的所有二級域。它知道每個二級域(如?example.com,?google.com)由哪些權威 DNS 服務器負責。
二級域 (Second-Level Domain, SLD)緊跟在頂級域后面的部分(如?example?in?example.com權威 DNS 服務器管理特定二級域及其所有子域(如?www.example.com,?mail.example.com,?blog.example.com)的最終記錄(IP地址、郵件服務器地址等)。
5.. DNS(域名系統)查詢方式

兩種查詢的核心區別

Q1:?一次完整的DNS解析過程?

核心要點:

  1. 用戶到本地 DNS 服務器:遞歸查詢?(必須完成)

    • 當你的設備(客戶端)需要解析一個域名(如?www.example.com)時,它首先向預先配置好的本地 DNS 服務器發起查詢。

    • 關鍵點 1:?客戶端向本地 DNS 服務器發出的是一個?遞歸查詢?請求。這意味著客戶端要求本地 DNS 服務器:“你必須給我最終答案(IP 地址),或者告訴我找不到。你自己想辦法去問,別讓我再去找別人問。

    • 關鍵點 2:?如果本地 DNS 服務器在自己的緩存中恰好有這個域名的最新記錄,它會立即將 IP 地址返回給客戶端(遞歸查詢完成)。

    • 關鍵點 3:?如果本地 DNS 服務器的緩存中沒有這個記錄(或者記錄過期了),那么本地 DNS 服務器必須履行它對客戶端的遞歸承諾——它需要自己去找到答案。這時,它就需要代表客戶端發起查詢,但它的查詢方式變成了?迭代查詢

  2. 本地 DNS 服務器到各級 DNS 服務器:迭代查詢?(由本地 DNS 執行)

    • 因為本地 DNS 服務器沒有答案,它開始代表客戶端進行查找。

    • 關鍵點 4:?本地 DNS 服務器不會向根服務器、頂級域服務器、權威服務器發起遞歸查詢相反,它發起的是?迭代查詢

    • 過程:

      • 迭代查詢根服務器:?本地 DNS 服務器首先向?根 DNS 服務器?發送查詢?www.example.com?的請求。根服務器不會直接給出答案,而是查看域名后綴(.com),然后迭代響應:“我不知道?www.example.com?的 IP,但我知道負責?.com?域的頂級域(TLD)服務器有哪些。這里是它們的地址(例如?a.gtld-servers.net?等)。”

      • 迭代查詢 TLD 服務器:?本地 DNS 服務器選擇其中一個?.com?TLD 服務器,向其發送相同的查詢。TLD 服務器查看下一級(example.com),然后迭代響應:“我不知道?www.example.com?的 IP,但我知道負責?example.com?域的權威 DNS 服務器有哪些。這里是它們的地址(例如?ns1.example.com?等)。”

      • 迭代查詢權威服務器:?本地 DNS 服務器選擇其中一個?example.com?的權威 DNS 服務器,向其發送查詢?www.example.com?的請求。這次,權威服務器在自己的區域數據中查找?www.example.com?的記錄。

      • 最終答案:?如果記錄存在,權威服務器會直接將?www.example.com?對應的?IP 地址?返回給本地 DNS 服務器(這是一個?非遞歸/迭代?響應,因為它直接給出了最終答案)。如果記錄不存在,它會返回一個錯誤(如 NXDOMAIN)。

  3. 本地 DNS 服務器返回結果給客戶端

    • 一旦本地 DNS 服務器從權威服務器那里得到了最終的 IP 地址(或錯誤信息),它就會:

      • 將這個記錄緩存起來(根據記錄的 TTL 時間)。

      • 履行它對客戶端的遞歸承諾,將最終的 IP 地址(或錯誤信息)返回給最初發起請求的客戶端

總結順序與關系:

  1. 客戶端發起:?遞歸查詢?(目標:本地 DNS 服務器)?-> “你必須給我最終答案!”

  2. 本地 DNS 處理:

    • 情況 A (緩存命中):?直接返回結果給客戶端(遞歸完成)。

    • 情況 B (緩存未命中):

      • 本地 DNS 服務器代表客戶端發起?迭代查詢?(目標:根 DNS 服務器)?-> “你知道?.com?該問誰嗎?” (得到 TLD 服務器地址)

      • 本地 DNS 服務器發起?迭代查詢?(目標:.com TLD 服務器)?-> “你知道?example.com?該問誰嗎?” (得到權威服務器地址)

      • 本地 DNS 服務器發起?迭代查詢?(目標:example.com 權威服務器)?-> “www.example.com?的 IP 是什么?” (得到最終 IP 地址)

  3. 本地 DNS 服務器返回:?將最終得到的 IP 地址(或錯誤)作為?遞歸查詢?的答案返回給客戶端

1.2 反向DNS查詢

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

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

相關文章

網絡之路24:VLAN基礎實驗

正文共:2345 字 18 圖,預估閱讀時間:3 分鐘目錄網絡之路第一章:Windows系統中的網絡0、序言1、Windows系統中的網絡 1.1、桌面中的網卡 1.2、命令行中的網卡 1.3、路由表 1.4、家用路由器網絡之路第二章:認識企業設備2…

基于Verilog的神經網絡加速器設計

本設計實現了一個高效的神經網絡加速器,專注于卷積神經網絡(CNN)的核心計算功能。該設計具有以下創新點: 并行處理架構:同時處理多個卷積窗口,提高計算吞吐量 動態權重加載:支持運行時更新卷積核權重 流水線優化:卷積、激活、池化三級流水線設計 可配置參數:支持不同尺寸…

基于springboot的零食商城的設計與實現/零食銷售系統的設計與實現

用戶:注冊,登錄,商品信息,團購商品,公告資訊,后臺管理,在線客服,購物車,個人中心管理員:登錄,個人中心,用戶管理,商品類型…

《劍指offer》-算法篇-位運算

題目二進制中“1”的個數代碼實現二進制中“1”的個數題目描述:輸入一個整數,輸出該數二進制表示中1的個數。其中負數用補碼表示。思路:求“1”的個數等價于求n-1與n進行“與”運算后不等于0所需要的運算次數。注意:這里的整數可能…

項目上線中的跨域問題

本文將深入解析跨域問題的本質,并提供實用的解決方案。引言 跨域問題可以說是前端開發者的"老朋友"了,特別是在項目從開發環境遷移到生產環境時,這個問題更是頻繁出現。許多開發者對跨域的理解停留在表面,導致在項目上線…

dubbo應用之3.0新特性(響應式編程)(2)

一、介紹 Dubbo 3.0 的響應式編程基于 Triple 協議和 Reactor/RxJava 實現,支持全鏈路異步非阻塞通信。它通過引入 Mono、Flux 等響應式類型,打通跨進程的數據流式傳輸,天然支持反壓、限流等控制能力。相比傳統基于 CompletableFuture 的異步方式,響應式編程更適用于高并發…

力扣-22.括號生成

題目鏈接 22.括號生成 class Solution {List<String> res new ArrayList<>();StringBuilder path new StringBuilder();void backtracking(int n, int left, int right) {if (left right 2 * n) {res.add(path.toString());return;}if (left < n) {path.a…

架構實戰——互聯網架構模板(“網絡層”技術)

目錄 一、負載均衡 1.1、DNS 1.1.1、DNS 負載均衡的優點 1.1.2、DNS 負載均衡的缺點 1.2、Nginx 、LVS 、F5 1.2.1、軟件和硬件的區別 1.2.2、4 層和 7 層的區別 二、CDN 三、多機房 3.1、同城多機房 3.2、跨城多機房 3.3、跨國多機房 四、多中心 本文來源:極客時間vip課程筆記…

TCP/IP 網絡編程面試題及解答

在Qt/C面試中&#xff0c;若涉及“熟悉TCP/IP網絡編程”&#xff0c;面試官通常會結合TCP/IP協議基礎、Qt網絡編程框架&#xff08;如Qt Network模塊&#xff09;、C網絡編程實現以及實際場景問題來提問。以下是常見面試題及解答&#xff1a; 一、TCP/IP協議基礎 1. TCP和UDP的…

unity開發中Hash、Queue、LinkedList簡單介紹

在Unity游戲開發中&#xff0c;除了Dictionary和List外&#xff0c;以下三種數據結構能高效解決特定問題場景&#xff1a;1. HashSet<T>&#xff1a;閃電級存在性檢查 核心特點&#xff1a;基于哈希表實現的高效集合&#xff0c;元素唯一且無視順序 優勢&#xff1a; O(1…

智慧園區:科技與生活的完美融合

在城市的喧囂中&#xff0c;我們常常渴望一片寧靜而充滿活力的綠洲。如今&#xff0c;隨著科技的飛速發展&#xff0c;智慧園區應運而生&#xff0c;它不僅滿足了我們對美好生活的向往&#xff0c;更以其獨特的魅力&#xff0c;成為現代城市中一道亮麗的風景線。今天&#xff0…

繼續打卡day6

383. 贖金信 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:bool canConstruct(string ransomNote, string magazine) {unordered_map<char, int> us;for(auto c: ransomNote){us[c]; // 將字符串存儲}for(auto c: magazine){if(us.count(c)){us[c]-…

LIMA:大語言模型對齊的“少即是多”革命——原理、實驗與范式重構

“千樣本激活千億參數&#xff1a;重新定義大模型對齊的本質” LIMA&#xff08;Less Is More for Alignment&#xff09; 是由 Meta AI 聯合 卡內基梅隆大學 等機構于 2023年 提出的突破性大模型對齊框架&#xff0c;其核心顛覆了傳統對齊需海量數據的認知&#xff0c;證明僅用…

vite.config.js常用配置

vite.config.js常用配置 import { defineConfig } from vite import { resolve } from "path"; import vue from vitejs/plugin-vueexport default defineConfig({plugins: [vue(), ], // 配置需要使用的插件列表base: ./, // 在生產中服務時的基本公共路徑publicD…

JVM知識點(2)

目錄 Java中可作為GC Roots的引用有哪幾種&#xff1f; finalize方法 垃圾回收算法 標記-清除 標記-復制 標記-整理 分代收集算法 為什么要用分代收集 標記復制的標記過程和復制會不會停頓 MinorGC&#xff0c;MajorGC&#xff0c;MixedGC&#xff0c;FullGC FullGC…

Java HashMap中的compute及相關方法詳解:從基礎到Kafka Stream應用

HashMap是Java集合框架中最常用的數據結構之一&#xff0c;它提供了高效的鍵值對存儲和檢索功能。在Java8中&#xff0c;HashMap引入了一系列新的原子性更新方法&#xff0c;包括compute()、computeIfAbsent()和computeIfPresent()等&#xff0c;這些方法極大地簡化了在Map中進…

【php中ssti模板注入講解】

php中場景模板 1. Smarty 使用安全模式來執行不信任的模板,只運行PHP白名單里的函數。 2. Twig 與Smarty類似,不過無法利用該模板的SSTI調用靜函數。 php常見模板入門 Smarty 不使用預先準備好的模板 使用預先準備好的模板 對值進行拼接后使用模板展示 設置在模板中…

Redis學習07-Redis的過期策略

Redis 過期策略 什么是過期策略 Redis 的過期策略用于管理設置了過期時間&#xff08;TTL&#xff09;的鍵&#xff0c;確保在鍵過期后能夠被及時刪除&#xff0c;從而釋放內存 整體策略 Redis 采用的是定期刪除惰性刪除的組合策略 1. 定期刪除 原理&#xff1a;周期性的從過期…

深入解讀c++(命名空間)

目錄 1關于命名空間 1.1是什么 1.2解決了什么問題 2.命名空間的定義 2.2命名空間的嵌套定義 3命名空間的特點 3.1命名空間不會影響生命周期 3.2命名空間只能在全局域里定義&#xff0c;當然嵌套定義時例外。 3.3在不同文件中定義相同名稱的命名空間 4.命名空間的使用 …

ClickHouse高性能實時分析數據庫-高性能的模式設計

告別等待&#xff0c;秒級響應&#xff01;這不只是教程&#xff0c;這是你駕馭PB級數據的超能力&#xff01;我的ClickHouse視頻課&#xff0c;凝練十年實戰精華&#xff0c;從入門到精通&#xff0c;從單機到集群。點開它&#xff0c;讓數據處理速度快到飛起&#xff0c;讓你…