1. DNS

1.1 DNS介绍

TCP/IP 中使用 IP 地址和端口号来确定网络上的一台主机的一个程序,但是 IP 地址不方便记忆,于是人们发明了一种叫主机名的字符串,并使用 hosts 文件来描述主机名和 IP 地址的关系。最初, 通过互连网信息中心(SRI-NIC)来管理这个 hosts 文件的。

但是如果一个新计算机要接入网络或者某个计算机 IP 变更,都需要到信息中心申请变更 hosts 文件。其他计算机也需要定期下载更新新版本的 hosts 文件才能正确上网,这样就太麻烦了,于是产生了 DNS 系统。一个组织的系统管理机构,维护系统内的每个主机的 IP 和主机名的对应关系。如果新计算机接入网络,将这个信息注册到数据库中。当用户输入域名时,会自动查询 DNS 服务器,由 DNS 服务器检索数据库,得到对应的 IP 地址。至今, 我们的计算机上仍然保留了 hosts 文件,在域名解析的过程中仍然会优先查找 hosts 文件的内容。

DNS是基于UDP协议的一整套从域名映射到IP的系统。 

1.2 域名解析过程

如上图所示,域名结构是树状结构,树的最顶端代表根服务器,根的下一层就是由我 们所熟知的.com、.net、.cn 等通用域和.cn、.uk 等国家域组成,称为顶级域。网上注册的域名基本都是二级域名,比如 http://baidu.com、http://taobao.com 等等二级域 名,它们基本上是归企业和运维人员管理。

1.3 使用dig工具分析DNS过程

caryon@ALiClode:~$ dig www.baidu.com; <<>> DiG 9.18.30-0ubuntu0.24.04.2-Ubuntu <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7183
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;www.baidu.com.			IN	A;; ANSWER SECTION:
www.baidu.com.		916	IN	CNAME	www.a.shifen.com.
www.a.shifen.com.	61	IN	A	220.181.111.1
www.a.shifen.com.	61	IN	A	220.181.111.232;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Tue Jun 24 20:39:12 CST 2025
;; MSG SIZE  rcvd: 101

1.4 DNS缓存

在 Windows 系统中,可以使用 ipconfig /displaydns 命令来查看系统级别的 DNS 缓存

浏览器中输入url后发生的事情有什么?

1. 浏览器会将url解析出协议类型、域名、端口号和请求的资源所在路径。

2. DNS会对域名经行解析,先在缓存中查找,如果没有就要从根域名进行解析,将其转换为IP

3. 浏览器通过三次握手与服务器建立TCP连接,如果是https协议还需要进行TLS握手

4. 到此,浏览器就可以向服务端发起http请求

5. 服务端对浏览器的请求做出应答

6. 浏览器根据服务端的应答对界面做出渲染

2. ICMP协议

一个新搭建好的网络,往往需要先进行一个简单的测试来验证网络是否畅通,但是 IP 协议并不提供可靠传输,如果丢包了,IP 协议并不能通知传输层是否丢包以及丢包的原因。ICMP 协议正是一个提供这种检测功能的网络层协议

ICMP协议可以确认 IP 包是否成功到达目标地址或者通知在发送过程中 IP 包被丢弃的原因。ICMP 也是基于 IP 协议工作的,但是它并不是传输层的功能,因此人们仍然把它归结为网络层协议。ICMP 只能搭配 IPv4 使用,如果是 IPv6 的情况下,需要使用 ICMPv6

2.1 ICMP的报文格式

ICMP 大概分为两类报文: 一类是通知出错原因   一类是用于诊断查询

2.2 ping命令

caryon@ALiClode:~$ ping baidu.com
PING baidu.com (182.61.201.211) 56(84) bytes of data.
64 bytes from 182.61.201.211: icmp_seq=1 ttl=54 time=6.60 ms
64 bytes from 182.61.201.211: icmp_seq=2 ttl=54 time=6.59 ms
64 bytes from 182.61.201.211: icmp_seq=3 ttl=54 time=6.60 ms
64 bytes from 182.61.201.211: icmp_seq=4 ttl=54 time=6.58 ms
^C
--- baidu.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 6.582/6.593/6.604/0.009 ms

ping 命令不光能验证网络的连通性,同时也会统计响应时间和 TTL(IP 包中的 Time To Live, 生存周期)。

ping命令的工作原理

ping命令是基于ICMP协议的。ping 命令会先发送一个 ICMP Echo Request 给对端,对端接收到之后会返回一个 ICMP Echo Reply

2.3 traceroute 命令

traceroute 命令也是基于 ICMP 协议实现,能够打印出可执行程序主机,一直到目标主机之前经历多少路由器。

caryon@ALiClode:~$ traceroute baidu.com
traceroute to baidu.com (182.61.244.181), 30 hops max, 60 byte packets1  10.92.211.46 (10.92.211.46)  0.625 ms  0.653 ms 10.92.209.70 (10.92.209.70)  0.753 ms2  11.73.19.161 (11.73.19.161)  1.622 ms 11.73.19.137 (11.73.19.137)  11.829 ms 11.73.75.182 (11.73.75.182)  5.736 ms3  10.102.242.177 (10.102.242.177)  0.900 ms 10.216.138.42 (10.216.138.42)  9.601 ms 10.216.138.186 (10.216.138.186)  1.676 ms4  10.216.223.218 (10.216.223.218)  1.945 ms * 10.216.231.238 (10.216.231.238)  2.225 ms5  10.102.155.110 (10.102.155.110)  2.145 ms 10.102.154.230 (10.102.154.230)  2.866 ms 116.251.112.189 (116.251.112.189)  2.511 ms6  * * *7  61.148.154.113 (61.148.154.113)  3.996 ms 125.33.185.101 (125.33.185.101)  3.825 ms  3.600 ms8  bt-229-110.bta.net.cn (202.106.229.110)  4.319 ms 61.51.114.190 (61.51.114.190)  4.461 ms 61.51.114.198 (61.51.114.198)  4.690 ms9  220.206.193.182 (220.206.193.182)  5.410 ms 220.206.193.186 (220.206.193.186)  5.500 ms 220.206.193.182 (220.206.193.182)  5.882 ms
10  * 182.61.255.70 (182.61.255.70)  5.472 ms 182.61.255.74 (182.61.255.74)  6.164 ms
11  182.61.255.101 (182.61.255.101)  22.522 ms 182.61.217.169 (182.61.217.169)  22.098 ms 182.61.238.157 (182.61.238.157)  21.677 ms
12  182.61.251.166 (182.61.251.166)  21.462 ms 182.61.250.228 (182.61.250.228)  27.591 ms 182.61.250.232 (182.61.250.232)  37.304 ms
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/88294.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/88294.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/88294.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python打卡:Day35

复习日 浙大疏锦行

GoAdmin代码生成器实践

文章目录 前言创建SQL表格使用在线生成工具应用自动生成的代码数据变更时附加新的逻辑总结 前言 开源项目 go-admin&#xff0c;我一直用的是这个地址 https://github.com/GoAdminGroup/go-admin&#xff0c;不过最近发现了一个 Gin Vue 版本的 go-admin&#xff0c;对我解决…

web布局13

在 CSS 中有很多种类型的函数&#xff0c;其中可用于尺寸属性的函数主要有 calc() 、min() 、max() 、clamp() 等。这些 CSS 函数都可用来设置网格轨道尺寸&#xff0c;除此之外&#xff0c;还有一些专门用于设置网格轨道的函数&#xff0c;比如 repeat() 、minmax() 和 fit-co…

pdf转图片(png,jpg)的python脚本

pdf转图片&#xff08;png&#xff0c;jpg&#xff09;的python脚本 PDF转图片工具 1.安装库 pip install pymupdf 2.如果需要pdf转jpg的更改DEFAULT_FORMAT即可 3.一定注意要将脚本与待转化的.pdf文件放在同一个目录 4.运行脚本&#xff0c;将脚本所在目录所有.pdf文件转…

大模型本地部署,拥有属于自己的ChatGpt

ChatGpt 以其强大的信息整合和对话能力惊艳了全球,在自然语言处理上面表现出了惊人的能力。不管用于文案撰写还是程序辅助开发都大大提高了我们的工作效率,但是其使用有一定的门槛,让我们大多数人都望而却步,今天我们利用ollama实现本地大模型的步骤,让我们轻松拥有自己的…

【mcu】-老旧小区门禁电话改造指南

老旧小区门禁电话改造指南(四线制DIY方案) 一、明确四根线的功能(关键第一步) 通常四线制门禁电话的线缆定义如下(需用万用表验证): 线色 常见功能 电压/信号类型 检测方法 红线 电源正极(+12V) DC 12V(待机) 万用表直流档测对黑线电压 黑线 电源负极(GND) 0V 与…

word中如何快速打出上标?

在 Microsoft Word 中快速输入上标的方法有以下几种&#xff0c;推荐掌握 键盘快捷键法&#xff08;最常用高效&#xff09;&#xff1a; ⭐ 方法一&#xff1a;快捷键法&#xff08;强烈推荐&#xff0c;效率最高&#xff01;&#xff09; 输入需要上标的文字/数字&#xff0…

如何优化HarmonyOS 5的分布式通信性能?

以下是针对HarmonyOS 5分布式通信性能优化的系统性方案&#xff0c;结合核心技术特性与实践经验&#xff1a; 一、传输层优化 数据压缩与批处理 // 启用ZLIB压缩&#xff08;>1KB自动压缩&#xff09; DistributedConfig config new DistributedConfig.Builder().setCom…

Matplotlib图像处理三剑客:imshow(), imread(), imsave()

Matplotlib是Python中最著名的数据可视化库之一&#xff0c;它不仅能够绘制各种统计图表&#xff0c;还提供了强大的图像处理功能。本文将重点介绍Matplotlib中三个核心的图像处理方法&#xff1a;imshow()、imread()和imsave()&#xff0c;通过示例代码展示它们的使用方法。 …

[特殊字符]防止 MyBatis-Plus 中模糊查询 `%` 查出全表:实现通配符转义拦截器

目录标题 ❓为什么需要转义 % 和 _&#x1f9ea; 使用案例&#xff1a;防止传入 % 导致全表查询&#x1f3af; 支持哪些场景&#xff1f;✅ 拦截器实现思路&#x1f9e9; 核心拦截器代码实现&#x1f510; 可选忽略某些 SQL 的转义 ❓为什么需要转义 % 和 _ 在使用 MyBatis-Pl…

linux grep的一些坑

grep -a "commit" a.log 可以获取到所有的数据&#xff08;可以看到a.log所有的commit关键词&#xff09; 但cat a.log|grep "commit" 无法全部获取到&#xff08;只能看到a.log中部分的的commit&#xff09; 细分析和可能原因&#xff1a; 1. 二进制文件…

牛客 AI 面试 Ultra 版升级:开启招聘新纪元

每到招聘季&#xff0c;HR 们便陷入繁忙与焦虑。海量简历筛选耗费大量人力&#xff0c;初步面试耗费数周时间&#xff0c;好不容易安排好面试官与候选人时间&#xff0c;又可能因各种意外状况打乱节奏。而牛客 AI 面试 Ultra 版恰似一束光&#xff0c;照亮了招聘流程优化的道路…

OSS与NAS混合云存储架构:非结构化数据统一管理实战

AI训练集管理面临的核心挑战&#xff1a;数据规模爆炸式增长与访问模式多样化的矛盾。ImageNet等典型数据集已达150TB规模&#xff0c;传统单一存储方案面临三重困境&#xff1a; NAS在PB级场景下硬件成本呈指数增长OSS对象存储无法满足高频随机访问需求跨存储数据访问导致训练…

72、单元测试-常用测试注解

72、单元测试-常用测试注解 在单元测试中&#xff0c;常用的测试注解可以帮助组织和管理测试代码&#xff0c;提高测试的可读性和可维护性。以下是JUnit和TestNG框架中一些常用的测试注解及其功能&#xff1a; #### JUnit注解 1. **Test** - 标记一个方法为测试方法。 - 可以设…

强化学习在大型语言模型训练中的最新进展:开源项目深度分析报告

强化学习在大型语言模型训练中的最新进展&#xff1a;开源项目深度分析报告 引言 近年来&#xff0c;人工智能领域见证了大型语言模型(LLM)的迅速崛起&#xff0c;而强化学习作为机器学习的重要分支&#xff0c;在提升LLM推理能力方面展现出巨大潜力。随着OpenAI发布o1等推理…

微服务:服务治理

简单描述这个过程&#xff1a; 生产者与消费者之间的供需关系仅凭这两者很难有效维持&#xff0c;比如某个消费者挂掉了&#xff0c;而生产者并不知道&#xff0c;就会依然给挂掉的消费者提供内容&#xff0c;那么此时的内容明显就是未获取到的&#xff0c;从而出现输出问题。…

关于数据编码、进制、位运算的详细讲解(从属GESP三级)

本章内容 数据编码基础 进制转换 位运算基础 别让符号位绊住你的步伐&#xff0c;掌握补码&#xff0c;让加减法都成为加法。 一、 数据编码基础 目标&#xff1a;掌握 原码 / 反码 / 补码 的定义与互转、常见进制&#xff08;2 / 8 / 10 / 16&#xff09;互化方法&#x…

实战项目8(11)

任务场景一 按照下图完成网络拓扑搭建和配置 任务要求&#xff1a; 1、根据个人模拟器情况&#xff0c;将各交换机的MAC地址标注在拓扑图中&#xff0c;并将结果进行截图。 把每个交换机的这个复制粘贴出来【如上图绿色标记的】 【SW1】配置 dis stp 【SW2】配置 dis stp 【…

储能系统的离网,并网,构网,跟网 简介

一、并网&#xff08;Grid-Connected&#xff09; ✅ 定义&#xff1a;PCS输出与公共电网并联运行&#xff0c;电网主导电压和频率&#xff0c;PCS按设定的有功/无功功率注入电网。 ✅ 特点&#xff1a; 电网存在、电压频率稳定 PCS仅作为电源“从机”&#xff0c;不能主导电压…

Solr 初始环境搭建(Windows)

前言 Apache Solr 是一个开源的、基于 Java 的企业级搜索平台&#xff0c;构建在 Apache Lucene 之上&#xff0c;提供了强大的全文检索、分布式搜索、索引管理、高亮显示、分面搜索等功能。它被广泛应用于电子商务、内容管理系统&#xff08;CMS&#xff09;、数据分析和大规模…