1.四层TCP/IPv6参考模型
Application Layer ——HTTP,FTP,SMTP,SIP,RTP,DNS,DHCPv6,etc.
Transport Layer ——TCPv6,UDPv6,SCTP
Internet Layer —— IPv6,ICMPv6,IPsec
Link Layer —— ND,OSPFv3,L2TP,PPP,Ethernet,DSL,MPLS,etc.
2.IPv6基本术语
局域网段:位于内部交换机下的网段
链路:内部子网路由器下
子网:多个链路可以组成子网
网络:不同子网可构成网络
3.IPv6地址为128位
地址空间非常大,可以夸张地说,世界上每一粒沙子都可以有对应的IPv6地址。
4.IPv6地址表示格式:冒分十六进制
128位IPv6地址如下:
1 | 0010000000000001000001000001000000000000000000000000000000000001 |
每16位一组,分为8组如下:
1 | 0010000000000001 0000010000010000 0000000000000000 0000000000000001 |
每一组中,每4为单位以16进制表示如下:
1 | 0010 0000 0000 0001 2001 |
将8组16进制数用冒号连接如下:
1 | 2001:0410:0000:0001:0000:0000:0000:45ff |
为了简洁表示,IPv6冒分十六进制有以下规则
规则1: 省略前导0,如果每组16进制数中存在前导0,则省略
2001:0410:0000:0001:0000:0000:0000:45ff
省略前导0,结果如下:
1 | 2001:410:0:1:0:0:0:45ff |
规则2: 忽略全0
2001:410:0:1:0:0:0:45ff
结果如下
1 | 2001:410:0:1::45ff |
- 注意:如果有多个部分有全0部分只能忽略一个部分的全0,如:
1 | 2001:0:0:1:0:0:0:45ff |
只能写成
1 | 2001::1:0:0:0:45ff |
以下写法为错误写法:
1 | 2001::1::45ff |
因为这样写无法确定省略了0的个数
5.IPv6地址分类
与IPv4地址相比少了广播地址
5.1 单播地址(Unicast Address)
IPv6单播地址用于唯一标识支持IPv6的设备上的接口,源IPv6地址必须为单播地址
本地链路地址 | 全局单播地址 |
---|---|
环回地址 | 唯一本地地址 |
嵌入式IPv4地址 | 未指定地址 |
5.1.1本地链路地址
目的:用于与统一链路中的其他设备通信
注意:路由器不会转发具有本地链路源地址或目的地址的数据包,每个支持IPv6的网络接口一定有本地链路地址。
支持IPv6的主机会创建IPv6本地链路地址,而IPv4的本地链路地址不会自动生成。
1. 链路本地地址的构成
- 应用范围:只能在同一本地链路节点之间使用,FE80::/64
- 节点启动时会自动配置一个本地链路地址。
2.链路本地地址的一种生成方法
前64位:FE80:0:0:0
后64位:EUI-64地址
- EUI-64地址生成
MAC地址为48位,从中间切分为两部分各24位;
在这两部分之间插入16位数:11111111 11111110 组成64位地址;
将从头开始数的第7位取反,得到最终EUI-64地址
例:一台主机的MAC地址是: 0012:3400:ABCD, 试求其生成的链路本地地址
MAC地址写成二进制
1 | 00000000 00010010 00110100 00000000 10101011 11001101 |
中间插入 11111111 11111110
1 | 00000000 00010010 00110100 11111111 11111110 00000000 10101011 11001101 |
第7位取反
1 | 00000010 00010010 00110100 11111111 11111110 00000000 10101011 11001101 |
得到EUI-64地址
1 | 0212:34FF:FE00:ABCD |
与前64位组合生成本地链路地址
1 | FE80::0212:34FF:FE00:ABCD |
3.本地链路地址用途
- 主机使用本地路由器的本地链路地址作为默认网关IPv6地址
- 路由器使用本地链路地址交换动态路由协议消息
- 转发 IPv6 数据包时, 路由器的路由表使用本地链路地址确定下一跳路由器
5.1.2 环回地址
- 环回地址除最后一位外全为0,压缩格式表示为::1/128
- 主机使用环回地址发送数据包到其自身,环回地址不能分配给物理接口
5.1.3 未指定地址
- 未指定地址为全0地址,压缩格式表示为::/128或::
- 不能分配给接口。仅作为IPv6数据包源地址,在设备尚无永久IPv6地址时,未指定地址可作为源地址,不能作为目的地址。
5.1.4 唯一本地地址
- 类似于IPv4的私有地址,但也有重大差异,范围从FC00::/7到FDFF::/7
- 唯一本地地址在一个站点内或有限站点数之间用作本地地址,在全局IPv6中不具有可路由性
5.1.5 可聚合全球单播地址
- 由格式前缀001标识,ISP商分配的前缀:/48,全球路由前缀
- Site拓扑:由组织机构划分子网,子网ID
- 接口ID:64
接口ID生成方法:
- EUI-64(MAC地址生成)
- 随机生成(RFC3041)
- 手工设置
5.1.5 特殊单播地址
- IPv6兼容地址:0:0:0:0:0:0:w:x:y:z 或 ::w.x.y.z
- IPv4映射地址:0:0:0:0:0:FFFF:w.x.y.z或::FFFF:w.x.y.z
- 6to4地址
最后更新: 2018年10月25日 10:33
原始链接: https://silence-linhl.github.io/blog/2018/10/24/IPv6-1/