Web探索之旅 | 第三部分第二课:IP地址和域名
作者 谢恩铭,公众号「程序员联盟」(微信号:coderhub)。
转载请注明出处。
原文:https://www.jianshu.com/p/45a1f31ea9fb
《Web探索之旅》全系列
内容简介
- 前言
- IPv4 和 IPv6
- 域名
- 总结
- 第三部分第三课预告
1. 前言
上一课 Web探索之旅 | 第三部分第一课:服务器 中,我们说了在 Web 之中,全球各地有无数台机器,有些充当客户机,有些作为服务器。
那么这些机器如何找到和辨认彼此呢?难道不会“只是因为在人群中多看了你一眼,再也没能想起你容颜”吗?
如果我用我的浏览器上网,我怎么知道哪个服务器向我发送此网站呢?
为了解决这个难题,IT 科学家们使用了一个叫做 IP 地址的东西(东西好像有点太难听了,IP 它根本就不是个东西好吗...)。
IP 是 Internet Protocol 的缩写,表示“互联网协议”。
IP 地址就是用来表示每一台连接 Web 的机器的,而且是唯一标识。
我们暂时只要了解:大范围来讲,全球每台电脑都有一个独一无二的 IP 地址,就好像是它的唯一铭牌。我们可以把“电脑”比作“电话”,那么“IP 地址”就相当于“电话号码”。
2. IPv4 和 IPv6
IPv4 和 IPv6 是 IP 地址的不同版本,v4 就是第四版(v 是英语 version 的首字母,表示“版本”),那么 v6 就是第六版。
IPv4 的地址长度为 32 位(共有 2^32(2 的 32 次方)个 IP 地址),分为 4 段,每段 8 位,用十进制数字表示,每段数字范围为 0 ~ 255,段与段之间用句点隔开。例如 159.226.13.1
。
IPv6 的地址长度为 128 位(共有 2^128(2 的 128 次方)个 IP 地址),分为 8 段,每段 16 位,用十进制数字表示,每段数字范围为 0 ~ 65535,段与段之间用冒号隔开。如果每个 16 位用 16 进制表示,那么例如 1080:0000:0000:0000:0008:0800:200C:417A
。
互联网当前使用的主要是基于 IPv4 协议的 32 位地址,地址总容量近 43 亿个,已经全部分配完毕。而 IPv6 地址采用 128 位标识,数量为 2 的 128 次方,相当于 IPv4 地址空间的 4 次幂。
有人曾形象地比喻:“IPv6 可以让地球上每一粒沙子都拥有一个 IP 地址。”
我们的课程中还是以 IPv4 的地址值来举例。
例如我们有以下 IP 地址:
难道我们每次上网,都要在地址栏里输入这样的数字才能找到我要的网页吗?这样的话太累了,“臣妾做不到啊”。
那怎么办呢?于是域名应运而生。
3. 域名
因为直接记每个 IP 地址太难,所以人们想到了用人类易于记忆的名字来代替数字。比如,上面例子中的 205.89.177.26
,其实是曾经 Google 首页的 IP 地址。所以我们就用一个域名(domain name)来代替:google.com
。
但是我们的服务器其实只认得数字形式的 IP 地址。所以我们需要一个“中间人”,将 google.com
这样的域名先解析成 205.89.177.26
,然后再找到对应的网页。
这个中间人就是 DNS,是 Domain Name System 的缩写,表示“域名系统”,是 Internet 的一项服务。它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便的访问互联网。
有了 DNS,我们就可以轻松地在地址栏输入 google.com
,然后经过 DNS 解析,变为对应的 IP 地址,再由服务器读取。
DNS 是由域名解析器和域名服务器组成的。域名服务器是指保存有该网络中所有主机的域名和对应 IP 地址,并具有将域名转换为 IP 地址功能的服务器。其中域名必须对应一个 IP 地址,而 IP 地址不一定有域名。
4. 总结
-
IP 地址使我们可以找到地球上每台联网的电脑。
-
记住域名比 IP 地址方便,而从域名到 IP 地址的解析是通过 DNS。
5. 第三部分第三课预告
今天的课就到这里,一起加油吧!
我是 谢恩铭,公众号「程序员联盟」(微信号:coderhub)运营者,慕课网精英讲师 Oscar 老师,终生学习者。
热爱生活,喜欢游泳,略懂烹饪。
人生格言:「向着标杆直跑」