DNS,P2P,TCP套接字编程
DNS
DNS提供的服务
- 同一台用户主机上运行着DNS应用的客户机端。
- 该浏览器从上述URL中抽取出主机名wWw. someschoo1,edu,并将这个主机名传给DNS应用的客户机端。
- 该DNS客户机向DNS服务器发送一个包含主机名的请求。
- 该DNS客户机最终会收到一份回答报文,其中含有对应于该主机名的IP地址。
- 一旦该浏览器接收到来自DNS的IP地址,它就可以向由该IP地址定位的HTTP服务器发起一个TCP连接。
- DNS协议运行在UDP之上, 使用53号端口。
- DNS是:①一个由分层的DNS服务器( DNS server)实现的分布式数据库个允许主机查询分布式数据库的应用层协议
- 与HTTP、FTP和SMTP协议一样,DNS协议是应用层协议,其原因在于:
- 使用客户机/服务器模式在通信的端系统之间运行
- 在通信的端系统之间通过端到端运输层协议来传送DNS报文。
DNS工作原理
-
它由分布于全球的大量DNS服务器以及定义了DNS服务器与査询主机通信方式的应用层协议组成。
-
DNS的一种简单设计方式是在因特网上只使用一个DNS服务器
-
一个DNS服务器的坏处
单点故障( a single point of failure)。如果该DNS服务器崩溃,整个因特网将随之瘫痪,单个DNS服务器不得不处理所有的DNS査询(用于为上亿台主机产生的所有HTTP请求报文和电子邮件报文服务)。
单个的DNS服务器不可能“邻近”所有查询客户机。如果我们将单台DNS服务器放在纽约市,那么所有来自澳大利亚的查询必须传播到地球的另一边,中间也