
IPv6地址、单播、多播组播介绍
IPv6地址、单播、多播/组播介绍
6地址介绍
这⾥主要介绍IPv6地址,什么是IP地址就不介绍了。
IPv6地址主要是为了解决IPv4地址枯竭的问题。
1.1IPv6地址的格式
IPv6地址有128位,通常使⽤16进制表⽰,⼀个16进制数可以表⽰4位⼆进制,因此128位可以使⽤32个16进制数表⽰,⽽把4个16进
制数⼜分成⼀组,因此128位可以表⽰成8组。
如下图所⽰,⼀个X表⽰⼀组(4个)16进制字符串,也就是⼀组包含了16个⼆进制。⼀共有8组。
图⽚来源:《IPv6FundamentalsAStraightforward》
1.2IPv6地址简写⽅式
⼀个完整的IPv6地址有32个⼗六进制字符串表⽰,太长了,可以简写,简写规则有两种:
1.省略每⼀组开头的0
2.省略连续的若⼲个0,使⽤两个冒号::表⽰省略的0。
1.2.1省略开头的0
使⽤第⼀种简写规则,省略开头的0,如下图所⽰:
1.2.2使⽤双冒号代替连续的0
如果使⽤第⼆种规则,省略连续的0,使⽤两个冒号表⽰::,如下图:
1.2.3两种⽅式结合
如果把两种规则结合起来,也是最常见的写法,如下图:
1.2.4简写时注意事项
1.双冒号::只能在IPv6地址中出现⼀次
⽐如地址:ffff:0000:0000:ffff:0000:0000:0000:0001,就不能写成:ffff::ffff::0001,因为这样写根本不知道原来的地址是什么样的。
2.使⽤双冒号::代替连续0最多的
⽐如地址:ffff:0000:0000:ffff:0000:0000:0000:0001,后⾯有连续的三组都是0,因此应该使⽤双冒号::代替这⾥,因此标准简写应该
是ffff:0000:0000:ffff::00001。
3.连续的0出现位置⼀样多,双冒号代替先出现的(最左边的)。
⽐如地址:ffff:0000:0000:ffff:ffff:0000:0000:ffff,第⼀⼆组是连续的0,第六七组也是连续的0,标准写法应该是只能使⽤双冒号::代替先
出现的,也就是第⼀⼆组,标准写法为:ffff::ffff:ffff:0000:0000:ffff
1.3IPv6地址分类
IPv6地址分类基本可以如下图所⽰:
IPv6地址可以分为三种类型:单播地址、多播地址、任播地址。
2.单播地址unicast
如上图,单播地址可以分为6种:
Unicast
-LocalUnicast
ck
ified
Local
edIPv4
2.1GlobalUnicastAddress
全局单播地址GlobalUnicastAddress前缀是2000::/3,/3表⽰⼦⽹掩码,表⽰前⾯3位是固定的,跟IPv4掩码⼀样的。
全局单播地址全局唯⼀,不会重复,全局单播地址GlobalUnicastAddress就像我们IPv4的公⽹IP地址。
2.2Link-LocalUnicast
Link-LocalUnicast前缀是fe80::/10,⽤于⼀个局域⽹内,不同的局域⽹的Link-Local地址可以重复。
类似IPv4的私⽹IP,⽐如IPv4的192.168.0.1
2.3Loopback
回环地址Loopback前缀是::1/128,使⽤回环地址的数据包不会经过⽹卡,回环地址⽤于本地测试。
跟IPv4的回环地址127.0.0.1是⼀样的。
2.4Unspecified
unspecified未指定的,这个地址固定就是全0,表⽰没有IPv6地址。
2.5UniqueLocal
看名字,有个单词local,这个地址也是⽤于局域⽹,但是不同局域⽹的UniqueLocalAddress不会重复。
那么不同的局域⽹如何保证产⽣的地址不重复呢?这涉及到⼀个算法,这⾥就不介绍了,这个地址的⽣成就类似UUID的⽣成。
2.6EmbededIPv4
这个地址就是把IPv4地址包含在IPv6地址中,把IPv6地址的⾼80位全部设置为0,然后中间16位设置为1,低32位设置为IPv4地址。如下
图:
3.多播地址multicast
还是这个图,怕看到这⾥忘了,再放⼀次:
多播地址有很多种,重要的有三种:
-Known
ent
ted-Node
3.1多播地址格式介绍
如下图:
每个字段的意思图上都有解释,主要说说Scope字段,这个字段表⽰了多播的范围,按照字⾯意思可能不好理解,如下图:
3.1Well-Known
Well-Known多播地址前缀是ff00::/12,也就是最常见的多播地址。
注意:
IPv6没有⼴播地址,Well-Known多播地址包含了⼴播地址,⽐如上图中第⼀条地址,多播给多有设备,就是⼴播。
3.2Transient
这个,,先不讲了
3.3Solicited-Node
这个,,有点没看懂,简单说说。。。
Solicited-Node多播地址前缀是ff02:0:0:0:0:1:ff00::/104。
书上说Solicited-Node多播地址⽤于主要⽤于NDP(NeighborDiscoveryProtocol)协议,NDP协议的功能有两个:
sresolution
ateAddressDetection(DAD)
NDP协议的Addressresolution功能就类似IPv4的ARP协议,名字都⼀样,就是根据IP地址请求MAC地址。
DAD功能是⽤来检测局域⽹中的所有设备的单播地址都是不同的。
3.3.1单播地址到Solicited-Node多播地址的映射
Solicited-Node多播地址前104位是固定的,还剩下的24位则是来⾃单播地址,这剩下24位和单播地址是相同的。
如下图,把单播地址的低24位拷贝过来,作为Solicited-Node多播地址的低24位。
如上图,这个单播地址可以是全局单播地址,也可以是Link-Local单播地址。
3.3.2Solicited-Node多播地址到MAC地址的映射
这个映射提现了多播地址⽐⼴播地址好的地⽅。。。。
Solicited-Node多播地址要映射到MAC地址上,就是Mac地址的⾼12位不变,低32位改为Solicited-Node多播地址的低32位。如图所
⽰:
我之前以为MAC地址是固定不变了,原来可以改变。
这⾥我有个疑惑,每个设备有个公⽹地址GlobalUnicastAddress,也有⼀个私⽹地址Link-LocalUnicastAddress,那这样不是
会产⽣两个Mac地址吗
这样映射有什么好处?
多播地址只能⽤于⽬的地址,因此这样的数据包发出去后,⽬标设备接收时,只看Mac地址就可以知道,是不是发给⾃⼰的,就不⽤
拆包查看IP地址了。
6地址查看
查看了⾃⼰电脑的IP,如下图:
可以确定的是有⼀个回环地址:::1/128,还有个Link-Local地址:fe80::b105:a91f:85a5:e1ef/64。
参考资料
《IPv6FundamentalsAStraightforward》
本文发布于:2023-03-12 21:24:52,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/a/167862749226738.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:单播.doc
本文 PDF 下载地址:单播.pdf
| 留言与评论(共有 0 条评论) |