学习永无止境,记录相伴相随!
—— 琉璃康康
其实元旦的时候就更新完了。
上一个版本急急忙忙写的,没有做太多的验证,后来使用中发现写入excel会有bug,同时在bind9里做配置的时候,感觉之前产生的结果将不同zone的查询都杂糅到了一起,虽然有注释简单讲解了不同查询的应用场景,但是不方便在bind9这种DNS里直接配置,所以在2023年末的时候就优化了,发布了7.1这个小版本。
这个版本更新如下:
1
2
3
4
5
6
###左右滑动
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如oldMME
和targetMME
,这次全部都优化成了一个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 /文件夹下。
关注公众号七禾页话(qiheyehk)回复dns
可以获取直接使用的exe下载链接。
DNS查询如果在本地DNS没有结果的时候有两种查询方案:递归DNS查询和迭代DNS查询。
我们已经聊过,DNS按照Trailing Dot划分为不同的域名级别,不同的DNS里可以解析到的域名因此而不同,那么各个运营商或者互联网公司只能维护自己DNS里自己的域名配置,并将其连接到互联网中,最终形成DNS的网状结构:
那么我们的电脑连接的DNS或者各个运营商的DNS不可能定义全球所有域名的解析,因此DNS收到一个域名解析请求后就会根据配置方案来向上级DNS请求,方案两种:一个叫做递归,一个叫做迭代。
迭代DNS查询
迭代查询可以简单地理解为我可以不知道,但是我可以告诉你谁知道。如下图所示:
各个步骤如下:
- 电脑发起DNS请求解析www.hk314.top到本地DNS;
- 本地DNS说我没有,你去根DNS看看;
- 电脑继续向根DNS询问,根DNS说我也不知道,你去zone top.的DNS看看;
- 电脑又到zone top.的DNS询问;
- zone top.的DNS说我也不知道,你去zone hk314.top.的DNS问问;
- 电脑又到zone hk314.top.的DNS询问;
- zone hk314.top.的DNS说我这里有,www.hk314.top的IP地址是1.1.1.1,最终直接将信息告诉给电脑。
可以看到整个的过程都是电脑自己一次又一次向各个DNS询问,各个DNS就是我不知道但是我告诉你谁可能知道,这就是迭代,宗旨就是你得自己去跑业务。
递归DNS查询
递归DNS查询就是不用你亲自跑腿儿了,我们是联合部门,内部查好告诉你最终结果即可。如下图所示:
各个步骤如下:
- 电脑发起DNS请求解析www.hk314.top到本地DNS;
- 本地DNS说我没有,我去根DNS看看吧;
- 根DNS收到请求一看我也不知道,我去zone top.的DNS问问吧;
- zone top.的DNS收到请求一看自己也不知道,那我去zone hk314.top.的DNS问问吧;
- zone hk314.top.的DNS说我这里有,www.hk314.top的IP地址是1.1.1.1,将信息告诉给zone top.的DNS;
- zone top.的DNS收到信息后转给根DNS;
- 根DNS收到消息后转给本地DNS;
- 本地DNS最终将收到的域名和IP的信息转给电脑。
整个过程就是一个DNS内部运作,对外不公开的节奏,但是最终会告诉你答案。
递归查询对于最终用户来说更为简单,但可能给单个DNS服务器带来更多的压力;而迭代查询则分散了查询压力,但需要客户端具备更复杂的逻辑来处理多步查询过程。
上述介绍只是简单的聊聊两种查询的理论过程,在实际应用中需要两种的结合使用,总之是一个相对复杂的过程。
以上,有想法欢迎留言来聊!
网络和应用
摄影和旅行
工作和生活
欢迎关注公众号:七禾页话(qiheyehk)