赞
踩
学习目标:
1、IPv6的产生
2、IPv6和IPv4对比以及包文格式
3、IPv6地址格式以及地址分类
4、IPv6动态地址配置以及实验
2011年IPv4地址耗尽,解决地址不够用问题,IPv6取代IPv4是一个必然的趋势。
2011年2月3日,RIR(区域互联网注册机构)分给了全球最后五个区域。
IPv4没有安全性,需要借助IPsec来保障IPv4的安全。
IPv6:
即插即用:IPv6不需要DHCP也能实现即插即用(IPv6有自己分配地址的能力)。
安全特性:IPv4在公网之间通过Ipsec vpn是安全的,企业网内网是明文的,而IPv6自身可以实现端到端的安全。
包头长度 | IPv4:IPv4包头长度是变长的,基本包头20字节,40字节的option(可变),导致IPv4包头长度不固定,需要这个字段标识。 |
分片、重组 | IPv4:因为有分片需求需要带着。 |
校验和 | IPv4:每次收到报文会进行包头的校验,影响设备性能。 |
扩展包头 | IPv4:分片什么的都是通过扩展包头实现。 |
版本信息: | ip版本信息 |
流分类:(IPv4的ToS字段) | 实现IPv6的Qos |
流标签: | 负载分担基于流(现在路由器),相同流走相同出口发出去,五元组源目IP、源目端口、协议号确定一股流。 |
载荷长度: | 40字节 |
下一字节头部: | 描述上层协议类型,和IPv4标识上层使用协议的协议号一样 |
跳数限制: | 类似于TTL值 |
源目IPv6地址: | 源目IPv6地址 |
基本包头的下一包头字段(描述下一扩展包头)为0代表有扩展包头,如果逐条选项包头还有下一个包头字段代表还有扩展包头。
扩展包头可以有多个,每个包头都会通过链式结构来表示。
基本包头是每台路由器都要处理的,而扩展包头会根据每台路由器的能力进行处理。
中间路由器一般处理基本包头和逐跳包头。
像认证包头这类只会在终点路由器进行处理。
1、逐跳选项包头:用来在传输路径上每跳转发指定发送的参数,传输路径上的每台中间节点毒药读取并处理该字段。
2、目的选项包头:携带只有目的节点会处理的信息。
3、路由包头:IPv6中是强制数据包经过特定的设备(IPv4中是)。
4、分段包头:超过路径MTU需要对报文进行分段发送。
5、认证包头AH:由IPsec使用,提供认证、数据完整性以及重放保护。
6、封装安全净载包头(ESP):由IPsec使用,提供认证、完整性、重放保护和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
每一段前导的0可以省略,拖尾的不能省略(还原补0只会在前面补0)。
多段连续0可以用“::”表示(只能有一次“::”)。
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动态地址配置:
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地址解析。
地址解析:
知道单播地址就知道请求节点组播地址是多少,使用组播发送(组播的好处就是收到组播报文,查看是否我监听的组播组地址,是就处理,不是就丢弃)。
2、链路本地地址配置可选,可手动,不手动自动会生成。
华为设备要先配IP接口才能up起来。
物理层连线是up,因为没配置IP协议层为down。
未来想接口用链路本地地址通信,不想配置全局单播,就敲自动生成链路本地地址
IPv6的静态地址下一跳建议写链路本地地址(两端IP不是同一网络,IPv6中一条链路可以有多个网段)
全局单播地址的改动,不影响链路本地地址的通信
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。