前言
本文分析dns工作过程及原理,给一个简单的dns实现代码流程,并针对linux及android
下实现dns的不同,分别分析,供学习dns参考。
一、DNS功能
DNS(Domain Name System,域名系统),dns用于进行域名解析,说白了,就是给出一个
主机名,你给我找出该主机名对应的ip地址。例如:给你www.baidu.com的主机名,你给
我查出对应的ip地址:163.177.151.109。一些主机名还会有别名,如www.baidu.com就
有别名www.a.shifen.com,甚至不止一个别名,或一个别名有2个ip地址。在linux机子
上,运行nslookup(name service lookup)就是进行域名解析。如下面:
~$ nslookup www.baidu.com
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
www.baidu.com canonical name = www.a.shifen.com.
Name: www.a.shifen.com
Address: 163.177.151.109
Name: www.a.shifen.com
Address: