ipv6基础

  • 地址

    • 前缀+子网+主机位

    • PI法则=3.14

      • 前缀:3个16位

      • 子网:1个16位

      • 接口ID:4个16位

  • 地址分类

    • 未指定地址

      • ::/128 ,类似于0.0.0.0
    • 本地回环地址

      • ::1/128 ,用于本地测试,类似于127.0.0.1
    • 本地链路地址(lionk-local address ,LLA)

      • FE80::/10 (1111 1110 10) 局限于本地链路,使运行了IPV6协议的链路两端,天生具有三层通讯能力,无需像ipv4接口一样必须配置ipv4地址才可以。

        • 产生方式:

          • 1.动态产生,接口使能ipv6后,用eui-64产生

          • 2.接口上手动配置:ipv6 address fe80::2 link-local

        • 用途:

          • ripng、ospfv3使用该地址作为协议报文的源地址,路由表的下一条也是该地址。
    • 可聚合全球地址

      • 2000::/3 ~ 3FFF:FF... 前3位是001

      • 2001::/16 IANA开始分配的

      • 2002::/16 6to4隧道

      • 3FFE::/16 公共ipv6研究所,已被废除

    • 本地站点地址

      • FEC0::/10 已被废除!
    • 唯一本地地址

      • FC00::/7 相当于ipv4的私网地址,只能在本地网络内部转发
    • 组播地址

      • FF00::/8

      • 预定义组播地址

        • Node-local

          • FF01::1所有节点的组播地址

          • FF01::2所有路由器的组播地址

        • Link-local 保留了一部分ipv4的味道

          • FF02::1 所有节点的组播地址 224.0.0.1

          • FF02::2 所有路由器的组播地址 224.0.0.2

          • FF02::1:FFXX:XXXX Solicited-Node组播地址 被请求节点的组播地址

          • FF02::5 所有ospf路由器地址 224.0.0.5

          • FF02::6 所有ospf的DR路由器地址 224.0.0.5

          • FF02::D 所有PIM路由器组播地址

      • 组播地址与mac地址的映射

        • 33-33-组播ipv6地址的后32bit

      • 当一个接口配置了一个ipv6单播地址后,会自动加入到一个被请求节点的组播地址中,该地址主要用于邻居发现和重复地址检测。

        • FF02::1:FF00:0/104 前104位固定,后24位复制单播地址的后24位

        • 用人话解释一下什么叫做被请求节点的组播地址:

          • ipv6取消了ARP报文和广播,要想拿到目的主机的mac地址,只有到处发送组播报文了。只有和目的主机后24位相同的才能收到这个组播报文,其他设备收到这个组播帧时在网卡层面就被丢弃。
    • 任播地址

      • 纸上谈兵阶段,可以把单播地址配置成任播地址,允许多台服务器配置相同的ip地址,提供相同的服务,以就近访问。
  • 邻居发现协议NDP 使用icmpv6报文

    • RS路由器请求 133类型的icmpv6报文

      • 请求ipv6地址
    • RA路由器通告 134类型的icmpv6报文

      • 周期发送ipv6地址

      • 发送间隔由最大发送间隔和最小发送间隔同时控制。

        • 最小发送间隔默认200s,最大发送间隔默认600s
      • RA消息的flag字段

        • M:Managed address configuration 默认为0,表示用SLAAC配置ip地址。如果为1,用DHCPv6配置ip地址

        • O:Other-Config-Flag,默认为0,表示除了ip地址,不用DHCPv6配置其他参数。如果为1,需用DHCPv6配置其他信息。

        • P:Default Router Preference,产生默认路由的优先级,默认为00,medium。

        • 前缀Option里的flag字段

          • L:On-Link Flag,默认为1,当前缀option中on-link=1时,接收主机除了产生ipv6地址之外,还会产生一条该前缀的直连路由。置0时只会根据前缀产生ipv6地址。

          • A:Autonomous Addr-conf FLag,默认为1,表示可以用该前缀进行无状态自动配置

    • NS 邻居请求 135类型的icmpv6报文 类似于ARP请求

      • 目的mac地址是组播mac地址

      • 目的ip是被请求节点的组播地址

      • 地址解析在三层完成,可以使用三层安全机制(如ipsec)避免地址解析攻击。

    • NA 邻居通告 136类型的icmpv6报文 类似于ARP响应

    • Redirect 重定向 137类型的icmpv6报文

  • ipv6邻居表

    • display ipv6 neighbors

    • 相当于ipv4的arp表

    • win用命令 netsh interface ipv6 show neighbors

  • 邻居状态追踪,邻居不可达检测(Neighbor Unreachable Detection,NUD)

    • 邻居状态

      • Empty,空,没有通讯之前

      • Incomplete,正在进行地址请求,已发送NS,还没收到NA

      • reachable,已收到NA报文,认为这个地址可达。如果NA报文没有指定Reachable Time,默认可达30s

      • stale,陈旧,无法确定到邻居的可达性。陈旧状态默认停留1200s

        • 1.Reachable Time这段时间内没有流量通过

        • 2.收到了邻居发来的非请求NA报文(这个NA报文不是我问了邻居之后邻居给我的,如链路层地址改变,ipv6地址改变),这时邻居可以到达本机,但本机不一定能到达邻居

      • delay,延迟,当设备访问stale节点时,在这个状态停留5秒

        • 如果5秒内收到邻居可达性的确认,进入Reachable状态

          • 邻居可达性的确认:一去一回的证明

            • 1.针对NS收到NA

            • 2.收到上层协议的hints,如tcp的ack

        • 如果5秒未收到确认,进入probe状态

      • probe,探查,delay的5s后,每隔1s发送单播NS,发送MAX_Unicast_Solicit(3次)个请求后,再等1s

        • 有应答,reachable

        • 无应答,empty,删除表项

    • ipv6邻居关系优于ipv4的arp,ipv6可以确保双向可达,但ipv4只能等老化

  • DAD 重复地址检测

    • 一个地址在通过DAD检测前,叫做试验性地址(tentative地址),接口还不能用这个地址来正常通讯,但会加入被请求节点的组播地址组(FF02::1::FF00:FFFF)

    • 加入被请求节点的组播地址后,发送一个NS报文。如果组中有地址相同的,会响应一个NA,就证明该地址已被使用,节点将不能用。

    • 所有单播ipv6地址都要进行DAD,包括LLA

    • 类似于ipv4的免费arp

  • DHCPv6 有状态地址自动配置

  • SLAAC (StateLess Address Auto Configuration)无状态地址自动配置

    • 什么是无状态:如dhcp服务器,分配ipv4地址后,产生租约信息,这是有状态。无状态是无需保存客户端和ip地址直接的映射关系。

    • 无需服务器,更加轻量

    • 配置

      • AR1 [AR1-GigabitEthernet0/0/0]undo ipv6 nd ra halt //关掉抑制ipv6路由通告,周期发送ra消息

      • AR3

    • 如果配置多个全球单播地址,发送的RA消息就会有多个前缀,收到RA消息的也会配置多个全球单播地址

    • 存在以下情况时忽略RA发送的前缀:

      • RA报文中的"auto"(地址自动配置位)未置位

      • 前缀与已有地址前缀重复(包括LLA)

      • RA报文的优选生存期(preferred lifetime)> 有效生存期(valid lifetime)

      • 前缀长度与接口id长度之和不等于128位

    • 相关时间参数

      • preferred lifetime 发起新通讯的有效时间

      • valid lifetime 原有通讯的有效时间

    • 主机周期性收到RA报文,并据此报文来更新自己的时间参数。

    • 生存时间

      • DAD→preferred lifetime(7天,优选生存期)→deprecated(不优选生存期)→无效

      • preferred lifetime + deprecated = valid lifetime (30天)

  • 重定向

    • Redirect报文告知主机,更好的转发路径。
  • PMTU发现

    • PMTU路径上接口的最小接口MTU。

    • 探测路径上最小的MTU,按这个MTU分片。优化整体传输效率。

    • PMTU最小为1280B

    • MTU = 源主机路径上MTU

    • while(没到目的主机){

      MTU构建一个报文,发送给下一跳..直到有更小MTU的路径,回送给主机icmp错误消息packet too bigMTU = 更小的MTU}

  • ipv6过渡技术

    • 双栈Dual Stack

      • 设备支持双栈,同时配置ipv4和ipv6地址。优先ipv6。
    • 6 over 4 手动隧道

      • 解决ipv6孤岛:站点是v6,网络是v4
    • 6 over 4 GRE隧道

      • 可以开启gre对隧道存活的检测,或者一些基本认证
    • 6 to 4 隧道

      • 采用6to4专用地址 2002:ipv4::/48
    • ISATAP(Intra-Site Automatic Tunnel Addressing Protocol)隧道

      • 6 over 4 自动隧道的一种,采用ISATAP专用地址

      • 人话:将ISATAP路由器配置成网关,所有ipv6访问都走这里。

    • NAT64

      • 转换网关连接ipv4网络和ipv6网络,互相转换ip包头
相关推荐
千天夜24 分钟前
深度学习中的残差网络、加权残差连接(WRC)与跨阶段部分连接(CSP)详解
网络·人工智能·深度学习·神经网络·yolo·机器学习
茶颜悦色vv1 小时前
Wireshark(1)
网络·web安全·网络安全·wireshark
xianwu5431 小时前
反向代理模块。开发
linux·开发语言·网络·c++·git
brhhh_sehe1 小时前
重生之我在异世界学编程之C语言:深入文件操作篇(下)
android·c语言·网络
忆源1 小时前
Linux高级--2.4.2 linux TCP 系列操作函数 -- 深层理解
linux·网络·tcp/ip
哈利巴多先生2 小时前
HTTP,续~
网络·网络协议·http
白了个白i2 小时前
http的访问过程或者访问页面会发生什么
网络·网络协议·http
赛德乌漆麻黑哟2 小时前
FOFA--网络空间资产搜索引擎(常用语法以及拓展)
网络·安全·搜索引擎
Allen_LVyingbo2 小时前
数智化时代医院临床试验人才培养的创新路径与实践探索
网络·健康医疗·集成学习
手心里的白日梦3 小时前
TCP协议
服务器·网络·tcp/ip