Skip to content

Latest commit

 

History

History
85 lines (68 loc) · 4.34 KB

Chapter8.md

File metadata and controls

85 lines (68 loc) · 4.34 KB

第八章 下一代互联网协议

[toc]

IPV6的产生背景及概述

  • IPV4地址空间不足(CIDR和NAT缓解)、可扩展性有限(CIDR缓解)、安全性挑战(补丁缓解)
  • 支持几乎无限大的地址空间(128位、分层)
  • 简化首部格式(选项从顺序结构变为链式结构)
  • 支持网络层认证和加密(身份认证和保密功能)
  • 更高质量服务(流标签支持资源预分配)
  • 真正即插即用(无需DHCP)
  • 可移动性主机不更改地址实现异地漫游(移动IP)

※首部结构

  • 报头(固定40字节) + 扩展报头 + 数据报头
  • 报头:6个固定字段+2个地址字段
  • IPV4缺点:分段处理复杂;首部校验和浪费;报头长度不固定(必须处理选项);搜索方式处理选项
  • 0或多个扩展首部:多数数据包无需额外信息,只有特定路由才需要处理扩展首部
    • 扩展首部通过前一首部的NEXT HEADER字段来确认
    • 允许通过逐跳选项扩展首部和目的地选项扩展首部来建立新选项。
    • 不支持选项类型时丢弃首部并报错返回
  • 有效负荷/净负荷:扩展首部+数据

地址结构

  • 选址模式与IPV4基本相同
  • 与特定网络接口而非特定计算机关联
  • 单接口可配置多个同类或不同类地址,但单播地址只能关联一个网络接口(唯一标识节点,与IPV4相同)
  • 地址存在范围:Global/Site Local/Link Local。后两者无需验证目的地址是否与自己在同一网段
  • 地址存在生存期(因为可以自动配置)
  • 冒号十六进制记法,双冒号代表全0序列
  • 三种基本分组类型地址:单播、组播、任播(交付给一组计算机的其中一个,只能作为目的地址)
    • 任播在IPV4中也有技术存在,如DNS或镜像服务
  • 全球路由选择前缀48bit + 子网标识符16bit + 接口标识符64bit
  • 接口标识符由MAC地址映射得到

自动配置

  • 地址自动配置得到IPV6地址和网关地址
  • 支持有状态地址自动配置(启动协议BOOTP,动态主机配置协议DHCP)/无状态地址自动配置(由MAC地址结合前缀验证地址唯一性)
  • 手工地址配置也需要重复检查
  • 重复地址检测
    • 相当于ARP,连续发送多次邻居请求
    • 规定时间内无邻居宣告则通过

※本地通信(邻居发现)

  • 实现了IPV4中的地址解析协议ARP、控制报文协议ICMP的路由器发现部分(前缀获取)及重定向协议(路由器间指明更优路由)
  • IPV4中IP层到链路层地址解析基于链路层广播机制,IPV6中基于IP层的多播机制,减少受影响结点数
  • 实现了探测彼此存在;解析链路层地址;发现默认路由器及本地前缀;维护邻居节点可达性信息;路由重定向
  • 消息类型包括路由器请求、路由器通过、邻居请求(ARP,双向)、邻居通告(双向)、路由重定向

数据结构

  • 基本原则是主机正确工作,缓存IP、路由、MAC等最小信息集合,每个条目都有生存期
  • 邻居缓存:邻居节点(本地IP和本地MAC的ARP缓存)
  • 目的缓存:近期访问过的节点地址(远程IP和本地MAC(邻居缓存指针))
  • 前缀列表:在线前缀,根据路由器宣告创建
  • 默认路由器列表:(本地IP和邻居缓存指针)
  • 决策信息:目的缓存、前缀链表、默认路由(不指向邻居时ARP解析)

超长数据传送

  • 源站完成分片
  • 采用保证的最小MTU或先采用路径最大传送单元发现确定最小MTU
    • 定义分段扩展首部实现分片功能
    • 通过ICMPv6选择更精确的路径MTU

与IPV4的互通转换

  • 双协议栈
    • 主机和路由器在同一网络接口上运行IPV4和IPV6栈
    • 需要进行固定规则的头部转换
  • 隧道技术
    • IPV6数据报进入IPV4网络时封装为IPV4数据报,离开时还原给IPV6协议栈
  • 网络地址转换、协议转换技术NAT-PT
    • 针对中间设备
    • NAT地址翻译机制和无状态IP/ICMP翻译器的v6/v4协议翻译机制的结合
    • 用于纯IPV4和IPV6节点间通信,IP包路由对端节点透明
    • NAT:v6-v4地址动态翻译,地址转换
    • PT:v6-v4协议翻译,格式转换
    • ALG(应用层网关):v6-v4应用程序翻译(如DNS-ALG),语义转换
    • 场景更符合实际需求,难度大且可扩展性不好