DNS协议(Domain Name System)就是将IPv4地址和IPv6地址一大串鬼都看不懂的数字符号,变成人能看懂的符号。DNS服务于IP地址到域名之间的映射转换。所谓域名就是网址,比如:
致敬一下大佬的文章,也是它让我明白了DNS是个什么东西:《DNS协议详解及报文格式分析》,网址:https://jocent.me/2017/06/18/dns-protocol-principle.html
DNS协议详解
1. DNS比较直观的感受(用wireshark进行抓包)
不扯其他乱七八糟,特别专业的东西,先搞一点比较直观的东西先。
这里用wireshark 进行抓包分析,具体怎么操作可以看这个文章:CSDN博主明风的博客的《利用WireShark进行DNS协议分析》,网址:https://blog.csdn.net/tianxuhong/article/details/53811842
(文章里面是按ping 命令行,我觉得随便点个网站实在一点)
我这里直接贴出抓包结果。
然后双击那个灰色的DNS,出来这么一大堆东西,最下面一行就是DNS具体信息。(Domain Name System,DNS)
2. DNS名称空间(域名空间)
DNS中使用的所有名称集合构成了DNS名称空间(name space)。DNS名称空间就是域名空间。
当前的DNS名称空间是一颗域名树,位于顶部的树根未命名。树的最高层是所谓的顶级域名.(TLD),包括通用项级域名(gTLD)、国家代码项级域名(ccTLD)、国际化国家代码项级域名(IDNccTLD),以及由于历史原因而存在的一类特殊的称为ARPA的基础设施项级域名(infrastructure TLD)。顶级域名又叫一级域名,在其之后是二级域名。
gTLD分为几类:通用、通用限制和赞助。通用gTLD是开放的,可无限制地使用。其他的(通用限制和赞助)受限于各种使用类型以及其他实体可以从域名中分配名称。
2.1 域名命名规则
国际域名注册规则
1、只提供英文字母(a-z,不区分大小写)、数字(0-9)、以及”-“(英文中的连词号,即中横线),不能使用空格及特殊字符(如!、$、&、? 等)
2、”-“不能用作开头和结尾
3、域名最长可达67个字节(包括后缀.com、.net、.org等)
国际域名和国内域名区别
国际域名是用户可注册的通用顶级域名的俗称。它的后缀为.com、.net或.org。国内域名为后缀为.cn的域名。二者注册机构不同,在使用中基本没有区别。
总而言之,上面这是人为规定的,与程序什么的无关,而且现在IE浏览器会自动将大写转换为小写。
2.2 域名结构(一级域名、二级域名)
域名就是网站的网址, 以b站网址为例:https://www.bilibili.com/