今天和海翎光电的小编咱们一起聊聊IPv6的报头。下图是IPV4和IPV6的对比图,个人感觉还是比较直观的,我们就以这张图来梳理IPv6的报头内容。
首先,我们先重新回顾一下IPv4的报头内容,对于这个内容比较熟悉的朋友可以直击跳过: 1.Version(4位)用来表明IP协议版本,如果是IPv4协议,为0100(也就是十进制的4) 2.IHL(Internet Header Length)来记录头部的总长度。 3.Type of Service 服务类型。Type of Service最初是用来给IP包分优先级,比如语音通话需要实时性,所以它的IP包应该比Web服务的IP包有更高的优先级。后来,Type of Service被实际分为两部分:Differentiated Service Field (DS, 前6位)和Explicit Congestion Notification (ECN, 后2位),前者依然用来区分服务类型,而后者用于表明IP包途径路由的交通状况。 4.total length 总长度,包括报头的长度和数据的长度。 5.Identification标识,用于区分不同的数据报。 7.fragment offset,分段偏移量,在分组太大的时候,提供分段和重组功能。 8.Time to Live最初是表示一个IP包的最大存活时间:如果IP包在传输过程中超过Time to Live,那么IP包就作废。后来,IPv4的这个区域记录一个整数(比如30),表示在IP包接力过程中最多经过30个路由接力,如果超过30个路由接力,那么这个IP包就作废。IP包每经过一个路由器,路由器就给Time to Live减一。当一个路由器发现Time to Live为0时,就不再发送该IP包。 9.Protocol,用来说明上层协议的端口,也就是IP包之上的协议是什么(tcp为6,udp为17)。 10.Header Checksum区域。这个checksum用于校验IP包的头部信息。 11.Source Adrresss表示源IP地址。 12.Destination Address表示目的地的IP地址。 下图是通过ensp模拟器抓包时的ip报头,大家可以对照的再次回顾一下各报头的含义和作用。保留的内容:IPv6的报头保留了IPv4报头中的version,Source Adrresss,Destination Address。1.Payload Length用来表示IPv6的数据部分的长度。整个IP包为40 bytes + Payload Length。2.Hop Limit区域,IPv6用于记录的也是最大路由接力数,与IPv4的Time to Live功能相同。Hop Limit避免了IP包在互联网中无限接力。3.Next Header,与IPv4的Protocol功能一致,用来说明上层协议的端口。4.Traffic Class在IPv6中也被如此分成两部分。通过IP包提供不同服务的想法,并针对服务进行不同的优化的想法已经产生很久了,但具体做法并没有形成公认的协议。Flow Label是IPv6中新增的区域。它被用来提醒路由器来重复使用之前的接力路径。这样IP包可以自动保持出发时的顺序。这对于流媒体之类的应用有帮助。1.IHL(Internet Header Length)来记录头部的总长度。因为IPv6的报头总长度是固定的40字节。2Header Checksum区域。IPv6的校验依赖高层的协议来完成,而且我们都知道,不仅高层协议有校验,在二层的封装上,也有FCS进行校验。因此,IPv6删除了这个区域。3.options。因为IPv6没有options,它的头部是固定的长度40 bytes,所以IPv6中并不需要IHL区域。4.Identification标识,用于区分不同的数据报。6.fragment offset,分段偏移量,在分组太大的时候,提供分段和重组功能。 首先,我们在设备上进行IPv6地址的配置。需要注意的是,在配置IPv6地址的时候,首先要在全局开启IPv6,然后进入接口后,还需要再次开启IPv6的服务。为了让大家全面的了解IPv6地址的表示,在配置地址的时候是使用的完全表示,当我们使用dis this命令进行查看的时候,显示的地址是压缩表示的方法。
从IPv6的完全表示方式来看,IPv6的地址是由8组4个16进制数来表示的,共128位(ipv4是点分十进制,由4组4个十进制数来表示,共32位)从IPv6的完全表示方式来看,IPv6的地址是由8组4个16进制数来表示的,共128位(ipv4是点分十进制,由4组4个十进制数来表示,共32位)1.每个组前导的0可以省略,比如0101可以省略成101,2.如果该组所有都为0,则可以写成一个"0",比如0000可以省略为03. 若连续2个或者多个组都为0,则可以使用"::”代替, EUI-64是一个产生IPV6接口ID的方式。主要实现将接口mac转为接口ipv6的ip,命令为
A.具体转换方式如下:
1.先获取到接口的硬件地址,可以在全局模式下输入dis int g0/0/0

通过查看,该接口的硬件地址为:5489-9828-2a5a
2.将FFFE从硬件地址的正中间插入,变成:5498-98FF-FE28-2A5A
3.将第7位进行置位,
B.需要注意的是:
1.如果给定的前缀不满足64bit,在接口ID部分往前补0.
2.如果前缀超过64bit,华为会报错,思科是进行截取。
C. eui-64的优缺点:
优势:能够尽可能的避免地址的冲突。
缺点:可由链路地址反推网络地址,存在一定的安全隐患
五、链路本地地址(Link-local-address,LLA)1.地址空间:FE80:: ~FEBF:FFFF(之后各组都为FFFF) a.自动产生,由FE80:: /10作为前缀和EUI-64产生接口ID部分,比如下图



::为保留地址,类似有ipv4中的 0.0.0.0 :: 1是回环地址 类似于ipv4中的127.0.0.1

六、OSPFv3 的基础配置命令 (1)
1.启动 OSPFv3
[Huawei] ospfv3 [ process-id ] [ vpn-instance vpn-instance-name ]创建并运行 OSPFv3 进程,并将创建的 OSPFv3 进程与 VPN 实例进行绑定(可选)。[Huawei-ospfv3-1] router-id router-id配置设备在该 OSPFv3 进程中所使用的 Router ID。
注意:如果用户没有指定 Router ID,则 OSPFv3 进程无法运行。
2.在接口上使能 OSPFv3
[Huawei-GigabitEthernet0/0/1]
ospfv3 process-id area area-id [ instance instance-id ]
在接口上使能 OSPFv3 的进程,并指定所属区域,也可以指定接口所属的实例 ID。
注意:配置此命令前,必须先创建 OSPFv3 进程和使能 IPv6 功能。
OSPFv3 的配置命令与配置方式与 OSPFv2 类似,其他配置命令不再赘述,详细内容请参考《HCIP-Datacom-Core Technology》课程。[Huawei-GigabitEthernet0/0/1]ospfv3 network-type { broadcast | nbma | p2mp [ non-broadcast ] | p2p } 缺省情况下,接口的 OSPFv3 网络类型根据物理接口的数据链路层封装而定。以太网接口的缺省网络类型为 Broadcast,串口(封装 PPP 协议或 HDLC 协议时)的缺省网络类型为 P2P。[Huawei-ospfv3-1] area area-id区域 ID 可以采用十进制整数或 IPv4 地址形式输入,但显示时是 IPv4 地址形式。[Huawei] display ospfv3 [ process-id ] lsdb [ area area-id ][ originate-router advertising-router-id | self-originate ][ { router | network | inter-router [ asbr-router asbr-router-id ] |{ inter-prefix | nssa } [ ipv6-address prefix-length ] | link | intra-prefix | grace }
[ link-state-id ] ]
-
process-id:OSPFv3 进程号。整数形式,取值范围是 1~65535。
-
area area-id:区域的标识。可以是十进制整数或 IPv4 地址格式。如果是十进制
-
整数,取值范围是 0~4294967295。如果是 IPv4 地址格式,取值是点分十进制。
-
external:显示数据库中 AS-external LSA 的信息。inter-prefix:显示数据库中Inter-Area-Prefix LSA 的信息。
-
inter-router:显示数据库中 Inter-Area-Router LSA 的信息。
-
intra-prefix:显示数据库中 Intra-Area-Prefix LSA 的信息。
-
nssa:显示数据库中 NSSA LSA 的信息。
-
link:显示数据库中 Link-LSA 的信息。
-
network:显示数据库中 Network-LSA 的信息。
-
router:显示数据库中 Router-LSA 的信息。
-
link-state-id:链路状态 ID。点分十进制格式。
-
originate-router advertising-router-id:指定发布 LSA 的路由器的 Router ID。点分十进制格式。
-
asbr-router asbr-router-id:指定 ASBR 路由器的 Router ID。点分十进制格式。
-
selforiginate:显示数据库中由本路由器发布的 LSA 信息。
-
ipv6-address prefix-length:指定 IPv6 目的地址及前缀长度。
[Huawei] display
ospfv3 [ process-id ] routing [ ipv6-address prefix-length | abr-routes | asbr-r
outes | intra-routes | inter-routes | ase-routes | nssa-routes | [ statistics ] ]
-
process-id:OSPFv3 进程号。整数形式,取值范围是 1~65535。
-
ipv6-address:指定 IPv6 地址。32 位 16 进制数,格式为 X:X:X:X:X:X:X:X。
-
prefix-length:指定前缀长度。整数形式,取值范围是 0~128。
-
abr-routes:显示 OSPFv3 中所有 ABR 的路由信息。
-
asbr-routes:显示 OSPFv3 中所有 ASBR 的路由信息。
-
intra-routes:显示 OSPFv3 中区域内路由的统计信息。
-
inter-routes:显示 OSPFv3 中区域间路由的统计信息。
-
ase-routes:显示 OSPFv3 中 AS 外部路由的统计信息。
-
nssa-routes:显示 OSPFv3 中 NSSA 区域路由的统计信息。
-
statistics:显示 OSPFv3 中所有路由表的统计信息。
某公司通过部署 OSPFv2 实现 IPv4 网络的互联互通。该公司为了保证未来的业务发展,同时部署了 IPv6 网络进行业务测试,在该网络中运行 OSPFv3 实现了 IPv6 网络的互联互通。 所有路由器运行 OSPFv2 和 OSPFv3 协议,整个自治系统分为 3 个区域。配置完成后,每台路由器都应学到 AS 内的所有网段的 IPv4 路由和 IPv6 路由。 1、全局及接口下使能 IPv6 功能,配置各路由器接口的 IPv6 地址。(略)
可以通过 display ospf peer 查看 OSPFv2 的邻居信息。对比 OSPFv2 和 OSPFv3 的邻居信息,发现选出的 DR 和 BDR 是一致的,说明 DR选举方式相同。
查看 OSPFv3 网络的路由信息

可以通过 display ospf routing 查看 OSPFv2 的路由信息。对比 OSPFv2 和 OSPFv3 的路由信息,发现到“同一”网段的路径一致,说明路由计算方式相同 可以通过 display ospf lsdb 查看 OSPFv2 的 LSDB 信息,可以看到有 Type1、Type2和 Type3 三种 LSA