今天这篇文章主要给大家介绍的是关于IP地址十进制和二进制之间的转换、IP地址的分类、IP子网划分、子网掩码以及公有地址和私有地址等CCNA基础知识。对cnna基础知识感兴趣的小伙伴们可以看一下。
(一)二进制和十进制之间的转换
如果IPv4地址使用32位二进制数格式,要使用点分十进制数来表示,例如202.101.123.21,对应的二进制数就是(11001010.01100101.01111011.00010101)下面是这个二进制和十进制之间的转换方法;
1)二进制转十进制:11001010.01100101.01111011.00010101
二进制的第一组是11001010,可以用1×2^7+1×2^6+0×2^5+0×2^4+1×2^3+0×2^2+1×2^1+0×2^0=202得出答案,后面几组同理,但是这样计算太麻烦,因为每组二进制都是8位的,而对应的每一位十进制数都是不变的;
比如说:二进制11111111等于128+64+32+16+8+4+2+1=255,而我们只要记住这八位从大到小的对应的十进制就可以了(128、64、32、16、8、4、2、1),11001010就可以直接得出128+64+8+2=202,10000001=128+1=129,00010101=16+4+1=21;
2)十进制转换二进制:202.101.123.21
可以用短除法除以2直到商0得出答案,比如说
202/2=101余0
101/2=50余1
50/2=25余0
25/2=12余1
12/2=6余0
6/2=3余0
3/2=1余1
1/2=0余1
然后从下往上把余数写出来就是202的二进制形式就是11001010;
其实也有简便方法,就是将IP地址对应的十进制数凑成(128、64、32、16、8、4、2、1)可以组合出的那个数,比如202=128+64+8+2,按照十进制数字表从高位到低位,如果出现这个数字就填1,没有出现这个数字就填0,很容易就能得,202就是二进制的11001010;
(二)IPv4地址分类
IPv4地址由两个主要部分组成:一部分是标识该地址所属网络号,一部分是标识该网络中某个特定主机。
注意:IPv4将IP地址分为5类:
A类:前8位是用来标识网络号,后面的24位用来标识主机,所以每个A类网络可以有2的24次方个IP地址,全球只有126个A类网络,2^8-2=126(注意:0不允许使用,127被用作回环测试地址)。A类网络的第一个字节的十进制范围是1(00000001)-126(01111110);
B类:前面的16位用来标识网络号,后面的16位用来标识主机,第一个字节十进制范围是从128(10000000)-191(10111111),全球一共有2^14个B类网络,每个B类网络容纳2^16个主机;
C类:前24位用来标识网络号,后8位用来标识主机,第一个字节十进制范围从192(11000000)-223(11011111),共有2^21个该种网络,每个C类网络的主机数是2^8=256个;
D类:第一个字节十进制范围从224(11100000)-239(11101111),这类地址是用于组播,全球共用2^28个组播地址;
E类:第一个字节十进制范围从240-255,科研需要保留地址,共2^28个;
1)保留IP地址:
每个网络中可容纳的主机数量是理论主机数量需要减2,因为有两个地址被保留:
a.网络地址是网络位不变,主机位全0的地址,表示网路本身,例如192.168.1.0/24;
b.广播地址是网络位不变,主机位全1的地址,表示本网络的广播,例如192.168.1.255/24。
2)私有地址
RFC1918规定了三段作为内部组网使用私有地址:
A类:10.0.0.0—10.255.255.255(共2^24个)
B类:172.16.0.0—172.31.255.255(共2^20个)
C类:192.168.0.0—192.168.255.255(共2^16个)
如果有去往这些私有地址的数据包,会被路由丢弃,因为InterNET上的路由不会配置这些IP地址,。
如果有了私有地址段,一些组织或团体对外只需要一个公网IP,通过端口地址转换(PAT)让内外网通信,由于私有地址的存在,如今互联网上的IPv4地址仍然没有被消耗尽。
(三)IP子网划分
1)实例一:如下图,有四台PC的IP地址,他们连接在同一台交换机上,交换机正常工作,设备之间连线也没有问题,如何让它们之间都可以正常互访呢,
分析:根据上图,A、B、C、D的网络位都是24位),那么A和B处在同一个子网192.168.1.0上,而C和D处在同一个子网192.168.2.0,这个时候A和B可以互访,C和D可以互访,而AB和CD之间无法互访。
方法一:可以将C和D都改成192.168.1.0/24的子网,也可以将AB都改成192.168.2.0/24子网,使四台计算机处于相同的子网中,就可以相互通信。
方法二:修改四台PC的子网掩码,使这样他们同处在192.168.0.0子网中。
方法三:将中间的二层交换机换成三层交换机,然后把A和B划分到同一个VLAN里面,给这个VLAN分配一个192.168.1.254的IP地址,将A和B的默认网关改成192.168.1.254,同时将C和D划分到另外一个地址为192.168.2.254的VLANIP,将C和D的默认网关改成192.168.2.254,这样通过三层交换机路由模块将两个不同网段连接起来,实现互访。
2)实例二:如果某个C类网络地址202.1.1.0/24被某公司申请,该公司有5个项目组,每个项目组有28台计算机,请问:仅使用202.1.1.0/24,怎样才能把这5个项目组分配到不同子网中。
分析:202.1.1.0/24为C类地址,前24位是服务商提供,不能改变,所以只能调整后8位主机位,有5个项目组,所以要从后8位中借出至少3位(2^3=8)可以分成8个子网,而剩余的5位(2^5=32)能容纳32-2=30台计算机,刚好符合情况。
而从主机位中借出三位,网络位就变成24+3=27位,子网掩码为255.255.255.224
借出的三位可以组合成以下8种形式:
000
001
010
011
100
101
110
111
再加上固定的前24位,转换成十进制就是:
202.1.1.0/27
202.1.1.32/27
202.1.1.64/27
202.1.1.96/27
202.1.1.128/27
202.1.1.160/27
202.1.1.192/27
202.1.1.224/27
注意:在Cisco-CCNA考试中默认是不支持全0和全1的子网的,除非特别说明。
公司的5个项目组,在不使用全0和全1的子网下,即不使用202.1.1.0/27和202.1.1.224/27,划分如下:
IP范围202.1.1.32-202.1.1.63,子网202.1.1.32,网关202.1.1.33,子网广播202.1.1.63,可用IP从34-62,掩码/27
IP范围202.1.1.64-202.1.1.95,子网202.1.1.64,网关202.1.1.65,子网广播202.1.1.95,可用IP从66-94,掩码/27
IP范围202.1.1.96-202.1.1.127,子网202.1.1.96,网关202.1.1.96,子网广播202.1.1.127,可用IP从97-126,掩码/27
IP范围202.1.1.128-202.1.1.159,子网202.1.1.128,网关202.1.1.129,子网广播202.1.1.159,可用IP从130-158,掩码/27
IP范围202.1.1.160-202.1.1.191,子网202.1.1.160,网关202.1.1.161,子网广播202.1.1.191,可用IP从162-190,掩码/27
IP范围202.1.1.192-202.1.1.223,子网202.1.1.192,网关202.1.1.193,子网广播202.1.1.223,可用IP从194-222,掩码/27(暂时没有使用)
3)实例三:计算机的IP和子网掩码是192.168.1.160/26,那么请问:这台计算机所在的子网、子网广播还有子网中第一个可用IP以及子网中最后一个IP、子网一共有多少IP可用?
其实这个例子在经常划分子网的高手眼里几乎是一眼就能看出来,但是为了让新手朋友可以很好的理解,下面给有一个比较通用的步骤:
上图中,Host对应的是主机IP的二进制表示,Mask是子网掩码的二进制表示,子网掩码26位,所以主机位全0的就是子网地址Subnet,换算成十进制就是(192.168.1.128),主机位全1的就是广播地址是Broadcast,换算成十进制为(192.168.1.191),而子网中第一个IP地址为(192.168.1.129),最后一个IP地址就是(192.168.1.190),子网中一共2^6-2=62个IP地址可以用。
4)实例四:将下面这组C类IP地址汇总为一条IP地址:
192.168.1.1/2
192.168.2.1/24
192.168.3.1/24
192.168.4.1/24
汇总的方法是将需要汇总的IP转换成二进制,再将共同的部分取出来,然后在根据共同的部分占用的位数来写出子网掩码。汇总可以减小路由表的大小。上面的4个IP地址转换成二进制如图:
然后,就可以看出红线前面的部分对于四个IP地址来说是相同的,一共21位,所以这组IP汇总后的IP就是(192.168.0.0/21)
以上就是就是关于IP地址十进制和二进制之间的转换、IP地址的分类、IP子网划分、子网掩码以及公有地址和私有地址等CCNA基础知识了。对cnna基础知识感兴趣的小伙伴们如果希望能够学习到更多关于CCNA的内容,那就继续关注我们的网站:编程学习网教育吧。