域名服务器--DNS
.域名
.DNS
.DNS 端口号
.DNS服务器
.域名解析过程及原理
.动态域名解析(DDNS)服务的原理
域名
域名是与主机名称一一对应的一个名字。使得人们可以通过ip的名字来访问ip,域名就是为方便记忆和表示ip而为ip设置的名字。域名解析,就是通过名字,解析,找到要访问的ip地址所在的服务器。
DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。在RFC文档中RFC 2181对DNS有规范说明,RFC 2136对DNS的动态更新进行说明,RFC 2308对DNS查询的反向缓存进行说明。
DNS
全称是domain name service即:域名解析服务.
DNS 端口号53.DNS服务器
DNS使用的是TCP协议还是UDP协议简析
保存了一张域名(domain name)和与之相对应的IP地址 (IP address)的表,以解析消息的域名。 域名是Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。域名是由一串用点分隔的名字组成 的,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地区。
DNS同时占用UDP和TCP端口53是公认的,这种单个应用协议同时使用两种传输协议的情况在TCP/IP栈也算是个另类。但很少有人知道DNS分别在什么情况下使用这两种协议。
先简单介绍下TCP与UDP。
TCP是一种面向连接的协议,提供可靠的数据传输,一般服务质量要求比较高的情况,使用这个协议。UDP---用户数据报协议,是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。
TCP与UDP的区别:
UDP和TCP协议的主要区别是两者在如何实现信息的可靠传递方面不同。TCP协议中包含了专门的传递保证机制,当数据接收方收到发送方传来的信息时,会
自动向发送方发出确认消息;发送方只有在接收到该确认消息之后才继续传送其它信息,否则将一直等待直到收到确认信息为止。
与TCP不同,UDP协议并不提供数据传送的保证机制。如果在从发送方到接收方的传递过程中出现数据报的丢失,协议本身并不能做出任何检测或提示。因此,
通常人们把UDP协议称为不可靠的传输协议。相对于TCP协议,UDP协议的另外一个不同之处在于如何接收突发性的多个数据报。不同于TCP,UDP并不
能确保数据的发送和接收顺序。事实上,UDP协议的这种乱序性基本上很少出现,通常只会在网络非常拥挤的情况下才有可能发生。
既然UDP是一种不可靠的网络协议,那么还有什么使用价值或必要呢?其实不然,在有些情况下UDP协议可能会变得非常有用。因为UDP具有TCP所望尘莫
及的速度优势。虽然TCP协议中植入了各种安全保障功能,但是在实际执行的过程中会占用大量的系统开销,无疑使速度受到严重的影响。反观UDP由于排除了
信息可靠传递机制,将安全和排序等功能移交给上层应用来完成,极大降低了执行时间,使速度得到了保证。
DNS在进行区域传输的时候使用TCP协议,其它时候则使用UDP协议;
DNS的规范规定了2种类型的DNS服务器,一个叫主DNS服务器,一个叫辅助DNS服务器。在一个区中主DNS服务器从自己本机的数据文件中读取该区的
DNS数据信息,而辅助DNS服务器则从区的主DNS服务器中读取该区的DNS数据信息。当一个辅助DNS服务器启动时,它需要与主DNS服务器通信,并
加载数据信息,这就叫做区传送(zone transfer)。
为什么既使用TCP又使用UDP?
首先了解一下TCP与UDP传送字节的长度限制:
UDP报文的最大长度为512字节,而TCP则允许报文长度超过512字节。当DNS查询超过512字节时,协议的TC标志出现删除标志,这时则使用TCP发送。通常传统的UDP报文一般不会大于512字节。
区域传送时使用TCP,主要有一下两点考虑:
1.辅域名服务器会定时(一般时3小时)向主域名服务器进行查询以便了解数据是否有变动。如有变动,则会执行一次区域传送,进行数据同步。区域传送将使用TCP而不是UDP,因为数据同步传送的数据量比一个请求和应答的数据量要多得多。
2.TCP是一种可靠的连接,保证了数据的准确性。
域名解析时使用UDP协议:
客户端向DNS服务器查询域名,一般返回的内容都不超过512字节,用UDP传输即可。不用经过TCP三次握手,这样DNS服务器负载更低,响应更快。虽
然从理论上说,客户端也可以指定向DNS服务器查询的时候使用TCP,但事实上,很多DNS服务器进行配置的时候,仅支持UDP查询包。
DNS的工作原理及过程分下面几个步骤:
第一步:客户机提出域名解析请求,并将该请求发送给本地的域名服务器。
第二步:当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。
第三步:如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域) 的主域名服务器的地址。
第四步:本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。
第五步:重复第四步,直到找到正确的纪录。
第六步:本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。
名词解释:
1.根域名服务器--
如果想要访问站点: www.element.org , 此客户本地的域名服务器是 dns.company.com , 一个根域名服务器是 ns.inter.net ,所要访问的网站的域名服务器是 dns.element.org ,域名解析的过程如下所示:
- 客户机发出请求解析域名 www.element.org 的报文;
- 本地的域名服务器收到请求后,查询本地缓存,假设没有该纪录,则本地域名服务器 dns.company.com 则向根域名服务器 ns.inter.net 发出请求解析域名 www.element.org ;
- 根 域名服务器 ns.inter.net 收到请求后查询本地记录得到如下结果:element.org NS dns.element.org (表示 element.org 域中的域名服务器为:dns.element.org ),同时给出 dns.element.org 的地址,并将结果返回给域名服务器 dns.company.com ;
- 域名服务器 dns.company.com 收到回应后,再发出请求解析域名 www.element.org 的报文;
- 域 名服务器 dns.element.org 收到请求后,开始查询本地的记录,找到如下一条记录: www.element.org A 211.120.3.12 (表示 element.org 域中域名服务器 dns.element.org 的IP地址为:211.120.3.12),并将结果返回给客户本地域名服务器 dns.company.com ;
- 客户本地域名服务器将返回的结果保存到本地缓存,同时将结果返回给客户机。
这样就完成了一次域名解析过程。
动态域名解析(DDNS)服务的原理是什么?
知道一般DNS解析是可以自己设定邦定ip的,但是都要过一段时间(可能是1天)才能生效。现在网上有一些提供动态域名解析服务的,你在自己的客户端设定好邦定ip,就可以立即生效,我想跟大家探讨一下他们实现的原理。
我想实现办法大概分两种:
1、直接刷新CNNIC里面的DNS数据库,这可能需要DNS代理服务商具有较高的权限,不直到现在网上提供的服务是否是这种。当然作为我们爱好者,这种方式通常是无法实现的。
2、还有一种变通的办法,那就是把所有已经申请的域名都指向一个24小时都在网上的一个服务器,之后这个服务器接到请求后在转发到动态邦定的ip上。
动态域名解析系统是一种将域名始终解析到非固定IP的服务器上的技术。有了,您只需要有一条宽带即可轻松在家里、办公室建立自己的服务器。
当 你用PSTN、ISDN、ADSL拨号上网时,你的IP地址是随着每一次拨号而动态分配的,的稳定服务能使你的域名立即指向你的地址,而不论你的IP如何 变化。从而你可以通过该域名为客户提供固定的服务,随心所欲地打造自己的Web、FTP或者Mail服务器了,无需通过ISP营运商,全权自主管理,还可
以避免99.9%的网络攻击。动态域名解析系统配合时代互联--个人网站注册中心|个人域名注册|个人虚拟主机|个人网站推广|个人邮件系统强大的域名管 理服务器,能令您在家中建立像新浪、搜狐、网易、一样的大型多子域网站!如何选择动态域名服务商?
市面上动态域名解析软件有很多种,选择最好的首 要条件是看服务商有没有ISP营运背景。因为拥有解析软件你还需要你域名所在服务器是否支持你的域名指向不断更新。时代互联--个人网站注册中心|个人域 名注册|个人虚拟主机|个人网站推广|个人邮件系统是中国互联网信息中心认证的权威域名注册机构,其强大的VDNS域名服务器能让客户完全实时在线管理自 己域名的几乎所有属性,还任意增加次级域名,就凭这一点即可保证您的动态域名有更自由稳定的服务。
此外,大部分动态域名解析服务都是收费的,也有 一些小型软件商提供免费下载。动态域名解析实际上对提供商的依赖较大。万一提供商服务终止解析服务也将停止。作为企业,稳定长期的服务才是信心之选。此
外,虽然动态域名解析服务原理大同小异,但技术却参差不齐。时代互联--个人网站注册中心|个人域名注册|个人虚拟主机|个人网站推广|个人邮件系统创新 协议无关性域名解析服务,独有IP生存期可控制技术,还支持无公网IP的动态域名解析,融入强大的网络联通性能,这些卓越功能在业界都是首屈一指的
域名服务器--DNS的更多相关文章
- 详解DNS域名解析系统(域名、域名服务器[根、顶级、授权/权限、本地]、域名解析过程[递归与迭代])
文章转自:https://blog.csdn.net/weixin_43914604/article/details/105583806 学习课程:<2019王道考研计算机网络> 学习目的 ...
- IP地址,子网掩码,默认网关,DNS服务器知识详解(转)
转自:http://www.cnblogs.com/JuneWang/p/3917697.html 为了更深入的学习TCP/IP协议,最近看了不少有关资料,收集整理记录如下,以备后面的使用和方便各位学 ...
- DNS查找域名的过程
当我们在浏览器输入一个url地址时,需要获取到这个url的域名,本篇文章主要介绍了关于DNS查找解析域名的过程的一些东西. 关于DNS 不清楚DNS的小伙伴可以点这里:关于域名系统DNS解析IP地址的 ...
- IP地址,子网掩码,默认网关,DNS服务器详解
为了更深入的学习TCP/IP协议,最近看了不少有关资料,收集整理记录如下,以备后面的使用和方便各位学习: IP地址,子网掩码,默认网关,DNS服务器是什么意思? (一) 问题解析 001. 问: ...
- DNS 原理入门
导读 DNS 是互联网核心协议之一.不管是上网浏览,还是编程开发,都需要了解一点它的知识.本文详细介绍DNS的原理,以及如何运用工具软件观察它的运作.我的目标是,读完此文后,你就能完全理解DNS. 一 ...
- DNS原理
DNS 是互联网核心协议之一.不管是上网浏览,还是编程开发,都需要了解一点它的知识. 本文详细介绍DNS的原理,以及如何运用工具软件观察它的运作.我的目标是,读完此文后,你就能完全理解DNS. 一.D ...
- ubuntu搭建DNS
ubuntu搭建DNS 一. bind简介: BIND是Domain Name System (DNS) 协议的一个实现,提供了DNS主要功能的开放实现,主要包括以下三种: *域名服务器 *D ...
- 单位内部DNS架设及域名解析服务
越来越多的企业将企业内部局域网通过光缆.交换机等高速互连设备连接起来,形成较大规模的中型网络,网络上的主机和用户也随之日渐增多.作为 Internet的缩影,企业内部网上的各类服务器(如WWW服务器. ...
- 最全面的 DNS 原理入门
DNS 是互联网核心协议之一.不管是上网浏览,还是编程开发,都需要了解一点它的知识. 本文详细介绍DNS的原理,以及如何运用工具软件观察它的运作.我的目标是,读完此文后,你就能完全理解DNS. 一.D ...
随机推荐
- Asp.Net原理Version1.0
Asp.Net原理Version2.0 Asp.Net原理Version3.0_页面声明周期
- [原] GLES在iOS和Android上的不同
本来GLES提供了与native platform的接口 EGL, 然而iOS没有使用EGL接口, 而是自己搞了一套,叫做EAGL的类似东西, 虽然说大同小异,但是在做跨平台的时候还是很恶心. elg ...
- memmove和memcpy 以及strcmp strcpy几个库函数的实现
memmove和memcpy 1.memmove 函数原型:void *memmove(void *dest, const void *source, size_t count) 返回值说明:返回指向 ...
- [转载]实战Linux下VMware虚拟机根目录空间扩充
[转载]实战Linux下VMware虚拟机根目录空间扩充 (2011-07-31 21:34:34) 转载▼ 标签: 转载 原文地址:实战Linux下VMware虚拟机根目录空间扩充作者:shar ...
- hdu 1175 连连看 (广搜,注意解题思维,简单)
题目 解析见代码 #define _CRT_SECURE_NO_WARNINGS //这是非一般的最短路,所以广搜到的最短的路不一定是所要的路线 //所以应该把所有的路径都搜索出来,找到最短的转折数, ...
- POJ 3045
Cow Acrobats Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 2302 Accepted: 912 Descr ...
- POJ 1781
#include <iostream> #include <string> #include <cmath> using namespace std; unsign ...
- C# MessageBox 用法大全(转)
C# MessageBox 用法大全 http://www.cnblogs.com/Tammie/archive/2011/08/05/2128623.html 我们在程序中经常会用到MessageB ...
- [Hibernate]dynamic-insert和dynamic-update属性
这二个属性默认情况均为false,你可以通过以下二种方式进行配置使用: 1.Annotation @Entity @Table(name = "stock_transaction" ...
- 朴素贝叶斯方法(Naive Bayes Method)
朴素贝叶斯是一种很简单的分类方法,之所以称之为朴素,是因为它有着非常强的前提条件-其所有特征都是相互独立的,是一种典型的生成学习算法.所谓生成学习算法,是指由训练数据学习联合概率分布P(X,Y ...