一文读完IPv4与IPv6的区别

IPv6编址与寻址

IPv6地址

IPv4:32 bits or 4bytes long
分为私有地址和公有地址,上网需要做一个NAT转换,主要为了解决地址少问题。
IPv6:128 bits or 16bytes : 4 tims the bits of IPv4


v6地址和v4地址表示方法不同:
用十六进制表示:如:FE08:...
16位一组,中间用:隔开,如:2001:12FC:..
若以零开头可以省略,全零的组可用"::"表示,如:1:2::ABCD:..
地址前缀长度用“/xx”表示,如: 1::1/64
注:“::” 一个v6地址只能出现一次


例如同一个地址的不同表示方法:
①0001:0123:0000:0000:0000:ABCD:0000:0001/96
②1:123:0:0:0:ABCD:0:1/96
③1:123::ABCD:0:1/96


v4环回地址是127.0.0.1,v6环回地址是0:0:0:0:0:0:0:1 简写 ::1
当电脑没有配置IPv6的时候,0:0:0:0:0:0:0:1充当占位符,
当配置了IPv6以后,在IPv6中代表默认路由,即:: 代表0.0.0.0/0


IPv6地址 = 前缀 + 接口标识
前缀:相当于v4网络地址中的网络ID
接口标识:相当于v4地址中的主机ID
如:2001:A304:6101:1::E0:F726:4E58/64
前缀是2001:A304:6101:1 接口标识:E0:F726:4E58 那么前缀64位,接口64位
如:2001:123::xx:xx:x/128 ,那么这个代表一个环回口地址 例如2.2.2.2/32
如:2001:123::xx:xx:x/127 ,那么这个代表一个点到点地址,例如12.1.1.1/30

IPv6地址分类

v6地址分为三种地址:
①单播地址(UA) ②组播地址(MA) ③泛播地址(AA)
在IPv6中不再使用广播的概念,所有的广播都是用组播代替。
单播和组播都和v4相同。泛播即任意播,是指,在分布式场景中,多个设备使用同一个泛播地址为最近的用户提供服务。

地址分类

地址类型 二进制前缀 IPv6标识
未指定 00..0(128bits) ::/128
环回地址 00..1(128bits) ::1/128
组播 11111111.xx FF00::/8
链路本地地址(用于路由协议) 1111111010.xx FE80::/10
站点本地地址(私有地址) 1111111011.xx FEC0::/10
全局单播(公有地址)
单播

单播地址用于一对一的连接,IPv6单播地址有以下类型:

  • 未指定的地址,环回地址和IPv4兼容地址
    IPv4兼容地址,是把v6地址的后32位,用来存放v4地址,例如:::192.168.30.1 = ::C048:1E01
  • 本地链路地址,简称Link-Local 地址
    FE80::/10
  • 本地站点地址,简称Site-Local地址
    FEC0::/10
  • 可聚合全球单播地址,简称AGUA地址
    2000::到3FFF:FFFF:FFFF:FFFF.....
    AGUA地址,前三位必须是001,后十三位为TLA,再后8位为RES区域位,再往后24位为NLAs,是网络位,供运营商进行分配,之后的16位为SLA,为子网位,分配给企业用,企业拿到的就是2::/48的地址。

组播

组播地址用于一到多的连接,地址主要是FF00::/8
前八位为FF,后四位代表标志位,Flag位为0代表永久的,Flag位为1代表暂时的,而再后四位代表范围,
范围为1代表本地接口范围,2代表本地链路范围,5代表本地站点范围,8代表组织结构范围,E代表全球范围。
例如FF02::9 这个地址FF开头,是个组播地址,第三位为0,代表永久分配,第四位为2,代表本地链路范围。

组播指定地址:

组播地址 范围 含义 描述
FF01::1 节点 所有节点 在本地接口范围的所有节点
FF01::2 节点 所有路由器 在本地接口范围的所有路由器
FF02::1 本地链路 所有节点 在本地链路范围的所有节点
FF02::2 本地链路 所有路由器 在本地链路范围的所有路由器
FF05::2 站点 所有路由器 在一个站点范围的所有路由器
节点必需的地址

任何一个v6节点都需要开启以下地址:
每个接口的本地链路地址、环回口地址、被分配的单播地址、
所有节点组播地址、主机所属的组播组地址、本地站点地址
所用的每个单播和任播地址的被请求节点组播地址(相当于v4的arp协议,使用ICMPv6)

被请求节点组播地址
就是本地链路范围的组播地址,前面是FF02:,中间是全零,然后是FF/104,即FF02::1:FF/104

IPv6在Ethernet技术上

IPv6拥有一个特定的Ethernet协议ID,是0x86DD,用来分辨是IPv6还是IPv4。

Destination Ethernet Address Source Ethernet Address Type header and payload
0x0800 IPv4
0x86DD IPv6
组播在Ethernet中的映射

如果一个数据包是三层的封装发送到组播地址,你肯定需要一个目的MAC地址,那么这个目的MAC如何表示?
答:把你要发送的这个三层的组播地址的最后三十二位拿出来,当做目标MAC,然后往前补16位的33:33.
即,比如发送的组播地址是FF02::1:FF17:FC0F,那么最后32位FF17:FC0F用来做MAC地址,并补齐地址为:33:33:FF17:FC:0F,这就是IPv6在以太协议栈中的地址映射。
不难发现,FF02::1:FF17:FC0F,前面是FF02,中间全零,后端是FFxx,这很显然是一个被请求节点组播地址。

接口ID的生成

v6地址中都会有接口ID,这是由MAC地址构成,通过48bit的MAC地址转化为64bit的接口ID,肯定是扩充得到的,通过EUI-64的扩充方式。

例如:一个MAC地址是00:90:27:17:FC:0F,通过把MAC地址对折,前面24bit,后面24bit,中间固定的插入FF:FE字段共16bit,得到一个EUI-64地址,EUI-64地址中的第7bit位代表物理地址的全球唯一性,如果不是1要改为1,与48bit位的物理地址相反,1为全球管理,0为本地管理。

通过实验能看出,IPv6的接口地址中式插入了FF:FE字段,并且在地址的第7bit改为了1.
IPv6地址配置技术

IPv6可以发现邻居,其实通过ICMPv6来实现的。(NDP_RFC2461
IPv6邻居发现原理:
首先PC1发送一个ICMP135类型邻居请求消息(NS)到PC2的被请求节点组播地址,PC2收到后,回复一个ICMP136类型邻居宣告消息(NA)到IPC1,这样在PC1就记录下了PC2的MAC地址,类似于v4网络中,将目标MAC存放在自己的ARP缓存表中。


我们抓包看看,在v6网络中是通过ICMPv6建立邻居关系,最后Neighbor Solicitation和Neighbor Advertisement就代表着建立邻居请求和邻居宣告的完成。

启用IPv6
  • 启用IPv6流量转发
Router(config) ipv6 unicast-routing  //默认关闭,跑路由协议需开启,其实就是加入组播地址 FF02::2
Router(config) ipv6 ref load-sharing original //等价路由下,基于hash算法的数据报流量分担
  • 通过在接口上配置IPv6地址,开启接口对IPv6支持
    Router(config-if-GigabitEthernet 0/0)#ipv6 address 2001:12::1/64 //PC机模式
  • 也可以不配置v6地址,先配置本地链路地址
    Router(config-if-GigabitEthernet 0/0)#ipv6 enable //默认情况下,不可用 PC机模式
IPv6的自动配置

IPv6地址的自动配置分为【无状态自动配置】和【有状态自动配置】。
IPv4中的DHCP配置,是一种有状态自动配置,是通过DHCP这种应用层协议来实现的。
IPv6中,可以通过ICMPv6实现无状态自动配置。
PC通过ICMP133向FF02::2发送一个RS请求,路由器收到后,通过ICMP134向目的地址FF02::1发送一个RA消息。这些地址都是基于Ethernet的。
FF02::2(链路上的所有路由器的组播地址) FF02::1(所有节点的组播地址)

IPv6路由选择(RiPng、OSPFv3)

RIPng中的主要更新
  • UDP端口号:IPv4中的RIP使用UDP520号端口,IPv6的RIPNG使用UDP521号端口
  • 本地链路地址:使用本地链路地址作为更新消息的源地址
  • 组播地址:IPv4中的RIP使用224.0.0.9,IPv6中的RIPng使用FF02::9
  • Metric值:在RIPng中,默认情况下进入路由表之前的RIPng度量值+1
  • 一些时间参数:见 “ show ipv6 rip”
    负载均衡功能:RIPng支持默认16条路径进行负载均衡(Max:64条)


OSPFv3

IPv6的OSPF和IPv4的OSPF差别并不大,下面的实验中,同时跑了IPv4和IPv6协议栈,基于接口的宣告可以加快邻居的建立关系。


基于IPv4和IPv6网络的共存和整合

-双栈协议(Dual Stack):网络中的主机、服务器和路由器可以同时使用IPv4和IPv6协议栈。
-隧道协议(Tunneling):隧道使孤立的IPv6主机、服务器、路由器和域利用现有的IPv4基础设施与其他IPv6网络通信。

例如在两端都是IPv6的网络,中间是IPv4的网络,这时候,如何让两端IPv6的网络能够实现OSFP路由协议的宣告,这时候使用tunneling,为IPv6地址做一层IPv4的封装,然后到对端后又进行解封装除去IPv4的头部,实现IPv6的互通。


以上就是目前IPv6的相关原理与配置方法,临近元旦终于有时间进行整理一下了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342