精华内容
下载资源
问答
  • ipv6基础
    千次阅读
    2022-05-15 16:13:47

    IPv6

    由于internet规模的扩大,IPv4地址空间已经消耗殆尽,IETF在90年代提出了下一代互联网协议IPv6,IPv6支持几乎无限的地址空间,并且配置更加简单,IPv6还采用全新的报文格式,提高了报文处理的效率,安全性。也能更好的支持Qos。
    对比
    IPv4 长度32bit 大约有40亿,256^4
    IPv6 长度128bit 3x10^38 16 ^32

    IPv6基本报头

    数据帧    IPv6     tcp     data
    
      IPv6 报头    大体分为  版本号(version ) 流类别(traffic class) 流标签(flow label)
    

    与IPv4相比,IPv6报头去除了IHL, IDENTIFIER , FLAGS, FRAGMENT OFFSET, HEADER CHECKSUM, OPTIONS, PADDING域,只增加了流标签域,因此IPv6报文头的处理较IPv4大大简化,提高了处理效率。

    IPv6扩展报头

    IPv6扩展报头是跟在IPv6基本报头后面的可选报文,可以有一个或多个。
    报头按照一下顺序出现
    1,IPv6基本报头
    2,逐跳选项扩展报头
    3,目的选项扩展报头
    4,路由扩展报头
    5,分片扩展报头
    6,认证扩展报头
    7,封装安全有效载荷扩展报头
    8,目的选项扩展报头
    9,上层协议数据报头
    目的选项报头最多出现两次,其他最多只能出现一次。

    IPv6地址格式

    长度128bit,每16比特划分为一段,每段由4个16进制数表示,
    一个IPv6地址由IPv6地址前缀(标识IPv6网络)和接口ID(标识接口)组成

    IPv6地址压缩格式

    每一组中的前导“0”都可以省略,
    地址中包含的连续为0的组,可以用双冒号“::”来代替,但是最多使用1次。

    3287:0fe0:0000:0000:0000:0fa1:ffff:0234
    压缩 3287:fe0::fa1:ffff:234

    IPv6地址分类

    分为单播地址,任播地址,组播地址,没有广播地址。
    2000::/3 全球单播地址
    fc00: :/7 唯一本地地址
    fe80 ::/10 链路本地地址
    ff00 : :/8 组播地址
    ::/ 128 未指定地址
    ::1/128 换回地址

    2400::/12 APNIC 亚太互联网
    2600::/12 ARIN 美国
    2800::/12 LACNIC 拉丁美洲
    2A00::/12 RIPE NCC 欧洲
    2C00::/12 AFRINIC 非洲

    文档示例预留地址空间 2001 ::/32
    链路本地地址只能连接到同一本地链路的节点之间

    IPv6无状态自动配置

    过程
    ipv6主机首先通过路由器发现功能来获取地址前缀信息,之后通过向接口已有的48比特mac地址中插入16比特的ffee生成接口ID,在生成了ipv6地址后通过重复地址检测来确认地址是否唯一。
    RA报文 type134 由路由器自动发送,获取主机分配地址
    RS报文 type133 由主机主动向路由器发送主动获取

    EUI-64规范

    为了通过IPv6网络进行通信,各接口必须获取有效的ipv6地址,
    办法有三种, 手动配置, 通过系统软件生成, 采用扩展唯一标识符

    MAC共48位,前24位代表厂商id,后24位代表制造商分配的唯一扩展标识
    mac地址的第7高位是U/L位,值为0时表示mac地址全局唯一
    为1时代表mac地址本地唯一

    在mac地址向eui-64格式转换过程中,在mac地址前24位和后24位之间插入16比特的ffee,将U/L位值从0变成1,这样就生成一个64比特的接口id,且接口id的值全局唯一。

    IPv6无状态地址DAD检查

    当接口配置IPv6地址时,DAD用来在本地链路范围内检测将要使用的地址是否重复。
    作用和ipv4的ARP类似。

    更多相关内容
  • IPv6技术基础与IPv6基础知识讲座.pptx
  • IPv6专题培训IPv6基础原理.pptx
  • IPv6基础介绍.zip

    2019-09-22 01:08:16
    IPv6基础介绍
  • HCRSE203-IPv6基础实验指导书.pdf
  • IPv6基础介绍主要内容包含:概述、IPv6相对IPv4的优势、IPv6的设计思想、IPv6的扩展报文头、IPv6扩展头应用(1):SRH用于SRv6、IPv6扩展头应用(2):HBH用于网络切片、IPv6扩展头应用(3):DOH用于BIERv6、IPv6...
  • IPv6基础介绍

    千次阅读 2022-05-20 16:12:29
    1.IPv6简介 随着互联网的快速发展,IPv4地址变的越来越紧缺,即使有NAT技术来进行缓解,但是也只能缓解燃眉之急。同时,IPv4的报文头部设计的不合理,导致IPv4转发不具有安全性,头部字段太多且头部长度可变,导致...

    1.IPv6简介

            随着互联网的快速发展,IPv4地址变的越来越紧缺,即使有NAT技术来进行缓解,但是也只能缓解燃眉之急。同时,IPv4的报文头部设计的不合理,导致IPv4转发不具有安全性,头部字段太多且头部长度可变,导致转发效率低下。

    IPv6有128个比特,几乎地球上的每一粒沙子都可以分配一个IPv6的地址,解决了IPv4地址不够用的问题。IPv6针对于报文头部也进行了调整优化,分为了基本头部和扩展头部。基本头部保留转发需要的必要信息,所以长度是固定的,为40个字节。剩余其他信息使用扩展头部来进行封装,提高了转发效率。

    2.IPv6报文格式

            IPv6头部字段只保留了转发需要的必要信息,同时增加了一个next header字段,通过此字段来判断是否有下一个扩展头部信息。数据在进行转发的时候,只需要读取基本包头即可。

            version:版本信息

            traffic class:流分类

            flow label:流标签

            payload lenth:长度

            next header:下一个头部标识

            hop limit:相当于IPv4中的TTL

            sourece address:源IP

            destination address:目的IP

            extension header:扩展头部

    3.IPv6地址的表示

            IPv6地址共有共16个字节,也就是128比特。由于位数比较长,因此是用冒号分十六进制来表示的。128个比特分为了8段,每段16个比特,每段都用十六进制来表示,各段之间用冒号分开。例如:2001:0FCE:3F00:4C02:0000:0000:0001:0002,每段的最前面的0可以省略,可以缩写为:2001:FCE:3F:4C02:0:0:1:2,连续的段为0的时候,可以缩写为::,因此这个IPv6地址最简化的表示为2001:FCE:3F:4C02::1:2。双冒号在一个地址中只能出现一次。

    4.IPv6地址分类

            IPv6地址分为三大类,分别是单播、组播和任播。

            4.1 单播地址

                    IPv6的单播地址又可以分为全球单播地址、链路本地地址、唯一本地地址、特殊地址等几大类,单播地址由网络前缀和接口标识组成,常见单播地址要求网络前缀和接口标识都是64位,其中::1/128为本地回环地址,::/128表示未分配地址。

                    接口标识生成的方式有三种,可以手工分配、自动获取、EUI-64生成。

                    EUI-64规范是指将MAC地址中间插入FFFE,并且将MAC地址的第7位即LG位变为1,例如:

            MAC地址为:00e0-fc31-6f8e

            插入FFFE:00e0-fcff-e031-6f8e

            LG位置为1:2e0-fcff-e031-6f8e

                    全球单播地址

                    全球单播地址网段是2000::/3,范围2000——3FFF。全球单播地址用来标识唯一一台终端或者接口,它的地址格式如下:

                    唯一本地地址 

                     唯一本地地址是私网地址,地址段是FC00::/7,目前只是用了FD00::/8,唯一本地地址只在内网中有效,不能跨越公网,公网中没有私网的路由。地址格式如下:

                    链路本地地址 

                    链路本地地址的有效范围是本链路生效,不能跨越路由器,前缀为:FE80::/10。链路本地地址可用于邻居发现,自动获取等场景。这个地址可以手工配置或者系统根据EUI-64自动生成。它的地址格式如下:

            4.2 组播地址

            IPv6的组播地址可用于标识多个接口,只可用作目的地址来使用。地址格式如下:

            前8个比特固定全为1,后32比特是组播的组ID。 

            Flags:为0标识永久,为1表示临时。

            Scope:  为0是预留

                            为1表示节点

                            为2表示链路本地

                            为5表示站点本地

                            为8表示组织本地

                            为E表示全球范围

                            为F是预留

            组播中比较重要的一种是被请求节点组播地址,主要用于地址检测或者邻居发现。每个单播地址都会自动生成对应的被请求节点组播地址,并加入这个组播组。被请求节点组播地址格式如下:

            被请求节点组播地址的前104个比特是固定的,后24位根据单播地址的后24来进行填充。

            例如:全球单播地址:2001:172:16:12::1

            对应被请求节点组播地址为:FF02::1:FF00:01 

            组播中FF02::1表示所有主机,FF02::2表示所有路由器。

            4.3 任播地址

            在IPv6中没有广播的概念,但是有任播地址,它的范围和全球单播地址一致,只不过可以重复配置,用于用户访问最近的业务节点,任播地址也是只能作为目的地址使用。

    5.NDP协议

            IPv6中没有ARP地址解析协议,IPv6是通过NDP邻居发现协议来进行地址冲突检测和MAC地址解析的。IPv6通过新增ICMPv6报文来承载NDP协议,ICMPv6协议通过不同type类型来区别不同的承载协议。

    ICMPv6 type类型代表协议
    type=133RS报文:路由请求
    type=134RA报文:路由通告
    type=135NS报文:邻居请求
    type=136NA报文:邻居通告
    type=136重定向

            5.1 IPv6的DAD(地址冲突检测) 

            IPv4是通过免费ARP来进行地址冲突检测的,IPv6根据NS报文来进行DAD检测,如果没有收到NA的应答,则表示地址没有冲突,收到NA的回复,则表示地址冲突,不可用。

            DAD的原理:当接口第一次获取到IPv6单播地址时,会发送一个NS报文,NS的格式如下:

            ICMPv6头部IPv6头部以太帧头部
    target address:要检测的IPv6地址

    源:::

    目的:检测IP的被请求节点地址

    源:本端MAC

    目的:组播MAC

    组播MAC地址前16为固定为33-33,后32为取被请求节点地址的后32位组成。

    例如:被请求节点地址为FF02::1:FF00:1

              组播MAC地址为:33-33-FF-00-00-01

            没有收到NA的应答,则表示地址不冲突,一旦地址冲突,收到的NA应答报文格式如下: 

            ICMPv6头部IPv6头部以太帧头部

    target address:冲突的IPv6地址

    link-layer address:本端MAC地址

    源:本端接口IPv6地址

    目的:FF02::1

    源:本端MAC

    目的:组播MAC

     

             5.2 IPv6的ping通原理

            R1 ping R2

            1.R1查看路由表,没有则不发包。

            2.R1有R2的路由,进行ICMPv6的封装,封装到二层,不知道目的MAC地址。

            3.查看IPv6邻居表项,有邻居则拿出邻居的MAC进行封装,没有,则发送NS请求。

            ICMPv6头部IPv6头部以太帧头部
    target addres:2001::2

    源:2001::1

    目的:FF02::1:FF00:2

    源:本端MAC

    目的:33-33-FF-00-00-02

            4.R2收到R1的NS报文,侦听目的组播MAC地址,接收解封装,产看目的IP是自己,则回复NA报文,同时把R1的MAC地址和IP加入自己的IPv6邻居表。

            ICMPv6头部IPv6头部以太帧头部

    target addres:2001::2

    link-layer address:本端MAC地址

    源:2001::2

    目的:2001::1

    源:本端MAC

    目的:R1的MAC

             5.R1收到R2的NA响应,把R2的MAC地址和IP加入自己的IPv6邻居表,完成ICMPv6的封装,按路由表转发数据。

    6.自动获取

            IPv6支持有状态自动获取和无状态自动获取两种,IPv4只有有状态的自动获取。

            6.1 无状态自动获取

                    IPv6地址具有即插即用的快捷方便性,此机制通过无状态获取来实现。服务端开启RA功能,周期性的向所有主机发送RA报文,发送的周期在600秒和200秒之间随机,但是一旦收到客户端发来的RS请求,则会立即响应一次RA。RA报文中包含本端接口地址的前缀信息,客户端根据服务端的前缀加上自己的EUI-64组成自己的接口地址。

    服务端开启RA功能命令:接口下undo ipv6 nd ra halt

    客户端获取命令:接口下ipv add auto global default------获取地址的同时产生默认路由

            RS报文格式如下:

            ICMPv6头部IPv6头部以太帧头部

    link-layer address:本端MAC地址

    源:本端的连接本地地址

    目的:FF02::1

    源:本端MAC

    目的:组播MAC

            RA报文格式如下:

            ICMPv6头部IPv6头部以太帧头部

    link-layer address:本端MAC地址

    IP前缀信息

    源:本端的连接本地地址

    目的:FF02::1

    源:本端MAC

    目的:组播MAC

            6.2 IPv6的有状态自动获取 

            IPv6的有状态获取是通过DHCPv6获取的,可分为4-way模式和2-way模式,默认是4-way模式,也就是有四种报文交互。

            4-way模式:

            1.首先由客户端发起solicit请求,寻找全网的DHCPv6服务端,包含本端MAC地址等信息,以组播的形式发送。

            2.服务端回复advertise回复给客户端,包含网络前缀,客户端MAC、服务端MAC等信息,以单播形式发送。

            3.客户端发起request请求地址是否可用,包含请求使用的IPv6地址,客户端MAC、服务端MAC等信息,以组播形式发送。

            4.服务端回复reply给客户端,包含对方请求使用的IPv6地址,客户端MAC、服务端MAC等信息,以单播形式发送。

            2-way模式:

            当网络中只有一个DHCPv6服务端时,可以配置快速分配模式。

            1.DHCPv6客户端在发送的Solicit报文中携带Rapid Commit选项,标识客户端希望服务器能够快速为其分配地址和网络配置参数。

            2.DHCPv6服务器接收到Solicit报文后,将进行如下处理:

              如果DHCPv6服务器支持快速分配地址,则直接返回Reply报文,为客户端分配IPv6地址和其他网络配置参数,Reply报文中也携带Rapid Commit选项。

             如果DHCPv6服务器不支持快速分配过程,则采用四步交互方式为客户端分配IPv6地址/前缀和其他网络配置参数。

            快速获取地址配置方式:

    服务端:接口下dhcpv6 server A rapid-commit  

    客户端:接口下ipv6 address auto dhcp rapid-commit

            无状态获取只能获取到IP前缀信息,获取不到其他一系列的参数,例如DNS等,当无状态需要向有状态迁移时,可以配置flag位中的M位和O位置为1。

    服务端:ipv6 nd autoconfig managed-address-flag----M位置为1

                  ipv6 nd autoconfig other-flag------O位置为1           

    7.IPv6基础实验

    拓扑:

     描述:R1和R2手动配置,R2作为DHCPv6服务器,R3采用有状态的获取方式,R4采用无状态的获取方式并都能生成缺省路由,在R1上配置静态路由,使能全网通。

    基本信息:

    设备接口IP地址前缀
    R1G0/0/02001::164
    R2G0/0/02001::264
    G0/0/12003::264
    G0/0/22004::264
    R3G0/0/0有状态获取
    R4G0/0/0无状态获取

     R1配置:

    #
    ipv6 
    #
    interface GigabitEthernet0/0/0
     ipv6 enable 
     ipv6 address 2001::1/64 
    #
    ipv6 route-static 2003:: 64 2001::2 
    ipv6 route-static 2004:: 64 2001::2 

    R2配置:

    #
    ipv6 
    #
    dhcp enable
    #
    dhcpv6 pool A
     address prefix 2003::/64
     excluded-address 2003::1 to 2003::2
    #
    interface GigabitEthernet0/0/0
     ipv6 enable 
     ipv6 address 2001::2/64 
    #
    interface GigabitEthernet0/0/1
     ipv6 enable 
     ipv6 address 2003::2/64 
     undo ipv6 nd ra halt
     ipv6 nd autoconfig managed-address-flag
     ipv6 nd autoconfig other-flag
     dhcpv6 server A
    #
    interface GigabitEthernet0/0/2
     ipv6 enable 
     ipv6 address 2004::2/64 
     undo ipv6 nd ra halt
    
    

    R3配置:

    #
    ipv6
    #
    dhcp enable
    #
    interface GigabitEthernet0/0/0
     ipv6 enable 
     ipv6 address auto link-local
     ipv6 address auto global default
     ipv6 address auto dhcp
    
    

    R4配置:

    #
    ipv6 
    #
    interface GigabitEthernet0/0/0
     ipv6 enable 
     ipv6 address auto global default

    查看R1接口的DAD报文:

    查看R1pingR2的NS和NA报文:

     查看R4无状态获取的报文信息:

     查看R3有状态获取的报文信息:

    R1上ping测试 :

     

     

     

     

     

     

     

             

    展开全文
  • IPv6基础介绍挂图 支持打印
  • IPv4与IPv6业务-IPv6基础技术介绍.pdf
  • 本视频详细介绍IPV6的基础知识,通过本视频可以学习到iPV6基础描述之IPV6特点及IPV6地址格式;
  • IPv6专题培训-IPv6 基础原理。学习网络的朋友,推荐学习。
  • 内容 1、了解IPv6 基础协议特点 2、了解IPv6 基础模块的基本原理 3、掌握IPv6 基础模块的配置方法
  • IPv6基础知识总结.doc

    2022-06-01 09:28:16
    IPv6基础知识总结.doc
  • IPv6基础介绍主要内容包含:概述、IPv6相对IPv4的优势、IPv6的设计思想、IPv6的扩展报文头、IPv6扩展头应用(1):SRH用于SRv6、IPv6扩展头应用(2):HBH用于网络切片、IPv6扩展头应用(3):DOH用于BIERv6、IPv6...
  • IPv6基础介绍ppt

    2022-05-17 17:21:59
    IPv6基础介绍ppt
  • IPv6基础

    2021-10-25 18:34:56
    这使得网络中的中间路由器在处理IPv6协议头时,有更高的效率 实现自动配置和重新编址:IPv6协议内置支持通过地址自动配置方式使主机自动发现网络并获取IPv6地址,大大提高了内部网络的可管理性 支持层次化网络编址:...

    IPv4解决地址缺少的办法:
    NAPT:一个公网地址和端口号共同映射一个私网地址和端口号
    CIDR:无类域间路由(超网)(VLSM的反向应用)

    国际IP地址分配方式:
    1.ICANN的IANA部门负责将IP地址分配给5个区域性的互联网注册机构RIR ,比如APNIC,它负责亚太地区的IP分配
    2.RIR将地址进一步分配给当地的ISP,比如:中国电信和中国移动
    3.ISP再根据自己的情况,将IP地址分配给机构或者直接分配给用户,比如将IPv4 A类地址分配给一个超大型机构,而将IPv4 C类地址分配给一个中型企业

                     ICANN:Internet的中心管理机构
                     IANA:网际网络号码分配局
                     RIR:区域网际网路注册管理机构,负责对本区域的IP地址规划
                     ISP:运营商
         五大RIR:
                     RIPE - 欧洲IP地址注册中心
                     LACNIC - 拉丁美洲和加勒比海Internet地址注册中心
                     ARIN - 美国Internet编号注册中心
                     AFRINIC - 非洲-网络信息中心
                     APNIC - 亚太地址网络信息中心
    

    IPv4地址现状:
    IPv4公网地址耗尽。是当前IPv6替代IPv4的最大原动力
    Internet用户快速增长,随着科技行业的发展,有更多的用户、更多种类的设备接入公网
    IPv4缺乏真正的端到端通信模型。NAT确实能解决私有地址空间与公网互访的问题,但是却破坏了端到端通信的完整性
    IPv4无法适应新技术的发展,如物联网等。所有行业都是IPv6的潜在用户
    广播机制的存在,对ARP的依赖等,使得IPv4局域网的相关运作问题频发
    IPv4对移动性的支持不够理想

    临时应对措施:
    1991年,IETF为了推迟IPv4地址耗尽发生的时间点,推出分类网络方案
    1993年,推出网络地址转换(NAT)与无类别域间路由(CIDR)
    但是这些过渡方案皆无法阻止位址枯竭问题的发生,只能减缓它的发生速度,并不能从根本上解决问题
    IETF在20世纪90年代提出下一代互联网协议——IPv6,目前IPv6成为公认的IPv4未来的升级版本

    IPv6原理描述:
    IPv6技术特点:
    地址空间巨大:采用128比特标识。128位的地址结构使IPv6理论上可以拥有(43亿×43亿×43亿×43亿)个地址。近乎无限的地址空间是IPv6的最大优势
    精简报文结构:使用了新的协议头格式,IPv6数据包有全新的报文头,而并不是仅仅简单地将IPv4报文头中的地址部分增加到128bits而已。在IPv6中,报文头包括固定头部和扩展头部,一些非根本性的和可选择的字段被移到了IPv6协议头之后的扩展协议头中。这使得网络中的中间路由器在处理IPv6协议头时,有更高的效率
    实现自动配置和重新编址:IPv6协议内置支持通过地址自动配置方式使主机自动发现网络并获取IPv6地址,大大提高了内部网络的可管理性
    支持层次化网络编址:巨大的地址空间使得IPv6可以方便的进行层次化网络部署。层次化的网络结构可以方便的进行路由聚合,提高了路由转发效率
    支持端对端安全:IPv6中,网络层支持IPSec的认证和加密,支持端到端的安全
    更好的支持QoS:IPv6在包头中新定义了流标签的特殊字段。IPv6的流标签字段使得网络中的路由器可以对属于一个流的数据包进行识别并提供特殊处理。用这个标签,路由器可以不打开传送的内层数据包就可以识别流,这就使得即使数据包有效载荷已经进行了加密,仍然可以实现1对QoS的支持
    支持移动特性:采用Routing header和Destination option header等扩展报头,使得IPv6提供了内置的移动性

      IPv6报文格式:IPv6数据包由一个IPv6基本报头、多个扩展报头和一个上层协议数据单元组成
    								![](https://img-blog.csdnimg.cn/d28e8ad5d2734a1681a07844607a2560.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pif56m65LqI6JOd,size_20,color_FFFFFF,t_70,g_se,x_16)
    
            IPv6基本报头(IPv6 Header):每一个IPv6数据包都必须包含报头,有8个字段,其长度固定为40bytes
                                           基本报头提供报文转发的基本信息,会被转发路径上面的所有路由器解析
    
            上层协议数据单元(Upper Layer Protocol Data Unit):
                                           上层协议数据单元一般由上层协议包头和它的有效载荷构成,有效载荷可以是一个ICMPv6报文、一个TCP报文或一个UDP报文
    
            IPv6报头格式中主要字段:
                                            Version:版本号,长度为4bit。对于IPv6,该值为6
                                            Traffic Class:流类别,长度为8bit。等同于IPv4中的ToS字段,表示IPv6数据报的类或优先级,主要应用于QoS
                                            Flow Label:流标签,长度为20bit。IPv6中的新增字段,用于区分实时流量,不同的流标签+源地址可以唯一确定一条数据流,中间网络设备可以根据这些信息更加高效率的区分数据流
                                            Payload Length:有效载荷长度,长度为16bit。有效载荷是指紧跟IPv6报头的数据报的其它部分(即扩展报头和上层协议数据单元)
                                            Next Header:下一个报头,长度为8bit,指明下一个扩展报头(如果存在)或上层协议的类型;作用等同IPv4中protcol,标识上层头部类型
                                            Hop Limit:跳数限制,长度为8bit。该字段类似于IPv4中的Time to Live字段,它定义了IP数据报所能经过的最大跳数。每经过一个路由器,该数值减去1,当该字段的值为0时,数据报将被丢弃
                                            Source Address:源地址,长度为128bit。表示发送方的地址
                                            Destination Address:目的地址,长度为128bit。表示接收方的地址
    
           扩展报头:扩展报头是可选的,只有需要该扩展报头对应的功能时,数据的发送者才会添加相应扩展报头;
                   基本要求:必须是64bit的倍数,便于64位处理器的处理
                              ![](https://img-blog.csdnimg.cn/87550ac1626b4dffa5fbdc00b391f730.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pif56m65LqI6JOd,size_19,color_FFFFFF,t_70,g_se,x_16)
    
    												
    
                                            Next Header:下一个报头,长度为8bit。与基本报头的Next Header的作用相同。指明下一个扩展报头(如果存在)或上层协议的类型
                                            Extension Header Length:报头扩展长度,长度为8bit。表示扩展报头的长度(不包含Next Header字段)
                                            Extension Head Data:扩展报头数据,长度可变。扩展报头的内容,为一系列选项字段和填充字段的组合
    
                    若扩展报头有效内容达不到64bit,则使用特定的填充字段填充到64bit的倍数:
                                                     两种方法:1.使用单字节的0填充
                                                                      2.使用多字节的填充字段
    										![](https://img-blog.csdnimg.cn/6e6917b27eca4f4397a75871cab32cc4.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pif56m65LqI6JOd,size_20,color_FFFFFF,t_70,g_se,x_16)
    
    
    
           扩展报头种类:当超过一种扩展报头被用在同一个IPv6报文里时,报头必须按照下列顺序出现
    

    报头类型 Next Header字段值 描述
    逐跳选项报头 0 该选项主要用于为在传送路径上的每跳转发指定发送参数,传送路径上的每台中间节点都要读取并处理该字段
    应用场景:
    1.用于承载巨型载荷—Jumbo Payload Length(长度为32bit)
    当出现大于65535字节的数据包,Payload Length无法标识有效数据长度,Payload Length置为0,有效部分用Jumbo Payload Length处理
    2.用于路由器提示
    3.用于资源预留
    目的选项报头 60 目的选项报头携带了一些只有目的节点才会处理的信息。目前,目的选项报文头主要应用于移动IPv6
    路由报头 43 路由报头和IPv4的Loose Source and Record Route选项类似,该报头能够被IPv6源节点用来强制数据包经过特定的路由器
    分段报头 44 同IPv4一样,IPv6报文发送也受到MTU的限制。当报文长度超过MTU时就需要将报文分段发送,而在IPv6中,分段发送使用的是分段报头

    	identification
    	M1表示有更多分片,0表示没有分片
    	id标识分片是否属于同一个数据流
    	根据identification找到数据包的所有分片,再根据偏移量将分片重组
    

    认证报头 51 该报头由IPSec使用,提供认证、数据完整性以及重放保护。它还对IPv6基本报头中的一些字段进行保护(只提供对数据的保护功能)
    封装安全净载报头 50 该报头由IPSec使用,提供认证、数据完整性以及重放保护和IPv6数据报的加密,类似于认证报头,但功能更全(除了提供数据的保护,还提供数据的加密功能)

           IPv6和IPv4的区别:
                                 1.增加了流标签字段,使用S.IP+Flow Label唯一标识一个数据流,相比于IPv4而言,只需要解析网络层协议,不再需要解析传输层信息
                                 2.IPv6由于报头是定长的字段,直接用Payload Length表示有效数据部分,不再需要向IPv4 total(总长度)Length - header Length 得来,减少设备计算
                                 3.IPv6取消了校验功能,校验由上层协议完成(UDP或TCP必须具备校验功能);
                                                                             好处:取消重复校验
                                 4.IPv6把一些可选功能全部移植到扩展头部,对于不需要扩展功能的路由器需要解析的内容变少,减轻设备压力
    
             路由负载分担:
                              IPv4基于流负载分担:源目IP、源目端口号、传输层协议类型(五元组)(需要解析三四层参数)
                              IPv6基于流负载分担:流标签+源地址(只需要解析网络层协议,不再需要解析传输层信息)
    
      IPv6地址分类:
    			![](https://img-blog.csdnimg.cn/8ad069a119db45c7991d0cb5dc10b025.png)
    
             单播地址(Unicast Address):标识一个接口,目的地址为单播地址的报文会被送到被标识的接口。在IPv6中,一个接口拥有多个IPv6地址是非常常见的现象
                            可聚合全球单播地址:
                                                        作用类似于IPv4中的公网地址。这种类型的地址允许路由前缀的聚合,从而限制了全球路由表项的数量
                                            001固定 顶级站点聚合(13bit) 次级站点聚合 接口id                (固定前缀001,建议分配64位)
                                     由前缀、子网ID和接口标识组成,用于IPv6 Internet。它们是全局唯一的和全局可路由的
    					                    ![](https://img-blog.csdnimg.cn/73fd9147eed24595bbc224adec92107b.png)
    
                                    全局路由前缀:由提供商指定给一个组织机构,一般至少为48bit。目前已经分配的全局路由前缀的前3bit均为001。因此前缀为2000::/3(IANA)
                                    子网:组织机构可以用子网ID来构建本地网络(Site),与IPv4中的子网号作用相似。子网ID通常最多分配到第64位(公司运营商自行分配)
                                    接口id(主机位):用来标识一个设备(Host),与IPv4中的主机ID作用相似
    
                            链路本地地址:在一个节点启动IPv6协议栈时,节点的每个接口会自动配置一个链路本地地址。该地址专门用来和相同链路上的其他主机通信
                                        1.源IP地址是链路本地地址的数据报文,是不能被路由器转发的,链路本地地址只在一条链路有效
                                        2.链路本地地址实现路由协议地址和业务地址解耦,专门为路由协议服务;例如OSPFv3发送的协议报文源IP都是链路本地地址(广泛应用于邻居发现、无状态地址等)
                                                                 链路本地地址固定前缀FE80::/10,将接口ID添加在后面作为地址的低64位
                                                                 每一个IPv6接口都必须具备一个链路本地地址
                                                                 切换全球单播地址,不会影响OSPFv3的正常运行,OSPFv3基于链路本地地址去通信
                                       3.链路本地地址作为路由协议的下一跳地址
                                       4.链路本地地址用来标识设备在链路上的位置
                                       5.如何配置链路本地地址:
                                                   在接口下一定要配置一个全球单播地址,链路本地地址才会生效
                                                   默认链路本地地址在配置了全球单播地址之后才会生效
                                                                配置方法:1.自动生成:[Huawei-GigabitEthernet0/0/0]ipv6 address auto link-local
                                                                                 2.手动,先配链路本地地址,后配全球单播地址 [Huawei-GigabitEthernet0/0/0]ipv6 address FE80::/10 link-local
    
                            唯一本地地址:IPv6的私网地址,概念上类似于IPv4中的私网地址,仅能够在本地网络使用,在IPv6 Internet上不可被路由(任何没有申请到提供商分配的全球单播地址的组织机构都可以使用唯一本地地址。唯一本地地址只能在本地网络内部被路由转发而不会在全球网络中被路由转发)
                                                    由RFC4193定义;
                                  作用:为了代替站点本地地址的功能,又使这样的地址具有唯一性,避免产生像IPv4的私有地址泄漏到公网而造成的问题(仅能在一个站点内使用。由于本地站点地址的废除(RFC3879),唯一本地地址被用来代替本地站点地址(RFC4193))
                                    唯一本地地址固定前缀FC00::/7。它被分为两块,其中FC00::/8暂未定义,另一块是FD00::/8,其格式如下:
    									![](https://img-blog.csdnimg.cn/e8a0bbba38cd42c682f0c449895c8918.png)
    
                                  字段解释:
                                           Prefix:前缀;固定为FD00::/8
                                           L:L标志位;值为1代表该地址为在本地网络范围内使用的地址;值为0被保留,用于以后扩展
                                           Global ID:全球唯一前缀;通过伪随机方式产生(RFC4193)
                                           Subnet ID:子网ID;划分子网使用
                                           Interface ID:接口标识
                                  特点:
                                           具有全球唯一的前缀(虽然随机方式产生,但是冲突概率很低)
                                           可以进行网络之间的私有连接,而不必担心地址冲突等问题
                                           具有知名前缀(FC00::/7),方便边缘路由器进行路由过滤
                                           如果出现路由泄漏,该地址不会和其他地址冲突,不会造成Internet路由冲突
                                           应用中,上层应用程序将这些地址看作全球单播地址对待
                                           独立于互联网服务提供商ISP(Internet Service Provider)
    		![](https://img-blog.csdnimg.cn/7936bfe9e4c24c5e9599a4d18ff2fb76.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pif56m65LqI6JOd,size_20,color_FFFFFF,t_70,g_se,x_16)
    
    
                            接口标识生成方法:
                                        接口ID:用于标识链路上的接口,在每条链路上接口ID必须唯一,64bit
                                                对于IPv6 单播地址来说,如果地址的前三bit不是000,则接口标识必须为64位,如果地址的前三位是000,则没有此限制
                                        用途:用于就是黏贴在链路本地地址前缀后面,形成接口的链路本地地址。
                                                  无状态自动配置中,黏贴在获取到的IPv6全局单播地址前缀后面,构成接口的全局单播地址
                                        生成方法:
                                                手工配置:建议在服务器和重要网络设备上配置
                                                系统通过软件自动生成:保护主机的私密性
                                                IEEE EUI-64规范自动生成:最常用的方法:
                                                                             由MAC地址产生IPv6地址接口ID
                                                            优点:可以减少配置的工作量,尤其是当采用无状态地址自动配置时(后面会介绍),只需要获取一个IPv6前缀就可以与接口ID形成IPv6地址
                                                            缺点:某些恶意者可以通过二层MAC推算出三层IPv6地址
                                                            生成:把MAC地址拆分成两个部分,在中间插入0xFFFE,把二进制下第七位由0变为1,得到接口标识
    									![](https://img-blog.csdnimg.cn/cb2bbe23d5dd41009d245c896c02f357.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pif56m65LqI6JOd,size_20,color_FFFFFF,t_70,g_se,x_16)
    
    
                            特殊地址:
                                    未指定地址:
                                                      0:0:0:0:0:0:0:0/128 或者::/128
                                                应用场景:设备未获取到真正可用的IPv6地址时使用该地址(0.0.0.0)和其他设备进行地址冲突检测和DHCPv6请求消息的源地址
                                    环回地址:
                                                     0:0:0:0:0:0:0:1/128 或者::1/128
                                                  原先IP v4中使用127.0.0.1-127.0.0.255作为环回网段,浪费IP v4地址,IPv6只使用::1/128作为环回地址
                                                  与IPv4中的127.0.0.1作用相同,用于本地回环,发往::/1的数据包实际上就是发给本地,可用于本地协议栈回环测试
                                   IPv4兼容地址:
                                                   在过渡技术中,为了让IPv4地址显得更加突出一些,定义了内嵌IPv4地址的IPv6地址格式。在这种表示方法中,IPv6地址的部分使用十六进制表示,IPv4地址部分可用十进制格式
                                                   该地址已经几乎不再使用
    
             组播地址(Multicast Address):标识多个(一组)接口,目的地址为组播地址的报文会被送到被标识的所有接口。只有加入相应组播组的设备接口才会侦听发往该组播地址的报文
                          地址范围:FF00::/8              前8bit固定为1
    					
                                     Flags:用来表示永久或临时组播组前(3bits 保留为0)
                                                            0000表示 永久分配或众所周知 
                                                            0001表示 临时的
                                     Scope:表示组播组的范围
    										![](https://img-blog.csdnimg.cn/c7992a9eba014ec19ce6c719311ad492.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pif56m65LqI6JOd,size_20,color_FFFFFF,t_70,g_se,x_16)
    
                                                            0:预留
                                                            1:节点本地范围
                                                            2:链路本地范围,例如FF02::1
                                                            5:站点本地范围
                                                            8:组织本地范围
                                                            E:全球范围
                                                            F:预留
                                     Group ID:组播组ID
     
                  预定义组播地址:
                           Node-local:设备内部使用的组播地址
                                  FF01:0:0:0:0:0:0:1:所有节点的组播地址
                                  FF01:0:0:0:0:0:0:2:节点本地范围所有路由器的组播地址
                           Link-local:链路上使用的
                                  FF02:0:0:0:0:0:0:1:链路本地范围所有节点的组播地址
                                  FF02:0:0:0:0:0:0:2:链路本地范围所有路由器的组播地址
                                  FF02:0:0:0:0:1:FFXX:XXXX :Solicited-Node组播地址
                                  FF02:0:0:0:0:0:0:5:所有OSPF路由器组播地址
                                  FF02:0:0:0:0:0:0:6:所有OSPF的DR路由器组播地址
                                  FF02:0:0:0:0:0:0:D:所有PIM路由器组播地址
                           FF05::2:站点本地范围所有路由器组播地址
    
                  IPv6组播地址的MAC地址映射:IPv66组播MAC地址前16bit固定33-33,后32bit由IPv6组播地址后32位映射得到,不会出现地址重叠
    							![](https://img-blog.csdnimg.cn/2c97fe9653424a20b2f73d2b945466ce.png)
    
    
                 被请求节点组播地址:
                                  如何生成:接口下一旦配置了全球单播地址,接口就会根据单播地址自动生成被请求节点的组播地址/链路本地地址也会生成被请求节点组播地址
                                           一个被请求节点组播地址可能会映射到多个IPv6地址上
                                  地址格式:FF02::1:FF00:0/104:前104位固定,后24位由IPv6地址的后24位映射得到
    
    
    
             任播地址(Anycast Address):是IPv6特有的地址类型,用来标识一组网络接口(通常属于不同的节点)   
                                       格式和全球单播地址一样,因此任播与单播的表示无任何区别,但不能当作IP数据包的源地址,只能作为目的地址,且必须关闭重复地址检测(DAD)
                                                 配置时须明确表明是任播地址,以此区别单播和任播
                                       在访问任播地址时,只会选择路由意义上最近的一个任播地址(网络接口)
    									![](https://img-blog.csdnimg.cn/38962160a9c545e5977db1f76f462028.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pif56m65LqI6JOd,size_20,color_FFFFFF,t_70,g_se,x_16)
    	
                IPv6没有定义广播地址(Broadcast Address)
    
      IPv6基础协议:
               ICMPv6:IPv6的基础协议之一,用于向源节点传递报文转发的信息或者错误(协议号为58(即IPv6报文中的Next Header字段的值))
                     在IPv6中,ICMPv6除了提供ICMPv4的对应功能之外,还有其它一些功能的基础,如邻居发现、无状态地址配置、重复地址检测、PMTU发现等
                                                ICMPv4:1.ping命令:未指定-a,将会使用出接口IP地址作为数据包源地址   
                                                                2.tracert命令:每次发送数据包TTL+1,TTL为0时返回TTL超时,设备检测到数据包经过的地址
                                                ICMPv6:既有ICMP本身的差错检测(ping、tracert),又有地址冲突检测、地址自动配置、类似于ARP的机制
                     ICMPv6报文:
    						![](https://img-blog.csdnimg.cn/05899802c6584ba39971bd1d8dd842da.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pif56m65LqI6JOd,size_11,color_FFFFFF,t_70,g_se,x_16)
    
                                   IPv6上层的Next Header为58,下一个报文为ICMPv6
                                   IPv4中protocol为1,上层协议为ICMPv4                                          
                                           Type:表明消息的类型,0至127表示差错报文类型,128至255表示消息报文类型。
                                           Code:表示此消息类型细分的类型。
                                           Checksum:表示ICMPv6报文的校验和
    		![](https://img-blog.csdnimg.cn/30cda5579b8541aa91ec8551232357db.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pif56m65LqI6JOd,size_20,color_FFFFFF,t_70,g_se,x_16)
    
                                    目标不可达:当数据包无法被转发到目标节点或上层协议时,路由器或目标节点发送ICMPv6目标不可达差错报文。在目标不可达报文中,类型(Type)字段值为1,代码(Code)字段值为0-4
                                    数据包超长(Packet Too Big):如果由于出口链路的MTU小于IPv6数据包的长度而导致数据包无法转发,路由器就会发送数据包超长报文。该报文被用于IPv6路径MTU发现的处理 。数据包超长报文的类型字段值为2,代码字段值为0
                                                                     type=2,code=0代表数据包超过接口的MTU
                                    超时(Time Exceeded):当路由器收到一个IPv6报头中的跳限制(Hop Limit)字段值为0的数据包时,会丢弃该数据包并向源发送ICMPv6超时报文。在超时报文中,类型字段的值为3,代码字段的值为0或1
                                   参数问题(Parameter Problem):当IPv6报头或者扩展报头出现错误,导致数据包不能进一步处理时,IPv6节点会丢弃该数据包并向源发送此报文,指明问题的位置和类型。参数问题报文中,类型字段值为4,代码字段值为0~2,32位指针字段指出错误发生的位置
                                   信息报文:回送请求Echo Request以及回送应答Echo Reply:
                                                         回送请求报文:用于发送到目标节点,以使目标节点立即发回一个回送应答报文。回送请求报文的类型字段值为128,代码字段的值为0。标志符(Identifier)和序列号(Sequence Number)字段有发送方主机设置,用于将即将收到的回送应答报文与发送的回送请求的报文进行匹配
                                                         回送应答报文:当收到一个回送请求报文时,ICMPv6会用回送应答报文响应。回送应答报文的类型字段的值为129,代码字段的值为0。标志符(Identifier)和序列号(Sequence Number)字段的值被指为与回送请求报文中的相应字段一样的值
    
                IPv6邻居发现协议 - NDP:集成了ARP、ICMP
                         路由器发现:发现链路上的路由器,获得路由器通告的信息(主机主动查找链路上是否有IPv6前缀)
                         无状态自动配置:通过路由器通告(定期组播发送;200s-600s)的地址前缀,终端自动生成IPv6地址;使IPv6主机能够非常便捷地连入到IPv6网络中,即插即用,无需手工配置繁冗的IPv6地址,无需部署应用服务器(例DHCP服务器)为主机分发地址。无状态自动配置机制使用到了ICMPv6中的路由器请求报文(RS)及路由器通告报文(RA)
                         重复地址检测(DAD):获得地址后,进行地址重复检测,确保地址不存在冲突
                         地址解析:请求目的网络地址对应的数据链路层地址,已知IPv6地址,获取MAC地址,类似IPv4的ARP;使用NDP所定义的邻居请求报文(NS)及邻居通告报文(NA)来实现地址解析功能
                         邻居的状态跟踪:通过NDP发现链路上的邻居并跟踪邻居状态;IPv6定义了节点之间邻居的状态机,同时还维护邻居IPv6地址与二层地址MAC的映射关系,相应的表项存储于设备的IPv6邻居表中
                          前缀重编址:路由器对所通告的地址前缀进行灵活设置实现网络重编址;IPv6路由器能够通过ICMPv6的路由器通告报文(RA)向链路上通告IPv6前缀信息。通过这种方式,主机能够从RA中所包含的前缀信息自动构建自己的IPv6单播地址。当然这些自动获取的地址是有生存时间的。通过在RA中通告IPv6地址前缀,并且灵活地设定地址的生存时间,能够实现网络中IPv6新、老前缀的平滑过渡,而无需在主机终端上消耗大量的手工劳动重新配置地址(主机获得IPv6地址老化时间,路由器定期向链路上通告网络前缀)
                          路由器重定向:告知其他设备,到达目标网络的更优下一跳;路由器向一个IPv6节点发送ICMPv6的重定向消息,通知它在相同的本地链路上有一个更好的、到达目的地的下一跳。IPv6中的重定向功能与IPv4中的是一样的(接收和发送数据包是同一个接口时触发)
    

    1.IPv6地址自动获取(即插即用)
    2.取代ARP,继承ARP的地址冲突检测和地址解析功能
    3.维护IPv6邻居状态机,定期进行地址解析,确保IPv6地址和MAC地址映射关系不会出错,类似于ARP缓存老化机制
    4.ICMP重定向

    NDP协议功能:
    1.ARP功能:地址解析、重复地址检测、IPv6邻居状态跟踪
    2.地址分配:无状态自动配置
    3.重定向功能
    PMTU机制:

                NDP使用ICMPv6的相关报文:Next Header为58,下一个报文为ICMPv6
    					![](https://img-blog.csdnimg.cn/cbb6efbd7d5f4cfc9999586252c2fbd7.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pif56m65LqI6JOd,size_20,color_FFFFFF,t_70,g_se,x_16)
    
                                  RS(Router Solicitation):路由器请求报文
                                  RA(Router Advertisement):路由器通告报文
                                  NS(Neighbor Solicitation):邻居请求报文
                                  NA(Neighbor Advertisement):邻居通告报文
                            当ICMPv6 type为133,为RS(路由器请求报文)   作用:主机主动请求路由器的IPv6前缀
                            当ICMPv6 type为134,为RA(路由器通告报文)   作用:路由器每隔200s-600s发送,宣告路由器接口上的前缀信息,华为默认关闭RA通告功能
                            当ICMPv6 type为135,为NS(邻居请求报文)      作用:设备使用NS进行地址解析和地址冲突检测、请求目标IP地址的MAC地址(类似于ARP请求消息)
                            当ICMPv6 type为136,为NA(邻居通告报文)      作用:设备使用NA通告自己的MAC地址,响应自身IP和MAC的对应关系(类似于ARP响应消息)
                            当ICMPv6 type为137,ICMP重定向        携带关键参数:目的网段、下一跳地址
    
               地址解析:IPv6的地址解析不再使用ARP,也不再使用广播方式,通过ICMPv6(类型135的NS及类型136的NA报文)来实现地址解析
                   地址解析在三层完成,针对不同的链路层协议可以采用相同的地址解析协议
                       对于IPv4与IPv6地址解析的区别:    
                              IPv4采用广播的方式,所有设备都要帧听广播地址,设备必须解析ARP协议,因此,即使这个ARP请求不是发给本机的,但是本机必须解析数据帧,并且交给ARP协议处理之后才能得到结果,消耗设备资源
                              IPv6改用组播发送NS报文,报文的目的IPv6地址为被请求的IPv6地址对应的“被请求节点组播地址---FF02::1:FF00/104”,报文的目的MAC为组播MAC(IPv6组播MAC地址:33-33 + 后32位由目的IPv6地址映射得到)
                                                采用组播的方式发送NS消息相比于广播的方式更加的高效,也减少了对其他节点的影响和对二层网络的性能压力
                                                可以使用三层的安全机制(例如IPSec)避免地址解析攻击
    
                           OSPF hello消息用组播的好处:没有开启组播帧听功能的路由器不接收该hello消息
    
          目的MAC地址为组播地址:主机收到NS消息,在网卡层面,就可以根据数据帧的MAC地址是否需要接收NS消息
    
                      IPv6中在邻居发现协议(RFC2461)中定义地址解析的,其中使用了ICMPv6的报文,在三层完成地址解析,主要带来以下几个好处:
                                      加强了介质独立性:这就意味着我们无需为每一个链路层定义一个新的地址解析协议,在每一个链路层都使用相同的地址解析协议
                                      可以利用三层安全机制:ARP欺骗(如伪造ARP应答以盗窃数据流)是IPv4中的一个很大的安全问题,在第三层实现地址解析,可以利用三层标准的安全认证机制(例如IPSEC)解决这个问题
                                     ARP请求报文使用广播,会泛滥到整个二层网络中每台主机是公认的一个IPv4性能问题。在第三层实现地址解析可以将地址解析请求仅仅发送到待解析地址所属的“Solicited-node”组播组即可。采用组播的传送方式,大大减轻了性能压力
    
                       地址解析报文:两种ICMPv6报文:邻居请求(Neighbor Solicitation)和邻居通告(Neighbor Advertisement)
                              邻居请求 (Neighbor Solicitation,NS):
    											
                                     Type=135,Code=0
                                     Target Address是需要解析的明细IPv6地址,因此该处不准出现组播地址
                                           源MAC地址---自身的MAC地址
                                           目的MAC地址---33-33-FF-00-00-02
                                           源IP---自身的全球单播地址
                                           目的IP---FF02::1:FF00:2(被请求节点组播地址)
                                                                为什么必须携带Target Address:被请求节点的组播地址在IPv6地址生成时会产生多个IPv6地址可能映射到同一个MAC地址,所以设备依靠被请求节点的组播无法去判断是否是请求自身的MAC,必须检查Target Address去判断
                                     邻居请求发送者的链路层地址会被放在Options字段中(接收者处理数据帧时拆的二三层头会丢弃,Options字段放在最后,回复响应消息时可直接得到发送者的地址,不必再缓存,提高效率)
                              邻居通告 (Neighbor Advertisement,NA):是为了通告设备自身的IP地址和MAC地址的对应关系
    											![](https://img-blog.csdnimg.cn/f08e751f434b4fa78daf7da37f98336f.png)
    
                                     Type=136,Code=0
                                     R标志(Router flag)表示发送者是否为路由器,如果1则表示是
                                     S标志(Solicited flag)表示发送邻居通告是否是响应某个邻居请求,如果1则表示是
                                     O标志(Overide flag)表示邻居通告中的消息是否覆盖已有的条目信息,如果1则表示是
                                     Target Address:携带设备自身的链路层地址对应的IPv6地址
                                     Options字段中携带设备自身的MAC地址(被请求的链路层地址),其格式仍然采用TLV格式
                                     数据链路层、IPv6网络层全部都是单播报文
                                               源IP/MAC:自身的IP/MAC
                                               目的IP/MAC:发起邻居请求的邻居IP/MAC
    
    
                      地址解析过程:
    				![](https://img-blog.csdnimg.cn/6b086d58757a4852bc12bfef0e0a9544.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pif56m65LqI6JOd,size_20,color_FFFFFF,t_70,g_se,x_16)
    
    
                 IPv6邻居:
                      IPv6邻居路由表:IPv6不像IPv4那样使用ARP表来缓存IP与MAC地址的映射,而是维护一个IPv6邻居表
                                查看:display ipv6 neighbors
    
                     邻居状态种类:状态之间可以迁移;取代ARP缓存表
                              5种邻居状态机:
                                       INCOMPLETE:未完成状态,邻居请求已经发送到目标节点的请求组播地址,但没有收到邻居的通告
                                       REACHABLE:可达状态,收到确认,不续再发包确认
                                       STALE:陈旧状态,从收到上一次可达性确认后过了超过30s
                                       DELAY:延迟状态,在stale状态后发送过一个报文,并且5s内没有可达性确认
                                       PROBE:探查状态,每隔1s重传邻居请求来主动请求可达性确认,直到收到确认
                     邻居状态变化:
                                        Empty:空状态
                                        INCOMPLETE:未完成状态,邻居请求(NS)已经发送到目标节点的请求组播地址,但没有收到邻居的通告(NA)
                                        REACHABLE:可达状态,收到NA回复
                                        STALE:陈旧状态,应用层30s不发送数据
                                        DELAY:延迟状态,当应用需要发送数据,发送应用数据时同时发送NA消息
                       什么条件从延迟状态进入可达状态:
                                                      应用层有提示信息或收到NA消息
                       如果没有收到NA则进入probe状态,每隔1秒发送NS消息,3次后等待1秒还没有回应,进入空状态
    					![](https://img-blog.csdnimg.cn/00f5b386b9c4440aaf875677a0d18dc5.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pif56m65LqI6JOd,size_20,color_FFFFFF,t_70,g_se,x_16)
    
                      下面以A、B两个节点之间相互通讯过程的A节点的邻居状态变化,假设A、B两个节点之前没有任何通讯:
                           1.A先给B发送NS消息,生成邻居缓存条目,状态为Incomplete(未完成状态)
                           2.若B回复NA,则进入Reachable(可达)状态;若没有回复则10s后进入Empty(空状态),删除条目
                           3.若经过30s没发数据,则进入Stale(陈旧)状态;或者在Reachable(可达)状态,收到B的非请求NA,且链路层地址不同,则马上进入Stale(陈旧)状态
                           4.在Stale(陈旧)状态若A需要向B发送数据,则进入Delay(延迟)状态,同时发送NS请求,应用层按照原先IP与MAC的记录封装数据帧,探测IP与MAC的映射关系有没有变化
                           5.在Delay(延迟)状态若有NA应答,则Reachable(可达)状态;若5秒后还没有应答,则进入Probe(探查)状态
                           6.在Probe(探查)状态,每隔1秒发送单播NS,连发3次后还没有回应,则再等待1s,有应答则进入Reachable(可达)状态,没有则进入Empty(空)状态,删除表项
    
                 重复地址检测DAD:
                       机制概述:
                              重复地址检测确保网络中无两个相同的单播地址
                              所有地址都需要做DAD
                              使用NS和NA完成DAD交互过程
                       原理:
                                 一个地址在通过DAD地址重复检测之前称为“tentative地址”也就是试验性地址。接口暂时还不能使用这个试验性地址进行正常的IPv6单播通讯,但是会加入和该地址所对应的Solicited-Node组播组
                                DAD重复地址检测:节点向该tentative地址所在的Solicited-Node组播地址发送一个NS,如果收到某个其他站点回应的NA,就证明该地址已被网络上使用,节点将不能使用该tentative地址通讯
                                接口在启用任何一个单播IPv6地址前都需要先进行DAD,包括Link-Local地址
                       DAD过程:
    							![](https://img-blog.csdnimg.cn/8f360f3de423416990edec610bd556e8.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pif56m65LqI6JOd,size_20,color_FFFFFF,t_70,g_se,x_16)
    
                                       原理:设备配置了一个新的IPv6地址后,不论是链路本地地址还是全球单播地址都要进行重复地址检测,设备发送一个NS消息,(向网络中请求新IP地址的MAC地址),收到NA回应,这个新地址变为不可以状态,如果没有收到,则地址可以正常使用
    
               IPv6地址无状态自动配置:SLAAC,是IPv6的标准功能
                           IPv6地址获取方式:
                                 1.手工配置
                                 2.动态获取:
                                          (1)DHCPv6获取
                                          (2)无状态地址自动配置:无需进行手工配置,即插即用,减轻网络管理的负担
                                                                   相比于DHCPv6这种动态地址分配技术,SLAAC无需部署应用服务器,更加轻量 
    												![](https://img-blog.csdnimg.cn/9ab492efe26b40fa8af24990d52e126e.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pif56m65LqI6JOd,size_20,color_FFFFFF,t_70,g_se,x_16)
    
                                                      工作过程:
                                                             1.主机根据本地接口ID自动产生网卡的链路本地地址
                                                             2.主机对链路本地地址进行DAD检测, 如果该地址不存在冲突则可以启用
                                                             3.主机发送RS报文尝试在链路上发现IPv6路由器,该报文的源地址为主机的链路本地地址
                                                             4.路由器回复RA报文(携带IPv6前缀信息,路由器在未收到RS时也能够配置主动发出RA报文)
                                                             5.主机根据路由器回应的RA报文,获得IPv6地址前缀信息,使用该地址前缀,加上本地产生的接口ID,形成单播IPv6地址
                                                             6.主机对生成的IPv6地址进行DAD检测,如果没有检测到冲突,那么该地址才能够启用
                                                   得到的网关是路由器接口的链路本地地址
    
                                                      路由器发现:路由器发现功能是IPv6地址自动配置功能的基础
                                                                主要通过两种报文实现:
                                                           RA(Router Advertisement,路由器通告)报文:
                                                                                路由器定期每隔200s-600s通知二层终端设备自己接口下的IPv6前缀信息。Type字段值为134
                                                                                                  源IP地址---路由器接口的链路本地地址
                                                                                                  目的地址---FF02::1(向所有节点发送)
                                                                                        收到RA的主机将加入默认路由器列表中
                                                                                        收到RA的路由器将检查RA内容的一致性
                                                           RS(Router Solicitation,路由器请求)报文:很多情况下主机接入网络后希望尽快获取网络前缀进行通信,此时主机可以立刻发送RS报文,网络上的设备将回应RA报文。Type字段值为133
    
                             ICMPv6 RA消息中的Flags字段 :
    											![](https://img-blog.csdnimg.cn/3f6cf24a88b244c3bc85b125f54ea350.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pif56m65LqI6JOd,size_12,color_FFFFFF,t_70,g_se,x_16)
    
                                         Cur Hop Limit:64:主机发送IPv6报文携带最大跳数,当PC使用该RA通告的前缀构建IPv6地址后,该PC被设置为64
                                         Managed address configuration:M位,管理位,表明主机获取地址应该采用哪种方式
                                                                                                 为0时,使用无状态地址自动配置获取IPv6地址
                                                                                                 为1时,使用DHCPv6获取
                                                                                                         默认为0,可通过ipv6 nd autoconfig managed-address-fla配置为1                                                            
                                         Other Configuration:O位,除了地址以外的其他主机参数(DNS、域名等)的获取方式
                                                                                                 为0时,表示主机不使用有状态自动配置机制来获取IPv6地址外的其他参数
                                                                                                 为1时,表明主机使用DHCPv6来配置除了IPv6地址外的其他信息
                                                                                                          默认为0,可通过ipv6 nd autoconfig other-flag配置为1
                                                                     M为0,O为0:主机只能获取到IPv6地址
                                                                     M为0,O为1:主机采用无状态自动配置获取IPv6地址,采用DHCPv6获取其他参数
    

    功 Router Preference:网关(路由器)优先级,越大越好(low、Medium、high)
    Router Lifetime:路由器存活时间,主机在Router Lifetime后还没有收到路由器的RA报文则认为路由器故障,单位是秒

                                    RA消息的option选项:
                                       1.路由器的MAC地址
                                       2.路由器通告的前缀选项
    
                            ICMPv6 RA消息中IPv6前缀信息的Flags字段 :     
    												![](https://img-blog.csdnimg.cn/3a0956dc78aa4968bfa260029742efc5.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pif56m65LqI6JOd,size_14,color_FFFFFF,t_70,g_se,x_16)
    
                                         On-Link Flag (L) :Set:L位,默认为1。表明路由器和主机在同一链路上,
                                                                            为1:表示RA消息中的前缀是分配给本地链路的。向包含这个指定前缀的地址发送数据的节点认为目的地是本地链路可达
                                                                            为0:
                                                                                     默认为1,可通过ipv6 nd ra prefix 2001:: 64 2592000 604800 off-link设置为0
                                         Autonomouns Addr-conf flag (A) :Set:A位,地址自动配置位,针对该option选项的前缀
                                                                           为1:表示该前缀可以被主机使用
                                                                           为0:表示主机不可使用该前缀
                                                                                    默认为1,可通过使用命令ipv6 nd ra prefix 2001:: 64 2592000(有效生存期) 604800(优选生存期) no-autoconfig设置为0 
    
                                主机上的IPv6网关是路由器的链路本地地址
    
                          主机获得前缀及其它参数过程:      
                                       当存在以下情况时忽略RA发送的前缀:
                                                                RA报文选项中的“auto”未置位
                                                                前缀与已有地址前缀重复(包括link-local地址)
                                                                RA报文选项中的“preferred lifetime”时间大于 “ valid lifetime ”
                                                                前缀长度与接口ID长度之和不等于128位
                                       除以上情况外,主机获得前缀同时也获得一些相关时间参数:
                                                              “preferred lifetime”=发起新通讯的有效时间
                                                              “ valid lifetime ”=原有通讯的有效时间
                                       主机会周期性的收到RA报文,并据此报文来更新自己的时间参数(Router Lifetime、)
    
                          几个生存时间:(IPv6生命周期);针对无状态地址配置,有状态地址配置DHCPv6
    						![](https://img-blog.csdnimg.cn/a3129acfea3b49e98803bcc039d1ee81.png)
    
    
                                     Tentative:探测状态,在接口下刚刚配置IPv6地址时,首先进行DAD检测,DAD检测没有问题则进入优选生存期
                                     Preferred lifetime:优选生存期,在这个时候的地址可以主动去发起连接
                                     Deprecated:(弃用状态)大于优选生存期小于有效生存期时的地址只能被动去响应连接
                                     Invalid:(不可以状态):该状态下IPv6地址不可用
    
                                              IPv6邻居状态机和IPv6地址生存时间区别:
                                                               邻居状态机:标识对端设备的IPv6地址和MAC地址的映射关系
                                                               IPv6生存时间:维护自身的IPv6地址
    

    RA消息数据包的源地址为路由器接口的链路本地地址
    目的地址为FF02::1(所有节点)

                                重定向:当网关路由器知道更好的转发路径时,会以重定向报文的方式告知主机
                              重定向报文:Type为137,Code为0
    					          ![](https://img-blog.csdnimg.cn/4766bf82f7364f08a0256bf80f672b11.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pif56m65LqI6JOd,size_20,color_FFFFFF,t_70,g_se,x_16)
    
                              重定向过程:
    						![](https://img-blog.csdnimg.cn/9e110f8a44d44248bc85b723e4c850ab.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pif56m65LqI6JOd,size_20,color_FFFFFF,t_70,g_se,x_16)
    
                                           主机A的默认路由器为RTA,当主机A要给主机B发送数据时:
                                                       1.主机A的默认网关路由器是RTA,那么当A发送报文给B时报文会被送到RTA
                                                       2.RTA接收到A发送的报文后发现主机A直接发送给路由器R2更好,会发送一个ICMPv6重定向报文给主机A,其中Target Address为RTB,Destination Address为主机B
                                                       3.主机A接收到了重定向报文后,会在默认路由表中添加一个主机路由,以后发往主机B的报文就直接给R2
    
                                    RTA如何知道去往主机B的路径通过RTB更好呢?其实这个很简单,因为RTA会发现报文进入的接口就是报文路由得出接口,也就是说发往主机B的路由实际上只是在RTA上转了一圈出来了,然后转发到RTB,据此,RTA能判断出直接给RTB是更好的路径
    
    
    
    
                         PMTU机制:PMTU---探测路径上的最小接口MTU    (通过ICMPv6的Packet Too Big报文来完成)
    						![](https://img-blog.csdnimg.cn/b1fd0dfeef99403e905c54d92268b79a.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pif56m65LqI6JOd,size_20,color_FFFFFF,t_70,g_se,x_16)
    
                                     IPv4缺陷:一个数据报文IPv4任意/中间节点都可以分片,可能出现不断分片、重组、分片的情况,消耗设备性能
                                     IPv6只有源端才能进行数据包的分片,中间设备不能分片
    
                                     PMTU最小为1280bytes(IPv6要求链路层所支持的MTU最小为1280:只有数据包超过路径上的最小MTU时,PMTU发现机制才有意义,因为如果报文很小,小于路径最小的MTU,就不可能产生Packet Too Big报文)
                                     最大PMTU由链路层决定,如隧道,可以支持很大的MTU
    

    中间设备不能分片,那么中间设备如何处理大于接口MTU的数据报文:
    当接口收到大于MTU的数据报文后,会向数据的源地址返回一个ICMP type2的错误报告,错误报文还在option选项中携带设备自身的MTU(type2标识数据包过大),源端收到后,按照ICMP错误报告中的MTU发送报文

    IPv6地址表示方法:
    IPv6地址包括128比特,由冒号分割成8段,每段4个16进制数:: 2031:0000:130F:0000:0000:09C0:876A:130B
    IPv6地址写法:
    8个段,每个段有16bit的二进制数,把每个段的16bit的二进制数转换成4个16进制数(一位16进制数等于4bit二进制数)
    IPv6压缩格式:
    每段中的前导“0”都可以省略
    2031:0:130F:0:0:9C0:876A:130B (0000—0;09C0—9C0)
    地址中包含的连续两个或多个均为0的段,可以用双冒号“::”来代替
    2031:0:130F::9C0:876A:130B (:0000:0000:—::)
    只能出现一次::------计算机要还原IPv6地址,由于无法确定全为0的段在::中有多少个,所以无法还原,若只有一个::,计算机8 - 现有段得到::中全为0的段的个数
    IPv6地址分为两部分:
    网络前缀,相当于IPv4中的网络ID
    接口标识,相当于IPv4中的主机ID
    接口标识生成方法:
    手工配置
    系统通过软件自动生成
    IEEE EUI-64规范自动生成(由MAC地址得到,开源算法,能反推IP地址,不安全):
    把MAC地址拆分成两个部分,在中间插入0xFFFE,把二进制下第七位由0变为1,得到接口标识

      IPv6过渡技术:
    			![](https://img-blog.csdnimg.cn/c27c8e5fe0314a1c897eb03241bdc3d4.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pif56m65LqI6JOd,size_20,color_FFFFFF,t_70,g_se,x_16)
    
                                    IPv6与IPv4共存技术:
                                                        双协议栈(Dual Stack):IPv6节点同时支持IPv6和IPv4协议栈
                                                        隧道(Tunnel):IPv6报文作为IPv4的载荷,由IPv4 Internet中连接多个IPv6孤岛
                                    IPv6与IPv4互通技术:
                                                        提供IPv6与IPv4互相访问的技术
                                                        适用于IPv6 Internet与IPv4 Internet共存,而两者又有互相通讯的需求
    
          IPv6过渡阶段:
                      1.IPv6孤岛
                                 IPv6网络初期,用IPv4网络让IPv6孤岛互通
                      2.IPv4孤岛
                                 IPv6后期,IPv4成为孤岛,通过IPv6网络传递IPv4数据报文
                      3.最后全球变为IPv6网络
    
    共存技术:
         双栈Dual Stack:华为全部支持IPv4/IPv6双栈(可以同时配置IPv4/IPv6地址/协议);一些存储不支持
             双栈协议:
                   设备必须支持IPv4/IPv6协议栈
                   连接双栈网络的接口必须同时配置IPv4地址和IPv6地址
    			![](https://img-blog.csdnimg.cn/d7d71f7f8cbf443baf1e6f9275c693cc.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pif56m65LqI6JOd,size_20,color_FFFFFF,t_70,g_se,x_16)
    				
    
         6over4 Tunnel(隧道):
               手动隧道:
                        1.6over4手动隧道:源地址和目的地址均需手工指定
                                                       用于边界路由器与边界路由器,或者主机与边界路由器之间
                                       配置:
    								![](https://img-blog.csdnimg.cn/24df619930db4f83aeb1c6ddc7da3c20.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pif56m65LqI6JOd,size_20,color_FFFFFF,t_70,g_se,x_16)
    
                                       优点:可以用于任何IPv6穿越IPv4的环境,通用性好
                                       缺点:必须手工配置,需要在设备上配置多个隧道,配置比较麻烦
                                       两层头部:IPv4、IPv6
                                       转发机制:
                                                  当隧道边界设备的IPv6侧收到一个IPv6报文后, 根据IPv6报文的目的地址查找IPv6路由转发表,如果该报文是从此虚拟隧道接口转发出去,则根据隧道接口配置的隧道源端和目的端的IPv4地址进行封装。封装后的报文变成一个IPv4报文,交给IPv4协议栈处理。报文通过IPv4网络转发到隧道的终点。隧道终点收到一个隧道协议报文后,进行隧道解封装。并将解封装后的报文交给IPv6协议栈处理
    
                         2.6over4 GRE隧道:手工指定隧道的端点地址                       GRE头部4字节
                                                        GRE承载/标识上层协议为IPv6协议(GRE隧道本身并不限制被封装的协议和传输协议,一个GRE隧道中被封装的协议可以是协议中允许的任意协议(可以是IPv4、IPv6、OSI、MPLS等))
                                        配置:与6over4手动隧道相似,只是将tunnel-protocol ipv6-ipv4 改为 tunnel-protocol GRE
                                        特点:机制简单,对隧道两端设备的CPU负担小
                                                  本身不提供数据加密,可以与IPsec结合使用
                                                  不提供流量控制和Qos
                                        IPv6 over IPv4 GRE隧道在边界路由器上的传输机制和IPv6 over IPv4手动隧道相同
                                        在IPv4网络中传输IPv6报文采用GRE的方式封装(在IPv4头部上将IPv6数据报文以GRE的格式封装)(利用IPv4进行传输-传输协议;IPv6-乘客协议)
                                        IPv4头部---GRE(通用路由封装格式),在任何需要使用隧道技术的场景中都可以使用GRE
    
              自动隧道:
                      1.6to4隧道:支持Router到Router、Host到Router、Router到Host、 Host到Host
                                  采用6to4专用地址,即2002:IPv4::/48
                          地址格式:
    						![](https://img-blog.csdnimg.cn/bb9966c9b6d446658ecd8200abaf917c.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pif56m65LqI6JOd,size_20,color_FFFFFF,t_70,g_se,x_16)
    
                                                 FP:可聚合全球单播地址的格式前缀(Format Prefix),其值为001
                                                 TLA:顶级聚合标识符(Top Level Aggregator),有13个比特位,其二进制值为0 0000 0000 0010
                                                 SLA:站点级聚合标识符(Site Level Aggregator),SAL id可以拆成更多的子网
                                   6to4地址可以表示为2002::/16,而一个6to4网络可以表示为2002:IPv4地址::/48。6to4地址的网络前缀长度为64bit,其中前48bit(2002: a.b.c.d)被分配给路由器上的IPv4地址决定了,用户不能改变,而后16位(SLA)是由用户自己定义的
    
                                                比较:      IPv6 over IPv4自动隧道:IPv6孤岛中配置的地址全部是::/96,后32bit被放置IPv4地址
                                                                6 to 4隧道:把IPv4地址放置在网络位中,采用专用地址:2002:IPv4地址::/48
                                                            12.1.1.1---0000 1100 0000 0001 0000 0001 0000 0001---2002:0C01:0101::/48(十进制---二进制---十六进制)
    
                           两种模式: 6 to 4的Tunnel中只配置源地址,不配置目的地址(先去访问6 to 4网络,从6 to 4 地址中提取IPv4地址(把IPv4地址内嵌在6 to 4的网络位中)确定传输协议)
                                   一对一:一个6 to 4 网络与另一个6 to 4网络通信
    
                                  6to4隧道可连接多个6to4网络:通过SLA ID区分多个6to4网络
    											![](https://img-blog.csdnimg.cn/fe871a4980784322ba16a121c0b09a7d.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pif56m65LqI6JOd,size_20,color_FFFFFF,t_70,g_se,x_16)
    
                                                         一个IPv4地址只能用于一个6to4隧道的源地址,如果一个边界路由器连接了多个6to4网络使用同样的IPv4地址做为隧道的源地址,则使用6to地址中的SLA ID来区分,但他们共用一个隧道
    
                           6to4中继:实现6to4网络和IPv6普通网络互通
    									![](https://img-blog.csdnimg.cn/c45374cec88e44b0b741484532235dd3.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pif56m65LqI6JOd,size_20,color_FFFFFF,t_70,g_se,x_16)
    
                              普通IPv6网络需要与6to4网络通过IPv4网络互通,可以通过6to4中继路由器方式实现。
                                    6to4中继:通过6to4隧道转发的IPv6报文的目的地址不是6to4地址,但转发的下一跳是6to4地址,该下一跳为路由器我们称之为6to4中继
                                                            (隧道的IPv4目的地址依然从下一跳的6to4地址中获得)
                                                  如果6to4网络2中的主机要与IPv6网络互通,在其边界路由器上配置路由指向的下一跳为6to4中继路由器的6to4地址,中继路由器的6to4地址是与中继路由器的6to4隧道的源地址相匹配的。6to4网络2中去往普通IPv6网络的报文都会按照路由表指示的下一跳发送到6to4中继路由器。6to4中继路由器再将此报文转发到纯IPv6网络中去。当报文返回时,6to4中继路由器根据返回报文的目的地址(为6to4地址)进行IPv4报文头封装,数据就能够顺利到达6to4网络中了
    
                      2.ISATAP隧道:支持Host到Router、Router到Host、 Host到Host;采用ISATAP隧道专用地址
    							![](https://img-blog.csdnimg.cn/4cc42aa26ddc412bb60927a67f0acb9e.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pif56m65LqI6JOd,size_20,color_FFFFFF,t_70,g_se,x_16)
    
                                               ISATAP隧道同样使用了内嵌IPv4地址的特殊IPv6地址形式,只是和6to4不同的是,6to4是使用IPv4地址做为网络前缀,而ISATAP用IPv4地址做为接口标识
                       地址描述:
                                如果IPv4地址是全局唯一的,则u位为1,否则u位为0。g位是IEEE 群体/个体标志。由于ISATAP是通过接口标识来表现的,所以,ISATAP地址有全局单播地址、链路本地地址、ULA地址、组播地址等形式。ISATAP地址的前64位是通过向ISATAP路由器发送请求来得到的,它可以进行地址自动配置。在ISATAP隧道的两端设备之间可以运行ND协议。ISATAP隧道将IPv4网络看作一个非广播的点到多点的链路(NBMA)。
                       转发过程描述:
                              在IPv4网络内部有两个双栈主机PC2和PC3,它们分别有一个私网IPv4地址。要使其具有ISATAP功能,需要进行如下操作:
                              首先配置ISATAP隧道接口,这时会根据IPv4地址生成ISATAP类型的接口ID。
                              根据接口ID生成一个ISATAP链路本地IPv6地址,生成链路本地地址以后,主机就有了在本地链路上进行IPv6通信的能力。
                              进行自动配置,主机获得IPv6全球单播地址、ULA地址等。
                              当主机与其它IPv6主机进行通讯时,从隧道接口转发,将从报文的下一跳IPv6地址中取出IPv4地址作为IPv4封装的目的地址。如果目的主机在本站点内,则下一跳就是目的主机本身,如果目的主机不在本站点内,则下一跳为ISATAP路由器的地址
    

    互通技术:
    NAT64:协议转换技术,能够将分组在V4及V6格式之间灵活转换。
    IPv6过渡中的协议翻译技术就是将IPv6数据包的每个字段与IPv4数据包中的字段建立起一一映射的关系,从而在两个网络的边缘实现数据报文的转换

        当IPv4网络的节点需要直接与IPv6网络的节点进行通信时,默认情况下当然是行不通的,因为两个协议栈无法兼容。但是借助一台设备,由该设备来实现IPv6与IPv4的互转,那么上述通信需求就可以实现了
    

    IPv6配置命令:
    配置GRE隧道 :

                  GRE隧道 - 基本配置命令:
    		![](https://img-blog.csdnimg.cn/ec581ec89378423c962977c4fbb2deaf.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5pif56m65LqI6JOd,size_20,color_FFFFFF,t_70,g_se,x_16)
    

                      interface tunnel命令用来创建一个Tunnel接口,并进入该Tunnel接口视图。
                      tunnel-protocol gre指定Tunnel为手动隧道模式。
                      source { ipv4-address | interface-type interface-number }指定Tunnel的源接口。
                      destination { ipv4-address }指定Tunnel的目的接口。
                      ipv6 address { ipv6-address prefix-length }设置Tunnel接口的IPv6地址
    
    展开全文
  • 2 IPv6基础支持的License和配置注意事项 3 配置接口的IPv6地址 4 配置IPv6地址选择策略表 5 配置IPv6地址冲突检测去使能和冲突抢占功能 6 配置IPv6邻居发现 7 配置重复地址探测 8 配置路由器通告 9 配置IPv6安全邻居...
  • 4.网络基础-IPv6基础知识

    千次阅读 2022-04-12 14:52:43
    1.IPv6基础知识 IPv6简介 IPv6是英文“Internet Protocol Version 6”(互联网协议第6版)的缩写,是互联网工程任 务组(IETF)设计的用于替代IPv4的下一代IP协议,IPv6采用128位的二进制地址,因此新 增的地址...

    1.IPv6基础知识

    IPv6简介

    IPv6是英文“Internet Protocol Version 6”(互联网协议第6版)的缩写,是互联网工程任
    务组(IETF)设计的用于替代IPv4的下一代IP协议,IPv6采用128位的二进制地址,因此新
    增的地址空间支持2 128 (约3.4×10 38 )个地址,其地址数量号称可以为全世界的每一粒沙子编
    上一个地址。由于IPv4最大的问题在于网络地址资源有限,严重制约了互联网的应用和发展。IPv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍 。

    IPv6地址表示方法

    IPv6的地址长度为128位,是IPv4地址长度的4倍。于是IPv4点分十进制格式不再适用,采用十六进制表示。
    IPv6地址分为两部分,分别是网络前缀和接口标识。
    网络前缀,相当于IPv4中的网络ID;接口标识,相当于IPv4中的主机ID
    其前缀可书写为:地址/前缀长度。如:21DA:D3:0:2F3B::/64
    IPv6有3种表示方法:
    1)冒分十六进制表示法
      格式为X:X:X:X:X:X:X:X,其中每个X表示地址中的16b,以十六进制表示,例如:
      ABCD:EF01:2345:6789:ABCD:EF01:2345:6789
      这种表示法中,每个X的前导0是可以省略的,例如:
      2001:0DB8:0000:0023:0000:0000:200C:017A→ 2001:DB8:0:23:0:0:200C:17A

    2)0位压缩表示法
      在某些情况下,一个IPv6地址中间可能包含很长的一段0,可以把连续的一段0压缩为“::”。但为保证地址
    解析的唯一性,地址中”::”只能出现一次,例如:
      FF00:0:0:0:0:0:0:1101 → FF00::1101
      0:0:0:0:0:0:0:1 → ::1
      0:0:0:0:0:0:0:0 → ::
    3)内嵌IPv4地址表示法
      为了实现IPv4-IPv6互通,IPv4地址会嵌入IPv6地址中,此时地址常表示为:X:X:X:X:X:X:d.d.d.d,前96b
    采用冒分十六进制表示,而最后32b地址则使用IPv4的点分十进制表示,例如::192.168.0.1
    与::FFFF:192.168.0.1就是两个典型的例子,注意在前96b中,压缩0位的方法依旧适用

    IPv6报文内容

    IPv6报文的整体结构分为IPv6报头、扩展报头和上层协议数据3部分。IPv6报头是必选报文头部,长度固定为40B,包含该报文的基本信息;扩展报头是可选报头,可能存在0个、1个或多个,IPv6协议通过扩展报头实现各种丰富的功能;上层协议数据是该IPv6报文携带的上层数据,可能是ICMPv6报文、TCP报文、UDP报文或其他可能报文。

     IPv6地址类型

    IPv6协议主要定义了三种地址类型:单播地址(Unicast Address)、组播地址(Multicast Address)和任播地址(Anycast Address)。与原来在IPv4地址相比,新增了“任播地址”类型,取消了原来IPv4地址中的广播地址,因为在IPv6中的广播功能是通过组播来完成的;
    单播地址:用来唯一标识一个接口,类似于IPv4中的单播地址。发送到单播地址的数据报文将被传送给此地址所标识的一个接口。
    组播地址:用来标识一组接口(通常这组接口属于不同的节点),类似于IPv4中的组播地址。发送到组播地址的数据报文被传送给此地址所标识的所有接口。
    任播地址:用来标识一组接口(通常这组接口属于不同的节点)。发送到任播地址的数据报文被传送给此地址所标识的一组接口中距离源节点最近(根据使用的路由协议进行度量)的一个接口。

    IPv6地址类型是由地址前缀部分来确定,主要地址类型与地址前缀的对应关系如下

    IPv6组播地址

    IPv6组播地址可识别多个接口,对应于一组接口的地址(通常分属不同节点)。发送到组播地址的数据包被送到由该地址标识的每个接口。使用适当的组播路由拓扑,将向组播地址发送的数据包发送给该地址识别的所有接口。任意位置的IPv6节点可以侦听任意IPv6组播地址上的组播通信。IPv6节点可以同时侦听多个组播地址,也可以随时加入或离开组播组;
    IPv6组播地址的最明显特征就是最高的8位固定为1111 1111。IPv6地址很容易区分组播地址,因为它总是以FF开始的;
    组播地址高8bit为固定值FF,此高8个bit中4bit为标志位,4bit为组播组的作用域,后112位为组ID,用以标识组播组。目前,RFC2373并没有将所有的112位都定义成组标识,而是建议仅使用该112位的最低32位作为组播组ID,将剩余的80位都置0。这样每个组播组ID都映射到一个唯一的以太网组播MAC地址。

     被请求节点组播地址(Solicited-Node Address)

    被请求节点组播地址通过节点的单播或任播地址生成。当一个节点具有了单播或任播地址,就会对应生成一个被请求节点组播地址,并且加入这个组播组。一个单播地址或任播地址对应一个被请求节点组播地址。该地址主要用于邻居发现机制和地址重复检测功能。IPv6中没有广播地址,也不使用ARP。但是仍然需要从IP地址解析到MAC地址的功能。在IPv6中,这个功能通过邻居请求NS(Neighbor Solicitation)报文完成。当一个节点需要解析某个IPv6地址对应的MAC地址时,会发送NS报文,该报文的目的IP就是需要解析的IPv6地址对应的被请求节点组播地址;只有具有该组播地址的节点会检查处理。
    被请求节点组播地址由前缀FF02::1:FF00:0/104和单播地址的最后24位组成

    例如:Node_B的单播地址为1::2:B ,其被请求节点组播地址为FF02::1:FF02:B

    NDP

    NDP(Neighbor Discovery Protocol,邻居发现协议)是IPv6协议体系中一个重要的基础协议。通过使用ICMPv6报文实现以下丰富的功能:
    • 无状态自动配置(简化版的DHCP):路由器发现、前缀发现、参数发现;
    • 重复地址检测(DAD),相当于IPv4的免费ARP;
    • 地址解析,相当于IPv4的ARP;
    • 邻居不可达检测(NUD);
    •路由器重定向。
    与IPv4的ARP相比,IPv6地址解析技术工作在OSI参考模型的网络层,与链路层协议无关。ICMPv6的报文格式图1所示;ICMPv6消息类型中有5种是为了支持邻居发现协议而定义的,功能如图2描述:

    重复地址检测DAD

    重复地址检测DAD(Duplicate Address Detect)是在接口使用某个IPv6单播地址之前进行的,主要是为了探测是否有其它的节点使用了该地址。尤其是在地址自动配置的时候,进行DAD检测是很必要的。一个IPv6单播地址在分配给一个接口之后且通过重复地址检测之前称为试验地址(Tentative Address)。此时该接口不能使用这个试验地址进行单播通信,但是仍然会加入两个组播组:ALL-NODES组播组和试验地址所对应的
    Solicited-Node组播组。
    过程中使用了两种ICMPv6报文:邻居请求报文NS(Neighbor Solicitation)和邻居通告报文NA
    (Neighbor Advertisement)。
    • NS报文:Type字段值为135,Code字段值为0,在地址解析中的作用类似于IPv4中的ARP请求报文。
    • NA报文:Type字段值为136,Code字段值为0,在地址解析中的作用类似于IPv4中的ARP应答报文。
    IPv6重复地址检测技术和IPv4中的免费ARP类似:节点向试验地址所对应的Solicited-Node组播组发送NS报文。NS报文中目标地址即为该试验地址。如果收到某个其他站点回应的NA报文,就证明该地址已被网络上使用,节点将不能使用该试验地址通讯。


    2.IPv6过渡技术

    展开全文
  • IPV6基础介绍挂图

    2018-07-16 10:14:40
    IPv6段路由(IPv6 Segment Routing,简称SRv6)是基于源路由理念而设计的在网络上 转发IPv6数据包的一种方法。基于IPv6转发面的SR,通过在IPv6报文中插入一个路由 扩展头SRH(Segment Routing Header),在SRH中压入...
  • IPV6基础

    2022-03-25 14:46:49
    二、IPV6出现 1.“无限”地址 2.地址层次化分配 3.即插即用 4.简化的报文头部 5.安全特性 6.移动性 7.增强的QoS特性 三、IPV6包头 四、IPV6格式 五、IPV6分类 1.单播地址 (1)全球单播地址(2000::/3)...
  • IPV6基础的简析

    2018-09-04 11:48:00
    IPv6(Internet Protocol Version 6,因特网协议版本6)是网络层协议的第二代标准协议,也被称为IPng(IP Next Generation,下一代因特网),它是IETF(Internet Engineering Task Force,Internet工程任务组)设计...
  • IPv6基础配置.zip

    2022-02-10 22:08:14
    IPv6基础配置
  • IPv6专题培训-IPv6基础原理
  • 华为2019年2月份HCIE教材 IPv6基础,本课程将重点介绍IPv6的基础知识,包括IPv6出现的背景、报文格式、地址分类、基础协议以及过渡技术等内容。
  • IPv4与IPv6业务-IPv6基础技术介绍-D.docx
  • IPV6基础知识-地址与报文格式.pptx
  • IPv6基础知识简介.ppt

    2021-09-15 20:11:32
    IPv6基础知识简介.ppt
  • 计算机网络与通信技术:IPv6基础.ppt

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 51,858
精华内容 20,743
关键字:

ipv6基础