ipv6学习笔记

为什么ipv6没有推广

  • 可以解决地址不够用的方法:

    1、nat/napt

    2、cidr

  • 没有杀手级应用: 物联网、5g时代的来临,ipv6变得很重要


ipv6技术特点,与ipv4相比

  1. 地址空间巨大

  2. 报文结构精简

  3. 自动配置和重新编址

    重新编址: 可以不中断现在网络,进行网络编址,如在一个ospf网络中,不需要重新建立邻居关系,将接口地址调整到另一个网段。这在ipv4中是做不到的。

    image-20200414220825247

  1. 层次化网络编址,因为长度。

    ipv4也有,但能力很弱,因为地址长度短(32)ipv6是128 bit,支持更多层次的划分

  2. 支持端对端安全

    原生支持IPSec-VPN,在应用层面直接使用。ipv4需要配置隧道支持IPSec,配置繁琐,还有nat的问题。


ipv6 地址格式

  • ipv4 地址表示格式:

  • 二进制

  • 点分十进制;又分为掩码表示和前缀表示

    192.168.1.1 255.255.255.0和192.168.1.1/24

  • ipv6 地址表示格式

  • 二进制

  • 16进制 /前缀长度

    2001:1:1:1/64

ipv6 报文格式

  • ipv4 和 ipv6 报文格式区别

    • ipv6报文格式:基本报头(必须有的)、扩展报头(可选部分)、上层协议(传输层、会话层、应用层、表示层)数据单元

    • 基本报头:8个字段,固定大小为40字节

    • ipv4报文头部大小为20-60字节,其中固定大小为20字节

  • ipv4 的报文格式

  • headerlength在ipv6中被优化,因为ipv6报头固定了

  • ds field字段和traffic 区分服务字段,用来qos。

  • totallength和payloadlength意义一样,区别是计算方法

    • ipv6 中 payloadlength:除去基本报头以外,包含扩展报头以及上层协议数据单元

    • ipv4 中 totallength:要减去headerlength(因为头部长度单独列出来了)

  • flowlabel 流标签,新增字段,20bit。目前应用比较少。

    高效率区分数据流

    基于流负担分担:eg.路由器负载分担,根据报文五元组定义区分一个流,五元组相同则为一个流。

    五元组:sip + dip + tcp/udp + sport + dport

    对于非tcp/udp的ip报文:如icmp,以 sip + dip 来定义流。

    rsvp:资源预留协议

    qos模型:

    • 尽力而为,默认行为

    • 集成服务,基于流实现qos,使用rsvp,设备维护流信息开销大,端到端部署,但是qos效果好

    • 差分服务,用的比较多,基于类来做qos,精细度没有集成服务好。

  • ipv6 中 nextheader对应 ipv4 中 protocol(协议号,上层协议类型,注意,这个上是协议从低层到高层来数)

    例如,ipv4 中 icmp协议号为1,tcp协议号为6,udp协议号为17。对上层协议进行标识,起着承上的作用。

  • ipv6 中 hop limit 起防环作用,类似ipv4中的 TTL。

  • ipv6相比ipv4,砍掉了分片(identification,flags,fragment offset)和 校验和(header checksum)

    • 分片(identification,flags,fragment offset):ipv6通过扩展包头来实现分片,需要的时候才带。

    • 为什么砍掉校验和(header checksum):多余,链路层,传输层都有校验机制,提高效率,专注转发。

    • 分片的安全漏洞:防火墙无法判断分片后的报文,华为防火墙对于分片报文是全部放行。
  • 扩展报头:记住几种类型,每种是干嘛的。

    • 逐跳选项(0)、目的选项(60)、路由(43)、分段(44)、认证(51)、封装安全净载(50)。括号内为next header 字段值。

    • 报头类型 和 next header 字段值相关,==按顺序出现。==

    • 目的选项报头可出现1-2次,其他只能1次。

    • 认证 和 封装安全净载 为 ipv6 新增,由 IPSec 使用。

Ipv6 地址结构

  • 一个接口一个前缀只能配置一个地址,但是可以配置多个前缀多个地址,前缀和链路的关联没有ipv4那么紧密。

    注意:华为有这个限制,思科没有。

  • ipv6 接口地址配置方法:

    • 手动配置

    • eui-64:根据接口的mac地址生成eui-64规范的interface id

      从mac地址中间插入fffe:xxxx-xxxx-xxxx 变为 xxxx-xx-fffe-xx-xxxx然后把第7个bit自反

      示例:mac地址为00e0-fcd5-1df9 对应的 ipv6 为 02e0:fcff:fed5:1df9

      这种配置方法不便于管理,用于终端设备,一般设备互联地址还是选择手动配置。

      第7bit的转换方案有两种:1、0变1,1不变;2、0变1,1变0。思科用的第一种方案。

      mac地址中的第7bit(称之为U/L位)意义和eui-64相反,前者0代表全局管理,由拥有OUI的厂商所分配,1代表本地管理,网管基于业务目的自定义。

      使用eui-64 配置,前缀不一定要64,小于64补0,大于64会报错(华为会报错,思科不会)

    • 自动配置

  • IPv6 地址分配架构图

  • 全局单播地址的获取方式

    1. 手动配置IPv6地址
      • 静态配置前缀和接口ID
      • 静态配置前缀和通过eui-64获得接口ID
      • 手动配置无编号IPv6地址(华为不支持,思科支持,实际应用中比较少)
    2. 动态配置IPv6地址
      • 无状态自动配置slaac,有点像udp,无状态地址配置,无需保存和维护客户端信息
      • dhcpv6,类似IPv4中的dhcp,有状态地址配置。
  • 链路本地地址

    • 只能在连接到统一本地链路的节点之间使用
    • 前缀fe80::/10
    • 第一个16位组的范围fe80-febf
  • 唯一本地地址
    • 类似IPv4中的私网地址
    • 前缀fc00::/7,方便边缘路由器进行路由过滤
  • 预定义组播地址
    • 组播:1对1(单播);1对多(广播)
Copyright © liuwen 2020 all right reserved,powered by Gitbook该文件修订时间: 2020-04-20 17:40:46

results matching ""

    No results matching ""