主机域名和主机IP地址之间的关系是

端午由来2022-07-12  27

首先,你需要知道三个基本的网络知识。

1个DNS

1.1 DNS就是你给它一个域名,它就给你解析一个IP。但实际上,情况并没有这么简单。

客户端发起DNS查询请求并提交完整的主机名(例如}

1.2如果DNS服务器上没有查询到相关记录,则会询问上一层的DNS服务器。如果上一层服务器解析出结果,则它在返回给用户结果时,顺便自己缓存一份。缓存的时间由域名的TTL决定。1.3每个域名首先要注册在跟DNS上NS服务器名称。当一个区域中最顶层的DNS也没有用户查询的主机名记录时,则会首先向INTERNET跟DNS获取这个NS服务器名称,并尝试向这个NS服务器发起查询请求。NS服务器必须响应并响应这个查询。如果DNS跟服务器无法被连接到、NS无法被找到、无法被连接到或者NS服务器无法解析,则本主机名最终解析失败。1.4 DNS如果返回多条A记录时,会生成一个有序集合。这个排序根据历史查询散列,并根据访问者的IP所在区域优化。客户端拿到的集合中的第一条IP通常为一个优化后的地址,但其他地址依旧可作为备选使用。1.5 DNS服务器通常不归主机管理商所有,并且由于需要快速响应,在查询的时候是无法判断主机状态和负载的。但一些较大的机构,会自己拥有一个重新设计的DNS服务器,考虑到这些信息。而对于这种情况,外部公网的DNS只能解析出一个CNAME,并交由这个DNS来进行后续解析(这个DNS被注册为这个CNAME对应的NS)。这种设计下的DNS通常被认为是NLB(网络负载均衡)设计的一部份。1.6由于1.2提及的代理查询以及TTL的机制,DNS其实并不能良好的实现服务器的轮询负载均衡,但是可以实现区域优化查询,即对某个特定区域尽量返回其区域内的IP结果。2 }

At }

3 NLB通常的NLB有三种解决办法。3.1本地DNS加速,如1.5所述的方法。3.2 CDN(内容分发网络)。CDN可以被看做是一个独立的}

3.3虚拟IP地址。通常,不应将一个IP设置为多个设备,因为超过此设置后,上层路由器将不知道如何转发此数据包。但是如果设置了路由器(比如BGP协议或者专门设计的路由软件),就可以在多台设备下共享同一个IP。这种共享可以是物理的(多个设备同时使用一个IP,上层路由选择分支或者广播组播数据包)也可以是轮询的(多个设备轮流使用一个IP,同时只有一个设备使用这个IP,这个IP可以在多个设备之间高速切换)。如果一个应用必须基于IP地址(比如DNS服务本身),那就只能这样处理了。

然后回头看看你的三个问题。

在Q1返回多个A记录后,客户端将尝试按照集合的顺序访问它们。这些数据只存在于NS服务器上,但是会被多层DNS缓存。

Q2 }

Q3希望你看过NLB段后能理解。

转载请注明原文地址:https://juke.outofmemory.cn/read/696854.html

最新回复(0)