目录
引言
随着网络信息技术的发展,互联网逐渐庞大,人们在网络上又建立了一个全新的生态环境。
正如每个人的身份证号上都写着居住地址,在网络中,每台设备也都有着自己的地址,
即:IP地址,它是网络设备在网络中独特的身份标识。
什么是IPv4?
IPv4 全称 Internet Protocol version 4,也就是第四版互联网通信协议,它最早被描述于1981年9月发布的 RFC 791
IPv4在日常生活中也很常见,类似于:
144.144.144.144
123.123.123.123
255.255.255.255
诸如此类由三个点分开的四组数字组成的字符便是IPv4地址每组数字从0开始,到255结束,所以IPv4地址的范围就是:
0.0.0.0 ~ 255.255.255.255
那么IPv4地址的数量便也很清晰了:
255 * 255 * 255 * 255 = 255^4 = 4,228,250,625
约 42 亿
乍一看,42亿,多么庞大的一个数字,那必然是无穷无尽的了。
没错,80年代的计算机科学家们就是这么想的。 然而,随着网络通信设备的普及, 每家每户杂七杂八需要访问互联网的设备是越来越多, 事实非常给力,2019年11月26日,IPv4就正式被分配完了。
什么是NAT 公网 内网?
IPv4分配完了,那互联网不就没法再添加新的网络设备了?
不要急,办法总比困难多,IPv4是80年代提出的,然而,世界并不缺乏有长远目光的人。
NAT便是其中被广泛运用的方法。
NAT 全称 Network Address Translation,就是网络地址转换
NAT首次提出于1994年,原理也非常简单,举个例子:
家里有好几台网络设备,例如手机、电脑、电视,大家都要上网,
但是运营商只给了一个IPv4地址,这时候就要通过路由器拨号,
把IPv4地址分配给路由器,接着路由器再充当一个转换器(工具人)
的角色,把名为私有网段的IP地址分配给连接到路由器的网络设备,
网络设备通过路由器把所有的上网流量转发给运营商,成功上网。
自此,IPv4(我裂开来)分成了 公网IPv4 与 内网IPv4,其中,公网IP指的就是上面例子中路由器被分配到的IP地址,而内网IP指的就是例子中那些网络设备从路由器那里拿到的IP地址。
这样一来,IP短缺的问题就解决了吗?
并 没 有
在21世纪,世界人口到了70亿,假如人手一机,搞一层NAT来帮忙的话,也许勉强可以分配完,但你掏心窝子说句话,真的只是人手一机吗?很蓝的啦,日理万[机]的大有人在,现实往往是残酷的,于是,我们隆重请出全新的解决方案:多层NAT
还是那个例子:
家里好几台设备,有个路由器,以前是你家里路由器去拿公网IP,
但现在呢?小区里搞了一台运营商的NAT设备,
它将负责帮每家每户的路由器分配[内网IP],
然后你的设备就拿到了有内网IP路由器分配的IP,
俗称[大内网IP]
是不是听了想揍人了。
那我们真正的解决方案何去何从呢?
接下来,我们隆重请出真·全新的解决方案:IPv6
什么是IPv6?
IPv6 全称 Internet Protocol Version 6(互联网协议第6版),是互联网工程任务组(IETF)设计的用于替代IPv4的下一代IP协议,其地址数量号称可以为全世界的每一粒沙子编上一个地址,口气是相当大,不过,IPv6确实做出了革命性的变化。
命名规则
相较于IPv4,IPv6在命名方面的最大变化在于进制、组数与位数,由十进制转变为十六进制,组数由四组增加到八组,每组位数由三位变为四位,
举个例子:
1234.5678.9ABC.DEF0.1234.5678.9ABC.DEF0
其中:A ~ F 代表 10 ~ 16
那么,IPv6到底能有多少个有效地址呢?
(16^4)^8 = 2^128 = ???
打开计算器,计算器铁定是爆了,2^128 = 3.4028236692094e+38
说人话就差不多是 0.0342 亿亿亿亿亿
怪不得人家有信心给沙子分配IP……
虽然前面说得IPv6哪都好,但毕竟IPv4存在这么多年了,它的兼容性和方便快捷是毋庸置疑的,虽然整个世界都在呼吁加快IPv6使用进程,但离完全普及还需要一段时间。
对于想靠自己的公网IP搭建服务器的小伙伴,在这里还是推荐使用公网IPv4,当然,IPv6也不是不能用,只是没那么方便。
什么是端口?
端口是一个网站提供服务的重要前提,大家在网上冲浪or看小电影时也许很少会遇到它,但它实实在在扮演者一个重要的角色,你可以把服务器理解为一座碉堡,而端口便是城墙,有些城墙只开放给某些特定用户(有特定的功能)
举个例子:
端口 | 作用 |
---|---|
80 | Web |
1723 | VPN |
443 | SSL |
我们平时访问的 [http://www.bilibili.com] ,实际上是访问了阿B的80端口,即:
http://www.bilibili.com:80
端口的数量共有2^16个,也就是65536个,范围是0 ~ 65535
我们可以把 [http://www.bilibili.com:80] 直接丢到浏览器中,你会发现浏览器依旧访问的是B站的网页端。
为什么平时我们在访问网站时没有发现到这个':80'呢?是我老花眼了吗?
大可放心,不是你的问题,现在的浏览器都会自动隐蔽':80',所以没有发现其实才是正常现象。