计算机网络之DNS域名解析协议

DNS域名解析协议
例子:我现在想要浏览一个网站,它在背后做了什么事呢?假设浏览http://www.baidu.com 网站。
在这里插入图片描述
浏览网站其实也就是数据传输的过程,即封装与解封装的过程
封装:应用层:http协议头部
传输层:TCP协议头部,目标端口80,源端口随机的一个口
网络层:ip协议头部,在路由表中找目的ip对应的路由,找到对应的接口,然后得 到相应的IP地址,假设198.168.1.1,目的ip:主机会给DNS服务器发送一 个域名解析请求,然后DNS服务器将解析的结果ip发给主机,主机将这个 ip作为目的ip进行封装,这里返回的ip就是100.1.1.1。
数据链路层:MAC协议头部,源MACaa,目的MAC:看路由表,根据本网段和跨网段 进行选择,这里假设bb。
然后到物理层转换为比特流,这样就封装完成了,就可以发出去了。
百度服务器收到数据后,解封装,解封装到传输层时,看到是80接口,就会去找是哪个进程开放,然后就会连这个进程,

现在只知道域名http://www.baidu.com,要将域名解析为ip地址,
域名需要解析为ip
解析顺序如下:
1、先找本地文件

Linux:/etc/hosts
Windows:C:\Windows\System32\drivers\etc\hosts
打开windows中hosts文件如下:
在这里插入图片描述
#为注释的不用看
格式为:IP地址 域名
在cmd中ping www.baidu.com,结果如下:
在这里插入图片描述
在hosts文件中加一行172.16.3.36 www.baidu.com,再去在浏览器中地址栏输入: www.baidu.comji就可以得到如图所示的结果:
在这里插入图片描述
解析的IP地址为172.16.3.36
2、再找本地的DNS缓存
3、最后找网络上的DNS服务器(DNS服务器上记录了什么域名对应什么IP地
址)

**Windows:**在主机上配IP地址时,会配DNS服务器地址如图(配这个地址的目的就是为了有域名解析的时候就发给他们,让他们解析域名对应什么ip):
在这里插入图片描述
默认是两个DNS服务器地址,也可以加多个,点击高级即可
在这里插入图片描述
Linux:配置DNS地址:vim /etc/resolv.conf
在文件中写:nameserver 114.114.114.144(这个是自己配的DNS服务器地址)
还可以加第二个nameserver 8.8.8.8
还可以加第三个nameserver 9.9.9.9
加多个是为了更好地解析,越靠前优先级越高,最多是三个,即使写100个也只是用前三个。

网络上有很多DNS服务器,每个省都有,还区分移动的,电信的,联通的,为了更快地解析,好几个省共用一个DNS服务器。

在主机和DNS服务器之间进行传输数据时也是需要封装和解封装的。

为什么需要域名解析协议呢?
因为在网络层封装的必须是ip地址,所以要将域名解析为IP地址。

有些地址做了规则,只能通过域名访问,不能通过ip地址解析。

我们也可以在网络内部搭建一个DNS服务器,学校就可以。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值