一、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.comgoogle.com)由哪些权威 DNS 服务器负责。
二级域 (Second-Level Domain, SLD)紧跟在顶级域后面的部分(如 example in example.com权威 DNS 服务器管理特定二级域及其所有子域(如 www.example.commail.example.comblog.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;让你…