如题,我在这方面不是很懂。都在说IPv4数量不够,那为什么IP最高被限制在了255.255.255.255而不能继续扩大


其他回答讲的都复杂了,又是引入协议的。又是。。

其实255.255.255.255是11111111.11111111.11111111.11111111

111111111为二进位表示。换成10进位就是255。他已经是8位二进位表示的最大值了,所以不能表示999等超过255的值

本质来说就是进位转换带来的问题而已


首先说结论,ip地址(ipv6)现在已经扩大到了2的128次方个,可以说近乎于无限

有人计算过,地球上每一平方米,都可以有10的26次方个地址

所以在ipv6网路中,相邻的两台电脑可以配置相隔100万个地址,浪费掉99万都没问题。

有钱人的生活就是这样的朴实无华且枯燥。

这样分配除了壕还有其他好处吗?

当然有,很多恶意的网路扫描工具(先扫描到在线主机,再攻击或植入病毒),是按顺序来扫描的,ipv6两台主机之间间隔100万,就要扫到天荒地老才能扫到第二台主机。

用上了ipv6,这些扫描工具就会有很多问号

所以用上了ipv6除了地址数量变多了,网路也更加安全了

再回到题主的问题

为什么IP地址最高只能到255.255.255.255,而不能扩大到999.999.999.999?

这里的4个255,是ipv4的地址范围,为什么只能到4个255而不是4个999,或者4个666

是因为ipv4在设计的时候,制定的地址格式为32位二进位,然后分成4段用十进位来表示

也就是说,ipv4最大为二进位的32个1,这样

11111111.11111111.11111111.11111111

然后打开windows计算器,进位换算一下,发现变成十进位后,就是4个255了

这就是ipv4地址最大只到255.255.255.255的原因

那么问题又来了,为什么要设置成32位,不设置成更多呢

因为当初设计Internet网的时候,是为了给军方用的,谁知道网这么好玩,大家都加进来玩了啊

这样地址就远远不够了

所以又发明了ipv6啊,ipv6就设置成了128位的地址,这下每粒沙子都能分个地址了,应该不会再不够了

推荐阅读

0.0.0.0和255.255.255.255这两个IP地址到底有啥用??

www.zhihu.com图标

因为计算机不认识十进位,只认识二进位,ipv4版本里ip地址是4个8位二进位组。

比如39.156.69.79这个地址其实应该这么表示:00100111.10011100.01000101.01001111

理论上ip地址最高到255.255.255.255

其实中间还有组播地址、广播地址、保留地址等等不能分配给组织或个人使用。

ipv4地址应该在2019年全部分配完毕,最后分配完毕的应该是非洲。

虽然有了ipv6,但是总要有个过度阶段。那么为什么现在没有因为ipv4地址分配完毕,ipv6没有完全普及而导致网路不能使用,是因为有保留地址,大部分区域网使用的是保留地址。

例如平时看到的192.168.x.x 172.16.x.x 10.x.x.x ,这些都是RFC 1918规定的不能在互联网使用,但是可以在组织内部使用的地址。

这些地址最后通过路由器、防火墙之类的网关设备实现地址转换功能,代理内部用户使用互联网。

国家也在推动ipv6上面有《推进IPv6规模部署行动计划》,具体到2020年普及到什么程度我也懒得查数据了。

不过总的来说ipv4和ipv6将并行很长一段时间,ipv4现在虽然不够用了但是也能通过技术手段勉强使用。ipv6的可分配两套用一句话是地球上每一颗沙子都可以分配一个IP。

我回答好像超纲了。


不从复杂的原理出发,大白话讲给不具备专业知识的人听。

当然可以扩大,并且我们正在扩大,我们不仅要扩大到999.999.999.999,我们要扩大到4294967295.4294967295.4294967295.4294967295,这就是IPv6。IP最高被限制在255.255.255.255是因为当初制定协议的时候计算机并没有普及,只有科学家们才可能接触到计算机这种东西,所以砖家们以为这些IP足够全世界用了,所以他们一拍脑门就决定了,255足够了!因此之后的所有程序,硬体都把IP都限制在255以内,可以这样理解,程序和硬体的厂商在制造他们产品的时候都按照255这个标准制作的,他们可以保证只要你IP不超过255,我的程序和硬体就能正常工作,就好比牛奶的保质期,厂家能保证你30天内喝是没问题的,30天后他们就不能保证产品质量了。然而突然有一天你要增大这个数值,那么所有产品都要进行升级才行,然而我们不可能将所有设备同时升级,我们要一步一步来慢慢过渡,这将是艰难且漫长的过程。


数据在传输的时候, 其实都是电信号, 理论上电路只存在通与不通, 我们将通定义为0, 将不通定义为1. 所以设备传输的是 0 , 1 , 0 , 1.... 的电信号. 网路设备或者说传输设备, 在接收到这些 0.1.0.1 的信号以后, 按照人类提前规划好的某种协定去把它翻译成对应的内容.

你可以理解成, 一次完整的发送数据, 里面要包含 "目的地"跟"来源地"(方便目的地在收到数据的时候, 知道是谁发过的.) 然后才是实际发送的内容(是不是就像写信一样). 但是信纸不能无限大.我们要规定一下, 一次只能发送一张信纸. 所以我们就提前确定好. 目的地一共能写多少字, 不能一个目的地就占了一封信的所有内容. 所以我们在协定里说好了. 从信号里可以依次看到 ip地址, 埠号, 上层协议 ....等等的内容.

协议里规定了(就是很早的时候一群人商量好, 我们要这样区分信号里的内容). 以32个电信号确定一个IP地址. 实际传输的时候其实就是 00000000000000000000000000000000(不用数, 一共是32个0 ) - 11111111111111111111111111111111(同样为32个1) 这之间所有的组合. 在这里的并不是二进位. 只是对应数据报文里的电信号(通, 不通...)的所有可能. 但是我们人类可以将它理解成二进位的数罢了. 也就是 2的32次方种可能. 也就是 2的32次方(4294967296?)个地址. 不用数了: 42.9亿个. 这样看起来就不觉得地址多了吧.[2019年年末中国大陆总人口突破14亿人].

但是呢, 发送数据的时候. 人类太懒了, 脑子也不行. 觉得这么多0跟1的组合, 根本记不住. 毕竟有的时候你可能只跟某一个人(目的地)发送或者接收数据. 可是 4294967296 这种一连串的数字也太麻烦. 人类还是喜欢十进位.所以我们在这中间做分割. 每8个(0, 1)为一个10进位数. 0000000 - 11111111这中间所有的组合其实不多. 也就255个. 联想不到的话... :

8位二进位数转10进位

32个(0, 1)组合你记不住, 现在 4个 10进位数. 你肯定好记的多了. (其实也不是很好记, 人类毕竟脑子不行: 所以之后又出现了域名). 其实这些数字只是给人类看的. 机器根本就不管这些乱七八糟的. 人类就是这样, 脑子不行. 还啥都想搞简单点.

接下来, 当你向某个目的地发送数据包的时候, 比如很常见的: 192.168.1.1 你发送数据的时候, 其实中间是有软体程序(操作系统其实也是软体程序.)在帮你把192.168.1.1 先转换成 [公式]

192 的 8位二进位是 11000000

168 的 8 位二进位是 10101000

1 的 8 位二进位是 00000001

当然了, 这中间是没有"."(点)的. 为什么 "1" 是 "00000001"? 那是因为电路信号, 只有通与不通. 并不是"有"跟"无"的区别. 所以, 实际上软体程序会帮你转换成:

[公式]

.....折腾了这么半天, 你只要记住你找的"人" 是 192.168.1.1 而不是 "11000000101010000000000100000001"

题主所说的, 9999.9999.9999.9999 是典型的十进位使用习惯下衍生出来的想法.

不过IPv6还在推进当中, 虽然由于某些国情或者固有复杂场景的更替影响了 IPv6的推进. 但是终归有一天,大家会抛弃IPv4, 彻底拥抱 IPv6的. 就像无情的男人...


IPv6 是否需要解释一下呢?

演员?

music.163.com图标

好吧, IPv6 就是, IPv6是英文「Internet Protocol Version 6」(互联网协议第6版)

IPv6 与 IPv4 的"点分十进位"不同, 它是"冒分十六进位表示法". 所以你会看到电脑或者设备获取的IPv6地址 , 存在 [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F ]

IPv4 是由 3 个 "."(点) 分割开 32个(0, 1)来进行展示的.

IPv6 是由 7 个 ":"(冒号) 分割开 128个(0, 1)来进行展示的.

所以 IPv6 是 "0000000000000000 : ...... : 0000000000000000" - "1111111111111111: ....... : 1111111111111111"

IPv4 的地址数量是 2的 32次方 = 4,294,967,296?

IPv6 的地址数量是 2的 128次方 = %$^*()*^%$@!

为什么一开始 IPv4 没有设计足够数量的IP地址呢. 因为当时电脑都还是奢侈品. 没有人能想像到互联网会发展成今天这个样子. 互联网的设备能发展到今天这个样子. 这中间靠的是教育, 科学, 制造业..等等的进步所步进而来的. 也或许制定这个协议的时候, 那些外国人没想到中国有这么好些个人吧 : )


好像跑题了...人类果然脑子不太行.


推荐阅读:
相关文章