DNS域名系统
一、什么是DNS
域名系统(Domain Name System,缩写:DNS)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。DNS协议是用来将域名转换为IP地址(也可以将IP地址转换为相应的域名地址)。
所以总的来说,域名系统就是:
- 建立IP地址于域名之间的映射关系
- 将域名解析为IP地址
- 将IP地址解析为域名
- client访问server1时,server1中配置了dns服务器,dns服务器中存在各个服务器的域名和ip的映射
- dns服务器会先进行响应,返回server1的ip
- client从dns中得到server的ip后,然后访问server1得到响应
二、域名实验
(一)设备参数设置
- client设置
- dns设置
- server1设置
- server2设置
(二)运行测试
当上面的设备设置完成后,就可以启动设备,打开client运行命令行:
PC>ping www.baidu.com Ping www.baidu.com [192.168.0.10]: 32 data bytes, Press Ctrl_C to break From 192.168.0.10: bytes=32 seq=1 ttl=128 time=63 ms From 192.168.0.10: bytes=32 seq=2 ttl=128 time=31 ms From 192.168.0.10: bytes=32 seq=3 ttl=128 time=31 ms From 192.168.0.10: bytes=32 seq=4 ttl=128 time=63 ms From 192.168.0.10: bytes=32 seq=5 ttl=128 time=46 ms --- 192.168.0.10 ping statistics --- 5 packet(s) transmitted 5 packet(s) received 0.00% packet loss round-trip min/avg/max = 31/46/63
可以通过如下的命令进行dns操作:
- ipconfig/displaydns 查看所有dns
- ipconfig/flushdns 清空所有的dns
- nslookup 调试工具
三、抓包实验
通过ping命令进行Wireshark抓包实验:
PC>ping www.baidu.com Ping www.baidu.com [192.168.0.10]: 32 data bytes, Press Ctrl_C to break From 192.168.0.10: bytes=32 seq=1 ttl=128 time=47 ms From 192.168.0.10: bytes=32 seq=2 ttl=128 time=47 ms From 192.168.0.10: bytes=32 seq=3 ttl=128 time=47 ms From 192.168.0.10: bytes=32 seq=4 ttl=128 time=47 ms From 192.168.0.10: bytes=32 seq=5 ttl=128 time=63 ms --- 192.168.0.10 ping statistics --- 5 packet(s) transmitted 5 packet(s) received 0.00% packet loss round-trip min/avg/max = 47/50/63 ms
可以看到这个命名会先先进行广播arp协议查找dns服务器,然后进行dns协议:
- 客户端向dns服务器发送dns协议请求,询问www.baidu.com域名的ip
- dns服务器向客户端进行响应www.baidu.com的ip
- 然后再进行ping命令的icmp协议
作者:iveBoy
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。