【RL-TCPnet网络教程】第27章 DNS域名系统基础知识
第27章 DNS域名系统基础知识
本章节为大家讲解DNS(Domain Name System,域名系统),通过前面章节对TCP和UDP的学习,需要大家对DNS也有个基础的认识。
(本章的知识点主要整理自网络)
27.1 初学者重要提示
27.2 DNS基础知识参考资料
27.3 DNS基础知识点
27.4 DNS函数
27.5 总结
27.1 初学者重要提示
- 通过前面几个章节对TCP和UDP的学习,需要初学者对DNS的基础知识点也有个了解。
- 域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转换过程。域名的解析工作由DNS服务器完成。
27.2 DNS基础知识参考资料
为了对TCP和UDP有更全面的认识,需要对DNS的一些基础知识有个了解。大家可以从以下地址获得DNS协议基础知识:
- RFC1034地址 : ftp://ftp.rfc-editor.org/in-notes/rfc1034.txt 。
- wiki百科中文版:地址链接(这个是超链接)
- wiki百科英文版:地址链接(这个是超链接)
- 百度百科1:地址链接(这个是超链接)
- 百度百科2:地址链接(这个是超链接)
对于初学者来说,学习上面五个参考资料就够了。如果大家有网络方面的书籍,比如《TCP/IP详解》,也可以直接看书籍。
27.3 DNS基础知识点
(这里的知识点整理自上面的参考资料地址)
教程这里也对DNS的基础知识做个介绍,方便大家先有个大概的认识。
27.3.1 DNS简要说明
DNS(Domain Name System,域名系统)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS使用TCP和UDP端口53。RFC文档中RFC 2181对DNS有规范说明,RFC 2136对DNS的动态更新进行说明,RFC 2308对DNS查询的反向缓存进行说明。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。
开始时,域名的字符仅限于ASCII字符的一个子集。2008年,ICANN通过一项决议,允许使用其它语言作为互联网顶级域名的字符。使用基于Punycode码的IDNA系统,可以将Unicode字符串映射为有效的DNS字符集。因此,诸如“x.中国”、“x.台湾”等这样的域名可以在地址栏直接输入,而不需要安装插件。但是,由于英语的广泛使用,使用其他语言字符作为域名会产生多种问题,例如难以输入、难以在国际推广等。
27.3.2 DNS功能
每个IP地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。有了主机名,就不需要死记硬背每台IP设备的IP地址,只要记住主机名即可。这就是DNS协议所要完成的功能。
主机名到IP地址的映射有两种方式:
- 静态映射
每台设备上都配置主机到IP地址的映射,各设备独立维护自己的映射表,而且只供本设备使用。
- 动态映射
建立一套域名解析系统(DNS),只在专门的DNS服务器上配置主机到IP地址的映射,网络上需要使用主机名通信的设备,首先需要到DNS服务器查询主机所对应的IP地址。
通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。在解析域名时,可以首先采用静态域名解析的方法,如果静态域名解析不成功,再采用动态域名解析的方法。可以将一些常用的域名放入静态域名解析表中,这样可以大大提高域名解析效率。
27.3.3 域名解析
在域名注册商那里注册了域名之后如何才能看到自己的网站内容,用一个专业术语就叫域名解析。
域名是为了方便记忆而专门建立的一套地址转换系统。要访问一台互联网上的服务器,最终还必须通过IP地址来实现,域名解析就是将域名重新转换为IP地址的过程。一个域名对应一个IP地址,一个IP地址可以对应多个域名,所以多个域名可以同时被解析到一个IP地址。域名解析需要由专门的域名解析服务器(DNS)来完成。
人们习惯记忆域名,但机器间互相只认IP地址,域名与IP地址之间是对应的,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,整个过程是自动进行的。域名解析协议(DNS)用来把便于人们记忆的主机域名和电子邮件地址映射为计算机易于识别的IP地址。DNS是一种C/S的结构(Client/Server),客户机就是用户用于查找一个名字对应的地址,而服务器通常用于为别人提供查询服务。
27.3.4 域名结构
通常 Internet 主机域名的一般结构为:主机名.三级域名.二级域名.顶级域名。Internet 的顶级域名由 Internet网络协会中负责网络地址分配的委员会进行登记和管理,它还为 Internet的每一台主机分配唯一的 IP 地址。全世界现有三个大的网络信息中心:位于美国的 Inter-NIC,负责美国及其他地区; 位于荷兰的RIPE-NIC,负责欧洲地区;位于日本的APNIC ,负责亚太地区。
27.3.5 域名解析器
域名解析器,是把域名转换成主机所在IP地址的中介。通常上网的时候,敲入一个域名地址,电脑会首先向DNS服务器搜索相对应的IP地址,服务器找到对应值之后,会把IP地址返回给你的浏览器,这时浏览器根据这个IP地址发出浏览请求,这样才完成了域名寻址的过程。操作系统会把你常用的域名IP地址对应值保存起来,当你浏览经常光顾的网站时,就可以直接从系统的DNS缓存里提取对应的IP地址,加快连线网站的速度。
27.3.6 域名解析流程
域名解析的流程是:域名->DNS(域名解析服务器)->网站空间。
Internet上的计算机是通过IP地址来定位的,给出一个IP地址,就可以找到Internet上的某台主机。而因为IP地址难于记忆,又发明了域名来代替IP地址。但通过域名并不能直接找到要访问的主机,中间要加一个从域名查找IP地址的过程,这个过程就是域名解析。域名注册后,注册商为域名提供免费的静态解析服务。一般的域名注册商不提供动态解析服务,如果需要用动态解析服务,需要向动态域名服务商支付域名动态解析服务费。
解析过程举个例子,比如,一个域名为:abc.com,如果要访问网站,就要进行解析,首先在域名注册商那里通过专门的DNS服务器解析到一个WEB服务器的一个固定IP上,比如:211.214.1.XXX,然后,通过WEB服务器来接收这个域名,把abc.com这个域名映射到这台服务器上。那么,输入abc.com这个域名就可以实现访问网站内容了,即实现了域名解析的全过程。
27.3.7 DNS记录类型
DNS系统中,常见的资源记录类型有:
- 主机记录(A记录)
RFC 1035定义,A记录是用于名称解析的重要记录,它将特定的主机名映射到对应主机的IP地址上。
- 别名记录(CNAME记录)
RFC 1035定义,CNAME记录用于将某个别名指向到某个A记录上,这样就不需要再为某个新名字另外创建一条新的A记录。
- IPv6主机记录(AAAA记录)
RFC 3596定义,与A记录对应,用于将特定的主机名映射到一个主机的IPv6地址。
- 服务位置记录(SRV记录):
RFC 2782定义,用于定义提供特定服务的服务器的位置,如主机(hostname),端口(port number)等。
- NAPTR记录
RFC 3403定义,它提供了正则表达式方式去映射一个域名。NAPTR记录非常著名的一个应用是用于ENUM查询。
27.4 总结
本章节就为大家讲解这么多,更多DNS的相关知识需要大家查阅相关书籍进行学习,或者网上搜索相关资料进行学习。
【RL-TCPnet网络教程】第27章 DNS域名系统基础知识的更多相关文章
- 【RL-TCPnet网络教程】第18章 BSD Sockets基础知识
第18章 BSD Sockets基础知识 本章节为大家讲解BSD Sockets,需要大家对BSD Sockets有个基础的认识,方便后面章节Socket实战操作. (本章的知识点主要整理自 ...
- Objective-C 基础教程第三章,面向对象编程基础知
目录 Objective-C 基础教程第三章,面向对象编程基础知 0x00 前言 0x01 间接(indirection) 0x02 面向对象编程中使用间接 面向过程编程 面向对象编程 0x03 OC ...
- 第二章 TCP/IP 基础知识
第二章 TCP/IP 基础知识 TCP/IP transmission control protocol and ip internet protocol 是互联网众多通信协议中最为著名的. ...
- 【安富莱TCPnet网络教程】HTTP通信实例
第41章 HTTP超文本传输协议基础知识 本章节为大家讲解HTTP(HyperText Transfer Protocol,超文本传输协议),从本章节开始,正式进入嵌入式Web的设计和学习. ...
- 《Java从入门到失业》第一章:计算机基础知识(一):二进制和十六进制
0 前言 最近7年来的高强度工作和不规律的饮食作息,压得我有些喘不过气,身体也陆续报警.2018年下半年的一场病,让我意识到了这个问题的严重性,于是开始强制自己有规律饮食和作息,并辅以健身锻炼,不到2 ...
- Linux网络服务第七章DNS域名解析服务
端口:53 一.DNS服务器 正向解析:根据域名查IP地址,即将指定的域名解析为相对应的IP地址.域名的正向解析是DNS服务器最基本的功能,也是最常用的功能. 反向解析:根据IP地址查域名,即将指定的 ...
- python 网络编程(五)---DNS域名系统
1.域名系统定义 DNS计算机域名系统由域名服务器和域名解析器组成.通常输入的是网址就是一个域名. 2.域名查询 查询方式包括: 1)正向查询:由域名查找对应的IP(如:www.baidu.com—& ...
- 【blockly教程】第二章 Blockly编程基础
2.1 Blockly的数据类型 2.1.1 数据的含义 在计算机程序的世界里,程序的基本任务就是处理数据,无论是数值还是文字.图像.图形.声音.视频等信息,如果要在计算机中处理的话,就必须将它们转 ...
- TCP/IP详解 卷一(第十四章 DNS:域名系统)
域名系统(DNS Domain Name System)是一种用于TCP/IP应用程序的分布式数据库,它提供主机名字和IP地址之间的转换及有关电子邮件的选路信息. 从应用角度上看,对DNS的访问时通过 ...
随机推荐
- 高可用Redis(九):Redis Sentinel
1.主从复制高可用的问题 主从复制高可用的作用 1.为master提供备份,当master宕机时,slave有完整的备份数据 2.对master实现分流,实现读写分离 但是主从架构有一个问题 1.如果 ...
- poj1988 Cube Stacking 带权并查集
题目链接:http://poj.org/problem?id=1988 题意:有n个方块,编号为1-n,现在存在两种操作: M i j 将编号为i的方块所在的那一堆方块移到编号为j的方块所在的那 ...
- Python 包管理(PYPA)
Python包的管理可以通过Python 自带的管理 工具,例如:package-autoremove,package-list-packages, package-install 等,使用起来也非常 ...
- 【玩转开源】BananaPi R2 —— 第二篇 Openwrt 网口配置分析
上次和大家分享了如何烧录和安装Openwrt到BananaPi R2,运行Openwrt的R2目前就具备路由器的功能了,这次我们来看看R2运行Openwrt的性能如何,同时也会讲解一些常用的网络知识. ...
- 关于DataTable 判断 列名是否存在的方法中英文符合不区分?
最近系统出现一个错误,排查了很久,发现判断DataTable 列名是否存在时,发现一个坑,居然不会区分中英文符合. 有谁知道其中的原理?先记录一下,免得以后忘记这个天坑. 一. 先初始化一个DataT ...
- .asmx支持post请求或者get请求调用(WebService "因 URL 意外地以 结束,请求格式无法识别" 的解决方法)
使用Post调用以asmx形式提供的webservice时,在本机调试没有调用问题.一旦部署至服务器后会提示如下信息: <html> <head> <title>因 ...
- [转] JavaScript中in操作符(for..in)、Object.keys()和Object.getOwnPropertyNames()的区别
ECMAScript将对象的属性分为两种:数据属性和访问器属性.每一种属性内部都有一些特性,这里我们只关注对象属性的[[Enumerable]]特征,它表示是否通过 for-in 循环返回属性,也可以 ...
- POSIX信号量
DESCRIPTION POSIX 信号量允许进程间和线程间同步他们的操作. 一个信号量是一个整型(integer),其值不能小于0. 信号量允许2中操作:给信号量的值加1(sem_post); 给信 ...
- 003 css总结
1.题目 有哪项方式可以对一个DOM设置它的CSS样式? CSS都有哪些选择器? CSS选择器的优先级是怎么样定义的? CSS中可以通过哪些属性定义,使得一个DOM元素不显示在浏览器可视范围内? 超链 ...
- c++ 积累
class MyClass { public: MyClass()=default; MyClass(const MyClass& )=delete; ...... 有些时候我们希望限制默认函 ...