假设我在我的内部networking上使用bird设置了一对任意的DNS服务器,他们只是在与我的核心路由器交谈OSPF。 我在互联网上发现了这一点 ,并做到了这一点。
如果我设置一个比另一个有更高的成本path,那么甜蜜,我只是做了一个可爱的方式来做失败,而不会导致我的客户端任何超时从resolv.conf中的一个主机切换到另一个parsing器他们的resolv.conf。
但是这对我来说还不够好。 我想分配我的DNS服务器之间的负载。 所以我把两者的成本设定为相同,所以路由器现在应该做ECMP,并把50%的请求发送给另一个请求的50%。
但事实certificate,我的企业在我们的DNS中使用了大部分的TCP – 比方说,我们拥有大量的SRVlogging,而且我们使用DNSSEC,因为我们太棒了。
现在,我该如何设置我的聪明选播设置,以应付TCP请求需要3或4个数据包来完成请求的事实,现在这3个数据包之一总是要去错误的路由器,并获得TCP连接重启。
那么,在这样的scheme中,你可以阻止RST响应无效会话,不是吗? :)或者(甚至更好),不要将其传递到服务:
– 无效状态?
– 没有那个方法,试试另一个 !
PS是的,我真的很喜欢由我给你评论的链接“ TCP Anycast – 不要相信FUD – nanog ”。 ;)
只需使用每个stream的OSPF ECMP而不是每个数据包就可以了,就像NANOG演示文稿所说的那样。
TCP的任播只是长期存在的TCP会话的一个潜在问题,几乎所有我知道的DNS实现只使用非常短暂的TCP会话。