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

发现好多人对 IPv6 还比较陌生,那就来普及一些基础知识吧~

  •  2
     
  •   raysonx · 2018-07-28 17:18:28 +08:00 · 30272 次点击
    这是一个创建于 2347 天前的主题,其中的信息可能已经有所发展或是发生改变。

    天朝的 IPv6 起步是非常早的。2003 年开始就从教育网开始部署试验网络,启动了中国下一代互联网示范工程。2008 年北京奥运会和 2010 年上海世博会均部署了 IPv6 网络。当时从全世界来看,我国部署 IPv6 的进度都是遥遥领先的。不过奇怪的是,“起了个大早,却赶了个晚集”,IPv6 向民用的普及似乎受到某神秘力量的阻拦,再无音讯,三大运营商、主流机房、云服务商都不提供 IPv6 支持,反而被国外的机房和运营商“弯道超车”了。

    直到 2017 年底,中办国办发了《推进互联网协议第六版( IPv6 )规模部署行动计划》。从此以后一发不可收拾,今年上半年工信部发文对运营商、主流机房和云服务商、主流网站对 IPv6 的支持都作了时间上的要求。今年 7 月份,全国各地的移动 4G 网络纷纷开始分配 IPv6 地址,提供 IPv6 网络接入,普及速度令人咋舌。

    鉴于很多朋友对 IPv6 还比较陌生,那么就在此开个科普帖吧,内容持续更新。如果大家有其他的问题,或者发现我文中的错误,都可以在此提出。当然这里不讨论类似“什么是 IPv6 ”这种最基本的伸手党问题。

    先来几个常见问题:

    IPv6 分不分公网内网?

    公网内网只是人为划分,技术上当然支持划分公网内网,这和 IPv4 或者 IPv6 并没有关系。你把公网地址用在内网技术上也是可行的(参见某些地区的二级运营商宽带分配假公网 IPv4 地址的情况)。 只是由于 IPv6 的地址资源丰富,运营商没有必要加装 NAT 设备(而且 NAT 设备成本很高)。目前所以已知的运营商给客户分配的都公网 IPv6 地址,部分运营商甚至支持分配一个独立的地址块(/64,/56 或者 /48 前缀)给你。

    IPv6 下怎么判断公网 IP 还是内网 IP ?

    目前已分配 IPv6 的公网地址都是 2XXX: 开头的,非常好辨别。

    其中 2002: 开头的是 6to4 地址,由用户端设备自动建立,通过隧道技术连接至 IPv6 互联网,不是运营商管理和分配的,服务质量与运营商无关。只要有 IPv4 公网地址,设备支持 6to4 协议,且没有被运营商封锁就能建立。

    2001:开头的是 6in4 地址,是另一种隧道协议。he.net 提供的 IPv6 Tunnel Broker 服务就是采用这种协议。

    通过以上两种隧道技术获得的地址也是公网 IPv6 地址,只不过他们不是由运营商提供的,而是用户端设备把 IPv6 数据包封装到 IPv4 的数据包中,再通过第三方 Broker 服务器中转来访问 IPv6 互联网,速度通常比较慢。

    如果你的 IPv6 地址形似以2XXX:开头且不是2001:或者2002,那恭喜你,你的运营商已经提供原生 IPv6 网络的接入服务了。

    下面说一说常见的非公网地址段:

    • ::1代表 loopback 地址,表示本机,等价于 IPv4 中的127.0.0.1

    • fe80::/10地址是所谓的 link local 地址段,只在同一链路上有效,不能跨网段通信,类似于 IPv4 下的169.254.0.0/16(是不是很熟悉)。

    • fd00::/8这个段就是通常意义上的内网地址段了,等价于 IPv4 的10.0.0.0/8, 172.16.0.0/12以及192.168.0.0/16这三个段。如果你要组建 IPv6 内网,通常是在这个大段里随机挑选一个 /64、/56、或者 /48 的子网来用。比如可以挑选 fd12:3456:789a:bcde::/64作为你家或者你公司的局域网 IP 段。IPv6 规范中鼓励你随机挑选地址段,避免和别人家的地址段重复,以免并网时的麻烦。

    • fc00::/8也是一个保留的巨大内网地址段,具体怎么用现在还没有规范。

    现有软件对 IPv6 的支持如何?

    以操作系统来讲,主流的操作系统( Windows, OS X, Linux, Android, iOS,Windows Phone )早已全部支持 IPv6 协议。Windows XP 没有默认开启,需要手动执行ipv6 install命令。

    家用路由器中我只知道 Netgear 和 Asus 的路由器原生支持 IPv6,其他可以刷 OpenWrt/LEDE 固件的路由器也可以通过刷第三方固件解决。

    应用软件中,IE、Chrome、Firefox 等主流浏览器大概很久很久以前就支持 IPv6 了(是的,IE6 都支持),国产“浏览器”没用过不了解。BT 软件中,uTorrent 完美支持 IPv6,当年在大学里很多人用 uTorrent 在教育网 IPv6 网络挂 BT。迅雷据我所知一如既往地不支持(十几年前就有很多用户反馈了,然而。。。)。

    第 1 条附言  ·  2018-09-05 15:46:12 +08:00

    勘误: 上文中说2001:开头的是 6in4 地址是错误的,6in4并没有固定的地址段,而是由服务商自行分配。

    2001开头的地址仅仅是普通的IPv6公网地址,只不过常见的由HE.net提供的隧道和Windows自动建立的Teredo隧道都恰好以2001开头而已。

    54 条回复    2019-04-08 23:04:56 +08:00
    oovveeaarr
        1
    oovveeaarr  
       2018-07-28 17:28:02 +08:00
    eMule 呢)
    Liqianyu
        2
    Liqianyu  
       2018-07-28 17:39:03 +08:00 via iPad
    @oovveeaarr eMule
    https://forum.emule-project.net/index.php?showtopic=161184
    ed2k 服务器不可能支持 IPv6 了。Kad 还有可能。
    cwbsw
        3
    cwbsw  
       2018-07-28 17:49:35 +08:00   ❤️ 3
    2001 开头怎么就成了 6in4 地址了……
    只不过常用的免费 HE 隧道是 2001:470 开头,如果 VPS 商给分配地址块,完全可以自己搭一个。
    zts1993
        4
    zts1993  
       2018-07-28 17:51:39 +08:00   ❤️ 1
    今年 v6 是很多企事业单位部门的 kpi 的
    oovveeaarr
        5
    oovveeaarr  
       2018-07-28 17:54:07 +08:00
    @Liqianyu #2 Could not determine your IP address ....
    yexm0
        6
    yexm0  
       2018-07-28 17:54:58 +08:00 via Android
    2001 绝对不能说是 6in4 地址,这是非常错误的结论。2002 的倒是可以这样说
    Danswerme
        7
    Danswerme  
       2018-07-28 17:58:27 +08:00 via Android
    全面 v6 之后肉鸡会更多吧
    raysonx
        8
    raysonx  
    OP
       2018-07-28 18:05:33 +08:00 via iPad
    @cwbsw
    @yexm0 查了下资料,确实 2001 开头的不见得一定是隧道地址。不过 he 的隧道和微软的 teredo 隧道都是 2001 开头的,很容易让人误解为运营商提供 ipv6 了,需要澄清。

    @Danswerme 何以见得? IPv4 下即使用内网地址也不能对肉鸡有任何防范吧。
    itfun
        9
    itfun  
       2018-07-28 20:01:58 +08:00   ❤️ 1
    我就问一句:对普通大众来说,从 IPv4 迁移到 IPv6 有哪些好处?
    965380535
        10
    965380535  
       2018-07-28 20:06:48 +08:00   ❤️ 3
    @itfun 最直接的就是 大家都是公网 ip 了
    bao3
        11
    bao3  
       2018-07-28 20:19:35 +08:00 via iPhone
    @itfun 最直接地好处就是以后入侵更容易了,物联网更有实用价值了
    itfun
        12
    itfun  
       2018-07-28 21:16:10 +08:00
    @965380535 那 IPv6 的地址库建立后,查水表更方便了吧
    580a388da131
        13
    580a388da131  
       2018-07-28 21:21:46 +08:00
    @itfun 感觉对于不懂网络的人来说,除了物联网加速外,貌似没什么明显好处。坏处到时显而易见,大数据更精确了。
    Torpedo
        14
    Torpedo  
       2018-07-28 21:33:27 +08:00 via Android
    @zts1993 在狼厂。ipv6 也是我们的 kpi。政府要求的。腾讯阿里等也要接入
    cyyself
        15
    cyyself  
       2018-07-28 22:50:12 +08:00   ❤️ 2
    2001:da8::/32 是教育网的 IPv6 地址段了解一下

    6in4 ?

    2001:4860:4860:8888 这种 Google 的 DNS 难道也是 6in4 ?
    cyyself
        16
    cyyself  
       2018-07-28 22:51:18 +08:00
    @cyyself #15 4860 和 8888 之间少了个冒号,抱歉。
    Shura
        17
    Shura  
       2018-07-28 22:53:39 +08:00
    x86
        18
    x86  
       2018-07-28 22:53:45 +08:00 via iPhone
    普通人:又不是不能用
    Shura
        19
    Shura  
       2018-07-28 22:58:28 +08:00
    @Shura 补充权威来源:
    https://bgp.he.net/AS23911#_prefixes6
    https://bgp.he.net/AS23910#_prefixes6

    Prefix Description
    2001:250::/32 CERNET IPv6 Backbone
    2001:da8::/32 China Next Generation Internet CERNET2
    2001:252::/32 CNGI International Gateway Network (CNGIIGN)
    2001:7fa:5::/48 RIPE Network Coordination Center
    121121121
        20
    121121121  
       2018-07-28 23:05:34 +08:00
    @580a388da131 p2p 下载或者游戏联机方便了
    dynos01
        21
    dynos01  
       2018-07-28 23:16:46 +08:00 via iPad
    2001 是 6in4。。。哪听的小道说法,错误内容不如不科普
    zts1993
        22
    zts1993  
       2018-07-28 23:24:33 +08:00
    @Torpedo #14 是的,大厂有任务,主站要求有 v6,或者给出改造时间
    hzqim
        23
    hzqim  
       2018-07-28 23:31:13 +08:00 via Android
    谢谢科普。
    请继续✍
    zst
        24
    zst  
       2018-07-28 23:47:31 +08:00 via Android
    华北教育网有挺多都是 2001 开头的....BT 的话 utorrent qbittorrent deluge transmission rtorrent 这些应该都可以
    DevNet
        25
    DevNet  
       2018-07-28 23:56:53 +08:00 via Android   ❤️ 1
    老哥,给你勘个误:教育网的 ipv6 试验网叫 CERNET2,开始的时间是 1998 年,距今刚好 20 年。不是 2003 年哈😄
    heiybb
        26
    heiybb  
       2018-07-29 01:02:23 +08:00 via Android
    IPv6 Supported
    Address 2001:8003:355c:1f00:19d:5684:6496:7b2f
    Type Native IPv6
    SLAAC No
    ICMP Filtered
    Hostname None
    ISP Telstra Internet
    坐标悉尼
    2001 开头并不都是 6in4
    l32606
        27
    l32606  
       2018-07-29 01:08:02 +08:00
    楼主知道运营商分给一般用户,比如家庭宽带的地址是多少个吗?
    yexm0
        28
    yexm0  
       2018-07-29 01:39:37 +08:00
    @l32606 电信是 /56 的段丢给你,随便你怎么分. 地址可用个数近乎无限
    flyfishcn
        29
    flyfishcn  
       2018-07-29 02:08:28 +08:00
    纠正 2 点明显的错误吧

    2001::/32 是 Teredo 的地址范围 从 2001:0:0:0:0:0:0:0-2001:0:ffff:ffff:ffff:ffff:ffff:ffff

    至于 6in4 隧道,可以从任意一段地址中选择提供。属于包含的关系。6in4 隧道也可以由运营商提供。例如美国的飓风电气 HE.net 、台湾的中華電信 HiNet (非标准的 6in4 隧道)
    wzzyj8
        30
    wzzyj8  
       2018-07-29 07:05:11 +08:00 via iPhone
    @itfun 这个问题金坷垃的宣传片里都有说
    非洲 IT 不发达,我们都要支援它,电脑上了 V6,一台能当两台用,日本资源不发达,上了 v6,码农日产 30000 行,软件再也不用向美国进口了
    ImMrWill
        31
    ImMrWill  
       2018-07-29 10:50:53 +08:00
    我想默默问一句,在家怎么才能访问六维空间。。。
    zhxhwyzh14
        32
    zhxhwyzh14  
       2018-07-29 11:27:56 +08:00
    @ImMrWill 六维空间好像只对教育网开放?
    xieweizhi007
        33
    xieweizhi007  
       2018-07-29 12:22:14 +08:00
    expy
        34
    expy  
       2018-07-29 12:36:05 +08:00
    好处主要是远程访问跟各种端到端应用吧。
    从公司管理家里的设备,各种 p2p 下载软件、游戏联机玩法。
    lrz0lrz
        35
    lrz0lrz  
       2018-07-29 12:39:33 +08:00
    @itfun #9 P2P 更方便、游戏联机更好
    gfdsa84627
        36
    gfdsa84627  
       2018-07-30 20:41:39 +08:00
    刷 PT 更方便了
    wjh1102
        37
    wjh1102  
       2018-07-30 21:05:34 +08:00
    @ImMrWill 找一台学校里面的能够保证一直有外网连接的设备,用 frp 开穿透,然后再用 OpenVPN 搭建 IPv6 over IPv4 的 VPN,就可以了~(意义不是很大)
    sunnyzhi
        38
    sunnyzhi  
       2018-07-30 23:55:51 +08:00
    如果同时获得了 ipv4 和 V6 的地址,在浏览器上访问一个网页,操作系统是不是分别用 V4 和 V6 的 dns 去解析?如果 V4 和 V6 都解析成功,那么是访问 V4 还是 V6 的地址呢?
    raysonx
        39
    raysonx  
    OP
       2018-07-31 03:04:40 +08:00 via iPad
    @sunnyzhi 如果要访问的域名同时配置了 A 记录和 AAAA 记录才会出现你所说的情况。
    不只是浏览器,大多数软件在这种情况下都会优先使用 IPv6 进行连接,如果失败,再转为 ipv4,也就是 ipv6 的优先级比较高。
    不过也有例外:
    1. Chrome 浏览器从某一版本开始似乎会采用某种算法去探测不同 IP 地址的访问速度,自己来确定优先级。
    2. 6to4 地址( 2002:开头)的优先级比 IPv4 地址低。
    sunsh2017
        40
    sunsh2017  
       2018-07-31 08:39:05 +08:00 via Android
    不会普及的。
    zhangqx
        41
    zhangqx  
       2018-07-31 09:50:05 +08:00
    @sunsh2017 ipv6 以后就是主流
    EdwardSherlock
        42
    EdwardSherlock  
       2018-07-31 10:51:11 +08:00
    其实目前还是没什么用的。。像江苏电信这种无 PD,单个 /64 地址 的。路由器拨号部署都有点麻烦还不是太稳定。
    raysonx
        43
    raysonx  
    OP
       2018-07-31 16:11:28 +08:00 via Android
    @edwardhua1996 印象中运营商都是用 SLAAC 无状态分配地址的。即使没有 pd,也可以用 ndp ( neighbor discovery protocol proxy)向下面的设备继续分配地址
    meinjoy
        44
    meinjoy  
       2018-07-31 20:25:48 +08:00 via iPhone
    那以后就用不着内网穿透软件了?
    wonathan
        45
    wonathan  
       2018-08-01 17:01:53 +08:00
    不知道移动固网会不会给 ipv6 的地址。。。。
    cwek
        46
    cwek  
       2018-08-02 20:43:22 +08:00
    6in4 是手工隧道,不限定地址的。
    2001::/32 是 Teredo 隧道前缀。
    cwek
        47
    cwek  
       2018-08-02 20:48:02 +08:00
    换 IPv6 的好处就是地址分配重洗(因为可用于公网的地址量大幅增加,美国不再独占大头),家用“路由器”真正地成为了路由器。除此之外,除了增加 ICMPv6 的应对之外,扫描地址效率可能大减之外,其他变化不大。
    ysc3839
        48
    ysc3839  
       2018-08-12 01:37:56 +08:00 via Android
    @raysonx 现在很多运营商是通过 PPPoE 连接上网的,PPPoE 本身有分配地址的功能。
    用 SLAAC 的应该是直接插网线就能使用的情况。
    vagranth
        49
    vagranth  
       2018-10-09 15:08:38 +08:00
    奇怪了,之前我用 he.net 的 6in4,上 google 毫无压力。其他的比如 bt.byr.cn 也可以打开。
    现在同样是 he.net 的 6in4,已经无法上 google 了。
    raphael
        50
    raphael  
       2018-11-21 22:25:56 +08:00
    @vagranth v6 现在有墙了
    acess
        51
    acess  
       2019-04-06 17:52:41 +08:00
    我只记得当年折腾 OpenWrt 折腾半天也没成功搞定 IPv6 ……

    网上有很多教程说直接桥接,然而这不就是路由器退化成交换机……

    电信只给了一个 /64 的块,我不知道该怎么继续往下分,或者说,到底能不能继续往下分(没记错的话好像 lowendspirit 的 VPS 就是继续往下分了)?该不该继续往下分?
    acess
        52
    acess  
       2019-04-06 17:55:41 +08:00
    前一阵子,我在微博上看到了这则吐槽,感觉貌似有点懂了,但是还是没懂:
    https://weibo.com/1219205751/HdUdQ5O5G

    原博:“当年人们认为几年就能完成部署,一旦完成,人们就可以开始消灭 Layer-2 的功能膨胀和分层破坏,将重心完全转移到 Layer 3,从而消灭 MAC 地址、DHCP、ARP,连带直接消灭广播,并且在许多场景下,消灭交换机。然后还能部署刚刚为 IPv6 研发的 IPSec,实现全互联网加密。”

    评论:“我觉得应该先废掉 DHCPv6,只留 SLAAC ”

    博主回复:“当时 IPv6 就是要废除 ARP 和 DHCP 的,但是因为长期的开发和部署时间远远超过预期,而且期间没有统一的过渡方案,于是有了今天的局面:获取 IP 有至少三个方案。如今的 IPv6 就是一个退化到只剩下 128 位 IP 地址的系统了,当年的那些设想都没有实现。而 NDP 则变成了一个更复杂的 ARP。”
    acess
        53
    acess  
       2019-04-06 18:17:35 +08:00
    刚刚又搜到了这贴:
    https://www.v2ex.com/t/332901
    有种特别奇怪的感觉……/64 地址块到底是出于什么目的存在的?难道 2^64 个地址全部都只能一个设备自己用,不能分给其他设备用?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   993 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 20:40 · PVG 04:40 · LAX 12:40 · JFK 15:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.