1 IPv6 概述

引言

  • 近期突发奇想,能不能用 IPv6 的公网地址,给家里的 NAS 做 内网穿透。

技术上是可行的。只是必须确保是 IPv6 的公网地址。

  • 大学学的 IPv6 的知识,早就抛到九霄云外了,故此需要重新学习,并记录之。

1.1 诞生的由来:32位的IPv4数量受限,已分配殆尽

  • 192.168.1.1,这个数字串对我们大部分人来说并不陌生,它是一个广泛使用的IPv4私有地址。很可能你家中的路由器管理页面就设置在了这个地址上。路由器可能会为你的电脑分配类似的私有IP地址。但是,私有IP地址仅能在局域网内部的设备间使用。要想访问互联网,必须采用公网IP地址。

  • 电脑能够仅凭私有IP地址访问公网IP的互联网,得益于NAT网络地址转换)技术的应用。然而,NAT只是一个十分蹩脚的解决方案,对P2P连接或者游戏来说严重恶化了网络环境。相对而言,IPv6提供了一个无需NAT的互联网世界,能够为每一台网络设备分配一个或多个公网IP地址,实现真正的万物互联,这也是互联网最初的设想。

  • 常见的家庭网络环境中,通常包括运营商提供的宽带连接、光猫以及用户自行购买的路由器构成。路由器通过PPPoE拨号获取运营商分配的公网IPv4地址,同时作为局域网的网关,拥有自己的内网IP地址,例如192.168.1.1。家中的所有网络设备都会连接到这台路由器,而路由器负责为每一台设备分配内网IP地址以及其他如默认网关、DNS等信息。

  • 在访问例如百度这样的外部资源时,浏览器首先向DNS服务器请求解析baidu.com的IP地址。随后,浏览器向该IP地址发送请求,以获取百度首页的数据。由于电脑使用的是局域网内的私有IP地址,路由器需要通过NAT将请求中的源IP地址转换为公网IP地址,才能将请求发送到互联网上。这一过程虽然解决了IPv4地址不足的问题,但也带来了网络通信复杂性增加、网络对等连接破坏等诸多问题。

  • IPv6的引入旨在解决IPv4地址耗尽的问题。与IPv4的地址空间(232个地址)相比,IPv6提供了几乎无限的地址空间(2128个地址),这使得每一台设备都可以拥有一个或多个公网IP地址,从而无需NAT即可实现设备间的直接通信。

  • 对于家庭网络的IPv6部署而言,配置过程要略微复杂一些。首先,需要确保你的路由器支持IPv6。大多数近两年内购买的路由器默认开启了IPv6支持。路由器通过PPPoE拨号,从运营商那里获取一个公网IPv4地址。同时,由于开启了IPv6,路由器还会获得一个公网IPv6地址以及一个IPv6前缀。

  • 小结:IPv6的诞生

  • 为扩大网络以满足未来需求,必须能够提供无限的IP地址并改善移动性.
  • IPv6 扩大了地址空间,并使用了效率更高,功能更丰富的报头.
  • 虽然IPv6类似于IPv4,但它满足IPv4无法支持的日益负责的层次编址需求.

IPv4 vs IPv6

对比项 IPv4 IPv6
长度 32 bit 128 bit

1.2 IPv6的地址结构

IPv6地址结构

IPv6 简化表示规则

  • 每一个段中开头的0可以省略不写,但中间和末尾的0不能省略;

原始IPv6地址: 3ffe:1944:0100:000a:0000:00bc:2500:0d0b

简化后IPv6地址: 3ffe:1944:100:a:0:bc:2500:d0b

  • 如果某段或连续几段全是0,则可以使用一个“::”来代替。

原始IPv6地址: ff02:0000:0000:0000:0000:0000:0000:0005

简化后IPv6地址: ff02::5

  • 如果128位全部为0的地址,则可以使用一个“::”来表示。

原始IPv6地址: 0000:0000:0000:0000:0000:0000:0000:0000

简化后IPv6地址:::

  • 在IPv6地址中,只能使用一次双冒号

例如:2001:0d02:0000:0000:0014:0000:0000:0095,以下两种缩写方式都是正确的:

2001:d02::14:0:0:95

2001:d02:0:0:14::95

但下面这种缩写方式是错误的:

2001:d02::14::95

  • 可以表示下面任何一个可能的IPv6地址:

2001:0d02:0000:0000:0014:0000:0000:0095

2001:0d02:0000:0000:0000:0014:0000:0095

2001:0d02:0000:0014:0000:0000:0000:0095

地址分类

  • 单播地址:标识单个节点。
  • 全局单播地址
全局单播地址通常由 48 位全球路由前缀和 16 位子网 ID 组成再加上64位的接口ID组成。
各组织可以使用 16 位子网字段创建自己的本地编址架构。
此字段允许组织使用最多 65,535 个子网。 以 2000::/3 开头,由 IANA 分配 例:2001::1/64 2001:1::1/64 2001:2::1/64
  • 链路本地地址
链路本地地址是受限制的,只能与同一链路的节点通信,它们都是使用链路本地前缀FF80::/10和一个64位接口ID创建的。

链路本地地址是用来做自动配置、邻居发现和路由器发现

FE80::FE80::20C:85FF:FE00:7D07
  • 多播地址:标识一组节点。

  • 任意播地址:标识一组节点, 源节点的数据流被转发到组里离源最近的节点。

注:任意播地址来自全局单播地址

多台设备使用相同的任意播地址

  • 特殊地址

本地环回地址:::1

类比,IPv4的本机回环地址:127.0.0.1

任意网络:::(全0)

1.3 IPv6的特点

IPv6 特性

  • 更大地址空间

IPv6 地址长 128 位, IPv4地址为 32 位.

IPv6 巨大的地址空间比整个 IPv4 地址空间大,可以满足这个星球上每一个人.

  • 无需 NAT

更大的地址空间似的无需NAT就能进行端到端通信.

  • 没有广播地址

IPv6 包括单播地址,多播地址和任意播地址.

  • 支持移动性和安全性

有助于确保遵循移动 IP 标准和 IPsec s标准.

  • 更简单的报头提高了路由器的效率

IPv6 新特性

修改前缀

IPv6 提高了一种简化的地址和前缀修改机制.

  • 每个接口多个地址

一个IPv6接口可以分配多个不同类型的地址,并可同时使用.

  • 链路本地地址

交换路由更新时,IGP将 link-local 地址用作下一跳.

  • 无状态自动配置:

DHCP并不是必需的,因为一个IPv6设备能根据本身分配一个独特link-local IPv6的地址.

  • 独立或不独立于提供商的编址

1.4 IPv6所需支持项

网卡适配器支持

网络路由器支持

  • 在路由器启用 IPv6 协议
# 在路由器上启用IPv6协议
R(config)#ipv6 unicast-routing # 为接口指定IPv6地址
R(config)#interface f0/0
R(config-if)#ipv6 address 2001::1/64|2001::/64 eui-64 # 查看命令
show ipv6 interface brief
show ipv6 route

DNS 服务器支持

应用服务器支持

用户浏览器支持

  • 由于IPv6网络使用范围不是特别大,因此许多浏览器将默认配置禁用了IPv6功能。例如:Google Chrome就是如此,即便我们接入IPv6网络后,依然无法使用IPv6相关功能。

  • 360 浏览器 : 支持

  • QQ 浏览器 : 支持

  • Chrome : 支持,但需用户主动开启

为了使用Chrome的IPv6功能,我们需要对Chrome进行配置修改,以开启IPv6。

  • step1 在Chrome的地址栏输入:about:net-internals/#dnschrome://net-internals/#dns
  • step2 点击Enable Ipv6按钮。至此,我们的Chrome已可以正常使用IPv6,再次登录 test.ipv6s.com 后,各项功能均恢复正常了!

    如果你认为启用ipv6对你造成了影响,也可以关闭掉。方法是:右键chrome的快捷方式,点击“属性”,在“目标”地址后面加上 --disable-ipv6 ,重启chrome即可。例如:
cd /opt/google/chrome
sudo gedit google-chrome # exec -a "$0" "$HERE/chrome" "--enable-ipv6" "$@"
# exec -a "$0" "$HERE/chrome" "--disable-ipv6" "$@" 或:
C:\Users\xxxxxx\AppData\Local\Google\Chrome\Application\chrome.exe --disable-ipv6
  • chrome常用参数
--enable-ipv6
启用ipv6
--disable-ipv6
禁用ipv6 例如: --disable-async-dns --disable-images
禁用图片 --disable-javascript
禁用javascript --disable-logging
禁止自动登录 --disable-sync
禁用自动同步 --disk-cache-dir
ex:”chrome.exe” –disk-cache-dir=”X:/”
指定缓存目录 --disable-java
禁用java --disk-cache-size
缓存容量

用户的电脑支持

  • Windows 启用/禁用IPv6
  • 控制面板\网络和 Internet\网络和共享中心\(选择一个活动的以太网连接)\(双击)连接-(点击)属性,查看以太网属性

或者:控制面板\网络和 Internet\网络和共享中心-更改适配器设置\(选择一个活动的以太网连接)\(右键)属性`,查看以太网属性

  • 找到Internet协议版本6(TCP/IPv6)选项,勾选或取消勾选即可

IPv6支持情况测验

  • Windows电脑
  • 控制面板\网络和 Internet\网络和共享中心\(选择一个活动的以太网连接)\(双击)连接-查看IPv6连接的状态信息

不支持 IPv6 的以太网连接

支持 IPv6 的以太网连接

  • 测验网站:

http://ipv6.google.com

https://test.ipv6s.com 【推荐】

https://ipv6-test.com 【推荐】

IPv6-test.com 是一项免费服务,可检查您的 IPv6 和 IPv4 连接和速度。诊断连接问题,发现您当前正在使用哪些地址浏览互联网,以及当 v6 和 v4 都可用时您的浏览器选择的协议是什么。

http://test-ipv6.com/index.html.zh_CN

https://findipv6.com/find

形如:https://findipv6.com/find/2400:DA00:2::29

X 参考文献

ipv6.baidu.com 访问地址:2400:da00:2::29

...

[计算机网络] IPv6的更多相关文章

  1. 计算机网络5.2-5 ipv4&路由协议&ipv6

    子网变址技术 子网掩码 默认子网掩码 子网地址 广播地址 一些计算 CIDR 分配举例 地址不必连续分配 sadsdas 网络设备---路由器 输出结构 直接交付与简介交付 IP分组的转发 分属于不同 ...

  2. 计算机网络-网络层(1)IPv4和IPv6

    IPv4数据报格式: 版本号 这4比特规定了数据报的IP 协议版本.通过查看版本号,路由器能够确定如何解释IP数据报的剩余部分. 首部长度 以4字节为单位,没有选项的首部长度为5*4=20字节 服务类 ...

  3. [计算机网络]简易http server程序

    好久没输出了,知识还是要写下总结才能让思路更加清晰.最近在学习计算机网络相关的知识,来聊聊如何编写一个建议的HTTP服务器. 这个http server的实现源代码我放在了我的github上,有兴趣的 ...

  4. 2016.7.7 计算机网络复习要点第四章之网际协议IP

    1.与IP协议配套使用的还有三个协议: **地址解析协议ARP: **网际控制报文协议ICMP: **网际组管理协议IGMP: 2.虚拟互连网络: **没有一种单一的网络能够适应所有用户的需求: ** ...

  5. 科普:什么是IPV4?什么是IPV6?

    IPv4是Internet Protocol version 4(网际协议版本4)的英文简称,而中文简称为“网协版4”. 目前的全球因特网所采用的协议族是TCP/IP协议族.IP是TCP/IP协议族中 ...

  6. 程序员的自我修养(2)——计算机网络(转) good

    相关文章:程序员的自我修养——操作系统篇 几乎所有的计算机程序,都会牵涉到网络通信.因此,了解计算机基础网络知识,对每一个程序员来说都是异常重要的. 本文在介绍一些基础网络知识的同时,给出了一些高质量 ...

  7. 使用 Java 开发兼容 IPv6 的网络应用程序

    根据现有 IPv4 地址的部署速度,剩余的地址将在 10 到 20 年被使用殆尽.因此网络逐渐从 IPv4 向 IPv6 转换是不可避免的,相应的各种网络应用程序都将支持 IPv6.对于 Java,从 ...

  8. ipv4与ipv6的区别

    对于计算机网络有一定了解的园园们来说,对这两个概念应该比较熟悉,我也将我知道的一点点小知识分享给大家吧 1.协议使用的广泛程度不同 目前,ipv4得到了广泛的应用,基本上所以的与上网有关的(看电影,玩 ...

  9. 一些重要的计算机网络协议(IP、TCP、UDP、HTTP)

    一.计算机网络的发展历程 1.计算机网络发展 与其说计算机改变了世界,倒不如说是计算机网络改变了世界.彼时彼刻,你我都因网络而有了交集,岂非一种缘分? 计算机与网络发展大致经历如下过程:

  10. 计算机网络三:域名、IP地址和TCP/IP协议

    一.域名        域名(Domain Name),简称域名.网域,是由一串用点分隔的字符型标志名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时 ...

随机推荐

  1. FPGA对EEPROM驱动控制(I2C协议)

    本文摘要:本文首先对I2C协议的通信模式和AT24C16-EEPROM芯片时序控制进行分析和理解,设计了一个i2c通信方案.人为按下写操作按键后,FPGA(Altera EP4CE10)对EEPROM ...

  2. ARM GIC 系列文章学习(转)

    原文来自:骏的世界 ARM GIC(一) cortex-A 处理器中断简介 对于ARM的处理器,中断给处理器提供了触觉,使处理器能够感知到外界的变化,从而实时的处理.本系列博文,是以ARM corte ...

  3. 第一个Vert.x程序(基于Gradle7)

    这里跑一下Vert.x中文站的入门程序(以后就不写那个点了,或者干脆写vx)简易教程.这个程序非常简单,为啥还写一下呢?因为里面的依赖有点老,已经不能直接成功启动了. 搭建项目 通过IDEA创建Gra ...

  4. CosyVoice多语言、音色和情感控制模型,one-shot零样本语音克隆模型本地部署(Win/Mac),通义实验室开源

    近日,阿里通义实验室开源了CosyVoice语音模型,它支持自然语音生成,支持多语言.音色和情感控制,在多语言语音生成.零样本语音生成.跨语言声音合成和指令执行能力方面表现卓越. CosyVoice采 ...

  5. Maven的依赖详解和打包方式

    设置maven maven下载与安装教程: https://blog.csdn.net/YOL888666/article/details/122008374 1. 在File->setting ...

  6. AJAX基础+Axios快速入门+JSON使用+综合案例

    目录 1. AJAX 1.1 概述 1.1.1 作用 1.1.2 同步和异步 1.2 快速入门 1.2.1 服务端实现 1.2.2 客户端实现 1.3 案例 1.3.1 需求 1.3.2 分析 1.3 ...

  7. 自己理解的TCP三次握手

    ### TCP 三次握手过程是怎样的? TCP的建立连接是通过三次握手来进行的.三次握手的过程如下图: 说实话这个很好理解,我称之为N字型 首先我们理解到建立连接是一个虚的概念了对吧?那么我们来设计一 ...

  8. 解决方案 | Citrix Receiver无法正常启动的多种解决方案

    下面是个人在实践过程中总结的解决办法: 方案1:卸载Citrix Receiver(一般通过控制面板卸载,如果正常无法卸载则需要通过官方卸载软件ReceiverCleanupUtility软件卸载), ...

  9. oeasy教您玩转vim - 13 - # 大词小词

    大词小词 回忆上节课内容 我们上次学习了 e e 代表 end 词尾 自有跳跃 还可以成倍次数的跳跃 但其实我是想以一个一个属性地跳跃,有没有方法呢? 查询帮助 没思路的话我们还是得继续查询 :h w ...

  10. SMU Summer 2024 Contest Round 2 (7.9)zhaosang

    A-A http://162.14.124.219/contest/1006/problem/A 考查用vector画图 我枚举到n==5才开始用,浪费40分钟,还是找规律太慢,得多学 做题代码如下: ...