小菜学网络之域名系统

网络 通信技术
在时间查询服务中,客户端需要知道服务端的 IP 地址和端口号,才能发起请求。但我们应该如何记忆 IP 地址和端口号呢?要知道,人类记忆数字型信息,比如电话号码等,并不擅长。

 [[392964]]

本文转载自微信公众号「小菜学编程」,作者fasionchan。转载本文请联系小菜学编程公众号。  

在时间查询服务中,客户端需要知道服务端的 IP 地址和端口号,才能发起请求。但我们应该如何记忆 IP 地址和端口号呢?要知道,人类记忆数字型信息,比如电话号码等,并不擅长。

端口其实还好。因为经过多年的发展,常用网络服务形成了一套约定俗成的惯例,这就是所谓的 知名端口 。举个例子, Web 服务一般采用 80 端口。我们用浏览器访问网站,甚至都不需要输入端口号,默认就是 80 端口。

IP 地址就不一样了。10.35.87.61 这个 IP 地址比 80 端口难记多了。不仅如此,不同的服务可能部署在不同的机器,IP 地址也肯定是不一样的。很显然,百度的服务器,地址肯定跟淘宝的不一样。

我们每天都会访问很多网站,想记住它们的 IP 地址,显然是不可能的!如果能够通过名字来访问,则事半功倍,因为我们记忆文本要比记忆数字更拿手。

为此,网络先驱们发明了域名和域名系统,这就是本文的主角。

域名

域名是 网域名称 ( domain name )的简称,它是一串以点号分隔的字符串,用于标识一台或一组计算机。域名可作为 IP 地址的别名,更便于记忆。

我有一个博客网站,部署在阿里云上,服务器 IP 是 163.181.33.227 ,但读者们肯定记不住 IP 地址的。为此,我申请了一个域名 www.fasionchan.com 作为别名。这样就好记多了,因为 fasionchan 是我的英文名。

那么,域名该如何理解呢?点号分隔的各个部分都有什么作用呢?

实际上,域名是一个分层次的命名空间,各种域名都隶属于根域 . 。位于第一层的域名称为 一级域名 或 顶级域名 ;第二层的域名称为 二级域名 ;以此类推。

以 www.fasionchan.com.为例,从右往左读依次是:

  • 一级域名(顶级域名):com
  • 二级域名:fasionchan
  • 三级域名:www

请注意,域名是从根开始,只不过我们经常省略域名最右边的点号 . 。

某个域下层的域称为 子域 ,上层的域称为 父域 。举个例子,从 fasionchan.com 的角度看,它的父域是 .com ,子域包括 www.fasionchan.com 、 linux.fasionchan.com 等等。子域从属与父域,父域对子域拥有管理权。

域名由注册管理机构负责管理,可以通过注册商来注册,先到先得。

域名注册后,所有人拥有域名的管理权:不仅可以修改域名关联的 IP ,还可以分配子域名。域名 fasionchan.com 被我注册后,我可以修改它关联的 IP ,还可以随意添加子域名 www.fasionchan.com 。

我甚至还可以添加一个子域 lumy.fasionchan.com ,送给我的朋友 Lumy 。同理, Lumy 拥有 lumy.fasionchan.com 的管理权。她可以修改域名关联的 IP ,也可以随意添加子域名。

顶级域

域名的第一级是 顶级域 ,包括

  • 通用顶级域 ,例如 .com 、 .net 和 .org 等;
  • 国家和地区顶级域 ,例如 .cn 、 .us 等;
通用顶级域 含义
.com 商业公司
.edu 教育机构
.net 互联网服务供应商
.org 非营利组织、国际机构等
国家和地区顶级域 含义
.cn 中国
.hk 中国香港
.mo 中国澳门
.tw 中国台湾
.jp 日本
.us 美国

域名系统

域名系统 ( domain name system ,简称 DNS ),是互联网提供的一项名字服务。我们可以将 DNS 看作一个分布式数据库,它保存着域名和 IP 的映射关系。

有了这个对应关系,我们就可以通过 域名 ( domain name )来访问网络服务,不用再苦苦记忆 IP 地址。要知道域名 www.fasionchan.com 比 IP 地址 163.181.33.224 好记多了。

那么,域名系统到底是怎么工作的呢?

域名注册后,所有人可将域名关联的 IP 登记到域名系统。这是一个分布式数据库,以域名为键,以 IP 为值。域名系统提供一些服务器用户查询,这就是 DNS服务器( dns server )。

当互联网用户通过浏览器访问网站时,以 https://www.fasionchan.com 为例:

  1. 浏览器解析 URL ,得到主机域名 www.fasionchan.com ;
  2. 浏览器向 DNS 服务器发起域名解析请求,获取 www.fasionchan.com 对应的 IP 地址,如图示步骤①;
  3. DNS 服务器找到域名对应的 IP ,然后向浏览器回复应答,如图示步骤②;
  4. 浏览器拿到 IP 地址后,即可向 www.fasionchan.com 所在的 Web 服务器发起请求,如图示步骤③;

这就是域名系统的基本工作原理,它看似简单,但还有很多细节等着我们进一步探索。

 

责任编辑:武晓燕 来源: 小菜学编程
相关推荐

2021-05-18 22:11:27

DNS记录类型

2021-07-06 21:29:16

TCPIP协议栈

2021-05-11 21:57:17

DNS报文格式

2022-07-10 21:33:31

DNS存储公网

2021-04-21 20:21:07

DNS服务器网络

2009-02-13 12:56:45

计算机英语域名系统

2013-12-03 10:02:43

2019-10-18 08:41:47

DNS攻击DDoS攻击域名

2010-08-27 09:51:38

.中国全球根域名系统

2016-11-17 14:39:49

域名安全域名系统

2012-04-16 12:21:25

2010-12-28 10:44:00

2010-06-21 17:17:19

2009-10-26 10:42:12

2019-09-19 10:01:44

域名系统DNS网络

2017-08-31 15:54:52

2011-07-19 10:34:25

HTML 5

2011-03-01 13:44:31

Fedora 15

2021-09-17 14:22:40

数字化

2019-08-26 15:06:13

域名系统DNS
点赞
收藏

51CTO技术栈公众号