DNS和ICMP

DNS

DNS(Domain Name System )

DNS 是一整套从域名映射到 IP 的系统

关于DNS背景

TCP/IP 中使用 IP 地址和端口号来确定网络上的一台主机的一个程序 . 但是 IP 地址不
方便记忆 .
于是人们发明了一种叫主机名的东西 , 是一个字符串 , 并且使用 hosts 文件来描述主机
名和 IP 地址的关系 .

最初 , 通过互连网信息中心 (SRI-NIC) 来管理这个 hosts 文件的 .
如果一个新计算机要接入网络 , 或者某个计算机 IP 变更 , 都需要到信息中心申
请变更 hosts 文件 .
其他计算机也需要定期下载更新新版本的 hosts 文件才能正确上网 .

这样太麻烦了,于是就有了DNS系统

一个组织的系统管理机构 , 维护系统内的每个主机的 IP 和主机名的对应关系 .
如果新计算机接入网络 , 将这个信息注册到数据库中 ;
用户输入域名的时候 , 会自动查询 DNS 服务器 , DNS 服务器检索数据库 , 得到对应的IP地址
至今 , 我们的计算机上仍然保留了 hosts 文件 . 在域名解析的过程中仍然会优先查找
hosts 文件的内容 .

cat /etc/hosts

 介绍域名

 主域名是用来识别主机名称和主机所属的组织机构的一种分层结构的名称

比如:www.baidu.com  ,其中

com: 这个是一级域名。 .com表示这是一个企业域名,同级的还有 .org (非盈利组织) ,.net(网络运营商),或者 .edu(教育组织)

baidu:这是二级域名。一般是公司名

www:这只是一个习惯用法。

域名解析过程 

以浏览器或者app也就是客户端,来请求www.baidu.com为例。

1:用户拿到域名想访问百度,首先会拿着域名去访问本地的DNS服务器,以此来获取百度的IP地址是多少。如果本地服务器缓存了这个域名和IP的映射关系,那么在这一步就直接返回给用户了,用户就可以拿着IP地址去访问百度了。

2:如果在本地DNS服务器没有找到,那么本地服务器会将这个域名转发到根服务器。

3:根服务器经过查询,发现这是由.com服务器进行管理的,于是返回相应让本地服务器去.com服务器询问。

4:接着,本地服务器就又拿着域名向.com服务器发起请求。

5:在.com服务器中解析这个域名,发现是由baidu.com服务器管理的,所以返回响应,让本地服务器再去baidu.com的服务器进行询问。

6:继续拿着域名请求 baidu.com。

7:最终拿到域名对应的IP地址。

8:将IP地址返回给用户。

我们发现这其实是一个树状结构

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

使用dig工具分析域名

 如果没有安装dig,可以先进行安装

Ubuntu下进行安装:

sudo apt updatesudo apt install bind9-utils

比如说解析百度域名

这里也解析出来了百度的IP地址,但是百度做了特殊处理,以前可以直接用这个IP地址来访问百度,但是现在不行了。 

关于这个结果的解释:

1.开头位置是 dig 指令的版本号
2. 第二部分是服务器返回的详情, 重要的是 status 参数 , NOERROR 表示查询成功
3. QUESTION SECTION 表示要查询的域名是什么
4. ANSWER SECTION 表示查询结果是什么 . 这个结果先将 www.baidu.com 查询
成了 www.a.shifen.com, 再将 www.a.shifen.com 查询成了两个 ip 地址 .
5. 最下面是一些结果统计, 包含查询时间和 DNS 服务器的地址等 .

 ICMP协议

ICMP协议是网络层的协议。它不是用来传递用户数据的,而是用来进行网络问题定位,状态诊断的。

位置结构:

ICMP虽然和IP协议同为网络层,但是它是在IP协议上面的,ICMP报文也要把自己打包封装成IP报文,然后再向下继续封装。

另外ICMP它提供了一些接口给应用层,也就是说用户是可以直接绕过传输层使用ICMP的。比如我们使用的Ping命令就是。

ICMP的功能:

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

 

 ICMP允许距离故障事发地最近的主机设备(一般是最近的路由器)返回应答。

ICMP报文格式:
 

ICMP报文一般分两类:

1.通知出错原因

2.用于诊断查询

apt install -y traceroute

 

有时候路由器转发的报文数量太多了,路由器设备压力太大了,就有可能给对方发送重定向报文,要求对方给别的路由器转发。

关于ICMP的命令:

ping命令不用多少了

还有一个是traceroute命令:

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

 

在Ubuntu下的安装 (要在管理员权限下)
apt install -y traceroute

比如还是对百度进行使用测试

 其中最上面的 30 hops max 表示的是最多经过了30个路由器, 60 byte packets表示报文大小是60字节。

其中下面有些显示出来的IP地址的表示的是经过了一个有效的路由器。我们之所以能看到它们的IP地址,是因为他们给我们进行应答了。

某一跳为 * * * 表示这些路由器没有给我们进行ICMP应答。没有给应答的原因有很多,比如设备故障;或者设置了防火墙,不允许给外界的设备发送ICMP报文。

关于ICMP的面试比较坑的问题:ping的端口号是什么?

端口号是传输层面的概念,ping命令是基于网络层协议实现的,所以它是没有端口号的。

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

2024好用的图纸加密软件推荐,10款最好用的cad图纸加密软件排行榜

在工程设计和建筑领域,CAD图纸承载着重要的技术信息和商业机密。因此,保护这些图纸的安全性显得尤为重要。为了帮助您选择合适的图纸加密软件,本文将推荐2024年最好用的10款CAD图纸加密软件,其中包括Ping32。 1. Ping32 Ping32是…

巴西新闻媒体发稿推荐-绍珀洛周报saopauloweekly

全球化浪潮中的巴西机遇 在全球化的进程中,拓展海外市场对于企业的发展至关重要。巴西作为南美洲最大的经济体和人口大国,拥有巨大的商业潜力。大舍传媒凭借其在媒体领域的丰富经验和广泛网络,成功与巴西多家权威媒体展开合作,为企…

执行测试_单元测试

在执行测试为主线,中间穿插质量特性,学会自动化工具的使用。 软件测试的过程 测试范围:逐渐增大:先使用白盒测试,然后黑盒测试的比例逐步增加。测试视角:从代码到使用 具体来说就是: 单元测试—…

性能测试的五大目标

性能测试的目的其实是为了验证软件系统是否能够达到用户的性能指标,发现软件系统中存在的性能瓶颈,随后优化软件,最后起到优化系统的目的。 主要有以下几点: 评估系统的能力 测试中得到的负荷和响应时间数据可以被用于验证所计…

工具方法 - Dropit文件管理工具

Personal Assistant to Automatically Manage Your Files / 自动管理文件的私人助理 之前为了管理电脑上的文件,尝试了一段时间DropIt这个工具。这是一个开源免费软件。使用时,只需将文件拖动到DropIt的浮动图标上,就会自动根据文件类型(文件…

Linux 查看磁盘 df -h 已经查看目录大小 du -sh ./*

使用df -h 命令可以查看磁盘信息 df -h 如下图所示: 获取当前目录 每个目录大小 du -sh ./* du -sh ./* 如果文件比较多 我们想获取文件大小最大的前10个 可以运行如下命令: du -ah | sort -rh | head -n 10 du -ah:显示当前目录及其子目录的所有文件和目录的…

YOLOv8+SAHI,针对小目标检测的切片辅助训练推理,缺陷检测检测精度大幅提升

💡💡💡本文摘要:1)分析了工业缺陷的难点;2)提供了用SAHI方法子图训练,如何自动生成对应xml的代码;3)SAHI+YOLOv8如何推理 原图 切分为子图训练+推理 1.工业缺陷检测介绍 得益于机器视觉的不断发展

Java程序的执行原理

计算机能认识的机器语言 机器语言是由0和1组成,分别代表不通电和通电两种运行状态(因为计算机底层都是硬件电路),例如:00011110101001.... 编程语言发展历程 机器语言 汇编语言 高级编程语言-Java、Python、C等 …

16个AI应用技巧,职场提升永远可以相信!

人工智能(AI)的迅速崛起,已经深刻地改变了多个行业,并将在未来持续塑造我们的职场格局。为了应对这一潮流,职场人士必须主动适应AI带来的技术变革,持续学习新技能,提升自己的专业能力。这篇文章…

C++第二讲:类和对象

C第二讲:类和对象 1.类的定义1.1类定义格式1.2访问限定符1.3类域1.4类定义注意事项 2.实例化2.1什么是实例化2.2对象大小2.3this指针2.4题目练习 3.C语言和C实现Stack对比4.构造函数4.1什么是构造函数4.2构造函数的使用 5.析构函数5.1什么是析构函数5.2析构函数的使…

地大信息-基础信息平台 GetImg 任意文件读取漏洞复现

0x01 产品简介 地大信息的基础信息平台,通过整合各类空间基础数据,包括地理、地质、气象等多源信息,构建了一个空-天-地一体化的自然灾害监测物联网和时空感知大数据平台。该平台不仅支持数据的集成、管理和共享,还提供了丰富的数据分析和应用服务,为政府决策、行业监管和…

java-CC1 链条审计

java-CC1 链条审计 CC1 是 CommonsCollections1 的简称,它是 Apache Commons Collections 库中的一个已知的反序列化利用链。而这个库也是 java 中比较通用的库。在 java 语言里面有执行系统命令的Runtime类 像 php 中的 eval()、system()、exec()、shell_exec()、…

抖音生活服务常见玩法及收益情况详解!普通人如何把握机会?

随着抖音在生活服务板块的布局力度持续加大,越来越多的人开始逐渐意识到它所蕴含着的巨大收益潜力,但却由于对它的具体概念较为模糊而始终找不到入局的途径。那么本期,我们就来详聊一下抖音生活服务是干什么的和可以怎么干的两大核心问题&…

【C语言必学知识点七】你知道在动态内存管理中存在的内存泄露问题吗?遇到内存泄露时应该如何处理?今天跟你好好介绍一下如何正确使用calloc与realloc!!!

动态内存管理——动态函数(calloc、realloc)的使用 导读一、calloc函数1.1 函数介绍1.2 calloc的使用1.3 calloc与malloc 二、realloc函数2.1 函数介绍2.2 realloc的使用2.3 realloc的空间分配2.3.1 空间分配成功——地址的改变2.3.2 空间分配失败——内…

14.其他流(下篇)

目录 1. IO流的体系结构 2.字节缓冲流 3.字符缓冲流 4.转换流 5.序列化 6.打印流 7.压缩流与解压流 8.工具包 1. IO流的体系结构 IO流的使用原则:随用随创建,什么时候不用什么时候关闭 1.1 io流的体系结构图 1.2缓冲流的分类 缓冲流,也叫高效流&#…

Redhat 7,8系(复刻系列) 一键部署Oracle21c-xe rpm

Oracle21c-xe前言 无论您是开发人员、DBA、数据科学家、教育工作者,还是仅仅对数据库感兴趣,Oracle Database Express Edition (XE) 都是理想的入门方式。它是全球企业可依赖的强大的 Oracle Database,提供简单的下载、易于使用和功能齐全的体验。您可以在任何环境中使用该…

买家希望信任内容,但他们看重你的内容吗?[新研究]

B2B 技术买家希望获取可信的内容。他们还需要在内容中找到价值。 根据 Informa Tech 的一份 最新研究报告(需注册),许多人发现这种组合难以捉摸。 B2B 营销人员如何填补信任差距,以便买家能够更多地参与、采取更多行动&#xff…

【Python篇】NumPy完整指南(上篇):掌握数组、矩阵与高效计算的核心技巧

文章目录 Python NumPy学习指南第一部分:NumPy简介与安装1. 什么是NumPy?2. 安装NumPy使用pip安装:使用Anaconda安装: 第二部分:NumPy数组基础1. NumPy数组的创建从列表创建一维数组:创建多维数组&#xff…

Java语言程序设计基础篇_编程练习题*18.28 (非递归目录大小)

目录 题目:*18.28 (非递归目录大小) 习题思路 代码示例 输出结果 题目:*18.28 (非递归目录大小) 不使用递归改写程序清单18-7 习题思路 ( getSize方法) 创建一个变量表示总共的大小。传入路径,创建File文件。创建A…

生成式人工智能在无人机群中的应用、挑战和机遇

人工智能咨询培训老师叶梓 转载标明出处 无人机群在执行人类难以或危险任务方面有巨大潜力,但在复杂动态环境中学习和协调大量无人机的移动和行动,对传统AI方法来说是重大挑战。生成式人工智能(Generative AI, GAI),凭…