【计算机网络】DNS/ICMP协议/ping指令
目录DNS 系统ICMP 协议ping 指令DNS 系统DNS 系统诞生的背景TCP/IP 中使用 IP 地址和端口号来确定网络上唯一的一台主机的一个程序. 但是 IP 地址不方便记忆. 于是人们发明了一种叫域名的东西, 是一个字符串, 并且使用hosts 文件来描述域名和 IP 地址的对应关系。最初, 通过互连网信息中心 (SRI-NIC) 来管理这个 hosts 文件的.如果一个新计算机要接入网络, 或者某个计算机 IP 变更, 都需要到信息中心申请变更 hosts 文件.其他计算机也需要定期下载更新版本的 hosts 文件才能正确上网.这样就太麻烦了, 于是产生了DNS系统一个组织的系统管理机构, 维护系统内的每个主机的 IP 和域名的对应关系。至今,我们的计算机上仍然保留了hosts文件Linux 系统下在 /etc/hosts.在域名解析的过程中仍然会优先查找hosts文件的内容.域名简介DNS 是一个全球分布式数据库,域名按层级组织,从右向左读根 → 顶级域 → 二级域 → 子域www. google .com . ↑ ↑ ↑ ↑ 子域 二级域 顶级域 根省略层级示例说明根域.点全球 13 组根服务器实际上有上百台物理机器所有 DNS 查询的起点顶级域TLD.com、.org、.cn、.uk通用 TLD如 .com和国家 TLD如 .cn二级域google、baidu域名所有者可自由注册的部分子域www、mail二级域持有者自行划分DNS 查询简介以你在浏览器 url 输入框输入www.baidu.com为例用户电脑向本地DNS服务器通常是 ISP 提供的 DNS 服务器如202.96.128.86或公共 DNS 如8.8.8.8发出请求“www.baidu.com的 IP 是多少”本地DNS服务器从根服务器开始查问根服务器“www.baidu.com的 IP 是多少”根不直接回答但告诉你这个域名归 .com 服务器管理去找.com服务器吧它的地址是 X.X.X.X。问.com服务器“www.baidu.com的 IP 是多少”.com 告诉你这个域名归 baidu.com 服务器管理它的地址是 Y.Y.Y.Y。问baidu.com服务器“www.baidu.com的 IP 是多少”baidu.com 服务器给出最终答案www.baidu.com 1.2.3.4本地DNS服务器把结果1.2.3.4 返回给用户电脑。用户电脑的浏览器用这个 IP 地址访问百度服务器。DNS 域名解析的过程使用的是 UDP 协议解析如果成功本地 DNS 服务器、客户端都会对 DNS 查询结果做缓存方便下次查询windows 可以在命令行输入ipconfig /displaydns查询本地 DNS 缓存。ICMP 协议ICMP 协议是一个网络层协议。一个新搭建好的网络, 往往需要先进行一个简单的测试, 来验证网络是否畅通; 但是 IP 协议并不提供可靠传输. 如果丢包了, IP 协议并不能通知传输层是否丢包以及丢包的原因。ICMP 正是提供这种功能的协议; ICMP 主要功能包括:确认 IP 包是否成功到达目标地址.通知在发送过程中 IP 包被丢弃的原因允许距离故障事发地最近的主机设备返回应答ICMP 也是基于 IP 协议工作的. 但是它并不是传输层的功能, 因此人们仍然把它归结为网络层协议;ICMP 只能搭配 IPv4 使用. 如果是 IPv6 的情况下, 需要用 ICMPv6;ICMP的报文格式 (选学)字段长度说明类型1 字节消息类型如 8请求0应答3不可达11超时代码1 字节同一类型下的细分如“网络不可达”vs“主机不可达”校验和2 字节覆盖整个 ICMP 报文的校验数据部分可变不同消息类型携带不同内容ICMP 没有端口号这是很多初学者容易搞混的点。端口号如 80、443是 TCP/UDP 的概念而 ICMP 位于网络层到达目的主机的网络层后就可以返回不需要端口号。它通过类型Type和代码Code来区分不同的消息。ping 指令ICMP 和ping指令 是网络故障排查中最常用的一对搭档。简单来说ICMP 是协议ping是使用这个协议的工具。ping本质上就是发送 ICMP Echo 请求Type8并等待 Echo 应答Type0。ping输出示例以 Linux/Windows 为例$ ping www.baidu.com PING www.baidu.com (14.215.177.38) 56(84) bytes of data. 64 bytes from 14.215.177.38: icmp_seq1 ttl52 time12.3 ms 64 bytes from 14.215.177.38: icmp_seq2 ttl52 time12.1 ms 64 bytes from 14.215.177.38: icmp_seq3 ttl52 time12.4 ms ^C --- www.baidu.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev 12.1/12.2/12.4/0.1 ms输出字段含义字段含义icmp_seq请求序号用于检查丢包ttl生存时间每跳减1用于估算经过了多少路由器time往返时间RTTRound-Trip Time单位毫秒0% packet loss丢包率0% 表示网络稳定rtt min/avg/max/mdev最小/平均/最大/标准差抖动traceroute 指令traceroute也是一个网络诊断工具也是使用 ICMP 协议的的工具。用于追踪数据包从你的计算机到目标主机如网站或 IP 地址所经过的路径。它能显示数据包在网络中每一跳hop的 IP 地址和响应时间帮助你了解网络延迟和路由问题。

相关新闻

Material TextField 进阶指南:浮动占位符、错误校验与自动高度动画,快速提升 iOS 表单体验

Material TextField 进阶指南:浮动占位符、错误校验与自动高度动画,快速提升 iOS 表单体验

Material TextField 进阶指南:浮动占位符、错误校验与自动高度动画,快速提升 iOS 表单体验 【免费下载链接】Material A UI/UX framework for creating beautiful applications. 项目地址: https://gitcode.com/gh_mirrors/mat/Material Material…

2026/9/19 21:25:36 阅读更多 →
3条命令跑起TeslaMate:特斯拉自托管数据监控,记录进自己的库

3条命令跑起TeslaMate:特斯拉自托管数据监控,记录进自己的库

3条命令跑起TeslaMate:特斯拉自托管数据监控,记录进自己的库 【免费下载链接】teslamate A self-hosted data logger for your Tesla 🚘 [main maintainerJakobLichterfeld] 项目地址: https://gitcode.com/GitHub_Trending/te/teslamate 特斯拉官方App只能看…

2026/9/19 21:25:36 阅读更多 →
网站开发备案需要什么?选对服务商比技术更重要

网站开发备案需要什么?选对服务商比技术更重要

网站开发备案需要什么?选对服务商比技术更重要 网站做好了没人访问,这是很多运营人最头疼的事。你花了三个月时间,页面做得漂漂亮亮,代码也优化得挺好,结果丢到搜索引擎里,一个月过去了,流量还是个位数。这时候你才会意识到,问题不在设计,而在底层的域名、服务器和备案流程没理顺。很多老板问建站哪家好,其实选服…

2026/9/19 21:25:03 阅读更多 →

最新新闻

N_m3u8DL-RE:3 种方法下载加密流媒体视频与录制直播

N_m3u8DL-RE:3 种方法下载加密流媒体视频与录制直播

N_m3u8DL-RE:3 种方法下载加密流媒体视频与录制直播 【免费下载链接】N_m3u8DL-RE Cross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. English/简体中文/繁體中文. 项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE …

2026/9/19 22:18:02 阅读更多 →
eslint-plugin-unicorn 快照测试深度解析:prefer-dom-node-text-content 规则如何把 `.innerText` 改为 `.textContent`

eslint-plugin-unicorn 快照测试深度解析:prefer-dom-node-text-content 规则如何把 `.innerText` 改为 `.textContent`

eslint-plugin-unicorn 快照测试深度解析:prefer-dom-node-text-content 规则如何把 .innerText 改为 .textContent 【免费下载链接】eslint-plugin-unicorn More than 300 powerful ESLint rules 项目地址: https://gitcode.com/GitHub_Trending/es/eslint-plugi…

2026/9/19 22:18:02 阅读更多 →
PyTorch Lightning 中级调试指南:数据子集过拟合、梯度爆炸监控与自动求导异常检测

PyTorch Lightning 中级调试指南:数据子集过拟合、梯度爆炸监控与自动求导异常检测

PyTorch Lightning 中级调试指南:数据子集过拟合、梯度爆炸监控与自动求导异常检测 【免费下载链接】pytorch-lightning Pretrain, finetune ANY AI model of ANY size on 1 or 10,000 GPUs with zero code changes. 项目地址: https://gitcode.com/gh_mirrors/py…

2026/9/19 22:18:02 阅读更多 →
C语言课程设计:用链表和文件实现水电煤气管理系统

C语言课程设计:用链表和文件实现水电煤气管理系统

简介:面向C语言课程设计的水电煤气管理系统文档,是供高校学生与自学开发者参考的完整设计范例。资源围绕系统实现的关键环节展开,覆盖数据结构与算法选择,例如借助哈希表、链表和排序算法实现用户账户与消费记录的高效管理&#x…

2026/9/19 22:18:01 阅读更多 →
隔离环境养 OpenClaw,模型 API-Key 改走 TaoToken 通道行不行?

隔离环境养 OpenClaw,模型 API-Key 改走 TaoToken 通道行不行?

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/19 22:18:01 阅读更多 →
BrewUI:为 Homebrew 打造图形化包管理器,从架构到实战的完整拆解

BrewUI:为 Homebrew 打造图形化包管理器,从架构到实战的完整拆解

大家都说 Homebrew 是 macOS 上最值得装的包管理器,这句话我到现在都认,但有个前提:它默认只给“愿意在终端里敲命令的人”提供服务。我自己天天 brew install、brew upgrade,没觉得哪里不方便,直到有一次帮朋友配开发…

2026/9/19 22:17:01 阅读更多 →

日新闻

BP神经网络时序预测:滑窗长度与多窗口平均策略

BP神经网络时序预测:滑窗长度与多窗口平均策略

简介:面向机器学习、深度学习与数据建模学习者的一份完整研究文献,聚焦BP神经网络在农业产量预测中的应用。文档以1980—2018年全国棉花产量为样本,系统讲解数据归一化处理、激活函数原理、多层神经网络结构搭建及训练流程,展示敏…

2026/9/19 0:00:30 阅读更多 →
Transformer训练实时监控实战:基于MindSpore的损失曲线可视化方案

Transformer训练实时监控实战:基于MindSpore的损失曲线可视化方案

上个月调一个Deformable DETR模型,在单卡上要跑将近两天。第二天早上我下意识打开终端翻日志,发现loss从凌晨两点就开始往上爬,一路从0.8涨到1.35,整整六个小时没人发现。那六个小时的训练不仅白跑,还霸占着卡——等于…

2026/9/19 0:00:30 阅读更多 →
OpenCloud 中的 Go 类型安全转换库 spf13/cast:从零值回退到泛型 API 的完整实战指南

OpenCloud 中的 Go 类型安全转换库 spf13/cast:从零值回退到泛型 API 的完整实战指南

OpenCloud 中的 Go 类型安全转换库 spf13/cast:从零值回退到泛型 API 的完整实战指南 【免费下载链接】opencloud 🌤️ OpenCloud is the open source platform for file management, sharing and collaboration. Simple and sovereign. 项目地址: htt…

2026/9/19 0:00:30 阅读更多 →

周新闻

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验 【免费下载链接】ai The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and ag…

2026/9/19 3:59:36 阅读更多 →
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化 【免费下载链接】refine A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility. 项目地址: https://gitcode.com/GitH…

2026/9/19 3:53:08 阅读更多 →
Flutter应用改名全指南:从Android到iOS的配置与工具实践

Flutter应用改名全指南:从Android到iOS的配置与工具实践

刚接一个外包项目时,甲方要求把工程里临时用的应用名改成正式产品名。我本来觉得“改名”这种小事,打开配置文件改一行不就完了?结果真动手才发现,Flutter项目里“应用名称”根本不是一处配置,而是一整套散落在 Androi…

2026/9/19 4:02:43 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/16 22:31:27 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/19 17:50:38 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/16 22:32:59 阅读更多 →