当前位置:   article > 正文

IPv6基础(HCIA)_ipv6帧结构

ipv6帧结构

一、IPv6的产生

IPv6产生的背景:

IPv4和IPv6的区别:

IPv6优势:

二、IPv6和IPv4对比以及包文格式

IPv6包头格式:

IPv6砍掉的IPv4包头内容:

IPv6包头:

IPv6扩展报头:

IPv6六种扩展包头:按顺序出现

三、IPv6地址格式以及地址分类

IPv6地址格式:

IPv6缩写规范:

IPv6地址分类:没有广播

接口标识三种方式:

四、IPv6动态地址配置以及实验

IPv6的配置:

小型网络实验:


学习目标:

1、IPv6的产生

2、IPv6和IPv4对比以及包文格式

3、IPv6地址格式以及地址分类

4、IPv6动态地址配置以及实验

一、IPv6的产生

IPv6产生的背景:

2011年IPv4地址耗尽,解决地址不够用问题,IPv6取代IPv4是一个必然的趋势。

2011年2月3日,RIR(区域互联网注册机构)分给了全球最后五个区域。

IPv4和IPv6的区别:

IPv4没有安全性,需要借助IPsec来保障IPv4的安全。

IPv6:

即插即用:IPv6不需要DHCP也能实现即插即用(IPv6有自己分配地址的能力)。

安全特性:IPv4在公网之间通过Ipsec vpn是安全的,企业网内网是明文的,而IPv6自身可以实现端到端的安全。

IPv6优势:

二、IPv6和IPv4对比以及包文格式

IPv6包头格式:

IPv6砍掉的IPv4包头内容:

包头长度

IPv4:IPv4包头长度是变长的,基本包头20字节,40字节的option(可变),导致IPv4包头长度不固定,需要这个字段标识。
IPv6:IPv6包头是定长的40字节。

分片、重组
 

IPv4:因为有分片需求需要带着。
IPv6:经过考虑后报文传输过程中不用分片的概率大,带着是多余的就砍掉了。

校验和
 

IPv4:每次收到报文会进行包头的校验,影响设备性能。
IPv6:以太网已经对数据帧做校验了,TCP有校验字段,UDP的校验字段是可选的,二层、四层、应用层对数据有了校验机制,IP层再校验有点多余(正常的包比不正常的包多)。

扩展包头

IPv4:分片什么的都是通过扩展包头实现。
IPv6:需要的话携带。

IPv6包头:

版本信息:

ip版本信息

流分类:(IPv4的ToS字段)

实现IPv6的Qos

流标签:

负载分担基于流(现在路由器),相同流走相同出口发出去,五元组源目IP、源目端口、协议号确定一股流。
不同的应用分配不同的流标签,根据源IP和流标签能唯一确定一股流。

载荷长度:

40字节

下一字节头部:

描述上层协议类型,和IPv4标识上层使用协议的协议号一样

跳数限制:

类似于TTL值

源目IPv6地址:
 

源目IPv6地址

IPv6扩展报头:

基本包头的下一包头字段(描述下一扩展包头)为0代表有扩展包头,如果逐条选项包头还有下一个包头字段代表还有扩展包头。

扩展包头可以有多个,每个包头都会通过链式结构来表示。

基本包头是每台路由器都要处理的,而扩展包头会根据每台路由器的能力进行处理。

中间路由器一般处理基本包头和逐跳包头。

像认证包头这类只会在终点路由器进行处理。

IPv6六种扩展包头:按顺序出现

1、逐跳选项包头:用来在传输路径上每跳转发指定发送的参数,传输路径上的每台中间节点毒药读取并处理该字段。

2、目的选项包头:携带只有目的节点会处理的信息。

3、路由包头:IPv6中是强制数据包经过特定的设备(IPv4中是)。

4、分段包头:超过路径MTU需要对报文进行分段发送。

5、认证包头AH:由IPsec使用,提供认证、数据完整性以及重放保护。

6、封装安全净载包头(ESP):由IPsec使用,提供认证、完整性、重放保护和IPv6数据包加密。

三、IPv6地址格式以及地址分类

IPv6地址格式:

二进制长度有128bit,一般用冒号分隔,每一段16bit,每一段用十六进制表示。

4个2进制转换一个16进制,1111 = F,

16进制的417A转二进制就是,4 = 0100,1 = 0001,7 = 0111,A = 1010

IPv6不区分大小写

IPv4两种表示方法:

1、前缀表示法:1.1.1.0/27

2、掩码表示法:1.1.1.0 255.255.255.254

IPv6只要一种前缀表示法:2001::1/64

IPv6缩写规范:

每一段前导的0可以省略,拖尾的不能省略(还原补0只会在前面补0)。

多段连续0可以用“::”表示(只能有一次“::”)。

IPv6地址分类:没有广播

1、单播:001打头就是公网的单播地址。

2、组播

3、任播(来自于单播)

本地唯一地址:IPv6的私网地址,有的网络没有上公网的需求,IPv6也支持NAT,如果哪天这些私网地址要访问公网也是可以做到全球唯一的。

链路本地地址:FE80::/10,1111 1110 10 00 0000,前10位不会改变,FE80-FEBF/16都叫链路本地地址。

特殊地址:全0,“::”未知地址,“::1”环回地址。

任播:是IPv6的一个功能,全球单播地址、唯一本地地址、链路本地地址都可以用于任播。

IPv6单播地址结构:

1、网络前缀:n bit,相当于IPv4地址中的网络ID。

2、接口标识:(128-n)bit,相当于IPv4地址中的主机ID。

前缀要求64bit是一个建议值,并不是绝对。

RIR负责洲的地址分配 2000::/3

ISP负责给企业个人地址分配

2000:0001::/32 ISP前缀

2000:0001:0000::/48 站点前缀(企业、组织、个人、家庭)

2001:0001:0000:0000::/64 子网前缀

接口标识三种方式:

1、手工配置

2、系统自动生成

3、通过IEEE EUI-64规范生成,设备厂家基本都是EUI-64,接口的MAC地址变二进制从左第7bit取反(两种,第一种是1不变,0取反,第二种是取反),然后中间插入FFFE(1111 1111 1111 1110),MAC地址48位,插入16位的FFFE,最后64位。

像PPP链路不是以太网接口没有MAC地址,非以太网接口借用该设备的第一个以太网接口的MAC地址,如果设备没有以太网接口,会用产品的SD系统自动生成后64bit(未来肯定是以太网的天下)。

华为EUI-64需要前缀长度不能大于64才能配置(考虑到地址不能冲突00)。

思科的可以大于64(冲突了自己负责)

网络前缀是不需要管理员分配。

GUA全球单播地址:

任何人都能拿到48bit不同的前缀,有2的20次方个不同前缀。

唯一本地地址用不用NAT都行,不用NAT到公网也能保证唯一性(冲突概率很低,如果运营商过滤了FC00::/7就不能访问公网了)。

LLA链路本地地址:是一种应用范围受限地址,LLA的有效范围是本地链路,不能实现路由,是一种链路接口实现通信的地址(无状态自动地址配置功能等等使用链路本地地址),接口启用IPv6接口会自动产生链路本地地址(通过EUI方式)。

只要开头是FE80就是链路本地地址:

链路本地地址可以手动配置,必须要遵循前64是前缀,后64位自己配置。

[Huawei-GigabitEthernet0/0/0]ipv6 address fe80:2457:3697:1120:: link-local

IPv6想在链路上完成某些功能,可以做到不依赖其它协议,利用链路本地地址,来对链路做各种功能(IPv6独立性更强)。

ping链路本地地址一定要加-i参数:

IPv4不能解析MAC地址,需要借助ARP协议,IPv4自己没有动态地址分配协议,需要依赖DHCPv4。

IPv4可以利用链路本地地址做地址解析和动态地址分配。

IPv6组播地址:用于一对多的通信场景。

前8bit全FF固定的

4bit的Flags代表是永久或者临时组播地址(永久就是分配给某种组播服务或应用,像ipv4中224.0.0.5永久分配给了ospf,临时组播地址像239.1.1.1分给商业应用地址不再使用会回收)
 

Scope的4bit是用来标识组播组地址提供的范围(全球、公司、分支机构等网络范围提出定义)
 

80bit做一个保留

32bit做Group ID:组播组ID,范围是2的32次方

IPv6的被请求节点组播地址:只要接口有单播或任播地址就会生成一个被请求节点组播地址,并且加入这个组播组,这个地址主要用于邻居发现机制地址重复检测功能,被请求节点组播地址的有效范围是本地链路范围

被请求节点组播地址的形成就是把单播或任播地址接口标识的后24bit拷贝过来,前边104bit固定。

被请求节点组播地址冲突了也不会影响正常工作。

单播对应请求节点组播地址:多个单播地址对应一个请求节点组播地址是可以的

链路本地地址

FF02::1(永久组播地址)代表这条链路上的所有组播地址

FF02::2代表这个链路上的路由器接口:

在IPv6中,路由器会加入哪些组?FF02::2和FF02::1路由器所有接口都会加入。

被请求节点组播地址可能会冲突,只要保证,链路上每个地址的后24位不一致,可以有效避免地址冲突(概率很低)。

IPv6的任播地址:

在web应用中,基于http应用使用很多,用一个域名解析一个地址(存在应用扩展性问题),全球都解析一个服务器,服务器无法承受访问量。

在IPv4中解决方法是:在不同运营商机房部署相同网站,域名都一样,映射的公网IP不一样,用户访问相同的域名,使用不同的服务器。

在IPv6中解决方法是:任意网络位置部署相同的服务器,使用相同的IPv6地址,一个域名一个地址(最早解决web存在的问题),访问服务器选择就近的服务器提供服务。

我访问需要访问的内容通过单播去,别人访问我可以使用我的任播地址。

在IPv6中一个接口可以允许多个功能相同的IPv6地址,都可以独立使用。

目前IPv6只是一个代替地址的协议,没有什么热门的IPv6应用,直到地址耗尽,IPv6才慢慢开始发展。

主机和路由器的IPv6地址:

主机

FF01::1接口本地(内部使用,类似loopback)

FF02::1链路本地(链路上所有接口、请求节点组播地址)

路由器:

的子集——>

监听FF01::1组是因为自己是链路上的一份子。

监听FF02::1组是因为和主机做一个区分。

IPv6单播地址业务流程:

地址解析过程地址配置、DAD、地址解析这三个阶段,接口才能发送数据。

NDP(邻居发现协议,属于ICMPv6的子协议)完成DAD(地址冲突检测)和地址解析。

唯一单播地址可以实现路由,也支持全球单播地址的三种配置方式。

DAD类似IPv4中的免费ARP(IPv4中接口获得IP地址或者接口地址发生变更都会发生免费ARP去进行冲突检测,IPv6通过NDP实现地址冲突检测)。

NDP协议,三种功能:

1、无状态地址自动配置:由网络中的广播域,去通告前缀信息,接口获得前缀信息,自动生成地址,由NDP的133、134做。

2、DAD:地址冲突检测,用NDP的135、136来做。

3、地址解析:用NDP报文的135、136做。

四、IPv6动态地址配置以及实验

IPv6动态地址配置:

1、无状态地址配置:IPv6原生功能,华为中默认关闭的,原理是路由器会在接口上周期性发送,这个接口所配置的前缀信息(有多少个前缀就会通过NDP协议的RA报文发送到链路),PC通过RA报文获得链路上所有前缀信息,然后通过EUI-64规范生成自己的接口IP,从而实现即插即用。

路由器开启无状态地址配置:只能获得地址和网关,DNS需要找DHCPv6

华为200秒内发,用自己的链路本地地址,RA报文携带自己所有的前缀地址

主机为了更快获得地址,主机(开启无状态自动地址配置)会发RS报文请求,路由器收到会立即发RA

只有告诉64位的前缀,才会生成无状态的全球单播地址(实验中这样,未来物联网都可以通过这样方式获取地址)

IPv6有状态地址配置:DHCPv6

有状态和无状态可以结合使用。

DAD冲突检测:

进行DAD的NS时候,源IP是全0,源MAC是组播映射的MAC,即将使用的IP地址做一个MAC地址解析。

地址解析:

知道单播地址就知道请求节点组播地址是多少,使用组播发送(组播的好处就是收到组播报文,查看是否我监听的组播组地址,是就处理,不是就丢弃)。

IPv6的配置:

2、链路本地地址配置可选,可手动,不手动自动会生成。

华为设备要先配IP接口才能up起来。

物理层连线是up,因为没配置IP协议层为down。

未来想接口用链路本地地址通信,不想配置全局单播,就敲自动生成链路本地地址

IPv6的静态地址下一跳建议写链路本地地址(两端IP不是同一网络,IPv6中一条链路可以有多个网段)

全局单播地址的改动,不影响链路本地地址的通信

小型网络实验:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/621273
推荐阅读
相关标签
  

闽ICP备14008679号