V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
oh
V2EX  ›  宽带症候群

随便聊聊:为什么绝大多数家庭路由器,默认都是 192.168.x.x 而不采用 10.0.x.x 网段?

  •  
  •   oh · 2017-07-26 21:41:35 +08:00 · 12545 次点击
    这是一个创建于 2706 天前的主题,其中的信息可能已经有所发展或是发生改变。
    闲得无聊,想起这么个问题,有知道的来聊聊?
    40 条回复    2017-07-28 18:59:07 +08:00
    LeoSocks
        1
    LeoSocks  
       2017-07-26 21:43:05 +08:00 via Android
    因为路由厂商也是用这个段作为默认,大家懒得改。
    oh
        2
    oh  
    OP
       2017-07-26 21:52:13 +08:00
    @LeoSocks 可能我没说明白,就是说 为什么厂商要选这个呢?
    crab
        3
    crab  
       2017-07-26 21:56:24 +08:00
    因为 168,一路发。O(∩_∩)O
    yexm0
        4
    yexm0  
       2017-07-26 22:01:10 +08:00 via iPhone   ❤️ 1
    auser
        5
    auser  
       2017-07-26 22:04:50 +08:00
    10.0.0.0 - 10.255.255.255 (10/8 prefix)
    172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
    192.168.0.0 - 192.168.255.255 (192.168/16 prefix)

    以前的 RFC 规定了以上几个私网 IP,IP 数量最小的是最后一个,65536 个,如果用其它的话,对于"绝大多数家庭路由器"甚至“企业"而言,都显得太大。况且大多数情况下,子网进一步缩小到了 24,也就是 250+台机器在线。

    要知道 RFC 给运营商规模网络用的私网 IP100.64.0.0/12 (没错,就是现在一些 ISP 分给家庭宽带的私网 IP )也是 /12.

    不过终究还是当初某些人做的决定因为历史的潮流而被沿袭下来了而已。
    aploium
        6
    aploium  
       2017-07-26 22:06:12 +08:00
    因为家庭路由器所需要的 ip 数很小, 192.168.x.y/24 就已经足够足够用 (252 个 IP)
    而 10.0.0.0/8 有 1600 多万个 ip
    并且很多公司内网、学校内网、电信区域 NAT 内网都是用 10.0.0.0/8 段的, 要是默认设置成 10.0.0.0/8, 就会冲突, 或者需要配置非常复杂的路由表


    以上为个人推断
    oh
        7
    oh  
    OP
       2017-07-26 22:18:05 +08:00
    @auser @aploium

    我个人觉得应该不是为了避开 10.x.x.x 而选择 192.168.x.x,如果是为了避开冲突,10.x.x.x 的范围更大,路由器接入之后根据上级路由自己也可以避开,就像一些路由器接入了 192.168.0.x 之后会自动变成 192.168.1.x 范围。

    历史问题一直用到现在是肯定的,只是有点好奇当初为何是选用了 192.168.x.x,而且还有一个很好玩的,就是好多家庭路由都把 IP 分配表限定在 100-200 之间,但感觉毫无依据嘛
    viator42
        8
    viator42  
       2017-07-26 22:20:07 +08:00 via iPhone
    因为是 C 类地址吧
    aploium
        9
    aploium  
       2017-07-26 22:23:06 +08:00   ❤️ 1
    @oh #10 192.168.0.0/16 下面的机器都是在同一个交换机下的, ip 可以随意分配
    上级网络 10.0.0.0/8 下面的 ip 很可能是按照 vlan 做了地址段限制的, 并不能像 192 那样自动解决冲突
    当然如果你一定要说有办法检测冲突并且自适应, 那我也没话说, 导致很大的编程复杂度和不确定性
    oh
        10
    oh  
    OP
       2017-07-26 22:24:08 +08:00
    @yexm0 @viator42 果然只是因为范围比较小 并且是 C 类地址吗…
    powergx
        11
    powergx  
       2017-07-26 22:24:13 +08:00   ❤️ 1
    我家就用 10.0.0.0 /8 12 个 vlan , 三层交换机路由来路由去. 和好几个点 p2p vpn 连起来. 怎么样 牛逼吧

    编不下去了
    oh
        12
    oh  
    OP
       2017-07-26 22:25:33 +08:00
    @aploium 有道理,路由器的稳定性是非常必要的,应该尽量减少不必要的复杂逻辑
    KeepPro
        13
    KeepPro  
       2017-07-26 22:36:59 +08:00 via Android
    这是 IP 地址设计的时候就这样了 abcd 四种类型
    selfcreditgiving
        14
    selfcreditgiving  
       2017-07-26 23:15:25 +08:00 via Android
    日本的路由器就是 10.0.0.1
    gamexg
        15
    gamexg  
       2017-07-26 23:39:30 +08:00
    家庭网络计算机数量很少,就是用了最小的保留地址,大的范围留给运营商等使用。
    注意 WLAN 不能和 LAN 设置到一个网段。

    想起来一次调路由器,愣是无法设置 LAN 地址,最后发现 WLAN 网段掩码设置成了 255.255.0.0,包括了 LAN 网段。
    nazor
        16
    nazor  
       2017-07-26 23:45:12 +08:00
    不是的,netgear 的网关就是 10.0.0.1。
    oh
        17
    oh  
    OP
       2017-07-27 00:11:16 +08:00
    @nazor
    我的 WNDR4300 路由器的默认地址是 192.168.1.1,可能是现在新款改了吧。在 4300 的说明书中有个截图也可以看得到: http://support.netgear.cn/Upfilepath_sc/WNDR4300_setup.pdf
    xfspace
        18
    xfspace  
       2017-07-27 01:23:30 +08:00 via Android
    这个题目,类似于在争论 xx 是世界上最好的语言。。
    mooczz
        19
    mooczz  
       2017-07-27 01:31:12 +08:00 via iPhone
    @oh 同 4300,网关 10.0.0.1
    ETiV
        20
    ETiV  
       2017-07-27 02:06:02 +08:00 via iPhone
    我家里都改成了 10.0.0.0/24

    这样 ping/ssh 的时候可以少打中间的 .0.0
    直接用 ssh 10.3 就好了(懒)
    anheiyouxia
        21
    anheiyouxia  
       2017-07-27 06:34:43 +08:00 via Android
    @nazor
    @oh
    netgear 默认是 192.168.1.1
    当发现 ip 和 WLAN 冲突的时候才会切换到 10.0.0.1
    我已经用过很多 netgear 路由了,这点可以确认
    msg7086
        22
    msg7086  
       2017-07-27 08:21:56 +08:00   ❤️ 2
    首先,这 3 个段出现的时候还是 Classful 横行的时代,所以分析这个问题需要带上 Class 来讨论。
    如之前所说,这几个段分别是
    10.0.0.0 单个 A class 网络
    172.16.0.0 16 个 B class 网络
    192.168.0.0 256 个 C class 网络
    那么对于家庭用户来说,256 个设备的 C class 网络正合适,因此从这个段里任取一个网络即可。0.1 也可,1.1 也可。

    现代网络都已经用 CIDR 了,10.0.0.0 也可以分割成多个 /16 /24 甚至 /28 了,用哪个段就非常无所谓了。
    以前根深蒂固的 Classful 概念,导致 192.168 被用作了默认网络。
    johnny23
        23
    johnny23  
       2017-07-27 08:22:19 +08:00 via iPhone
    买的网件就是 10 段的
    swift
        24
    swift  
       2017-07-27 08:40:33 +08:00
    我用的 AirPort Extreme,默认就是 10.0.x.x
    7654
        25
    7654  
       2017-07-27 08:45:24 +08:00
    我的网件路由检测到光猫 IP 在网件 IP 范围内会自动把自己 IP 换到 10.0.0.1
    msg7086
        26
    msg7086  
       2017-07-27 10:45:59 +08:00
    正好看到你 #10 的疑问,这里也一起说一下好了。

    10 网络的大小是 /8,也就是说,默认这 16777215 台机器是在同一个网络里的。
    而 192 是 /24,这 256 个 /24 是在不同网络里的,需要由路由来转发才能互相通信。
    用小网络可以更好地隔离网段,比如可以下级用 1.1,上级用 0.1。
    如果用 10.0/8 的话,上级网络会被下级网络遮蔽,就没法做网络结构了。
    Phariel
        27
    Phariel  
       2017-07-27 11:08:19 +08:00
    @anheiyouxia #24 可是我的 4300 一上来就是 10.0.0.1
    Phariel
        28
    Phariel  
       2017-07-27 11:09:11 +08:00
    @Phariel #30 并且家里它是主干路由,没有别的路由设备了
    jiangzhuo
        29
    jiangzhuo  
       2017-07-27 11:12:28 +08:00   ❤️ 1
    想开后宫就用 10.0.0.0 - 10.255.255.255 (10/8 prefix)
    求子有妻有儿就用 172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
    想发财就用 192.168.0.0 - 192.168.255.255 (192.168/16 prefix)

    从路由器使用的网段就能看出,我们这个社会已经对金钱崇拜到了一个什么底部(雾
    oh
        30
    oh  
    OP
       2017-07-27 11:15:30 +08:00
    @Phariel 至少 4300 在初期第一版是 192.168 这个跑不了的,我在 #20 的回复中有官方说明书的链接。4300 到现在已经改版好几次啦,我四年前买的好像是 v2 版就是 192.168 的。
    anheiyouxia
        31
    anheiyouxia  
       2017-07-27 15:17:23 +08:00 via Android
    @Phariel 现在光猫之类的 moden 都带有路由功能,默认会分配 192 的 ip,这个情况下 netgear 会跳到 10 的
    Phariel
        32
    Phariel  
       2017-07-27 15:38:12 +08:00 via Android
    @anheiyouxia 应该是这个答案 基本上家用都要桥接光猫拨号的 thanks
    Junn
        33
    Junn  
       2017-07-27 18:04:33 +08:00
    我觉得这比较符合!

    关于私网地址段的选择。对于私网地址的规范,在 RFC 1918 - Address Allocation for Private Internets 里有完整的规范定义。其中 A 类,B 类,C 类网段各取了一部分:10.0.0.0/8 (255.0.0.0)172.16.0.0/12 (255.240.0.0)192.168.0.0/16 (255.255.0.0)一个 24bit 的地址块,一个 20bit 的地址块和一个 16 比特的地址块。至于具体为什么选择了 10.0.0.0,而不是 9.0.0.0,这个问题具体答案,其中一个原因是因为很多 A 类地址都已经分配掉了,要知道 CIDR 也是 93 年才制定的标准,在这之前 IP 地址已经使用了很长时间了。而 A 类地址一共就 128 个,所以剩下的本就不多,所以挑选的余地本就有限。当然 B 类,C 类网选择的空间会更多,这也有一些随机的意味在里面。

    作者:peilin song
    链接: https://www.zhihu.com/question/20185640/answer/71721566
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
    chinvo
        34
    chinvo  
       2017-07-27 18:18:54 +08:00
    这就关系到现在学校里面依旧在教的关于 美国给中国分配的 IP 都是 C 类地址,中国互联网容量小 的问题了

    如前所述,CIDR 是 93 年制定的标准,在那之前,一个网络有多少设备、网络如何划分都是固定的。只有 126 个 A 类,每个 A 类 16777214 个主机,B 类 C 类 同理。

    你在 Windows 下,设置 IPv4 的时候,输入一个 A 类地址,掩码会自动给你填写 255.0.0.0 就是这个道理。

    所以历史遗留问题,家庭网关设备商就通常选 C 类保留地址的 第一个 或者 第二个 子网了。
    weyou
        35
    weyou  
       2017-07-27 18:35:10 +08:00
    @msg7086 恩, 这个解释目前为止是最靠谱的
    hlz0812
        36
    hlz0812  
       2017-07-27 19:46:02 +08:00   ❤️ 1
    国外牌子的路由器 10 开头的 IP 一大把,中国就是最先一批用 192 然后后面都跟风,因为很多教程都写的 192 的。而且家里对 IP 数量需求小
    benmaowang
        37
    benmaowang  
       2017-07-27 21:56:29 +08:00   ❤️ 4
    我来告诉你答案,其实很简单,家用路由器无非就是高通、Broadcom、MTK 和 Realtek 这几家的方案,它们的 SDK 里都是用 192 的,除非是客户订制,码农们绝不会蛋疼到改成别的值给自己找麻烦。
    而且一旦使用,也很难再改成其它值,因为会给售后增加负担。
    oh
        38
    oh  
    OP
       2017-07-27 22:37:56 +08:00
    @benmaowang 所以为什么他们的 SDK 采用了 192 方案呢……
    Sh888
        39
    Sh888  
       2017-07-28 09:13:11 +08:00
    家用路由器未必能带得动 253 个客户端。
    JJaicmkmy
        40
    JJaicmkmy  
       2017-07-28 18:59:07 +08:00   ❤️ 1
    我通常拿到路由器之后首先做的就是把网段改成 10.0.1.1/24,因为这样看起来比较清爽,而且 IP 地址比较短。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2284 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 15:59 · PVG 23:59 · LAX 07:59 · JFK 10:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.