CDN系统内的Dynamtic DNS
- 要点:根据ip地址段对应的view,返回不同的IP地址
- 常见应用:Bind9、TinyDNS、WINMyDNS
- 运维难点:收集足够准确的IP段信息
F5的GTM首选算法是RTT,但是我们注意到:DNS首选协议是UDP的,只有在package大于512字节和zone transfer的时候采用TCP。UDP木有RTT的概念~
所以我们就知道了GTM是被动RTT的了。
- GTM工作原理:NS返回一台GTM的ip给LDNS,LDNS请求到该ip;GTM在就近路由表中查询,没有的话,联系全网其他GTM共同对LDNS发起TCP请求计算RTT,汇总RTT结果更新路由表返回最近结果。
小设想:一般情况下,我们都说DDNS上收到的localDNS的IP,真的么? 上面的协议实现部分,我们其实并没有看到DNS报文里有哪存放ip的,也就是说:ip还是TCP/IP层的事情。 实际根据的是迭代查询的原理! 那么我们如果在上海搭建一个'recursion yes;'的bind,然后在北京的dns上配置forwarder到上海,最终权威NS建连的IP是上海!
好吧,正过来想一想:如果每个客户端上都自带一个支持迭代查询的dnsproxy,那么ip收集也就方便了。