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包超大。

 

 

 

【以后补图】。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值