区块链技术博客
www.b2bchain.cn

iOS 网络相关面试题(DNS)求职学习资料

本文介绍了iOS 网络相关面试题(DNS)求职学习资料,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

一、DNS

因特网上的主机,可以使用多种方式标识,比如主机名或IP地址。

  • 一种标识方法就是用它的主机名(hostname),比如·www.baidu.com、www.google.com、gaia.cs.umass.edu等。这方式方便人们记忆和接受,但是这种长度不一、没有规律的字符串路由器并不方便处理。
  • 还有一种方式,就是直接使用定长的、有着清晰层次结构的IP地址,路由器比较热衷于这种方式。

为了折衷这两种方式,我们需要一种能进行主机名到IP地址转换的目录服务。这就是*域名系统(Domain Name System,DNS)的主要任务。

DNS是:
1、一个由分层的DNS服务器实现的分布式数据库
2、一个使得主机能够查询分布式数据库的应用层协议

而DNS服务器通常是运行BIND软件的UNIX机器,DNS协议运行在UDP上,使用53号端口
DNS通常是由其他应用层协议所使用的,包括HTTPSMTP等。其作用则是:将用户提供的主机名解析为IP地址

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

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

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

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

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

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

二、DNS服务器

为了处理扩展性问题,DNS使用了大量的DNS服务器,它们以层次方式组织,并且分布在全世界范围内。

域名服务器是提供域名解析的服务器,在有基本的知识下,任何人都可以搭建域名服务器,甚至是根域名服务器,有名的软件有:BIND

目前的DNS服务器大致分为3种类型的DNS服务器:根DNS服务器、顶级域DNS服务器、权威DNS服务器

1、 根DNS服务器

iOS 网络相关面试题(DNS)

因特网上有13个根DNS服务器(标号A到M),1个为主根服务器在美国。其余12个均为辅根服务器,其中9个在美国,欧洲2个,位于英国和瑞典,亚洲1个位于日本。这里的个并不是指物理意义上的单个服务器,它是一个逻辑概念,根DNS服务器可以由分布在全球的多个服务器组成,形成一个集群,对外统一为1台逻辑的根DNS服务器(即每个标号下的根DNS服务器的IP地址是一样的)。而实际物理意义上的根DNS服务器,已超过千台
https://root-servers.org/ 这里可以查到所有根DNS服务器的分布

iOS 网络相关面试题(DNS)
iOS 网络相关面试题(DNS)

截止发这篇文章之前,中国有19台根DNS服务器,分别位于:

  • 北京:F,I,J,L
  • 杭州:J
  • 澳门:F
  • 香港:A、D、E、F、F、I、J
  • 台北:E、F、F、I、K、L

2、顶级域(TLD)DNS服务器

这些服务器负责顶级域名如com、org、net、edu和gov,以及所有国家的顶级域名如uk、fr、ca和cn

3、权威DNS服务器

在因特网上具有公共可访问主机的每个组织机构必须提供公共可访问的DNS记录,这些记录将这些主机的名字映射为IP地址。一个组织机构的权威DNS服务器收藏了这些DNS记录。

除此之外,还有一种很重要的DNS,成为本地DNS服务器,其严格来说不属于该服务器的层次结构,但它对DNS层次结构是重要的。每个ISP (互联网服务提供商),比如一个大学,一个公司或一个居民区的ISP,都有一台本地DNS服务器

三、DNS解析过程

1、迭代查询和递归查询

iOS 网络相关面试题(DNS)

很清晰地显示出了一条DNS查询链:本地DNS服务器–>根DNS服务器–>顶级域DNS服务器–>权威DNS服务器 ,所有查询都是递归的。
这是递归查询

iOS 网络相关面试题(DNS)

这种利用了迭代查询递归查询,从Client与本地DNS之间是递归查询,其余则是迭代查询
所谓 递归查询过程 就是 “查询的递交者” 更替, 而 迭代查询过程 则是 “查询的递交者”不变。
从理论上讲,任何DNS查询既可以是迭代的也能是递归的。
而在实际过程中,更常用的是图上 从请求主机到本地DNS服务器的查询是递归,其余查询是迭代的这种方式。

2、DNS缓存

DNS缓存(DNS Caching):为了改善时延性能并减少在因特网上到处传输的DNS报文数量,DNS广泛使用了缓存技术。

一、DNS

因特网上的主机,可以使用多种方式标识,比如主机名或IP地址。

  • 一种标识方法就是用它的主机名(hostname),比如·www.baidu.com、www.google.com、gaia.cs.umass.edu等。这方式方便人们记忆和接受,但是这种长度不一、没有规律的字符串路由器并不方便处理。
  • 还有一种方式,就是直接使用定长的、有着清晰层次结构的IP地址,路由器比较热衷于这种方式。

为了折衷这两种方式,我们需要一种能进行主机名到IP地址转换的目录服务。这就是*域名系统(Domain Name System,DNS)的主要任务。

DNS是:
1、一个由分层的DNS服务器实现的分布式数据库
2、一个使得主机能够查询分布式数据库的应用层协议

而DNS服务器通常是运行BIND软件的UNIX机器,DNS协议运行在UDP上,使用53号端口
DNS通常是由其他应用层协议所使用的,包括HTTPSMTP等。其作用则是:将用户提供的主机名解析为IP地址

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

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

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

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

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

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

二、DNS服务器

为了处理扩展性问题,DNS使用了大量的DNS服务器,它们以层次方式组织,并且分布在全世界范围内。

域名服务器是提供域名解析的服务器,在有基本的知识下,任何人都可以搭建域名服务器,甚至是根域名服务器,有名的软件有:BIND

目前的DNS服务器大致分为3种类型的DNS服务器:根DNS服务器、顶级域DNS服务器、权威DNS服务器

1、 根DNS服务器

iOS 网络相关面试题(DNS)

因特网上有13个根DNS服务器(标号A到M),1个为主根服务器在美国。其余12个均为辅根服务器,其中9个在美国,欧洲2个,位于英国和瑞典,亚洲1个位于日本。这里的个并不是指物理意义上的单个服务器,它是一个逻辑概念,根DNS服务器可以由分布在全球的多个服务器组成,形成一个集群,对外统一为1台逻辑的根DNS服务器(即每个标号下的根DNS服务器的IP地址是一样的)。而实际物理意义上的根DNS服务器,已超过千台
https://root-servers.org/ 这里可以查到所有根DNS服务器的分布

iOS 网络相关面试题(DNS)
iOS 网络相关面试题(DNS)

截止发这篇文章之前,中国有19台根DNS服务器,分别位于:

  • 北京:F,I,J,L
  • 杭州:J
  • 澳门:F
  • 香港:A、D、E、F、F、I、J
  • 台北:E、F、F、I、K、L

2、顶级域(TLD)DNS服务器

这些服务器负责顶级域名如com、org、net、edu和gov,以及所有国家的顶级域名如uk、fr、ca和cn

3、权威DNS服务器

在因特网上具有公共可访问主机的每个组织机构必须提供公共可访问的DNS记录,这些记录将这些主机的名字映射为IP地址。一个组织机构的权威DNS服务器收藏了这些DNS记录。

除此之外,还有一种很重要的DNS,成为本地DNS服务器,其严格来说不属于该服务器的层次结构,但它对DNS层次结构是重要的。每个ISP (互联网服务提供商),比如一个大学,一个公司或一个居民区的ISP,都有一台本地DNS服务器

三、DNS解析过程

1、迭代查询和递归查询

iOS 网络相关面试题(DNS)

很清晰地显示出了一条DNS查询链:本地DNS服务器–>根DNS服务器–>顶级域DNS服务器–>权威DNS服务器 ,所有查询都是递归的。
这是递归查询

iOS 网络相关面试题(DNS)

这种利用了迭代查询递归查询,从Client与本地DNS之间是递归查询,其余则是迭代查询
所谓 递归查询过程 就是 “查询的递交者” 更替, 而 迭代查询过程 则是 “查询的递交者”不变。
从理论上讲,任何DNS查询既可以是迭代的也能是递归的。
而在实际过程中,更常用的是图上 从请求主机到本地DNS服务器的查询是递归,其余查询是迭代的这种方式。

2、DNS缓存

DNS缓存(DNS Caching):为了改善时延性能并减少在因特网上到处传输的DNS报文数量,DNS广泛使用了缓存技术。

一、DNS

因特网上的主机,可以使用多种方式标识,比如主机名或IP地址。

  • 一种标识方法就是用它的主机名(hostname),比如·www.baidu.com、www.google.com、gaia.cs.umass.edu等。这方式方便人们记忆和接受,但是这种长度不一、没有规律的字符串路由器并不方便处理。
  • 还有一种方式,就是直接使用定长的、有着清晰层次结构的IP地址,路由器比较热衷于这种方式。

为了折衷这两种方式,我们需要一种能进行主机名到IP地址转换的目录服务。这就是*域名系统(Domain Name System,DNS)的主要任务。

DNS是:
1、一个由分层的DNS服务器实现的分布式数据库
2、一个使得主机能够查询分布式数据库的应用层协议

而DNS服务器通常是运行BIND软件的UNIX机器,DNS协议运行在UDP上,使用53号端口
DNS通常是由其他应用层协议所使用的,包括HTTPSMTP等。其作用则是:将用户提供的主机名解析为IP地址

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

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

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

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

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

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

二、DNS服务器

为了处理扩展性问题,DNS使用了大量的DNS服务器,它们以层次方式组织,并且分布在全世界范围内。

域名服务器是提供域名解析的服务器,在有基本的知识下,任何人都可以搭建域名服务器,甚至是根域名服务器,有名的软件有:BIND

目前的DNS服务器大致分为3种类型的DNS服务器:根DNS服务器、顶级域DNS服务器、权威DNS服务器

1、 根DNS服务器

iOS 网络相关面试题(DNS)

因特网上有13个根DNS服务器(标号A到M),1个为主根服务器在美国。其余12个均为辅根服务器,其中9个在美国,欧洲2个,位于英国和瑞典,亚洲1个位于日本。这里的个并不是指物理意义上的单个服务器,它是一个逻辑概念,根DNS服务器可以由分布在全球的多个服务器组成,形成一个集群,对外统一为1台逻辑的根DNS服务器(即每个标号下的根DNS服务器的IP地址是一样的)。而实际物理意义上的根DNS服务器,已超过千台
https://root-servers.org/ 这里可以查到所有根DNS服务器的分布

iOS 网络相关面试题(DNS)
iOS 网络相关面试题(DNS)

截止发这篇文章之前,中国有19台根DNS服务器,分别位于:

  • 北京:F,I,J,L
  • 杭州:J
  • 澳门:F
  • 香港:A、D、E、F、F、I、J
  • 台北:E、F、F、I、K、L

2、顶级域(TLD)DNS服务器

这些服务器负责顶级域名如com、org、net、edu和gov,以及所有国家的顶级域名如uk、fr、ca和cn

3、权威DNS服务器

在因特网上具有公共可访问主机的每个组织机构必须提供公共可访问的DNS记录,这些记录将这些主机的名字映射为IP地址。一个组织机构的权威DNS服务器收藏了这些DNS记录。

除此之外,还有一种很重要的DNS,成为本地DNS服务器,其严格来说不属于该服务器的层次结构,但它对DNS层次结构是重要的。每个ISP (互联网服务提供商),比如一个大学,一个公司或一个居民区的ISP,都有一台本地DNS服务器

三、DNS解析过程

1、迭代查询和递归查询

iOS 网络相关面试题(DNS)

很清晰地显示出了一条DNS查询链:本地DNS服务器–>根DNS服务器–>顶级域DNS服务器–>权威DNS服务器 ,所有查询都是递归的。
这是递归查询

iOS 网络相关面试题(DNS)

这种利用了迭代查询递归查询,从Client与本地DNS之间是递归查询,其余则是迭代查询
所谓 递归查询过程 就是 “查询的递交者” 更替, 而 迭代查询过程 则是 “查询的递交者”不变。
从理论上讲,任何DNS查询既可以是迭代的也能是递归的。
而在实际过程中,更常用的是图上 从请求主机到本地DNS服务器的查询是递归,其余查询是迭代的这种方式。

2、DNS缓存

DNS缓存(DNS Caching):为了改善时延性能并减少在因特网上到处传输的DNS报文数量,DNS广泛使用了缓存技术。

部分转自互联网,侵权删除联系

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » iOS 网络相关面试题(DNS)求职学习资料
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们