dns是一套将域名映射到ip地址的系统。
1.1 DNS的背景
在TCP/IP协议中,网络上的主机通过IP地址和端口号来定位。然而,IP地址难以记忆。为了解决这个问题,人们发明了主机名,一个易于记忆的字符串,并通过hosts文件来记录主机名与IP地址的对应关系。

最初,这个hosts文件由互连网信息中心(SRI-NIC)管理。每当新计算机接入网络或某计算机的IP发生变更时,都需要向信息中心申请更新hosts文件。其他计算机也需要定期下载更新的hosts文件才能正确访问网络。这种方法过于繁琐,因此产生了DNS系统。
DNS系统由组织的管理机构维护,负责记录系统内每个主机的IP和主机名的对应关系。当新计算机接入网络时,将其信息注册到数据库中。用户输入域名时,DNS服务器会自动查询数据库,获取对应的IP地址。至今,我们的计算机上仍保留着hosts文件,域名解析过程中会优先查找hosts文件的内容。
2 域名简介
主域名是一种分层结构的名称,用于识别主机名称及其所属的组织机构。域名使用点号(.)连接。
com:一级域名,表示这是一个商业域名。同级还有"net"(网络服务提供商)和"org"(非盈利组织)等。 baidu:二级域名,代表公司名称。 www:这只是一个传统用法。早期人们习惯将域名命名为类似ftp.xxx.xxx/www.xxx.xxx的格式,以表示主机支持的协议。
2.1 域名解析过程


如图所示,域名结构为树状结构,顶端为根服务器,根的下一层包括.com、.net、.cn等通用顶级域和.cn、.uk等国家顶级域。网络上注册的域名通常为二级域名,如http://baidu.com、https://www.php.cn/link/78ade5b560946211ce63652717b37aea。
3 使用dig工具分析DNS
首先安装dig工具。
安装后,可以使用dig命令查看域名解析过程。
结果:
结果解释:
开头显示的是dig命令的版本号。第二部分是服务器返回的详细信息,其中status参数为NOERROR表示查询成功。QUESTION SECTION显示要查询的域名。ANSWER SECTION显示查询结果。结果显示www.baidu.com首先解析为www.a.shifen.com,然后解析为两个IP地址。底部是结果统计,包括查询时间和DNS服务器的地址等。
4 ICMP协议
ICMP协议是网络层的一个协议。
新搭建的网络通常需要进行简单测试,以验证网络是否畅通;然而,IP协议不提供可靠传输。如果丢包,IP协议无法通知传输层丢包情况及其原因。
4.1 ICMP功能
ICMP正是提供这种功能的协议。其主要功能包括:
确认IP包是否成功到达目标地址。 通知在发送过程中IP包被丢弃的原因。 ICMP基于IP协议工作,但不属于传输层功能,因此仍被归为网络层协议。ICMP只能与IPv4搭配使用,对于IPv6,需要使用ICMPv6。

4.2 ICMP报文格式

ICMP报文大致分为两类:
一类用于通知错误原因。 另一类用于诊断查询。
| 类型(十进制数) | 内容 |
|---|---|
| 0 | 回送应答(Echo Reply) |
| 3 | 目标不可达(Destination Unreachable) |
| 4 | 原点抑制(Source Quench) |
| 5 | 重定向或改变路由(Redirect) |
| 8 | 回送请求(Echo Request) |
| 9 | 路由器公告(Router Advertisement) |
| 10 | 路由器请求(Router Solicitation) |
| 11 | 超时(Time Exceeded) |
| 17 | 地址子网请求(Address Mask Request) |
| 18 | 地址子网应答(Address Mask Reply) |
4.3 Ping命令

注意,此处ping的是域名,而不是URL!域名通过DNS解析成IP地址。ping命令不仅能验证网络的连通性,还会统计响应时间和TTL(IP包中的生存周期)。ping命令首先发送一个ICMP Echo Request到对端,对端接收后会返回一个ICMP Echo Reply。

4.4 traceroute命令

traceroute命令也基于ICMP协议实现,能够显示从执行程序的主机到目标主机之间经过的路由器数量。
感谢各位大佬的支持!!!
互三啦!!!
以上就是【在Linux世界中追寻伟大的One Piece】DNS与ICMP的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号