Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >DNS域名解析系统

DNS域名解析系统

作者头像
Liusy
发布于 2021-06-24 10:18:00
发布于 2021-06-24 10:18:00
28.6K00
代码可运行
举报
文章被收录于专栏:Liusy01Liusy01
运行总次数:0
代码可运行

前言

前两篇记录了一下UDP、广播和多播的相关笔记。

那么我们在打开TCP连接或者用UDP发送一个数据报之前,接收方往往是一个域名,例如xxx.com,此时需要将这个域名转换成IP地址,那么怎么进行转换的呢???

就是通过这个DNS域名系统进行转换。

今天就来记录一下DNS域名系统。

DNS域名系统

DNS域名系统(Domain Name System) 是一种用于TCP/IP应用程序的分布式数据库,提供主机名字和IP地址之间的转换及有关电子邮件的选路信息。

DNS提供了允许服务器和客户程序相互通信的协议。

从应用的角度上看,对DNS的访问是通过一个地址解析器来完成的。

解析器通过一个或多个名字服务器来完成主机名和IP的相互转换。

在一个应用程序请求TCP打开一个连接或使用UDP发送给一个数据报之前,必须将一个主机名转换成IP地址。

每个节点的标识最长63字符,不区分大小写,任何一个节点的域名就是将该节点到最高层的域名串连起来,用“.”分割。

以“.”结尾的域名被称为绝对域名或完全合格的域名FQDN,例如:sun.tuc.noao.edu.

如果非“.”结尾,则认为该域名是不完全的。如果不完整的域名由两个或两个以上的标号组成,则认为它是完整的,或者在该域名的右边加上一个局部后缀,例如,域名sun加上局部后缀 .tuc.noao.edu. 成为完整的。

「顶级域名被分成三个部分:」

(1)arpa是用作地址到名字转换的特殊域

(2)7个3字符长的普通域

(3)所有2字符长的域被称为国家域,或地理域

描述

com

商业组织

edu

教育机构

gov

其它美国政府部门

int

国际组织

mil

美国军事网点

net

网络

org

其它组织

我们日常能接触到的就是以com结尾的域名

比如学校的就是这样

至于后面的“.cn”域名表示的是我国顶级域名

DNS服务器

  • 根DNS服务器:返回顶级域DNS服务器的IP地址
  • 顶级域DNS服务器:返回权威DNS服务器的IP地址
  • 权威DNS服务器:返回相应主机的IP地址

DNS解析流程

为了提高DNS的解析性能,很多网络都会就近部署DNS缓存服务器。

  1. 浏览器访问www.xxx.com,发一个DNS请求,询问对应的IP是啥,并发给本地域名服务器(本地DNS)。 「何为本地NDS?」 如果通过DHCP配置,本地DNS由网络服务商(ISP),如电信、移动等自动分配,通常就在网络服务商的某个机房。
  2. 本地DNS收到请求,本地DNS缓存着一张域名和IP对应的表,如果找到则直接返回IP地址。如果没有,本地DNS会去询问根域名服务器对应的IP地址是啥,根域名服务器是最高层次的,不直接用于域名解析,当能说明可去哪解析。
  3. 根DNS收到本地DNS请求后,发现后缀是.com,返回顶级域名服务器的地址
  4. 本地DNS随即请求顶级域名服务器查询对应的IP,顶级域名服务器管理者二级域名,比如baidu.com,所以它返回权威DNS服务器的地址。
  5. 本地DNS拿到权威DNS服务器地址,请求获取对应的IP,权威DNS服务器查询后将对应的IP地址返回给本地DNS
  6. 本地DNS再将IP地址返回客户端,客户端和目标建立连接。

「本地设置域名和IP转换」

在linux机器上通过在文件“/etc/hosts”中配置域名对应的IP地址

「设置DNS域名服务器」

需要在“/etc/resolv.conf”文件中配置

添加如下内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nameserver 114.114.114.114

负载均衡

根据域名查询IP是一次DNS递归查询过程。本地DNS全权处理。在此过程中,DNS除了可以通过名称映射IP地址,还可以做另一件事,就是负载均衡

DNS可以做内部负载均衡,域名和IP具有一对多的关系,配置域名比直接配置IP更具有灵活性。

DNS可以做全局负载均衡,高可用、就近访问

例如:DNS 访问数据中心对象存储上的静态资源

假设全国有多个数据中心,托管在多个运营商,每个数据中心三个可用区(Available Zone)。对象存储通过跨可用区部署,实现高可用性。在每个数据中心中,都至少部署两个内部负载均衡器,内部负载均衡器后面对接多个对象存储的前置服务器(Proxy-server)。

对于复杂的应用、跨地域跨运营商的大型应用,则需要更加复杂的全局负载均衡机制,这就是全局负载均衡器(GSLB,Global Server Load Balance)。

权威DNS服务器中,一般通过配置CNAME的方式,给域名起一个别名,例如:www.vip.baidu.com,然后告诉本地DNS服务器,让它请求GSLB解析这个域名,GSLB就可以在解析这个域名的过程中,通过自身策略实现负载均衡。

图中画了两层的 GSLB,是因为分运营商和地域。不同运营商的客户,可以访问相同运营商机房中的资源,这样不跨运营商访问,有利于提高吞吐量,减少时延。

  1. 第一层 GSLB,通过查看请求它的本地 DNS 服务器所在的运营商,就知道用户所在的运营商。假设是移动,通过 CNAME 的方式,通过另一个别名 object.yd.yourcompany.com,告诉本地 DNS 服务器去请求第二层的 GSLB。
  2. 第二层 GSLB,通过查看请求它的本地 DNS 服务器所在的地址,就知道用户所在的地理位置,然后将距离用户位置比较近的 Region 里面,六个内部负载均衡(SLB,Server Load Balancer)的地址,返回给本地 DNS 服务器。
  3. 本地 DNS 服务器将结果返回给本地 DNS 解析器。
  4. 本地 DNS 解析器将结果缓存后,返回给客户端。
  5. 客户端开始访问属于相同运营商的距离较近的 Region 1 中的对象存储,当然客户端得到了六个 IP 地址,它可以通过负载均衡的方式,随机或者轮询选择一个可用区进行访问。对象存储一般会有三个备份,从而可以实现对存储读写的负载均衡。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Liusy01 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
HTTPDNS 解析
HTTPDNS使用HTTP协议进行域名解析,代替现有基于UDP的DNS协议,域名解析请求直接发送到阿里云的HTTPDNS服务器,从而绕过运营商的Local DNS,能够避免Local DNS造成的域名劫持问题和调度不精准问题。 HTTPDNS是面向移动开发者推出的一款域名解析产品,具有域名防劫持、精准调度等特性。开通HTTPDNS服务后,您就可以在管理控制台添加要解析的域名,调用服务API进行域名解析。HTTPDNS是一款递归DNS服务,与权威DNS不同,HTTPDNS并不具备决定解析结果的能力,而是主要负责解析过程的实现。
xiangzhihong
2022/11/30
3K0
搞懂这 9 个步骤,DNS 访问原理就明明白白了
前两天遇到一个面试的小伙伴,他说面试官和他聊得很投机,无意中谈到了DNS请求的过程。他一时语塞随便应付了两句,虽然对方没有追问的意思,但最后面试结果也并不理想。本着边面试边学习的态度,我们来看看DNS请求的过程中涉及到的定义和原理。
杰哥的IT之旅
2020/06/18
1.9K0
搞懂这 9 个步骤,DNS 访问原理就明明白白了
基于DNS解析的GSLB《CDN技术详解》
基于DNS解析的GSLB方案实际上就是把负载均衡设备部署在DNS系统中。在用户发出任何应用连接请求时,首先必须通过DNS系统来请求获得服务器的IP地址,基于DNS的GSLB正是在返回DNS解析结果的过程中进行智能决策,给用户返回一个最佳的服务器的IP地址。从用户的视角看,整个应用流程与没有GSLB参与时没有发生任何变化。
全栈程序员站长
2022/06/29
3.2K0
HTTPDNS 快速入门
DNS(Domain Name System,域名系统)是互联网的一项服务。它是域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS 使用 UDP 端口53,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
37手游iOS技术运营团队
2021/12/15
4.3K0
HTTPDNS 快速入门
多张图带你彻底搞懂DNS域名解析过程
1、DNS DNS(Domain Name System)是域名系统的英文缩写,是一种组织成域层次结构的计算机和网络服务命名系统,用于 TCP/IP 网络。 2、域名系统DNS 的作用 通常我们有两种方式识别主机:通过主机名或者 IP 地址。人们喜欢便于记忆的主机名表示,而路由器则喜欢定长的、有着层次结构的 IP 地址。为了满足这些不同的偏好,我们就需要一种能够进行主机名到IP 地址转换的目录服务,域名系统作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。 因此,即使不使用域名
入门笔记
2022/06/02
3.9K0
多张图带你彻底搞懂DNS域名解析过程
【拓展】一文看懂:网址,URL,域名,IP地址,DNS,域名解析
今天给大家梳理一篇关于网址、URL、IP地址、域名、DNS、域名解析的白话长文,并以简单的提问-解答形式让读者更加深刻理解网址、URL、IP地址、域名、DNS、域名解析,希望有助于读者的学习,面试和工作!
pingan8787
2020/05/05
24.5K0
全面理解DNS及HTTPDNS
移动场景下DNS解析开销是整个网络请求中不可忽略的一部分。在弱网环境下,基于UDP的LocalDNS解析非常容易出现解析超时的问题,并且即使解析成功会消耗数百毫秒乃至更甚,对我们整个业务请求而言是非常不利的,它直接影响了客户的体验。
架构之家
2022/07/12
3K0
全面理解DNS及HTTPDNS
全面了解移动端DNS域名劫持等杂症:原理、根源、HttpDNS解决方案等1、引言2、相关文章3、正文概述4、首先,什么是DNS?5、国内移动端网络所面临的各种DNS杂症6、追根溯源,国内DNS问题的根
本文引用了腾讯工程师廖伟健发表于“鹅厂网事”公众号上的《【鹅厂网事】全局精确流量调度新思路-HttpDNS服务详解》一文部分内容,感谢原作者的分享。
JackJiang
2018/12/24
4.7K0
女朋友突然问我DNS是个啥....
这是乱敲代码的第36篇原创 今天晚上我正在床上躺着刷手机,然后我女朋友突然说她的电脑坏了。说连着WIFi上不了网,让我给她看一下。(这就是有个程序员男朋友的好处?) 然后我拿到电脑看了一下发现访问网
乱敲代码
2020/12/29
1.4K0
女朋友突然问我DNS是个啥....
快速了解DNS
在我们日常浏览互联网时,往往只需输入一个网址,就可以瞬间访问全球各地的各种网站。这个看似简单的过程,其实背后有着复杂的技术支持。而其中最关键的一环,便是域名系统(Domain Name System,简称DNS)。本文将探讨DNS的工作原理、重要性及其未来发展趋势。
创意妙计
2024/08/07
2580
DNS解析全过程
域名系统DNS(Domain Name System)是因特网使用的命名系统,用来把便于人们使用的机器名字转换成为IP地址。域名系统其实就是名字系统。为什么不叫“名字”而叫“域名”呢?这是因为在这种因特网的命名系统中使用了许多的“域(domain)”,因此就出现了“域名”这个名词。“域名系统”明确地指明这种系统是应用在因特网中。
用户8418197
2021/08/08
2.6K0
抓包理解 DNS 流程和 CDN 原理
DNS (Domain Name System)是我们每天都用到的协议,CDN (Content Delivery Network)也经常会接触到,但你能说出它们的原理么?
神说要有光zxg
2023/02/01
2.2K0
DNS那些事——从浏览器输入域名开始分析DNS解析过程
  也称为DNS解析器。这种服务器是 DNS 查询的起点,它负责从根 DNS 服务器开始解析域名,一步步查询到目标域名所在的 DNS 服务器,并将解析结果返回给用户设备。递归 DNS 服务器通常由网络服务提供商(ISP)或公司网络管理员管理。
砖业洋__
2023/05/06
4.5K0
DNS那些事——从浏览器输入域名开始分析DNS解析过程
一文搞懂常用的网络概念:域名、静态IP和动态IP、域名解析DNS、动态域名解析DDNS
在此之前,我对于网络通讯上的一些基础概念总是含糊其辞,感觉自己知道都又道不出个所以然,总之就是不成体系难以有个整体的把握。因此有了本文,目的是对一些平时颇为关注的网络概念进行总结,描绘出它们的关系,借此也希望能去扫清你的一些障碍,给小伙伴们分享一波。
YourBatman
2020/04/08
41.3K1
一文搞懂常用的网络概念:域名、静态IP和动态IP、域名解析DNS、动态域名解析DDNS
深入学习 DNS 域名解析
在平时工作中相信大家都离不开 DNS 解析,因为 DNS 解析是互联网访问的第一步,无论是使用笔记本浏览器访问网络还是打开手机APP的时候,访问网络资源的第一步必然要经过DNS解析流程。
用户11531739
2025/03/19
1.9K0
计算机网络自学笔记:DNS
因特网上的主机和人类一样,也可以使用多种方式进行识别。主机的一种识别方法是用它的主机名,这些名字便于记忆,也乐于被人们接受。主机也可以使用所谓IP地址进行识别。一个IP地址由4个字节组成,并有着严格的层次结构。我们说IP地址具有层次结构,是因为从左至右它包含了越来越详细的关于主机的位置息。
云时之间
2019/03/04
1.2K0
计算机网络自学笔记:DNS
DNS解析过程
DNS(Domain Name System,域名系统)解析是将域名(如www.example.com)转换为对应的IP地址(如192.0.2.1)的过程。这个过程对于互联网的正常运行至关重要,因为计算机在网络中通过IP地址进行通信,而域名对于人类来说更容易记忆。以下是DNS解析的详细过程:
久绊A
2025/05/05
2.2K0
网络协议 16 - DNS 协议:网络世界的地址簿
    为什么在地址栏输入域名,就能直接访问到对应服务器?全局负载均衡和内部负载均衡又是什么?这些都和 DNS 解析息息相关,让我们一起来解密 DNS 解析。
北国风光
2019/04/11
1.9K0
网络协议 16 - DNS 协议:网络世界的地址簿
【愚公系列】软考高级-架构设计师 025-域名系统DNS
域名系统(Domain Name System,简称DNS)是互联网的一项核心服务,其主要功能是将易于记忆的域名(例如www.example.com)转换成对应的IP地址(例如192.0.2.1)。这样的转换使得用户可以方便地通过域名访问互联网上的服务器,而无需记住复杂的数字IP地址。
愚公搬代码
2024/06/14
1930
DNS-域名解析系统
DNS服务知识体系.png 一、DNS域名解析系统 1.DNS DNS(域名解析系统)是一个分布式数据库,以C/S方式工作。 DNS是一种在网络上为用户提供从域名向IP地址映射的服务,基于UDP运行,使用53号端口。 (1)常见后缀名 顶级域名(TLD)在根域名下,分为3大类:国家顶级域名、通用顶级域名、国际顶级域名。 ① 常用域名 域名名称 作用 .com 商业机构 .edu 教育机构 .gov 政府部门 .int 国际组织 .mil 美国军事部门 .net 网络组织,例如:因特网服务商和维
见贤思齊
2020/10/10
24.6K0
DNS-域名解析系统
推荐阅读
相关推荐
HTTPDNS 解析
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档