目前IPv4地址已经耗尽,很多国家都在发展IPv6,本来就想学习一下神秘的IPv6,刚好做IPv6相关的项目,所以就有机会学习一下IPv6相关的知识。
但是书是看过了,可记住的没多少,没办法,只有重新再看一遍,边学边记。
IPv6的核心协议有3个:
1. Internet协议版本(Internet Protocol Version 6,IPv6),RFC2460
2. Internet控制消息协议(Internet Control Message Protocol,ICMPv6), RFC4443
3. 组播侦听器发现协议(Multicast Listener Discovery,MLD), RFC2710
ICMPv6除了包括ICMPv4中发送错误报告和简单的回显消息外,还包括以下功能:
- 组播侦听器发现(MLD)技术:MLD中有3个ICMPv6消息(组播侦听器查询、组播侦听器报告、组播侦听器完成),这三个消息替代了IPv4中的IGMP。
- 邻机发现(Neighbor Discovery,ND)技术:“邻机发现”中有5个ICMPv6消息,用于管理链接上节点到节点的通信。在IPv6中替代地址解析协议(ARP)、ICMPv4路由器发现和ICMPv4重定向消息。
什么是组播?
所谓组播通信就是源节点发出的一个数据包会有多个目标节点接收。
组播组主要包括以下内容:
- 组成员是动态的,允许主机在任何时候加入或离开组。
- 加入组播组是通过组成员消息的发送执行的。
- 组不受大小的限制,成员可以扩展到多个网络段。
- 主机可以向一个组地址发送通信而不要求必须属于这个组。
IPv6组播地址:
在IPv6中,取消了IPv4广播地址的概念,只保留了组播地址。IPv6组播地址从地址前缀1111 1111开始指派。下表是IPv6组播地址的部分列表:
IPv6组播地址 | 功能描述 |
---|---|
FF02::1 | 所有结点地址,用于到达同一个链接上的所有结点 |
FF02::2 | 所有路由器地址,用于到达同一个链接上的所有路由器 |
FF02::4 | 所有“距离矢量组播路由协议(DVMRP)”路由器地址,用于到达同一个链接上的所有DVMRP组播路由器 |
FF02::5 | 所有“开放式最短路径优先(OSPF)”路由器地址,用于到达同一个链接上的所有OSPF路由器 |
FF02::6 | 所有指派的(OSPF)路由器地址,用于到达同一个链接上的所有指派的OSPF路由器 |
FF02::1:FFXX:XXXX | 请求结点地址,用在地址解析过程中,以便将链接本地结点的IPv6地址解析为它的链接层地址。 请求结点地址的最后24位(XX:XXXX)是IPv6单播地址的最后24位 |
MLD消息
MLD用于在支持组播的IPv6路由器和网络段上的组播组成员之间交换成员状态信息。组播组中的主机成员由单独的成员主机报告,成员状态由组播路由器周期性地进行轮询。
邻机发现协议(ND)
ND是一组确定邻居节点之间关系的消息和过程。ND代替了IPv4中的地址解析协议(ARP)、ICMP、路由器发现和ICMP重定向。
ND用于主机时,其功能如下:
- 探索邻居路由器。
- 探索地址、地址前缀,以及其他配置参数。
ND用于路由器时,其功能如下:
- 通告路由器的存在、主机配置参数,以及链接前缀。
- 通知主机更好的下一跳地址,以便转发针对特定目标的数据包。
ND用于结点时,其功能如下:
- 既解析IPv6数据包所转发到的邻居结点的链接层地址,又确定邻居结点的链接层地址何时发生变化。
- 确定IPv6数据包是否可以发送到邻居和能否收到来自邻居的数据包。