IPV6的工作原理

IPV6如何通信
通信的时候用了哪些协议
原理
首先提一下IPV6包头的改进
1.取消了三层校验
2.取消中间节点分片功能,采用源端分片,通过PMTU来发现路径MTU
3.定义IPV6报头的固定长度,有利于加快硬件处理速度,如此一来可以大大缓解中间节点压力。
4.增加流标签:提高QoS的效率
5.安全选项的支持,IPV6提供了对IPsec的完美支持,如此上层协议就可以省去许多安全选项,如OSPFV3就取消了认证。

IPV6的工作原理

IPV6(Internet Protocol version 6)是网络层协议的第二代标准协议,也被成为IPng(IP Next Generation),他是Internet工程任务组(IETF)设局的一套规范
说起来IPV6就要提一提目前广泛部署的IPV4协议。
IPV4协议族是TCP/IP协议族中最为核心的协议族。主要包括ARP(地址解析协议),ICMP(互联网消息协议),TCP(传输控制协议),UDP(用户数据报协议)等等。

MAC地址处于数据链路层
IPV4地址
IPV4地址是由32位二进制数值组成的,但为了方便用户记忆,采用了点分十进制表示法。
如:00001010 00000001 00000001 00000010
采用点分十进制表示方法为10.1.1.2

IPV4的地址由两部分组成:

  • 网络号字段(Net-id)。网络号字段用来标识一个网络,网络号码字段的前几位用来区分IP地址的类型。
  • 主机号字段(Host-id)。用来区分同一网络内不同主机,对于网络号相同的设备,无论实际所处的物理位置如何,他们都是在同一个网络内。

IPV4地址的分类及其范围
A类 0.0.0.0~127.255.255.255
B类 128.0.0.0~191.255.255.255
C类 192.0.0.0~223.255.255.255
D类 224.0.0.0~239.255.255.255(组播地址)
E类 240.0.0.0~255.255.255.255(255.255.255.255保留为局域网广播地址)
目前大量使用的地址是ABC三类。D类是组播地址,E类保留。
ABCDE类,类别字段区分是二进制0/10/110/1110/1111。通过对比网络号字段前几位就可以判断出IP地址属于哪一类

私有IPV4地址:为了解决IP地址短缺的问题,提出私有地址的概念。私有地址只能用于内部网络,不能用于公共网络。
A类:10.0.0.0~10.255.255.255
B类:172.16.0.0~172.31.255.255
C类:192.168.0.0~192.168.255.255

IPV4地址采用32比特标识,理论上能够提供43亿(由于地址分配原因,实际可使用的数量不到43亿)另外IPV4地址分配不均衡。并且目前移动IP与宽带技术的发展需要更多的IP地址,目前IPV4地址以及消耗殆尽。IPV6应运而生
IPV6
128位的地址结构使IPV6理论上可以拥有

号称可以给地球上每一粒沙子分配IP地址
IPV6地址包括128bit,由冒号分隔得32位十六进制数表示。
如:2031:0000:130F:0000:0000:09C0:876A:130B 这是IPV6地址首选格式。
IPV6还支持压缩格式

  • 每组中前导0都可以省略如上述地址可以写成:2031:0:130F:0:09C0;876A;130B
  • 地址中包含的两个连续或多个连续均为0的组,可以用双冒号::来代替,所以上述地址又可以进一步简化:
    2031:0:130F::9C0:876A:130B.
    注意:IPV6地址中只能使用一次::双冒号
    IPV6地址结构
    网络前缀(N bit)+接口标识(128-N bit)

接口标识生成方式:
1.手工配置:网络管理员手工配置,便于管理,但是配置较为复杂,容易出错。
2.系统软件自动生成:由操作系统自动生成,可保证全球唯一,冲突概率很低。如windows系统
3.EUI-64规范自动生成,用于生成64bit的接口标识,使用MAC地址生成也可保证全球唯一。将MAC非常两个部分各24bit,从中间插入FFFE,组成64bit
如MAC地址为00e0-fc22-7f95(48bit)
接口标识则为:00e0-fcff-fe22-7f95(64bit)

IPV6地址分类
1.单播地址 特殊地址
::1/128:环回地址,类似IPV4中的127.0.0.1
::/128未指定地址 类似IPV4中0.0.0.0
全球单播地址:要求全球唯一类似IPV4中的公网IP。
前48位的全局路由前缀+16子网ID+64位的接口ID组成

目前已分配前缀3bit为 001,通常全球路由前缀至少为48bit

链路本地地址

  • 链路本地地址,有效范围为本地链路
  • 以FE80::/10 为前缀,第11位—64位为0,外加一个64位接口标识。
  • 链路本地地址,用于自动地址配置、邻居发现等

唯一本地地址
类似IPV4私网地址,仅仅只能在内部使用。

前缀固定为FC00::/7。
L:L标志位;值为1代表改地址为本地网络范围内使用的地址;值为0倍保留,用于以后拓展。
Global ID:全球唯一前缀;通过伪随机方式产。
Subnet ID:子网ID;划分子网用。
Interface ID:接口标识。
唯一本地地址具有以下特点:

  1. 全球唯一前缀(虽然随机产生但是冲突概率很低)。
  2. 可以进行网络之间私有连接,而不必担心冲突问题。
  3. 方便边缘路由器进行路由过滤,知名前缀(FC00::/7)
  4. 如果出现路由泄露,不会跟其他路由产生冲突,并且不会造成Internet路由冲突。
  5. 应用中,上层程序将这些地址看做全球单播地址对待。
  6. 独立于ISP

IPV6组播地址
组播前缀:8bit,固定为全球知名前缀FF00::/8
Flag:4bit,目前只用最后一个bit,前三个bit为000,最后一个bit为0则表示该地址为永久组播地址,最后一个bit为1则表示改地址为临时组播地址

scope:4bit,用于表示改地址定义组播流传递的范围
group id:112bit,其中前80bit用0填充,后32bit用于表示组播组ID。
几个常见的IPV6组播地址:

  • FF02::1 链路上的所有节点
  • FF02::2链路上所有的路由器
  • FF02::9链路上所有的RIP路由器
  • FF02::5链路上所有的OSPF路由器
  • FF02::6链路上所有的OSPF DR路由器

特殊IPV6组播地址:
被请求节点组播地址 FF02::1:FFxxx:xxxx/104

因为在IPV6中没有广播地址,所以在进行DAD检测或者地址解析时需要使用广播地址,IPV6中定义了一个被请求节点组播地址实现广播地址的功能。每个IPV6节点对应的被请求节点组播地址都不一样。改地址前104bit固定为FF02::1:FF00:0/104,后24bit为该IPV6节点的单播地址的后24bit当某个IPV6节点生成了一个IPV6单播地址后,会默认加入该单播地址对应的被请求节点组播地址的组播组。
IPV6任播地址
主要用于IPV6移动特性,没有分配独立的地址空间,使用和IPV6单播地址共同的空间。并且任播地址仅可分配给路由器,不能应用主机。任播地址不能作为IPV6报文的源地址。

地址结构ok
IPV6如何通信,使用了那些协议。
其中最重要的ICMPv6 类似IPV4中ICMPv4
ICMPv6 (Ineternet Control Message Protocol for the IPV6)是IPV6基础协议之一。
基于IPV6协议,next-header为58,ICMP定义了一些消息如:目的不可达,数据包超长,超时,回应请求和回应应答等等。而ICMPv6除了提供ICMPv4常用的功能外,还提供了其他一些功能基础,如邻居发现,无状态地址配置,重复地址检测,PMTU发现等等。

报文中各个字段解释如下:

  • Type:表明消息的类型,0-127标识差错报文类型,128-255标识消息报文类型。

  • code:表示此消息类型细分的类型。

  • checksum:标识ICMPv6报文的校验和。
    ICMPv6错误报文的分类:ICMPv6错误报文用于报告在转发IPV6数据包过程中出现的错误。可分为以下4种
    1.目的不可达错误报文
    当IPV6节点转发IPV6报文过程中,发现目的地址不可达时就会向发送报文的源节点发送ICMPv6目的不可达差错报文,同时会携带具体原因。
    通过实验抓包来验证一下

    按下面拓扑图配置好IPV6地址。同时AR1,AR3写一条默认路由都指向AR2

    此时AR1已经能够ping通AR3

    目的不可达错误报文Type字段值=1,根据错误又可细分

  • 目的不可达code=0

  • 因管理原因禁止访问(如ACL拒绝等等)code=1
    算了直接写吧,出不来效果
    code=2未指定
    code=3地址不可达
    code=4端口不可达
    数据包过长
    Type=2
    code=0
    我们把AR2 G0/0/1接口MTU值改为1300

    然后AR1pingAR3我们制定数据包1500字节

并且会告诉我们MTU为1300
这个也就是PMTU实现,依靠ICMPv6
时间超时错误报文
Type字段值为3
错误原因又可以分为
code=0:在传输中超越了跳数限制
code=1:分片重组超时
参数错误报文
Type=4 根据错误又可以细分为
code=0:IPV6基本头或者拓展头某个字段有错误
code=1:IPV6基本头或拓展头的Nextheard值不可识别
code=2:拓展头中出现未知的选项

总结:ICMPv6中
差错检查报文type值,code值又可细分

  1. 目的不可达
  2. 数据包过长
  3. 时间超时
  4. 参数错误
    信息报文type128.129
    1.echo request和echo relay:一般用于ping功能检测连通性
    2.RS,RA,NS,NA:NDP协议中使用。

Path MTU(路径MTU)

如图:AR1要发送一个1500字节的数据包给AR3
那么此时就要在AR1上执行分片使数据包大小等于路径最近MTU也就是1300
值得一提是IPV6链路MTU最小值为1280。

这个是利用ICMPv6里面packet too big字段完成的
我们可以使用命令dis ipv6 pathmtu all来查看路径MTU

NDP(Neighbor Discovery Protocol)是ICMPv6的子协议,***
由于在IPV6中没有ARP协议,所以IPV6上层定义NDP协议实现ARP的地址解析,冲突地址检测等功能,以及IPV6的邻居发现功能。

地址解析
R1要访问R2直连接口,需要得到R2的MAC地址。优点如下:
NDP:
1.工作在网络层,过攻击能力比ARP要强
2.使用组播机制,提高工作效率。
3.地址解析在三层完成,可以使用不同的二层介质。

  • NS报文:Type字段135,code=0,类似IPV4中ARP请求报文
  • NA报文:Type字段136,code=0类似IPV4中ARP应答报文

工作流程如下:

(1)R1会发送一个NS(邻居请求报文,属于ICMPv6的消息报文,type=135),该报文源IP为AR1接口的单播地址2012::1,目的地址是AR2的被请求节点地址,需要解析的目的地址为AR2的IPV6地址。
由于AR2配置了单播地址2012::2后就默认计入了该单播地址对应的被请求组播地址FF02::1:FF00:2
上面写了被请求节点组播地址固定前缀FF02::1:FF00:0/104 ,前104bit为固定,后24bit为IPV6节点单播地址的后24bit
所以当前节点组播地址为FF02::1:FF00:2

值得一提的是目的MAC地址也是组播MAC,固定前缀33:33:后32bit为该组播节点地址的后32bit。所以目的MAC地址为33:33:FF:00:00:02

(2)当AR2收到AR1的NS报文后,通过查看该报文中要解析的地址是不是自己接口的单播地址

是自己,则单播回应NA
NA报文中携带了AR2的2012::2对应的MAC地址。

这样邻居检测就完成了。通过AR2回应的NA报文就知道AR2上IPV6单播地址对应的MAC地址了。
重复地址检测DAD(Duplicate Address Detect)
和IPV4中免费ARP差不多
当一个IPV6接口获得了IPV6地址(无论是有状态或者无状态配置)都会启动IPV6的DAD机制,以确保该地址在链路上的唯一性。
DAD机制使用ICMPv6的NS以及NA消息实现。

配置一样的地址(先配AR2,再配AR1),并且开启抓包。
IPV6地址在通过DAD检测之前称为试验地址,此时这个地址不能进行单播通信。但是仍然会加入组播组
此时AR2会发送一个NS报文询问网络中有没有人使用

.该地址源IP为“::”表示此时AR2还没获取到地址,目的IP为要检测的单播IPV6地址的节点组播地址FF02::1:FF00:12,源MAC为AR2的MAC,目的MAC为该节点请求节点组播地址映射的IPV6组播MAC:3333-FF00-0012。报文中使用Target对要检测的ipV6单播地址进行标记。
此时由于AR3上已经配置了2012::12/64这个单播地址,所以会监听该单播地址对应节点组播地址的组播组。所以AR3能够收到并且检查AR2发送的NS报文中标记的地址是否是自己所使用的,如果是,则AR3回应NA报文,该报文中源ip为AR3的IP 2012:12,目的IP为FF02::1(ipv6所有节点组播地址),此时AR2收到该报文,发现地址以及被AR3使用,所以放弃使用该地址。
如果没有人使用这个地址,则AR2会发送NA消息宣告这个地址我已经使用。

小结:DAD请求NS报文:源IP:"::",目的IP:节点组播IP
源MAC:自己 目的MAC:节点组播IP映射的MAC
Target:标记了要检测的IPV6单播地址
冲突后回应 :NS报文:源IP:冲突的地址
目的IP :FF02::1(所以IPV6组播节点地址)
MAC:自己MAC
目标MAC:目的IP映射的MAC
Target:标记了冲突的地址

路由发现–无状态地址自动配置

我们在AR3接口配置了IPV6单播地址2012::12/64,并且开启RA报文(路由器通告,ICMPv6消息报文,type=134)AR3会周期发送RA报文中携带了该接口的IPV6单播地址前缀2012::/64

该报文的源IP是AR3的G0/0/0的链路本地地址,目的地址为FF02::1(所以节点组播地址);源MAC为AR3的MAC,目的MAC为FF02::1映射的MAC地址3333-0000-0001

当AR2通过AR3周期发送的RA报文获得前缀,华为设备通过EUI-64规范自动生成64bit的接口标识,得到IPV6单播地址。
并且经过地址冲突检测后,才可以使用,没通过则需要进行手工配置。
写在最后小结:
IPV6通信的时候使用哪些协议,ICMPv6是一个重要的协议(DAD,重复地址检测,NDP,地址解析,PMTU,路径MTU)这些都是IPV6在最基本的通信,需要使用的。当然OSPFv3,RIPng等等也是。

(0)

相关推荐

  • 华为网络设备,IPv6基础详解,地址分类,基本IPv6配置,快速掌握

    一.IPv6基础 1.IPv6地址总长度为128比特,冒分十六进制,地址中包含的连续两个或多个均为0的组,可以用双冒号"::"来代替 2.IPv6地址分为两部分: 网络前缀(相当于 ...

  • 【干货】IPv6在互联网络中的运行方式~

    文末有福利! IPv6在互联网络中的运行方式 现在该探讨IPv6的细节了.首先,介绍如何给主机分配地址以及主机如何找到网络中的其他主机和资源. 我们还会演示设备的自动编址功能(无状态自动配置)以及另一 ...

  • IPv6基础知识,一分钟了解下

    一.IPv6简介 1.IPv6 早期被称为 IPng (next generation)目前是 IP 协议的最新版本 IP 协议是一种网络层协议,采用 IP协议构建的数据通信网络可提供高效的数据.语音 ...

  • 图文详解 IPv6 :IPv4 都用完了,赶紧看它的了

    5G通信 5G产业最新动态,5G前沿技术,原创翻译5G标准中文版,物联网/云计算/大数据/人工智能/5G手机,都在这里. 1850篇原创内容 公众号 初识 IPv6 2019 年 11 月 25 日已 ...

  • 一文全面了解IPv6

    前国内的网络正在快速的向IPv6升级中,从网络基础设施如运营商骨干网.城域网,到互联网服务商如各类云服务,以及各类终端设备厂商如手机.电脑.路由器.交换机等,均在向IPv6网络的升级改造中.根据国家相 ...

  • IP组播

    IP组播

  • 【干货】园区网常用安全技术,都在总结在这儿了!(三)

    网络安全 园区网络安全概述 基于防火墙的安全区域划分及安全策略  ·安全区域(Security Zone),或者简称为区域(Zone),是一个安全的概念,大部分的安全策略都基于安全区域实施. ·一个安 ...

  • 【感应式IC卡】S50卡技术资料和工作原理

             S50卡,采用NXP MF1 IC S50制作的非接触智能卡,通常简称S50卡.Mifare 1K卡.M1卡或直接简称感应式IC卡,符合ISO14443A标准,拥有4字节UID号,是 ...

  • 一文轻松看懂区块链的工作原理

    作者注:这篇文章是写给非计算机专业的朋友的科普文,尽量避开了比较专业的细节.如果你是计算机相关专业,或者具备一定数据结构.算法.密码学的知识,建议直接看文末参考资料中的三篇博文,或者更专业的资料. 区 ...

  • PLC 工作原理与内部存储器使用规则(一)

    编前语:这是一篇对PLC的认识提出全新概念的.并把PLC工作原理解释得准确.清楚.明白的技术文章.其理论分析的方法,探讨问题的角度,与通常可见的书籍文章有较大的不同.现在推荐给<电子报>的 ...

  • 什么是锁相环?读懂它的基本组成和工作原理

    什么是锁相环?读懂它的基本组成和工作原理

  • 浪涌保护器的作用和工作原理

    浪涌保护器也叫避雷器.防雷器.是一种为低压供电系统,电子设备,仪器仪表,通讯线路等提供的安全防护的电子装置.当电气回路中,因雷电等外界因素,突然产生尖峰电压或电流时,浪涌保护器能在极短的时间内导通分流 ...

  • 【第2273期】搜索引擎工作原理

    前言 正文从这开始~~~ 搜索引擎的工作过程大体可以分为三个阶段: 1.对网页进行抓取建库 搜索引擎蜘蛛通过抓取页面上的链接访问其他网页,将获得的HTML代码存入数据库 2.预处理 索引程序对抓取来的 ...

  • SAP Fiori Elements 框架里 Smart Table 控件的工作原理介绍

    这是 Jerry 2021 年的第 34 篇文章,也是汪子熙公众号总共第 310 篇原创文章. Jerry 前一篇文章 深入掌握 SAP Fiori Elements 工作原理系列之二:如何给 Fio ...

  • 抽水马桶工作原理,抽水马桶好不好?

    下面就是小编对于抽水马桶工作原理,抽水马桶好不好?两个方面的介绍,在我们家庭装修的过程中,抽水马桶是我们生活方便的一种选择,希望大家在选择的时候可以看看下面小编写的,或许可以对大家可以是一个小小的建议 ...

  • 热氟化霜的工作原理

    前言:冷风机因其可以强制送风.提高换热效率:带有接水盘.化霜方便.可以适应各种工况环境:造价相对便宜.初投资低:成为制冷系统应用最普遍的蒸发器. 尽管根据不同的应用工况,冷风机的片距做了相应的调整,但 ...