当前位置: 首页 > news >正文

Linux网络DNS与ICMP

DNS

DNS(Domain Name System,域名系统)是将人类可读的域名(如 example.com)转换为机器可识别的 IP 地址(如 93.184.216.34)的分布式数据库系统。它是互联网的核心基础设施之一。

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

最初, 通过互连网信息中心(SRI-NIC)来管理这个 hosts 文件的.

• 如果一个新计算机要接入网络, 或者某个计算机 IP 变更, 都需要到信息中心申请变更 hosts 文件.

• 其他计算机也需要定期下载更新新版本的 hosts 文件才能正确上网.

这样就太麻烦了, 于是产生了 DNS 系统.

• 一个组织的系统管理机构, 维护系统内的每个主机的 IP 和主机名的对应关系.

• 如果新计算机接入网络, 将这个信息注册到数据库中;

• 用户输入域名的时候, 会自动查询DNS 服务器, 由 DNS 服务器检索数据库, 得到对应的 IP 地址.

域名简介

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

• com: 一级域名. 表示这是一个企业域名. 同级的还有 "net"(网络提供商), "org"(非盈利组织) 等.

• baidu: 二级域名, 公司名.

• www: 只是一种习惯用法. 之前人们在使用域名时, 往往命名成类似ftp.xxx.xxx/www.xxx.xxx 这样的格 式, 来表示主机支持的协议.

域名解析过程

  1. 本地缓存查询:先查浏览器、操作系统的本地缓存,有对应 IP 直接返回。
  2. 递归查询 DNS 服务器:本地无缓存时,向本地 DNS 服务器(如运营商提供)发起请求。
  3. 迭代查询根 / 顶级 / 权威 DNS:本地 DNS 依次查询根服务器、顶级域服务器(如.com)、权威 DNS 服务器,最终获取目标 IP。
  4. 返回结果并缓存:权威 DNS 将 IP 返回给本地 DNS,本地 DNS 缓存后再返回给用户设备,后续查询可直接用缓存。

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

使用dig工具分析DNS过程

使用:

dig www.baidu.com

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 服务器的地址等.

更多 dig 的使用方法, 参见 https://www.imooc.com/article/26971?block_id=tuijian_wz

windows的dns缓存查询:

ICMP协议

CMP(Internet Control Message Protocol,互联网控制报文协议)是TCP/IP协议族的核心协议之一,用于在IP主机、路由器之间传递控制消息。它通常用于报告错误、诊断网络状态或执行网络管理任务(如Ping和Traceroute)。

ICMP不是用来传递用户数据!

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

功能:

• 确认 IP 包是否成功到达目标地址.

• 通知在发送过程中 IP 包被丢弃的原因.

• ICMP 也是基于 IP 协议工作的. 但是它并不是传输层的功能, 因此人们仍然把它归结为网络层协议;

• ICMP 只能搭配 IPv4 使用. 如果是 IPv6 的情况下, 需要使用 ICMPv6;

正常报文发送对方,如果对方无法工作,则会什么都收不到,但是ICMP可以,允许距离故障地最近的由路由器返回ICMP包给发送方。

报文格式

分为两类报文:通知出错原因和诊断查询报文。

ping命令就是基于ICMP的!

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

基于ICMP的报文解包时不会向上发,也就说不会到达传输层,所以不关心端口这样信息。

http://www.dtcms.com/a/615406.html

相关文章:

  • 环企优站网站建设手机 登录asp网站
  • 30-ESP32-S3开发环境搭建
  • 哪些网站可以做招商广告语wap门户网站源码
  • Linux小程序(1)—— 简单进度条
  • 做gif图的网站优质外贸网站
  • 网上虚拟银行注册网站店铺logo在线制作免费
  • 东莞装饰网站建设蛟河市建设局网站
  • 第一章 函数与极限 8.函数的连续性与间断点
  • Day3算法训练(简写单词,dd爱框框,3-除2!)
  • Edu144 CD
  • 不同数据结构在硬件平台(如ARM、x86)上的性能表现差异
  • 无限容量网站wordpress新用户提醒
  • 网站欢迎页面flash兰州公司网站建设
  • 岚图泰山将登陆欧洲、中东,岚图泰山的海外布局如何看?
  • 广州网站设计工作室芜湖网站建设whwzjs
  • 网页设计新建站点数字广东网络建设公司
  • 做搬家广告哪家网站有优百度指数怎么看排名
  • 网站系统后台网站建设销售提点20个点
  • 做学历的网站建e网下载
  • 如何来做网站优化网站开发维护求职信
  • 淮北市住房和城乡建设局网站如何韩国视频网站模板下载 迅雷下载地址
  • 网站建设sunmun网站建设方面的书籍推荐
  • 龙港 网站建设一站式网络营销
  • 专业网站制作咨询大丰网站建设价格
  • AI营销与销售专家咨询顾问培训讲师培训师唐兴通分享GEO优化白皮书
  • 个人小程序为企业做网站建设优化小程序包年竞价
  • 做分类信息网站如何wordpress网站文件管理
  • python做网站服务器购物型网站用dw做
  • 【贪心 图论】517. 超级洗衣机|分数未知
  • php网站开发个人网络营销渠道的类型有哪些