为什么 ip4 不改成 999.999.999.999 的形式?

讨论 未结 100 53
tool2d
tool2d 会员 2023年4月3日 01:29 发表
收藏(0)  分享
相关标签: 灌水交流
注意:本文归作者所有,未经作者允许,不得转载
100个回复
  • Rocketer
    2023年4月3日 01:29
    你……没学过网络基础知识? 你以为 IP 地址是十进制的? 那只是方便记忆和输入而已。
    0 0
  • ahhui
    2023年4月3日 01:29
    ???一个 byte 如何存进去 999??? 楼主不如更进一步,IP 地址用字符串表示吧,要多少有多少???
    0 0
  • cmdOptionKana
    2023年4月3日 01:29
    可能因为 ip 地址根本不需要对人类友好(这个因素的优先度很低),另外 999 只能满足人联网,不能满足物联网。
    0 0
  • mineralsalt
    2023年4月3日 01:29
    你要学计算机的基本原理, 这世界上的一切都是有规则的和继承的. 十进制 255 是 8 位二进制数, 对应一个字节
    0 0
  • xixibb
    2023年4月3日 01:29
    其实可以的,一个 byte 存不进去那就用 2 个咯。这玩意儿又不收钱,估计是以前的人没想到这么多 ip 都快被用完了。。。 所有楼上那些扯计算机原理的都是瞎扯蛋。。。。
    0 0
  • ahhui
    2023年4月3日 01:30
    开啥玩笑? tcp/ip 协议出现的时候路由器内存能有几个 G 了?还计算机原理都是扯淡都出来了。
    0 0
  • InDom
    2023年4月3日 01:30
    以前可能 byte 确实挺贵的, 带宽低吧, 而且如果是 两个 byte , 我猜肯定会是 1024, 而不是 999 了, 那到最后会有人来问: 为什么不是 9999 啊?
    0 0
  • cmdOptionKana
    2023年4月3日 01:30
    @ 楼主的表达有瑕疵,但他真正的问题很显然不是为何 ip4 是现在这个样子,而是在推翻 ip4 的前提下,推出 ip5 也好、ip6 也好、ip7 也好,新的 ip 地址为什么要 ip6 那么复杂,简单点短点也够用。 既然问题是推翻 ip4 ,那么 ip4 的历史和现状就不重要了,多少进制也不影响新的 ip 地址设计。
    0 0
  • xixibb
    2023年4月3日 01:30
    那你就告诉我吧,技术上能不能做到,成本会不会特别高?
    0 0
  • tool2d
    2023年4月3日 01:30
    "一个 byte 如何存进去 999" ip4 只有 4 个 byte ,可以再多 2 个 byte 啊,一共 6byte ,这样就能表示 999 了。 主贴写了 IP4 Plus ,Plus 等于多 byte 的进化版本。 ip6 有 16 个 byte ,也太多了,目前完全用不上。
    0 0
  • asche910
    2023年4月3日 01:30
    但凡学过计网,也问不出这个问题
    0 0
  • nothingistrue
    2023年4月3日 01:30
    楼主只是随便想一下,没想到楼下还有更甚的。计算机的概念,不让人扯计算机原理,这已经不止是无知了。
    0 0
  • ahhui
    2023年4月3日 01:30
    @ ip 地址就是 byte 序列?它不需要路由器路由消息?不需要路由器查路由表?一个有限的空间(内存)能存多少路由表?这些协议当初的定义都是在寸土寸金的有限条件下设计取舍的,哪里来的成本会不会特别高?(当然会),哪里来的可以再多 2 个 byte ?(闲得慌)
    0 0
  • banmuyutian
    2023年4月3日 01:30
    楼主先从计算机网络学起吧,不是一言两语能说完的
    0 0
  • Jaron0608
    2023年4月3日 01:30
    赞同 10 楼,上边扯计算机原理的有点偏题了哈
    0 0
  • gbw1992
    2023年4月3日 01:30
    "可以再多 2 个 byte " 这是历史的局限性,当初比尔盖茨还说过"640K 内存都足够了"
    0 0
  • yunyuyuan
    2023年4月3日 01:30
    +2 个比特的话,是 2^10 ,即 1023.1023.1023.1203 这个 999 ,很难让人不联想到楼主没搞明白 10 进制和 2 进制
    0 0
  • choury
    2023年4月3日 01:59
    现在 ipv4 协议里面只有 4 位存 ip 地址,不管要想加几个 byte ,它都不是 ipv4 协议了因为不兼容了。所以反正加都加了,为什么不多加几个 byte ,不然过几年又不够了,再搞个 ipv8 ?
    0 0
  • CodeCodeStudy
    2023年4月3日 01:59
    IP v4 是由 4 个字节组成的,所以 192.168.1.1 就是由 4 个部分组成,每个部分是一个字节,一个字节 8 位,2 的 8 次方就是 256 ,所以每个部分的取值从 0 到 255
    0 0
  • rwecho
    2023年4月3日 01:59
    按物联网算,不能按人。一个人不知道要联系多少 IP 。并且 999 也不好记忆。这个结论应该是很多人讨论和商讨后给出的一个折中方案。所以 IPv6 是怎么来的?
    0 0
  • Eytoyes
    2023年4月3日 01:59
    实际上所谓 ipv4+和迭代 ipv6 设备成本是一样 老旧设备不更换升级两个都用不了 那么为什么不直接迭代升级到 ipv6 并兼容 ipv4 呢
    0 0
  • hhjswf
    2023年4月3日 01:59
    为什么要对人类友好,二进制 16 进制对人类不友好是不是也得改?
    0 0
  • luomao
    2023年4月3日 01:59
    一开始我以为是 op 钓鱼,没想到真的能调出这么多鱼
    0 0
  • cassyfar
    2023年4月3日 01:59
    “可以再多两 Byte”啊? 计算机还可以 0 和 1 之外加个 -1 ,直接实现 AI 觉醒。
    0 0
  • msg7086
    2023年4月3日 01:59
    谁告诉你一个人分到 100 个公网 IP 就够用了?
    0 0
  • Tink
    2023年4月3日 01:59
    现在 v6 就是解决这个问题的
    0 0
  • Tink
    2023年4月3日 01:59
    以前设备性能根本不够的查表的
    0 0
  • abc0123xyz
    2023年4月3日 01:59
    我只记得 2 进制 11111111 -> 10 进制 255 剩下的还给老师了😂
    0 0
  • Kiriya
    2023年4月3日 01:59
    8 位 2 进制最大 1111 1111 换成十进制就是 255 ,所以 ipv4 0.0.0.0-255.255.255.255
    0 0
  • thosai
    2023年4月3日 01:59
    我感觉楼主只是提了一个问题,可能没考虑那么全面,楼上的没必要冷嘲热讽,一棒子打死提问题的人
    0 0
  • dqzcwxb
    2023年4月3日 01:59
    我吃第八个馒头就饱了,前七个没必要吃啊
    0 0
  • makelove
    2023年4月3日 01:59
    要说 ipv4 4 个字节也将就全人类用了,v6 直接来个 16 字节,确实可能是被网络升级的麻烦搞怕了想一步到位用到世界末日,当然了 16 字节的好处是可以用得很奢侈
    0 0
  • yolee599
    2023年4月3日 01:59
    OP 是骗回复的吧,既然 999 可以那干脆多加几个 9 不是更好
    0 0
  • Cat7373
    2023年4月3日 01:59
    #9 到大宇宙时代,就会发现地球上每粒沙子都有一个 IP 地址,还是不够用,我们需要银河系每粒沙子都有一个才行
    0 0
  • wy315700
    2023年4月3日 01:59
    楼上很多人提到了计算机原理 但是感觉没提明白 IP 地址是 80 年代提出来的,当时主流芯片都是 16 位和 32 位的。 估计当时的人觉得 16 位肯定不够用,就把 IP 地址定义成了 32 位,方便在一个指令里计算。如果按楼上所说, 至于 xx.xx.xx.xx 只是为了方便人读写而已。 后来 ipv6 在 90 年代定义的时候,64 位处理器出来了,但是怕 64 位的 IP 地址重蹈覆辙,还是不够用,于是就用了 64 位的两倍宽度,128 位。 不让人提计算机原理非蠢即坏
    0 0
  • BiChengfei
    2023年4月3日 01:59
    999 在技术上完全可以实现,但 999.999.999.999 ,绝对不够用
    0 0
  • NoOneNoBody
    2023年4月3日 01:59
    解决提问的人是人类共识,不仅是某些人才会,🐶
    0 0
  • BingoXuan
    2023年4月3日 01:59
    存两个 byte 进去,还要给每个段做大小端转换。硬件设计和驱动设计又更加复杂了,成本更高了。还不如全部一个 byte ,不够用再说
    0 0
  • belin520
    2023年4月3日 01:59
    “我不管什么科学,我不管什么定律,我在网上讨论就是要特立独行,就是要赢”,大部分人的心态,程序员尤甚
    0 0
  • Danfi
    2023年4月3日 01:59
    因为你现在是以现代人的眼光看待历史
    0 0
  • des
    2023年4月3日 01:59
    ipv4 发明电脑的那个时候,很多电脑也就 16k ~ 64k 内存 “ip6 有 16 个 byte ,也太多了,目前完全用不上。” 有没有一种可能 ipv4 的时候也是这么想的?
    0 0
  • raymanr
    2023年4月3日 02:29
    因为 ipv4 的包头格式中, 源地址和目的地址的 IP 只能表示到 32 位, 无法表示 999.999.999.999
    0 0
  • wulili
    2023年4月3日 02:29
    ipv6 的格式看着确实挺难受的,虽然这不是为人类设计的,但是搞这方面的技术还是难免会经常和 ip 打交道。 相比 999 ,那感觉不如设计成 65535.65535.65535.65535 ,刚好 64 位。 至于说未来够不够用,我觉得真到了那时候,现有的 ipv6 会一样不够用。 也许未来等量子通信或者其他革命性的通信手段问世,甚至都不需要 ip 协议了,会产生一种全新的概念体系。
    0 0
  • WebKit
    2023年4月3日 02:29
    ip6 有 16 个 byte ,完全用不上?你让我想起来了盖茨的 5M 足够所有人使用了
    0 0
  • Shura
    2023年4月3日 02:29
    这就是典型的民科思维
    0 0
  • Cat7373
    2023年4月3日 02:29
    #48 那为什么不设计成 4294967295.4294967295.4294967295.4294967295 呢,刚好 128 位🐶
    0 0
  • c3de3f21
    2023年4月3日 02:29
    擦了,大家攻击性真强啊,好像毒蛇一样
    0 0
  • ys0290
    2023年4月3日 02:29
    999 看起来方便,其实还是很快会不够用,不如一步到位用现在的 ipv6 ,至少把那个不得不换的时间推迟到无法预期的时候
    0 0
  • adian
    2023年4月3日 02:29
    有这种问题很正常吧,刚接触计算机网络,都是先知道 IP 这个东西,再知道内部的原理,概念的抽象程度够用就行,再说你要问大伙儿 ABCDE 类 IP 等等细节,大伙儿一时半会也反应不上来的。 昨天刚有消息,移动网络 IPv6 流量超过 IPv4
    0 0
  • wulili
    2023年4月3日 02:29
    那也太长了点。。。阅读性和记忆性和现在的 ipv6 一样差。64 位对应的 65535 好歹是个比较折中的数字,这个容量在计算机领域也很常见,大家都比较熟悉
    0 0
  • Vraw5
    2023年4月3日 02:29
    多加 2 byte ,换一次设备。再过几十年又不够用了,再加 2 byte ,再换一次设备。 op 不当天朝管理员真可惜了,直接拉动 GDP 的飞升,要啥房地产
    0 0
  • shyangs
    2023年4月3日 02:29
    @ 地球現在有 80 億人口, 每個人可以分到多少個 IPv6 位址? 如果火星殖民,地球+火星人口翻倍,又能分到多少? 除非 AI 導致奇點降臨,搞成銀河帝國,星際聯邦,與外星人聯網,否則我想像不到 IPv6 要怎麼用完。
    0 0
  • WebKit
    2023年4月3日 02:29
    物联网啊。如果你要让你家里的每个设备都能远程控制,比如共享单车,如果每个单车都要一个 ip ,你想想这有多少
    0 0
  • watzds
    2023年4月3日 02:29
    协议都定好了,这么改多少设备要报废,要重装系统? 没办法一定要改的时候,这不 IPV6 不是出来了吗
    0 0
  • zmqiang
    2023年4月3日 02:29
    已经部署出去的上多少亿的设备,谁去升级,谁去匹配?甚至不是软件,有很多还是硬件需要升级。如果是完全新建一个网络,没问题。但现实中,是需要兼容的。
    0 0
  • aulayli
    2023年4月3日 02:59
    你主动去百度或者谷歌一下就不会来问这个问题了。
    0 0
  • shyangs
    2023年4月3日 02:59
    你先算下我提出的問題,我不信你一個人有超過千萬億輛的單車。 地球人 80 億每個人養一億窩螞蟻,每隻螞蟻分配一個 ip ,都用不完 IPv6.
    0 0
  • xtinput
    2023年4月3日 02:59
    人均 100 也不够用呀,我们公司大楼有 10 万多个物联网设备节点,目前都是 r485 的,如果用 ip···· ip 地址不是给你看的,是给路由器识别的,999.999.999.999 怎么存储?路由器读取数据是一个 byte 一个 byte 的读取的,6 位那也是 255.255.255.255.255.255
    0 0
  • adoal
    2023年4月3日 02:59
    写成十进制数字( 0~255 )只是为了方便人来看的一种 notation 而已。 其本质在于协议里的设计是二进制( 00000000~11111111 )的,按十进制的“整数”边界来切分必然切不整齐。 There are 10 kinds of people those who know binary and those who don't.
    0 0
  • neptuno
    2023年4月3日 02:59
    是这样的,本质上就是个地址嘛,设置多长都可以,但你得看历史,可能当时就觉得不可能人人都有电脑
    0 0
  • WebKit
    2023年4月3日 02:59
    是啊,ipv6 设计的目的就是不会被用完啊。如果简单就用完了还设计 ipv6 干啥。ipv6 可以给地球的每粒沙分配一个地址
    0 0
  • bigtan
    2023年4月3日 02:59
    IP 无论是过去还是现在基本上都是硬件实现吧 如果加一位数全球都换一遍设备不现实 所以不到万不得已不会升级 即使升级也希望一次性一劳永逸
    0 0
  • mcone
    2023年4月3日 02:59
    看到标题以为是个钓鱼贴,直到我看到了楼上某人的回复 > 其实可以的,一个 byte 存不进去那就用 2 个咯。这玩意儿又不收钱,估计是以前的人没想到这么多 ip 都快被用完了。。。 协议不要钱,但是实现协议的设备,哪个不要钱? > 所有楼上那些扯计算机原理的都是瞎扯蛋。。。。 可能说这句话的人,可能就没有学过计网或者组原,至少连发展历史都不知道……
    0 0
  • SimonOne
    2023年4月3日 02:59
    #54 钓友下饵的时候就该明白了,鱼钓不到,别的啥都能钓到。被咬了不赖别人。
    0 0
  • libook
    2023年4月3日 02:59
    当初设计 IPv4 的时候,计算机还是个新奇玩意,设计者觉得这些需要网络的特殊机构永远也不可能填满 IPv4 的地址,后来谁也没想到互联网能发展到这种程度,而且只有三四十年就爆炸成这样了,恨不得每盏灯都要接入网络。 计算机界很多问题都是这样来的,比如千年虫问题。 因为计算机二进制的特点,所以计算机界普遍习惯使用 2 的 n 次方来取整;如果用 5 字节的话二进制就是 1 后面 40 个 0 ,无论用两个 32 位的单元还是用 1 个 64 位的单元都会有空间浪费(是的,因为他们也是使用 2 的 n 次方的思路来设计的,而且有可能就是两两相拼来扩展的);所以比 IPv4 ( 4 字节)更长的地址就会首先考虑 8 字节和 16 字节。 不选择 8 字节的原因可能是标准制定组织对互联网的发展相对乐观,认为 8 字节无法满足未来几十年的需要,不希望短期内再遇到 IPv4 一样的窘境,毕竟升级协议对全世界来说都是一个极大成本的事情。当然人们只能根据当前的认知来估算,也没准很快 IPv6 也不够用了。 IPv6 本身是个技术性需求,对绝大多用户来说应该不需要去阅读和记忆这个地址,所以咱们技术人员群体是否觉得记忆起来麻烦,本身就不是高优先级考虑的事情。 其实技术人员也知道这玩意有点反人类,所以也搞出了很多起因技巧来缓解问题,比如: 1. 使用缩写形式:IPv6 地址中连续的多个 0 可以缩写为一个"::",这样可以减少地址的长度,使得地址更易于阅读和记忆。例如,2001:0db8:0000:0000:0000:ff00:0042:8329 可以缩写为 2001:db8::ff00:42:8329 。 2. 用域名或 hostname 。 3. 有一些工具可以将 IPv6 地址转换为易于记忆的字符串。例如,将 IPv6 地址转换为类似于"tide:map:win:rich"的字符串,这些字符串更容易记忆。 4. 使用 IPv6 前缀:IPv6 地址中的前缀可以用来标识网络或子网,这可以减少地址的长度,并帮助人们更好地理解 IPv6 地址。例如,2001:db8:abcd:1234::/64 中的"/64"表示子网的前缀长度。
    0 0
  • AMZsowhat
    2023年4月3日 02:59
    我的评价是: 壹万亿.壹万亿.壹万亿.壹万亿
    0 0
  • tool2d
    2023年4月3日 02:59
    IPV6 里,有个特殊格式,叫 ipv4 映射地址。 比如 1.2.3.4 可以映射到::ffff:1.2.3.4 同理,只要把 999.999.999.999 通过规则,自动化映射到 ipv6 的一小部分保留空间就可以了。这样至少比手工输入一个 ipv6 ,要省事不少。你连接一个 ssh 地址,就不用输入一大串十六进制的 ip6 ,只需要十进制的 ipv4 plus 。
    0 0
  • Ericcccccccc
    2023年4月3日 02:59
    想想你自己一只手拿着一个盒子, 每个盒子刚刚好装一个球, 这个时候你说我要装第三个. 实在是装不下.
    0 0
  • Ericcccccccc
    2023年4月3日 02:59
    你说的再多几位就和你多长几只手差不多.
    0 0
  • fisherwei
    2023年4月3日 02:59
    技术上不能完全做到,成本会高出天际 你不要总盯着自己电脑上的 IP 地址看,如果搞出这种 1 个 byte 不够用,2 个用不完的 IP 地址,子网怎么划分? BGP 表要怎么做?路由搜索怎么搜?
    0 0
  • phub2020
    2023年4月3日 02:59
    在当时的场景下,成本当然高啊。。。当时内存才多少哦
    0 0
  • phub2020
    2023年4月3日 02:59
    按老兄你的理解,那为啥长城古人不用全金属来做啊,还更加牢固可靠,你告诉我,成本高不高?
    0 0
  • leonshaw
    2023年4月3日 02:59
    IP 地址不只是标识,它首先是一个地址,要能够路由。目前骨干路由器不可能承载全网的主机路由,所以地址分配必须按段划分,使路由器需要的路由能够聚合、条目尽可能少。 按段划分要么预先规划的很好,要么空间要足够大,不然很容易出现局部不够用的问题。”每人 10 个“这个量级应该是不够的。 另一方面,从路由性能考虑,这个划分应该是按二进制前缀,表示方式也尽量跟二进制接近,不然写个 12.625.920 ,很难看出它最后两个字节是 0.
    0 0
  • lizenghui
    2023年4月3日 02:59
    大哥 是怎么知道 IP4 的 是装修工人给你说的?
    0 0
  • emeab
    2023年4月3日 02:59
    是的. 早餐只吃第三个包子就好了 前两个不用吃
    0 0
  • xtinput
    2023年4月3日 03:29
    它再怎么映射也是以 byte 为单位的,计算机识别都是 2 的指数才能最大效率,要么一个字节要么两个字节,或者 4 个字节,你 999 是怎么搞的? 999 要 1024 ,是 10 位,一个字节 8 位,10 位怎么放? 对于计算机 10 位的数据也要占用两个字节,那么就是 2*4*8=64 位地址,ipv4 是 32 位,ipv6 是 128 位,跳过了 64 位直接到 128 位,原因好像就是之前吃过一次 ipv4 地址不够用的亏,所以就直接上 128 位了
    0 0
  • frankies
    2023年4月3日 03:29
    好家伙,还以为点进了知乎。。。
    0 0
  • mcfog
    2023年4月3日 03:29
    (2008)中国十进制网络安全地址投入使用 维基词条 IPV9
    0 0
  • shwnpol
    2023年4月3日 03:29
    建议先练习一下二进制转 16 进制的习题
    0 0
  • lixinrui000
    2023年4月3日 03:29
    就是设计缺陷。ipv4 数量太少,ipv6 可读性差,楼主的这个设计兼顾了可读性和数量,使用 5bytes 存储,实现上也没问题,就是存在一些浪费。
    0 0
  • dcty
    2023年4月3日 03:29
    你们说了那么多好不好记的问题,有没有可能通过域名就可以解决了。
    0 0
  • GeruzoniAnsasu
    2023年4月3日 03:29
    总觉得这个问题应该出现在弱智吧,但又稍微有点专业,描述起来太复杂没有弱智吧帖子精简有力的趣味
    0 0
  • Hellert
    2023年4月3日 03:29
    都没说到重点,这和 CPU 的字长有关系。
    0 0
  • sdwgyzyxy
    2023年4月3日 03:29
    有没有可能,这家伙是来骗币的?
    0 0
  • cc666
    2023年4月3日 03:29
    先不说技术上的问题 可能设计 IPv4 的时候,设计这也是这么想的,每人 1 个也够了,然后发展到现在,明显不够了。 如果按照 999.999.999.999 的形式,你想每人 100 个也够了,可能发展一些年后又不够了,100 个只是对你自己来说够而已,网络中还有大量的中间设备,物联网设备,远远比你想得复杂,你这个格式可能过几年就变成了 9999.9999.9999.9999 ,哈哈,全球网络设备再升级一次吧,IPv4 升级到 IPv6 这么多年了还是这样子呢。 并且 IP 划分给每个区域的时候,是按照段划分的,你自己区域的可能用不完,对别的区域来说就缺了。 为啥不直接暴力点上 IPv6 ,至于对人类实在是太不友好这一点,你除了几个内网地址,还能记得住谷歌百度 GitHub 的 IP 地址么?你给我背诵几个看看? IP 地址本来就不是对人类友好的,还能不然要域名干什么?
    0 0