前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >通信|DNS配置生成工具再更新,什么是递归和迭代查询?

通信|DNS配置生成工具再更新,什么是递归和迭代查询?

作者头像
琉璃康康
发布2024-01-15 15:56:53
1280
发布2024-01-15 15:56:53
举报
文章被收录于专栏:七禾页话七禾页话

学习永无止境,记录相伴相随! —— 琉璃康康

其实元旦的时候就更新完了。

上一个版本急急忙忙写的,没有做太多的验证,后来使用中发现写入excel会有bug,同时在bind9里做配置的时候,感觉之前产生的结果将不同zone的查询都杂糅到了一起,虽然有注释简单讲解了不同查询的应用场景,但是不方便在bind9这种DNS里直接配置,所以在2023年末的时候就优化了,发布了7.1这个小版本。

这个版本更新如下:

代码语言:javascript
复制
###左右滑动
Version 7.1(2023-12-31)
- Re-design the config result based on gprs/eps/5gs record
- Fix bug to save excel
- Add input as appendix in configu result
- Update FQDN generating for DNS query

第一个就是将所有的result输出重新定义,按照GRPS、EPC和5GC三个zone输出,同时每个zone里FQDN和A/AAAA Record也分开显示,配置更加简洁,各个call flow需要的DNS解析在FQDN解析前有解释:

第二个修复了存储到excel的bug,当时在加入这个功能的时候,对于SGW和PGW,按照IP数量的多少计算应该从第几行的单元格记录不同的record,结果导致如果SGW和PGW只输入一个IP的时候,excel存储就会丢失TAC或者APN的NAPTR解析:

第三个将input也同步存储到result文件里,虽然已经存储到excel里,但是这次也将input存储到了配置结果中,方便随时查看dns配置和对应的input:

还有一个重要的没有在about里写,就是加入了NRI的解析,虽然2G在有些国家已经退网,3G也慢慢要面临退网,但是依然有地区在用,而作为2、3G中重要的功能SGSN Pool也是不可或缺的,相应在2/3G和4G的IRAT中NRI、MMECode等之间的转换都有可能涉及到DNS解析:

最后优化了DNS的FQDN,比如之前MME的FQDN在TAU和Handover时候最终会有两个不同的FQDN如oldMMEtargetMME,这次全部都优化成了一个s10-mme01

最后,还直接加入了Setup Bind9 as DNS Server的Github链接,从而可以方便在自己的ubuntu上安装bind9,用此工具生成DNS配置后,就可以使用dig命令做实验了:

以上就是7.1版本的内容更新。

通信|DNS配置生成工具大进化!文章基于的版本7作为重要的发型版本介绍了此工具的详细功能。

如何获取?

  • 项目的Repository是DNS-Config-Generator.
  • Windows下的可执行文件在Repository中的DNS Config Public/bin/Release /文件夹下。

DNS查询如果在本地DNS没有结果的时候有两种查询方案:递归DNS查询和迭代DNS查询。

我们已经聊过,DNS按照Trailing Dot划分为不同的域名级别,不同的DNS里可以解析到的域名因此而不同,那么各个运营商或者互联网公司只能维护自己DNS里自己的域名配置,并将其连接到互联网中,最终形成DNS的网状结构:

那么我们的电脑连接的DNS或者各个运营商的DNS不可能定义全球所有域名的解析,因此DNS收到一个域名解析请求后就会根据配置方案来向上级DNS请求,方案两种:一个叫做递归,一个叫做迭代。

迭代DNS查询

迭代查询可以简单地理解为我可以不知道,但是我可以告诉你谁知道。如下图所示:

各个步骤如下:

  1. 电脑发起DNS请求解析www.hk314.top到本地DNS;
  2. 本地DNS说我没有,你去根DNS看看;
  3. 电脑继续向根DNS询问,根DNS说我也不知道,你去zone top.的DNS看看;
  4. 电脑又到zone top.的DNS询问;
  5. zone top.的DNS说我也不知道,你去zone hk314.top.的DNS问问;
  6. 电脑又到zone hk314.top.的DNS询问;
  7. zone hk314.top.的DNS说我这里有,www.hk314.top的IP地址是1.1.1.1,最终直接将信息告诉给电脑。

可以看到整个的过程都是电脑自己一次又一次向各个DNS询问,各个DNS就是我不知道但是我告诉你谁可能知道,这就是迭代,宗旨就是你得自己去跑业务。

递归DNS查询

递归DNS查询就是不用你亲自跑腿儿了,我们是联合部门,内部查好告诉你最终结果即可。如下图所示:

各个步骤如下:

  1. 电脑发起DNS请求解析www.hk314.top到本地DNS;
  2. 本地DNS说我没有,我去根DNS看看吧;
  3. 根DNS收到请求一看我也不知道,我去zone top.的DNS问问吧;
  4. zone top.的DNS收到请求一看自己也不知道,那我去zone hk314.top.的DNS问问吧;
  5. zone hk314.top.的DNS说我这里有,www.hk314.top的IP地址是1.1.1.1,将信息告诉给zone top.的DNS;
  6. zone top.的DNS收到信息后转给根DNS;
  7. 根DNS收到消息后转给本地DNS;
  8. 本地DNS最终将收到的域名和IP的信息转给电脑。

整个过程就是一个DNS内部运作,对外不公开的节奏,但是最终会告诉你答案。

递归查询对于最终用户来说更为简单,但可能给单个DNS服务器带来更多的压力;而迭代查询则分散了查询压力,但需要客户端具备更复杂的逻辑来处理多步查询过程。

上述介绍只是简单的聊聊两种查询的理论过程,在实际应用中需要两种的结合使用,总之是一个相对复杂的过程。

以上,欢迎留言来一起了解学习ICT的相关知识。

『分享』你的每个『赞』和『在看』,我都喜欢!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-01-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 七禾页话 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 迭代DNS查询
  • 递归DNS查询
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档