iOS面试题(每日一更)2020.5.28

一、DNS是什么?

名称:

DNS(Domain Name System),域名解析系统。

由来:

网络上的资源,包括网页、图片、文字、视频等等,这些内容并不是虚拟的存在网络空间中,网络是由无数的主机也就是真实的一台台的电脑相互连接组成的。当我们需要访问这些资源的时候,就需要访问资源所在的主机,而区分每一台主机就要有唯一的标识,现在已有的标识分为两种,一种是主机名,也就是通常所说的域名(比如:www.baidu.com等)是一串字符串;另一种是IP地址,也就是我们见到的 xxx.xxx.xxx.xxx 由数字组成的固定长度的一串数字。这两者各有优缺点,主机名易于记忆,但是不利于路由器的处理,而IP地址利于路由器的处理,不便于记忆。这时有人想出了一种折中的处理方式,既能够方便用户记忆,又可以方便路由器的处理,换句话说就是有一个IP地址和主机名对应关系的目录服务,这就是今天所说的 DNS的主要任务。

DNS是怎么实现的

  • 一个分层的DNS服务器实现的分布式数据库

  • 一个使得主机能够查询分布式数据库的应用层协议

DNS服务器通常是运行BIND软件的UNIX机器,DNS协议运行在UDP上,使用53号端口

DNS通常是由其他应用层协议所使用的,包括HTTP、SMTP等。其作用则是:将用户提供的主机名解析为IP地址

DNS的一种简单设计就是在因特网上只使用一个DNS服务器,该服务器包含所有的映射。很明显这种设计是有很大的问题的:

单点故障:如果该DNS服务器崩溃,全世界的网络随之瘫痪

通信容量:单个DNS服务器必须处理所有DNS查询

远距离的集中式数据库:单个DNS服务器必须面对所有用户,距离过远会有严重的时延。

维护:该数据库过于庞大,还需要对新添加的主机频繁更新。

所以,DNS被设计成了一个分布式、层次数据库

你可能感兴趣的:(iOS)