DNS 解析

 

 

 

 

 

DNS

 

DNS的协议包结构:

 

Transaction id  16bit

 

Flags:在应答时,要特别关注这个字段。有没有错误等。

 

Questions:请求的实体个数,一般是1

 

Answer RRs:应答,答案的实体个数,N

 

Authority RRs:应答,权威实体个数,N个,好像最多13

 

Additional RRs:应答,附加记录资源个数,N

 

资源实体:根据上面的个数,跟的具体实体数据。

 

 

 

 

请求场景:

 

请求实体:域名+type+class

 

Type:AAAAA,等等。A 表示IPv4地址, AAAA表示IPv6地址

 

Class:现在固定为1

 

 

 

 

 

 

 

 

应答场景

 

应答时,一般有多个RRs。但一般只在Answer RRs找到对应的IP地址。

 

应答场景要特别关注flag字段,要看是否有错误发生,尤其是“截断”和“no such name”这两种比较常见的错误类型。

 

 

 

 

 

 

 

 

 

 

 

特别关注

 

一般UDP包做DNS解析时,限制UDP包长度为512,如果应答的资源太多,就会在flag字段中标记为截断。

 

而一般的做网络业务交互的组件(如curl)在UDP包返回有截断标记时,会再用TCP协议来做DNS解析。

 

这种情况一般都是CDN做加速和负载均衡时,返回过多的CNAMEA记录导致UDP包超大。

 

 

 

【以后补图】。

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Windows DNS解析是指Windows操作系统中的域名系统(DNS解析过程。DNS解析是将域名转换为IP地址的过程,使得计算机可以通过域名访问互联网上的资源。 在Windows系统中,DNS解析主要包括以下几个步骤: 1. 应用程序发起域名解析请求:当用户在浏览器或其他应用程序中输入一个域名时,应用程序会向操作系统发起域名解析请求。 2. 本地DNS缓存查询:操作系统首先会检查本地DNS缓存,如果之前已经解析过该域名并且缓存未过期,就直接返回对应的IP地址。 3. 本地主机文件查询:如果本地DNS缓存中没有找到对应的IP地址,操作系统会检查本地主机文件(hosts文件),该文件可以手动配置域名与IP地址的映射关系。 4. DNS服务器查询:如果本地主机文件中也没有找到对应的IP地址,操作系统会向预配置的DNS服务器发送解析请求。通常情况下,Windows系统会自动从本地网络中的路由器或者ISP提供的DNS服务器获取IP地址。 5. DNS服务器递归查询:DNS服务器接收到解析请求后,会先查询自己的缓存,如果有对应的记录则直接返回IP地址。如果没有,则会向根域名服务器发起递归查询,逐级向下查询直到找到对应的IP地址。 6. 返回解析结果:DNS服务器将查询到的IP地址返回给操作系统,操作系统再将结果返回给应用程序,应用程序就可以使用该IP地址进行网络通信。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值