美文网首页
网络相关的知识点DNS

网络相关的知识点DNS

作者: woniu | 来源:发表于2019-06-12 17:12 被阅读0次

首先思考一个问题: 为什么需要DNS解析域名为IP地址?
网络通讯大部分是基于TCP/IP的,而TCP/IP是基于IP地址的,所以计算机在网络上进行通讯时只能识别如“202.96.134.133”之类的IP地址,而不能识别认识域名。所以需要DNS解析域名为IP地址。

1、什么是DNS?

域名系统(Domain Name System,[缩写](DNS)是互联网的一项服务。它作为将域名IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCPUDP端口53,是应用层协议。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
简单来说:域名到IP地址的映射,DNS解析请求采用UDP数据报,且是明文传输。

2、DNS解析过程

客户端向服务端发送请求之前,需要先经过一个网络请求的过程,也就是域名到IP地址映射的过程,client会通过DNS协议向DNS服务器请求相应域名的解析,DNS服务器讲解析结果IP传给client,再由client向sever端发送请求。如下图:


DNS解析过程

3、DNS解析查询方式

主要有两种方式:
3.1递归查询
3.2迭代查询
递归查询
就是我去问下,client项域名服务器发送请求的时候,首先询问本地的DNS,如果本地的DNS不知道对应域名的IP的时候,会向根域名DNS询问,就这样一直向上,直到询问权限DNS服务器,找到对应的IP之后,再一层层的返回结果,最终到client,这种方式就叫递归查询。

递归查询

迭代查询
简单说就是我告诉你谁可能知道。client发送到本地DNS,本地DNS不知道就会询问顶级DNS,顶级DNS不知道,会告诉你跟域DNS可能知道,本地DNS再去询问跟域DNS,跟域DNS如果不知道,会告诉本地DNS权限DNS可能知道,本地DNS再去询问权限DNS,然后再将对应域名的IP返给本地DNS,再返给client。如下图:

迭代查询

4、DNS解析常见的问题

4.1DNS劫持问题
4.2DNS解析转发的问题
DNS劫持
client向DNS服务器查询IP,由于DNS使用的是UDP数据报且是明文传输,明文传输就很容易被窃听,如果此时有一个钓鱼DNS服务器劫持了我们的请求,那么就会返回一个错误的IP。那么我们的client就会请求一个错误的网站。

DNS劫持
延伸问题:
DNS劫持和HTTP是怎样的关系呢?
这个很有迷惑性,答案是没有任何关系,因为DNS解析是在HTTP请求发生之前啊,且DNS解析请求使用UDP数据报,端口号53 。
DNS 解析转发
主要是为了节省资源,比如client向“移动DNS”发送请求,如果是小的运营商为了节省资源,会转发到某个DNS服务器,比如电信DNS服务器,电信DNS服务器会向权威DNS服务器发送请求。最终返回的是电信的IP,这就涉及到跨网访问的情况。
DNS解析转发

5、怎样解决DNS劫持

5.1、httpDNS
5.2、长连接
httpDNS
使用DNS协议是使用UDP向DNS服务器的53端口进行请求。
使用HTTP协议向DNS服务器的80端口进行请求,这样的话就不会有正常的DNS解析,也就不会有DNS劫持了。
NDS服务器通过HTTP的相应返回一个IP地址,这样的话client就可以拿IP进行网络访问,这样就规避掉了DNS劫持。

61560340836_.pic.jpg

长连接
创建一个长连接的server(代理服务器),client和长连server建立一个长连接通道,可以将client的HTTP请求通过长连通道传给server,长连server对于API server可以通过内网专线对HTTP进行请求和相应。由长连server通过内网专线进行DNS的解析,这样也就规避了公网DNS解析的劫持问题。

长连接

相关文章

  • 网络相关的知识点DNS

    首先思考一个问题: 为什么需要DNS解析域名为IP地址?网络通讯大部分是基于TCP/IP的,而TCP/IP是基于I...

  • 网络相关之DNS

    推荐阅读:备战2020——iOS全新面试题总结 一、DNS 因特网上的主机,可以使用多种方式标识,比如主机名或IP...

  • 网络知识相关概念

    网络知识相关概念 何为DNS? local DNS 一般指的是哪些? 为什么会出现DNS解析异常? 什么是SNI?...

  • 2018-05-16

    09葵花宝典Openssl和DNS 本节主要介绍网络上相关数据加密和DNS知识,以及在linux上的实现。 # 一...

  • iOS开发进阶 - HTTP知识点梳理

    本文整理 《图解HTTP》中的知识点,方便查阅。 网络基础 基本术语 HTTP : 超文本传输协议。 DNS : ...

  • 前端面试题(六)前端性能优化篇

    网络相关 DNS 预解析 DNS 解析也是需要时间的,可以通过预解析的方式来预先获得域名所对应的 IP。 缓存 缓...

  • 性能问题

    网络相关 DNS预解析 DNS解析也是需要时间的,所以可以使用预解析预先获得域名对应的ip 缓存 对前端优化很重要...

  • [iOS面试]第8章 网络相关面试问题

    注意:本文主讲网络相关面试问题,包括HTTP协议、HTTPS协议与网络安全、TCP/UDP区别、DNS解析。 一、...

  • 网络相关面试问题

    注意:本文主讲网络相关面试问题,包括HTTP协议、HTTPS协议与网络安全、TCP/UDP区别、DNS解析。 一、...

  • DNS相关

    如果一些视频、音频、网页等加载不出来可以手动设置DNS来尝试。(不推荐手动设置DNS)114.114.114.11...

网友评论

      本文标题:网络相关的知识点DNS

      本文链接:https://www.haomeiwen.com/subject/ouzlfctx.html