首页 > 私募基金 > 如何实现域名多个公网IP的负载均衡
2024
10-22

如何实现域名多个公网IP的负载均衡

要知道为什么只有13个根域名服务器,就要了解DNS(Domain Name System,域名系统)的整个原理才行。

DNS是 计算机域名系统 (Domain Name System 或Domain Name Service) 的缩写,它是由域名解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。其中 域名必须对应一个IP地址,一个域名只能对应一个IP地址(比如访问一个域名不可能向两个ip地址请求),而IP地址不一定有域名且可以对应多个域名。域名系统采用类似目录树的等级结构。域名服务器为客户机/服务器模式中的服务器方,它主要有两种形式: 主服务器和转发服务器。将域名映射为IP地址的过程就称为“ 域名解析”。

①DNS是应用层协议,client端(一般指浏览器)构建DNS查询请求,依次被传输层,网络层,数据链路层等封装传送到达DNS服务器端,最终client端接收到DNS响应消息

②DNS主要基于UDP运输层协议,这里解释下为什么使用UDP(User Datagram Protocol)这样的无连接的,尽最大能力交付的不可靠数据连接,而不是使用TCP(Transmission Control Protocol 传输控制协议)这样的面向连接的可靠数据连接。

一次UDP名字服务器交换可以短到两个包:一个查询包、一个响应包。一次TCP交换则至少包含9个包:三次握手初始化TCP会话、一个查询包、一个响应包以及四次分手的包交换。

考虑到效率原因,TCP连接的开销大得,故采用UDP作为DNS的运输层协议,这也将导致只有13个根域名服务器的结果。



只会在UDP报文中表明有截断的时候使用TCP查询。



③为什么只有13个根域名服务器?等会再写

---------------------分割线-------------------------

原因似乎是UDP数据包512字节(为什么是512字节又是一个故事)限制了信息量,又因为要UDP报文中包含所有的根服务器信息(为什么?怎么包含的?)所以只能有13个,但是我查了很多资料,没有相关叙述。有大神知道求指导



作者:koo who

通常网页访问的申请都是由一个数据包完成的,而一个数据包的长度为256B字节,这就决定了一个数据包只能有13个块,这从根本上限制了根域名服务器的数量,也就是说根域名服务器只能有13个。