网络-6 IPV6(上)
一、iPv4与ipv6对比
1.ipv4与ipv6优缺点
1.1 Ipv4与ipv6对比,ipv4中的切片使用的三个字段:identification flags fragment offset,如果数据包不做分片,这三个字段一点用都没有。但是对于路由器而言这些字段要一个一个去读,所以这个机制让路由器资源消耗严重。
1.2 Ipv4中校验和checksum对于ttl值是要进行检测,浪费路由器处理资源。Ipv6删掉这个字段不需要。因为数据载荷有校验和,2层有校验和,所以3层的校验和取消了是没有任何问题的。
1.3 ipv4的报头为20-60字节,只有一个,包罗万象。如果不需要这么多的功能使用20字节就可以了。但是功能不够用就再option字段中选择所要的功能进行添加。这种方式只能封装一次。
1.4 ipv6修改了封装机制,可以封装任意多个ipv6报头。封装规则:必须Ipv6有ipv6 header,后面接着任意多个ipv6扩展报头。按照以下方式封装。Ipv6查看字段只需要查看主报头就可以了,扩展报头都是在主报头后面,所以ipv6转发效率高。
对于ipv4来说,路由器的性能如果吃紧的话,那么在ipv6中性能表现会更好。
2.安全性:
Ipv6自带ipsec,不需要防火墙,不需要路由器。
3.ipv6类型
单播、组播、任意播
组播可以完成一切
4.移动漫游
Ipv6做的更好,地址可以随着位置的不同,保持相同的IP地址
5.全球唯一性
地址足够多,冲击到mpls vpn
6.多宿主
Ipv4属于单宿主,一个接口的主IP可以对应多个辅助secondary IP地址。
Ipv6多宿主,一个接口可以有多个地址,并且都是主地址。对于结点A我是用一个地址表示我,结点B我用另一个地址表示我。
7.自动获得地址
Ipv6无状态地址自动配置
路由器配置一个IPv6地址,NDP邻居发现协议通知PC发现本机网络地址位,通过EUI-64扩展通用标识符将48位MAC形成64位地址。PC与路由器互动一下,自动获得IPV6。
问题来了,这种即插即用的特性对于少量pc效率高,但是有1万台主机呢,效率高吗?
8.地址转换
NAT-64
6to4 tunnel,两个ipv6园区跨越ipv4进行通信
静态隧道overylay GRE
动态隧道:
1.auto-tunnel 升级为6to4隧道
2.ISATAP主机到路由器之间建立隧道,remote access vpn,主机与路由器建立vpn,实现ipv4访问ipv6服务器
3.双栈:要求路由器设备性能必须足够强。当ipv6迁移完毕以后,ipv4淘汰
二、地址格式
1.默认路由::
2.一个IPV6地址不能出现两段双冒号,只能出现一次双冒号。
3.设备将ipv6地址自动形成简写地址来表示
4.ipv6地址访问格式,要使用中括号将地址标识,https://[2001:0101::1]:8080
5.地址类型:
单播:1对1
组播:1对多
任意播:1对最近。服务器集群类似ngix,相同服务的几个结点配置为相同的ipv6地址
不能随便用任意播,只能对相同服务器的服务的ipv6地址配置为相同地址
三、单播地址:
1.Link-local地址fe80::mac地址,一旦接口开启了ipv6功能,那么就必须有link-local地址。
有且只有一个地址,可以手工配置,可以自动产生 EUI64 mac地址 48bit 24bit fffe 第七位0/1互换 主机位(接口标识)fe80::64bit接口标识。在一个网络中是只有一个独一无二的link-local地址
2.global地址,不通网络之间的通信link-loacl地址无法实现。所以要使用global地址
私有地址:fec0::site local 场点本地地址
Fc00::/7唯一本地地址
2001::/3 AGUA地址
3.dhcpv6服务器对于 global地址 64位网络位(前缀) DNS服务器 domain 但是不能获得网关信息。
想要网关信息必须使用NDP协议,路由器产生的协议。
有状态地址自动配置:1.dhcp有状态地址自动配置 2.dhcp无状态地址自动配置 DHCP服务器产生的协议
无状态自动配置:不能获得DNS服务器还有域名信息 路由器产生的NDP协议
PC可以通过路由器获得的ipv6地址,但是没有域名。
Dhcpv6服务器可以获得域名,但是不能获得网关信息。
4.常见单播地址:
0::0未指定地址,一般是没有这种地址,最不济也是有一个链路本地地址。
四、组播地址:
FF开头的地址属于组播地址
Scope:
1是表示数据不能发送出去
2互联地址发送
3在子网内发送
4域内发送
5站点发送
8组织内发送
E全球
在ipv6中,默认情况下路由器被认为是一台主机,所以不会监听ff02::02,出发开启了ipv6 unicast,动态组播协议开启才能进行被监听。
一个单播地址对应一个被请求节点组播地址。
Ipv6牛逼,可以基于单播地址推算出组播地址,可以通过单播,组播地址进行通信。单播无法进行通信,可以尝试使用组播进行地址解析实现单播通信。
PCA----sw1-----PCB NDP NS NA可以进行邻居发现,进行通信得知邻居MAC地址
当两条主机的后24位对应组播地址是相同的,那么ipv6进行单播的发送也不会发送混乱的情况,由于NDP协议中的NS中有taget地址里面就是具体ipv6的单播地址的详细信息,所以保证了信息传递的唯一性。
IPv6 over Ethernet
以太网传递ipv6的标识:0x86DD ipv4为0800
Ipv6中发送组播数据把后32位提取出来,然后在前面添加3333
三、ipv6地址获取
1.无状态自动配置
有状态自动配置 需要dhcp服务器:需要RS RA报文
NDP发现协议
Icmpv6
RS RA的关系 RS主机发送 RA路由发送:Mbit Obit这两个标志位特别重要:M位1表示使用ipv6拿地址。 O位表示dns、域名是否自动获取
0 0表示dhcpv6无状态地址配置
1 1表示dhcpv6有状态地址配置
网关高可用通过RA功能的优先级的使用:
- 通过hsrp vrrp高级网关冗余协议实现
- 通过NDP的RA功能的优先级来实现:
---路由器开启ipv6动态路由选择功能
---ethernet配置global地址
--60秒钟周期更新RA报文,通过网关优先级实现高可用
2.网络间的通信IPv6
数据之间进行ipv6 ping测试,只有IP地址是不够的,以太网规定,经过的数据必须要使用帧才能通信,所以必须有mac地址映射。需要使用ipv6与mac地址映射,但是arp表淘汰了,替代他的是ipv6邻居表,这就是ipv6主机之间的邻居关系。
Ipv6邻居关系状态机
3.path mtu discovery
数据包切片会导致链路流量增加,端到端通信质量特别差,路由器负荷增大。报文尺寸的大小通过测试包文进行整条链路的mtu检测。最小为1280,不可以小于这个值。
邻居发现协议集成了以下功能
替代arp 无状态自动配置 路由器重定向
无状态自动配置:前缀公告 重复地址检测(像免费arp) 前缀重新编址
3.NDP-replace ARP
4.PC想要通过dhcpv6获取无状态地址,PC必须要事先有link-local地址
5icmp type133 134就是为了让PC获得ipv6地址。端到端通信中global地址或者是link-local地址都可以实现端到端通信。
6.ipv6的acl都是扩展的,默认acl最后的3条语句是:
Permit icmp any any nd-ns
Permit icmp an any nd-na
Deny ipv6 any any
7.dhcpv6工作机制
7.1默认租期时间24小时。
7.2PC与dhcpv6进行交互,获得ipv6地址是4步。为了使用效率提升就可以使用rapid commit模式,使用两步就能实现地址获取,但是如果有多台dhcp服务器提供服务,这种模式就是有弊端,不去检测地址冲突问题,可能会有地址冲突。
7.3跨网络dhcpv6服务,使用dhcpv6 relay,部署在PC的网关接口。dhcp服务器发送advertise(ipv4 dhcp offer)的时候,报文可以通过中继进行dhcpv6报文的转发。
7.4 ipv6的即插即用通过无状态dhcp获得的地址,但是没有dns是不能实现正常上网的,为了让pc在ipv6中就像在ipv4中那样正常使用,必须要部署dhcp服务器。
四、ipv6路由体系以及静态路由配置
Ipv6单播路由表
直连路由 可以同时拥有任意多个global地址
非直连路由 静态 RIPng EIGRPv6 OSPFv3 is-is BGP
思科路由器特性:
不开启ipv6 unicast路由协议,接口可以配置ipv6地址,静态路由不能生效,但是可以访问直连接口的路由,跨越直连设备的其他网络无法访问。
开启ipv6 unicast路由协议,静态路由功能恢复正常。路由迭代特性与ipv4一致。
RIPng介绍:
他与rip完全不一样。可以启用多个进程。
交换request reseponse报文进行交互
链路状态协议,几乎不会出现环路,因为Ipv6本身有很好的防环机制
Layer2|ipv6|udp\RIPng|FCS 使用udp521端口
Eigrp V6介绍:
Eigrp V6只能对ipv6做路由,路由器ID会用ipv4形式表示。默认关闭自动汇总。
双栈情况下需要开启eigrp v4进程和eigrp v6。
升级eigrp为64bit eigrp 命名式EIGRP,为了保障度量值可以被支持,需要rib metric-scale工具将超出的无法计算的路由变更为可以计算使用的路由。
Address-family特性与bgp类似,可以实现一个进程处理多栈的功能。
Ospf:
Ospfv2为ipv4,ospfv3为ipv6
Ospfv3升级,升级为Address-family实现一个进程处理多栈的功能。
Ospfv3支持一个接口,进入多个进程功能。
Ospfv3对于1类,2类LSA不包含任何的地址信息,是因为对于ipv6可以配置多个global地址,使用link lsa intra area lsa这就成为了8类LSA和9类LSA,由于这个特性ospfv2与ospfv3不能兼容。
IS-IS:
Isis一直可以支持ipv6,通过TLV扩展各种功能。
ISIS不用于企业。ISIS不能支持VPN,HUB-spoke VPN不能支持。
华为中只有bgp,ISIS可以使用一个进程的address-family完成双栈的支持。
MPBGP:
可以支持任何类型的路由。可以使用ipv4建立ipv6的邻居,使用route-policy修改下一跳为ipv6地址完成路由的传递。基于ipv6地址建立ipv4邻居,使用route-policy修改下一跳为ipv4地址完成路由的传递。
IPV6中的网络宣告:必须在接口下进行处理。