最近几日沉迷于暗黑2复制版,所以没怎么更新和学习,今天续上。这一次的CCNA课程又是一个合集,主要是讲IPv6的。

首先回忆一下,之前我们讲了IPv4,现在讲的是IPv6,为什么没有IPv5?实际上曾经研发过该协议,叫做internet stream protocol。但是没有正式应用,也没有命名为IPv5,只是IP header是5而已。

那么回到IPv6,首先IPv6使用十六进制来表示,还是回忆一下几个进制的区别

二进制:Binary 只用 0,1,也称为Base 2,常见的表示方法是前面加0b, 比如0b10

十进制:Decimal,使用0,1,2,3,4,5,6,7,8,9,也称为Base10,常见的表示方法是前面加0d,比如0d10

十六进制:Hexadecimal,使用0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,也称为Base16,常见的表示方法是前面加0x,比如0x10。

如果只用10,大家无法直到到底是哪一个进制,而加上前缀就比较清楚。下列图示是一些常见的转换,可以看出1位十六进制需要用四位二进制来表示。

接下来我们要练习一下几个禁止的转换方法,

首先是从低转高:

我们得到二进制0b11011011,那么首先把这八位二进制一劈为二,变成0b1101 和0b1011,然后可以转为十进制,变成0d13和0d11,最后再转为十六进制0xD和0xB,合起来就是0xDB

反过来,从高到低也是一样的:

比如十六进制0xEC,首先是一劈为二,变成0xE和0xC,然后可以转为十进制,变成0d14和0d12,最后再转为二进制0b1110和0b1100,合起来就是0b11101100

好啦,回忆结束,回到我们的IPv6,首先有一个概念,为什么说需要IPv6,其实最根本的原因就是IPv4不够用了,因为一共就只有2的32次方个IP地址,最初的设计者也没有考虑过未来网络会如此蓬勃发展,尽管又VLSM啊,私有地址啊,NAT啊等等,这些只能减缓地址的减少,不能解决根本问题。

IPv4地址是由IANA(internet assigned number authority)组织分配的,分配给不同的地区,有些地区在几年前就已经把地址用光了,有些地区还有一些,但是也快用光了。

所以呢,我们必须要使用新的IPv6.

IPv6使用128个bits,也就是IPv4的32倍,也就是有2的128次方个地址。由于是用16进制表示,分为8个group,如下图所示

接下来,讲一下IPv6的简化写法,

其实就是两点,第一点就是每个group的前置位0可以省略,第二点就是如果一组或者连续的几个组全是0那么可以省略,并且用两个冒号代表。

这里注意,假如是非连续的几个组全是0,那么只可以省略一次。

举例来说:

2001:0DB8:000A:001B;20A1:0020:0080:34BD 可以缩写为2001:DB8:A:1B:20A1:20:80:34BD

2001:0DB8:0000:0000:0000:0000:0080:34BD 可以缩写为2001;DB8::80:34BD

2001:0000:0000:0000:20A1:0000:0000:34BD只能缩写为2001::20A1:0:0:34BD或者把后面的改成::前面的改成0

反过来说,如果是缩写的IPv6地址,也可以扩展为完整状态,第一步找那个省略了前置位0的,把它补齐,然后看看有没有::,如果有的话说明省略了连续0组,把它补齐,保证完整地址是8个组即正确。

那么我们在和ISP索取购买地址时,一般来说会收到一个/48的IPv6地址,而一般IPv6子网都是用/64,所以有16个bits可以用来划分子网,2的16次方已经足够使用了。而剩余的64个bits用来给主机终端使用。如下图所示:

和IPv4一样,我们如何查找前缀,网段?即给了一个地址后,知道哪一部分是network portion,哪一部分是host portion?

比如 2001:0DB8:8B00:0001:0000:0000:0000:0001/64,这个就很简单,直接从前数四个组即可,前面就是network portion,后面是host portion,然后网段就是 2001:0DB8:8B00:0001: :/64

另外一个例子 300D:00F2:0B34:2100:0000:0000:1200:0001/56,每一个16进制代表4个bits,所以数14个即可,即300D:F2:B34:2100::/56

再来一个特殊例子 2001:0DB8:8B00:0001:FB89:017B:0020:0011/93,这一次先数23个16进制代表92个bits,然后把倒数第三组中017B中的B变成2进制0b1011,然后只数一位就得到了93,剩余部分都是host portion,变成0即可,所以这个网段是2001:DB8:8B00:1:FB89:178::/93

关于IPv6的写法来说没有特别的强制性要求,但是如果根据RFC标准来说,必须是去掉前置位0和缩写连续一组的0,如果有多组非连续0,那么缩写左边的,还有就是十六进制字幕必须大写,不过思科并没有遵循这一标准。

接下来就是IPv6的基本配置,首先是在路由器中进入配置模式config t

这条命令必须配置,不然路由器不会转发IPv6的包

ipv6 unicast-routing

然后是进入到需要配置的接口 int g0/0

最后可以配置地址.配置简写和全写都可以,

ipv6 address 2001:db8:0:0::1/64

no shutdown

查看状态可以使用

show ipv6 interface brief

之后可以看到各个端口的IPv6情况,这里的地址都是简写,

除了手动配置以外,还可以使用EUI-64方法来配置IPv6,

EUI-64就是把MAC地址转换为一个64 bits的方法,然后这个64 bits可以作为IPv6的host portion。

具体方法分三步,首先把MAC地址一劈为二,然后中间添加FFFFE,然后从左数第七位,把这个bit反转即可(1变成0,0变成1)

比如 MAC地址:0x1234567890AB先变成0x123456和0x7890AB,然后添加0xFFFE成为0x123456FFFFE7890AB,然后左边每一个十六进制都代表四个bits。所以第七位bit就是把十六进制的2修改。0x2是0b0010,反转后是0b0000,变回十六进制是0x0,最终得到0x103456FFFE7890AB

配置命令和上面的类似,进入到端口后int g0/0

ipv6 address 2001:db8::/64 eui-64

之后查看可以发现ipv6地址已经自动形成

接下来的部分比较多也复杂,和IPv4一样,IPv6也有不同类型

首先就是Global unicast address,这个地址是可以被用作互联网的,必须去ISP注册才能使用,并且是全球唯一。地址的范围最早被定义为2000::/3,这个地址范围很大从2000::到3FFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF。现在的定义就是只要不被保留为其他用途的地址都是global unicast address

另外几个叫法也不太一样,如下图所示,蓝色48 bits部分是global routing prefix,类似于IPv4里的network portion

接下来16 bits是subnet identifier,这部分IPv4没有单独分出来,用来划分子网的

最后64 bits橙色部分是interface identifier,类似于IPv4的host portion

接下来是Unique local address,这个属于私有地址,无法在互联网上使用,ISP看到这种会直接丢弃不会转发。这一类地址不需要注册,直接就可以使用,一般都用在内网里。地址范围最早是FC00::/7,从FC00:: 到FDFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF。到了后来把第八位改成了1,因此前两位变成了FD。

这种地址不需要global routing前缀,因此组成部分又有点不一样,如图所示,首先FD开头表明是unique local address,然后40 bits是 global ID,这个主要是用于不同的组织或者公司合并时候使用,必须是独一的,不然合并后假如两个公司刚好有同样的子网就会出现问题。后面的两部分和之前的一样。

然后就是Link local address,首先该地址是自动生成的,不需要手动配置,只有在端口打开 ipv6 enable就会得到该地址,生成的机制仍然是EUI-64。这类地址的范围FE80::/10,即FE80::到FEBF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF.但是实际上在FD80/10后的54个bits都是0,所以只有FE80开头。这类地址也是一样不会被路由器转发,只能在单一子网内起作用。一般被用作OSPF 的邻居adjacency或者next hop静态路由(当做静态路由必须声明端口,不然会报错)。

IPv6和IPv4一样,也有单播,组播,其中组播地址使用FF00::/8,从FF00::到FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF。但是IPv6是没有广播地址的。

下列图是一些常见的组播地址

从上图我们可以看到,IPv6的组播地址都是FF02开头,其实这里IPv6有一个知识点叫做 组播地址范围,通过这个我们可以知道该地址最远能被转发到哪里,如下所示

FF01:interface-local,包不会被转发出local device,因此只能是同设备内发送

FF02:link-local,只能在同一个子网内被转发

FF05:Site-local,可以再不同子网内被转发,但是被限制在同一个物理地址内,不能在广域网上被转发

FF08:organization-local,比上一个范围大一些,比如一个组织或者大型公司

FF0E:global,没有限制,可以再互联网上被转发

后三种不是CCNA考试范围,了解一下名字即可。

如下图所示:

除了单播,组播和广播,IPv6还有任播 anycast,顾名思义就是可以从一个点发送至一堆中的任意一个,把几个路由配置成一样的地址,然后根据路由器协议和算法,包会被最近的一个路由转发,如下图所示

配置方法还是进入到该端口 int g/0

ipv6 address 2001:db8:1:1::99/128 anycast

最后有两个特殊地址

::代表未指明地址,类似于IPv4的0.0.0.0

::1则是loopback address,用来测试本地设备,不能发出去,类似于IPv4的127.0.0.0/8

接下来看看header的不同之处,回忆一下IPv4

下图是IPv6的header,可以看出来,简化了很多,

首先version还是4个bits 因为是IPv6,所以是0b0110

Traffice class是8个bits,用来表明权限级别,被用在QoS上

Flow Label一共20个bits,用来声明特殊的流,给特定的source和server用的,比如下载

payload一共16个bits,用来表明负载长度

next header有8个bits,用来声明next header的类型,比如TCP UDP

hop limit 一共有8个bits,类似于IPv4的TTL

最后就是128bits的source 和128bits的destination

上面了解即可,CCNA考试一般不会考这个

最后一个大话题就是IPv6的路由,首先我们要了解一个新的概念,叫做请求节点多播地址, solicited-node multicast address,该地址是由两部分组成

FF02:0000:0000:0000:0000:0001:FF 再加上unicast address的后六位

如下图所示

基本上在路由器端口上打开了IPv6,必须加入这三个组,前两个之前说过,all nodes和all routers,最后一个就是节点请求多播地址

了解了这个之后,我们回到IPv6的路由协议,

NDP: neighbor discovery protocol,这个协议用在IPv6上,它有很多种功能,其中之一就是代理IPv6上没有的ARP。该协议使用上面我们说到的节点多播地址和ICMPv6去学习其他节点或终端的MAC地址。

有两个信息累死

NS: neighbor solicitation = ICMPv6 Type 135

NA:neighbor advertisement = ICMPv6 Type 136

注意:IPv4才使用ARP,使用广播

我们看下图即可知道流程,在IPv4中,我想ping一个主机,实际上mac地址是全F的,广播的到处都是。而看IPv6中,source的IP和MAC自然是自己的,但是destination的IP地址使用的节点多播地址,因为我Ping另外一个主机,通过unicast address可以计算出节点多播地址。而destination的mac地址实际上也是计算出的,不过不在CCNA考试范围内,所以可以忽略。

R2收到Ping请求后会回复,如下图所示

NDP的另外一个功能是自动发现local network中其他路由器

同样需要两个信息:

RS:router solicitation = ICMP V6 Type 133

只要端口上线就会发消息给全部路由器, 多播地址 FF02::2

然后要求其他路由器声明自己

RA:router advertisement = ICMPv6 Type 134

不管有没有收到RS信息,都会周期性的发出去给全部节点,多播地址FF02::1

内容包括自己的状态啊,地址啊之类的,当收到RS信息后会回复

下一个NDP的作用叫做SLAAC

SLAAC:stateless address auto-configuration,终端通过该协议去发送RS/RA信息然后学到IPv6的前缀比如 2001:DB8::/64,然后再自动生成IPv6地址

之前我们知道手动设置EUI-64,还是要手动输入前缀,命令是

ipv6 address prefix/prefix-length eui-64

而使用SLAAC就不需要这么复杂,命令是

ipv6 address autoconfig

然后设备会通过NDP学到prefix,然后再通过EUI-64生成地址

最后一个NDP的功能叫做DAD

DAD: duplicate address detection,允许设备区检测有没有其他设备使用了同样的IPv6地址,只要端口up,no shutdown, 手动配置IPv6等等都会启动DAD,DAD会使用NA和NA来声明地址,如果没回复那么就可以用,如果有回复,说明有地址重复,系统会报错。如下图所示,

最后说一下静态路由,IPv6和IPv4一样也有静态路由,但是两者有点区别,比如IPv6不是默认开启,必须使用命令

ipv6 unicast-routing

不打开该命令的画,路由器会发送和接收,但是不会转发IPv6的包,

下图则是IPv6静态路由命令

和IPv4一样,加不加出的端口都可以,但是个人建议全写,因为在以太网端口只声明出口会出现问题还有就是假如使用link-local address,只声明下一跳地址也会出问题

destination可以使用::/0表示全部通过

这就是IPv6的内容,比较杂乱,而且还有一些知识是需要CCNP才学到的。

YouTube player
YouTube player
YouTube player
YouTube player
YouTube player
YouTube player

-------------------------------------------------------分隔符-------------------------------------------------------------------

-------------------------------------------------------分隔符-------------------------------------------------------------------

-------------------------------------------------------分隔符-------------------------------------------------------------------

-------------------------------------------------------分隔符-------------------------------------------------------------------

-------------------------------------------------------分隔符-------------------------------------------------------------------

-------------------------------------------------------分隔符-------------------------------------------------------------------

-------------------------------------------------------分隔符-------------------------------------------------------------------

-------------------------------------------------------分隔符-------------------------------------------------------------------

-------------------------------------------------------分隔符-------------------------------------------------------------------

-------------------------------------------------------分隔符-------------------------------------------------------------------

Day 31 Anki Flashcard下载:https://drive.google.com/file/d/1TcdcChVsY4p2OwD2l4-5mwkJ4UQFX40q/view?usp=sharing

Day 32 Anki Flashcard下载: https://drive.google.com/file/d/1hCadq-rBgMYhLBbVOPxlKI0JgdjEXi6a/view?usp=sharing

Day 33 Anki Flashcard下载:https://drive.google.com/file/d/1KqsOL8T2nYEr6ETrRCt6KfNkn2ZN_ZJM/view?usp=sharing

Day 31 Cisco Packet Tracer 练习题下载:https://drive.google.com/file/d/1Rst2Vvs8tXfdweJb8Yhie9zaqQhS4arq/view?usp=sharing

Day 32 Cisco Packet Tracer 练习题下载: https://drive.google.com/file/d/1RohtAJYWk3FH28X4gLtVZeVFh93iBVD9/view?usp=sharing

Day 33 Cisco Packet Tracer 练习题下载: https://drive.google.com/file/d/1nrygzhxVdngKt2MVIX8umpjUoL6M6OhX/view?usp=sharing

Day 31 Cisco Packet Tracer 练习题完成下载:https://drive.google.com/file/d/1ss2TavYEFhdzH7LaYjD8rPOr7BZTnaUC/view?usp=sharing

Day 32 Cisco Packet Tracer 练习题完成下载: https://drive.google.com/file/d/1LY1W-OB4Q28s4yC8cu_RFkh6J6UdKDtT/view?usp=sharing

Day 33 Cisco Packet Tracer 练习题完成下载: https://drive.google.com/file/d/17h9tDDqQzypJ7SJsi8MpoEF-Pwei7G0Q/view?usp=sharing


Chao

一个三天打鱼两天晒网的博主 拖延症严重患者 干啥啥不行,学啥啥不会

0 条评论

发表回复

Avatar placeholder