CSE_lecture20:network-dns-cdn

DNS & Naming Scheme

the design of DNS

实现hostname和IP地址的转换,从而实现用户友好

一个域名可以对应多个IP地址,从而实现负载均衡,允许用户访问一个更近的IP地址;一个IP地址也可以对应多个域名;这种映射关系可以发生变化,但需要向DNS服务商发送请求

为了能够扩大规模,需要引入hierarchy的思想,即进行分层,分成不同的域,每个zone使用不同的name server解析

name server分为:

  • root zone由ICANN管理,非盈利
  • “.com” zone由VeriSign管理,盈利
  • 从root zone到”.com” zone一层一层管理下面的域名

以”ipads.se.sjtu.edu.cn”为例,lookup算法为:

  • 从root开始,告诉我们”cn”的name server的IP
  • “cn” name server告诉我们”edu.cn”的name server的IP
  • 以此类推,直到知道”ipads.se.sjtu.edu.cn”的IP

即每一层的name server并不需要记住过多的域名,只需要记录下一层的几个节点即可

DNS的name都是全局的,因此没有上下文的问题。域名使用”.”分割,因此实际为”ipads.se.sjtu.edu.cn.”,最后的点表示root

每个zone会对应多个name server,从而提高容错

look-up算法可以进行改进:

  • 第一个DNS请求可以到任何name server,降低root的压力,这是依靠缓存实现的
  • recursion: 降低client的压力,即由name server来帮忙递归找域名地址,好处是更快,缺点是请求是有状态的,因此只用于小范围
  • caching: 将访问过的地址缓存在DNS client和name server中,但会设置TTL

behind the DNS design

DNS设计的优点有:

  • hierarchy的设计让管理分化,只需要将新的域名分配给直属的上级name server,简化了域名的管理
  • global name防止了DNS指定上下文,而是产生一个唯一的域名
  • lookup的性能要求不高,使得性能具备scalable
  • 一个zone有多个name server,提高了容错

DNS设计的缺点有:

  • 谁去控制root zone和”com” zone等等?
  • root server的负载依然很高,尤其是当访问不存在的域名时,可能出现缓存穿透
  • client无法确定DNS服务器的响应是否正确

content distribution

需要减小访问网络上大型文件的延迟,client端可以使用cache,而server端也会使用cache,但由于文件很大可能装不下,因此额外使用一些服务器专门用于缓存大型文件,即CDN

CDN离发出请求的client越近越好,content提供者会进行预热,在大量请求到达之前将大型文件提前缓存在CDN上,从而提升性能

HTTP redirection中,一个服务器收到请求后,会让client redirect到一台更近的服务器。好处是可以细粒度分发资源,缺点是增加了一次RTT,但对于大型文件而言可以接受

也可以通过DNS选择服务器,即在资源对应的多个IP地址中选择更近的那个。好处是降低时延,缺点是强依赖IP地址

naming scheme

naming schemes包括:names, values, look-up algorithm

binding即实现name和value的绑定,可以是一对一,也可以是一对多、多对一;而resolve实现了name的解析

naming context包括两大类:context和name分开,如inode;context是name的一部分,内嵌在其中,如邮件。当name space只有一个context时为universal name spaces,全球唯一

决定context的方法有:

  • 硬编码在resolver里面,如universal name spaces
  • 从环境变量中寻找,但需要正确的context

name mapping的算法有:

  • 查表
  • 递归查找
  • 并列查找,如$PATH,冒号隔开的是并列关系

CSE_lecture20:network-dns-cdn
http://example.com/2025/12/17/CSE-lecture20-network-dns-cdn/
作者
jietiDdd
发布于
2025年12月17日
许可协议