• IPV6的内容


    IPV6地址

    1,地址空间:因为IPV6地址由128位二进制构成
    2,层次化的地址结构:地址分配更加合理,更利于汇总。
    3,即插即用:SLAAC ---无状态地址自动配置---只需要拥有网关设备,将自动下发一个IPV6地址
    4,简化了报文的头部:

     

    TOS ---服务类型---Traffic Class ---流量分类
    TTL --- 生存时间---HOP Limit ---跳数限制
    Protocol ---协议---next header ---下一个头部名称变化
    F lo w Label ---流标签---区分和标记不同的流量,便于做Qos,目前并没有启用。
    删除的部分(简化的部分)
    ①头部长度---主要是因为下面的选项字段也被删除了,导致IPV6包头从一个可变长头部变为定长头部,支持硬件处理。
    ②校验和----各个层次的协议封装时,都会存在校验和来确保数据的完整性,只需要校验一次就可以,所以可以删除掉。
    5,保证端到端网络的完整性:在IPV4网络当中,因为NAT技术的存在,导致端到端网络完整性遭到破坏,而IPV6中因为地址足够多,不需要运行NAT技术,可以保证其完整性。

    表示

    128位二进制 ----冒分16进制
    首选格式
    2001:0123:0000:4560:0000:0000:0000:001A
    压缩格式
    2001:123:0:4560::1A 
    压缩格式的方式:
    1,每一段前导0可以省略,如果一段全是0,则至少保留1个,拖尾的0不能省略;
    2001:123:0:4560:0:0:0:1A
    2,如果存在一个或多个整段全0的情况,可以使用“::”来表示,但整个IPV6地址的压缩格式中最多只能有1个"::"
    内嵌 IPV4 地址格式 ---前96位用IPV6的冒分十六进制来表示,后32位按照IPV4点分十进制来表示 ::192.168.1.1

    网络位和主机位

    网络位在IPV6中被称为网络前缀,主机位在IPV6中被称为接口标识。
    IPV6 地址中也需要子网掩码进行网络前缀的标识,不过只使用简写格式
    2001::1 /64 ----IPV6地址默认掩码长度为64位

     

    地址分类

    单播地址,组播地址,任播地址---任播地址也是标定一个组,但是,一个数据包其目标地址为任播地址,效果是将会发送给该组所有设备中距离本地路由意义上最近的目标。
    注意:在 IPV6 地址中不存在广播地址,直接使用组播地址来代替
    单播地址的分类
    1,GUA地址---全球单播地址
      
    相当于IPV4中的公网地址
    2000:: /3 ----2000:0000:0000:0000:0000:0000:0000:0000 --
    3FFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF
    2001:: /16 ----目前商用获取到的IPV6的GUA地址
    2002:: /16 ----针对6to4隧道使用的
    2,ULA地址---唯一本地地址
    相当于 IPV4 中的私网地址
    这部分地址不能出现在 IPV6 的公网路由当中,并且,因为 IPV6 地址足够多,所以其私网地址可保证唯一性。
    FC00:: /7 ---- 1111110 0
    FD:: /8 ---目前使用的地址段
    FC:: /8 ---目前暂未启用
    3,LLA地址---本地链路地址
    这个地址在 IPV6 体系中非常重要,只要接口可以配置 IPV6 地址,则都将会自动配置一个本地链路地址。
    FE80:: /10 ---FE80:: /64 ---前缀固定的情况下,将会自动按照EUI-64的规则生成接口标识。
    因为 IPV6 地址支持多宿主,所以,一个接口可能存在多个 IPV6 地址,在动态路由协议计算路径写下一跳时,只选择其中一个来写,一般的地址可能被更改,导致不稳定,所以,动态路由协议一般使用接口的本地链路地址来作为下一跳。
    组播地址
    FF:: /8
    RIPV2 ---224.0.0.9 ---FF02::9 ----33:33:00:00:00:09
    OSPF ---224.0.0.5 224.0.0.6 ----FF02::5 FF02::6 ----33:33:00:00:00:
    05, ----33:33:00:00:00:06
    224.0.0.1 ----针对所有具有IP地址接口的节点 ---FF02::1 ----33:33:00:00:
    00:01
    224.0.0.2 ----针对所有路由设备---FF02::2 ----33:33:00:00:00:02
    FF02 ---IPV6当中本地链路组播的前缀----会对应一个组播MAC地址----33:33 + 32(IPV6地址的后32位)
    IPV6 的组播地址中,还有一类组播地址---被请求节点组播---一个接口配置IPV6地
    址之后,将自动加入被请求节点组播组中---FF02::1:FF ---前104位固定,后24位为
    IPV6地址的后24位
    2001::1 ----FF02::1:FF00:1 ----33:33:ff00:1
    1,:: ---等同于IPV4中的0.0.0.0,1,可以代表没有地址(DHCPV6)2,可以代表所有地址(缺省)
    2,::1 ---相当于IPV4中的127.0.0.1
    IPV6的配置
    ICMPV6 协议---在IPV6体系下,ICMPV6协议除了可以实现IPV4下的功能外,还集成多个功能。
    集成 NDP 协议(邻居发现协议)----相当于是IPV4当中的ARP协议。
    实现 SLAAC 机制----NDP协议
    实现 P a th-MTU 发现机制----PMTUD ---发现最小的MTU ---在IPV6中,路由生成后,会发送ICMPV6报文去检测到达目标网段中最小MTU(PMTU),之后,发送数据包时直接按照最小的MTU值来进行分片。
    ICMPV6 ---ECHO REQUEST ---type:128
                      ECHO REPIY ----type:129
    一个接口正式发送 IPV6 报文之前,将会经历三个阶段:
    1,获取IPV6地址----1,全球单播地址(GUA地址)
                                             1,手工配置
            
                                            2,无状态自动配置(NDP)---不需要服务器,只需要存在一个网关,并且他具有IPV6地址,则接入的终端设备都将会获得一个IPV6地址。
            路由器请求报文(RS )---type ---133 ---终端设备 接入需要IPV6地址则发送该报文寻找网关设备 路由器通告报文(RA )---type ---134 ---网关设备 将回复RA报文,里面将包含网络前缀。
    注意:除了有以上请求方法外,还可以让网关设备周 期下发自己的网络前缀,华为设备默认关闭该功能。 但注意,无状态自动配置不会下发DNS等额外信息, 所以,一般针对大批量,不需要上网的物联网设备来 使用。当然,无状态自动配置也可以和有状态自动配 置结合使用。
                                            3,有状态自动配置(DHCPV6)
                                 2,本地链路地址(LLA)
    2,DAD ---地址冲突检测
    3,地址解析阶段
    2,3阶段在IPV6中都由NDP协议来完成
    邻居请求报文----NS ---type:135 ---相当于ARP请求报文
    邻居公告报文----NA ---type:136 ---相当于ARP应答报文
    ARP ---请求报文---SIP:自己IP;DIP:被请求者IP
    NDP ---NS ----SIP:自己IP;DIP:被请求节点组播应答报文相同,都是以单播的形式回复。

     

     

     

  • 相关阅读:
    小程序底层架构剖析
    ctfshow-nodejs
    抓住那头牛——BFS
    底层全部重构,小米澎湃OS完整系统架构公布
    UWB测距原理及实现
    JavaWeb之MySql高级(保姆级教程)
    .Net 5在CentOS 7部署问题Couldn’t find a valid ICU package installed on the system
    RedisTemplate常用方法总结
    Android 9.0 ~ 12 获取系统内存大小、存储空间大小
    MySQL:已提交读和可重复读的实现原理 | MVCC(多版本并发控制)——笔记自用
  • 原文地址:https://blog.csdn.net/weixin_55739782/article/details/126162462