1. IPV6出现的背景
IP是因特网的核心协议,目前使用最多的IPV4是在20世纪70年代末期设计的,因特网经过几十年的飞速发展,在2011年2月,IPV4地址已经耗尽。为此,解决IPV4耗尽的根本措施就是采用具有更大地址空间的新版本IP,即IPV6。
IPv6是Internet Protocal Version 6的缩写,其中Internet Protocal译为“互联网协议”。IPv6是IETF(互联网工程任务组,Internet Engineering Task Force)设计的用于替代现行版本IP协议(IPv4)的下一代IP协议, 号称可以为全世界的每一粒沙子编上一个网址。
2. IPv6主要特征
- 扩展寻址空间
- IP地址大小由ipv4的32位增加到128位
- ipv4的点分十进制变成了ipv6的冒分16进制。
- 地址自动配置和相邻节点搜索
- IPv6的相邻节点搜索协议简化了IPv6的自动配置。自动配置是IPv6主机的一个功能,可用来自动生成其自身的IPv6地址,从而简化地址管理并缩短管理时间。
- 相邻节搜索协议对应于以下IPv4的协议组合: 地址解析协议(ARP), Internet控制消息协议(ICMP), 路由器搜索(RDISC)和ICMP重定向。
- 简化包头格式
- IPv6包头的格式要么删除了某些IPv4的包头字段, 要么将这些字段设置为可选。尽管地址大小增加了,但是这种更改却最大程度减少了IPv6包头所占用的带宽。虽然IPv6地址长度是IPv4的四倍,但是IPv6的包头大小只有IPv4包头大小的两倍。
- 改进了对IP数据包头选项的支持
- 更改了IP数据包头选项的编码方式,从而提高了转发效率。而且,对IPv6选项长度的限制也不那么严格。这种更改为以后引入新选项提供了更大的灵活性。
- 对IPv6寻址提供了应用程序支持
- DNS, LDAP和NIS等名称服务;
- IP 安全体系结构(IPsec)和Internet密钥交换(Internet key Exchange、IKE)等验证和保密性应用程序;
- 有IP服务质量(IP Quality if Service, IPQoS)提供的区别服务;
- 由IP网络多路径(IP network multipathing, IPMP)提供的故障转移检测;
3. IPV6的地址结构
- 前缀:相当于v4地址中的网络ID
- 接口标识: 相当于v4地址中的主机ID
- 本地链路地址:fe80::5ed9:98ff:feca:a298 (类似与ipv4的169.254.0.0/16, 如果看到这样的地址就表示目前计算机是无法访问外部服务资源的,在两台计算机网线直连的情况下,可以看到自动分配的地址就是这样的,访问就仅限于直连的这两台计算机之间相互访问)
-
全球单播地址:2001:A304:6101:0001:5ED9:98FF:FECA:A298(就是我们说的公网ip 2000::/3)
4. IPV6地址格式
5. IPV6地址类型
一般来讲,一个IPv6的数据报目的地址可以是一下三种基本类型地址之一:
1)单播地址: 单播就是传统的点对点通信。
2)多播地址: 多播是一点对多点的通信,数据报发送到一组计算机中的每一个。ipv6没有采用广播的术语,而是将广播看作多播的一个特例。
3)任播地址:这是IPv6增加的一种类型。任播的终点是一组计算机,但是数据报只交付其中一个,通常是距离最近的一个。
6. 全球单播地址
全球单播的前缀都是: 2000::/3; 这种地址在全球的路由器间可以路由。
全球路由前缀占48位, 子网ID占16位, 接口ID占64位。
现在各大运营商用的ipv6
电信是240e开头的(240e::/20)
移动是2409开头的(2409:8000::/20)
联通是2408开头的(2408:8000::/20)
7. 误区
- ipv6并非不区分内外网,全球单播地址就代表着公网ip
- 分配了ipv6为什么还是访问不了外网?
- 该ipv6地址没有开通ipv6的外网带宽(简单来说就是你没有缴费,你就用不了)
- ipv6地址是fe80 | fec0 | fc00 (fc00代替fec0,fec0废弃)开头的,属于链路本地单播地址或者站点本地单播地址(相当于10,172.16,192.168等内网地址)
8. IPv6地址及其前缀
- ::/128 即0:0:0:0:0:0:0:0,只能作为尚未获得正式地址的主机的源地址,不能作为目的地址,不能分配给真实的网络接口。
- ::1/128 即0:0:0:0:0:0:0:1,回环地址,相当于IPv4中的127.0.0.1/8; ping locahost可得到此地址。
- 2001::/16 全球可聚合地址,由 IANA 按地域和ISP进行分配,是最常用的IPv6地址,属于单播地址。
- 2002::/16 6 to 4 地址,用于6to4自动构造隧道技术的地址,属于单播地址。
- 3ffe::/16 早期开始的IPv6 6bone试验网 地址,属于单播地址。
- fe80::/10 本地链路地址,用于单一链路,适用于自动配置、邻机发现等,路由器不转发以fe80开头的地址。
- ff00::/8 多播(组播)地址。
- ::A.B.C.D 兼容IPv4的IPv6地址,其中<A.B.C.D>代表IPv4地址。自动将IPv6包以隧道方式在IPv4网络中传送的IPv4/IPv6节点将使用这些地址。
- ::FFFF:A.B.C.D 是IPv4映射过来的IPv6地址,其中<A.B.C.D>代表IPv4地址,例如 ::ffff:202.120.2.30 ,它是在不支持IPv6的网上用于表示IPv4节点。
9. IPv4与IPv6的地址对应关系
10. Ipv6中%
fe80::20c:29ff:fe4c:c003%2
说明: 百分号后面的 2 表示的是对应网卡interface的序号。可以通过 ip addr进行查看
11. 常用的网络工具ipv6用法
Windows: ping -6
Linux: ping6
ssh –6 –v –p 6100 fec0::1
telnet -6 xxxx
nslookup -q=aaaa www.baidu.com
a(ipv4), aaaa(ipv6)
Curl
涉及域名时,-4参数强制使用ipv4来解析
一个ipv6的url
http://[FEDC:BA98:7654:3210:FEDC:BA98:7654:3210]:80/index.html
简单判断原则:设计tcp协议时带上方括号[]