IP子网划分:
网络层一开始呢,先给大家讲一下IP地址和子网划分。IP地址是32位的,采用点分十进制的方式去表示。它在三层,表示出不同的节点和网络。IP地址和MAC地址一样,也有别称,IP地址又叫网络地址或者逻辑地址。 早期的IP地址采用的是二级结构,网络位+主机位。网络位是什么呢?就是用来表示某一个网络的,一个ip网络就是一个网段,也是一个广播域,一个局域网。不同的局域网它们本质上,ip网络号不同,所以不能进行直接通信。主机位是什么呢?它是在一个网络内,唯一的标示一个终端。一般情况下我们都讲主机IP地址,这里的主机就是指终端。这个网络位和主机位在一起才是完整的IP地址。那不同主机的网络号相同,那就说明这些主机是同一个局域网内。我们来看IP地址的点分十进制是怎么表示的。一共32位,把它分成四个部分,每个部分都是8位,再把每个8位单独的化成十进制,用点把它们区分开,就变成了点分十进制,这样就成了IP地址。 这里需要大家去掌握二进制和十进制的转化。大家知道二进制和十进制是怎么转换的吗?首先大家知不知道什么是十进制?就是逢十进一,它是由0123456789组成的,9之后就要进位,变成10,这个能理解吧?那二进制也是一样的,它是逢二进一,二进制只有0和1,1之后就要进位变成10,所以2用二进制表示就是10。那3呢,加1变成11。11之后又要进位对吧?变成100,所以4就是100。从0到19对应的二进制都在这,这个最好背的滚瓜烂熟,用的非常多。那我想去知道192的二进制是多少,你要怎么办?一个一个这样加上去,其实这是一种办法,只是这样算很耗时间,那我来给大家讲一个简便的计算方法。【打开txt】2的0次方是多少?1。2的一次方呢?2=10。2的2次方是4=100,2的3次方是8=1000,4次方是16=10000,5次方是32=100000,这样大家有没有发现什么规律?可不可以一口气报给我2的6次方是多少?1000000。是不是几次方就在1后面加几个0?好,那可以反推吧?1后面几个0就是2的几次方?对不对。这样,1100这个数字转换成十进制是多少?是不是可以把1100拆成1000+100,那就很好办了,2的3次方+2的2次方。那大家自己再算一个10011100【2^7+2^4+2^3+2^2=156】这是二进制转十进制,十进制转二进制怎么转?就用192来举例,192在哪两个数字之间?2的8次方是256,2的7次方是128,那就先记128,还剩多少?64,所以192=128+64,2^7+2^6,这样就是10000000+1000000=11000000。好,大家再自己算一个168转二进制是多少。【168=128+32+8,10000000+100000+1000=10101000】这里是二的零次幂到二的七次幂对应的数字,大家最好去记住,这样便于我们之后去计算ip地址。还有二的八次方等于256、二的九次方等于512、二的十次方等于1024。 我们之前讲了网络号的作用,就是区分呢不同的ip网络,路由器一个接口就是一个网络,就是一个广播域。所以这里有两个接口,就是两个广播域,两个网络。左边是一个网络,右边是一个网络,他们的网络号是不同的,就是所属的网段不同。 那我们根据IP地址的网络位个数的不同,可以把它分为以下几类。A类:网络位8位+主机位24位、B类:网络位16位+主机位16位、C类:网络位24位+主机位8位。那A类,它的第一个数字必须要是0,所以可以表示成0xxxxxxx.那这8位的范围就是0--127,同理,B类的前两个数字必须是10,表示成10xxxxxx,那范围是128--191,C类的前三个数字必须是110,表示成110xxxxx,范围是191--223。那这ABC类都是ipv4的单播地址。D类,是组播ipv4地址,固定前缀是1110,表示成1110xxxx,所以范围是224--239.最后一个E类,我们用不到,是给科学家用的,科研保留。表示成11110xxx,范围是240--247。 还有一些特殊的IP地址,我来一一介绍。1:全0,表示所有网络,代表任意节点,常用于指定默认路由,2:全1,表示全网广播地址,代表所有节点,3:网络号为127,主机号任意,表示回环地址,常用于回环测试,那这样,ABC类地址,用户可以使用的范围就是A:1--126,B:128--191,C:192--223。4:网络号任意,主机号全为0,表示网络地址,代表特定网段,我们对于一个主机IP地址,想要得到它的网络地址,就是把网络位不变,主机号全为0,得到的就是这个主机的网络地址。5:网络位任意,主机号全为1,它表示网段的广播地址,就是一个网络内的广播,代表特定的网段所有节点。注意啊,任何一个主机地址都肯定有一个网络地址和广播地址。【比如192.168.1.1,它的网络地址和广播地址是多少?算一下。网络地址192.168.1.0 广播地址192.168.1.255】为什么呢?怎么知道它这个IP地址前24位是网络位的?就根据第一个十进制数192来判断的吧,192在C类地址的范围内,所以网络位为24位。 这是私有地址,有三类,先去记住它。A:10.0.0.0--10.255.255.255,B:172.16.0.0--172.31.255.255,C:192.168.0.0--192.168.225.255。什么是私有地址呢?就是在公网上不能被识别的地址,就是私有地址。 下面是IP地址的计算,10.0.0.0,这是一个A类的地址,那如果给你分配一个这样的网络号,你可以承载多少台主机?【2^24 -2】减2是因为一个网络号一个广播号不可用。那如果把这个10换成11.12.20.30,那它的能有多少台主机?还是那么多吧?所以说,在A类地址中,一个网络内最大的主机个数是【2^24-2】。那我们来看一下B类地址,【2^16-2=65534】主机位是16位,C类【2^8-2=254】。那我们现在就可以知道,当一个网络内的主机数不超过254,那就可以用C类地址,同理,你如果不超过65534,你就可以用B类,那比65534还大,就用A类。那现在啊,网络内的主机数是255怎么办?能不能用C?不能,那就只能用B。那用B理论上是可以的,但是你用B发现255还没有65534的零头大,剩下的地址又不能分给其他的网络用,因为你们是不同的局域网的,这样是不是非常的浪费?我们都讲ipv4现在地址都不够用了,你还这么浪费,不好吧?那我们可不可以想办法把这个B类的大网络,划分成小网络? 这样就有了一个技术,叫做子网划分。什么是子网划分?我们先来讲一下它的定义:就是将一个标准的主网(标准的A类、B类、C类)逻辑上划分成若干个网络位相同的子网。子网划分之后,这个二级地址就变成三级地址了,主网络号+子网号+主机号,主网络号和子网号合在一起是网络号。那主网络号是什么呢?就是这个标准的ABC三类地址的网络号。子网号呢?从主机号借来的。主机号说,你借可以,但是你要守规则,那这里就有了借用的原则:第一、必须从第一位的主机号开始借位,这个第一位是从左往右数的,就是挨着网络位的。【10.0000 0000.0000 0000.0000 0000 那必须从10之后的0开始借位】第二、必须连续依次借位,不能跳着借位,注意是连续依次!这是我们在借用的时候需要注意的。那继续,看10.0.0.0,如果我借了一位,可以产生多少个子网?2个吧,一个0一个1。那借两位呢?00 01 10 11,那就是四个。现在计算:如果借用了九位主机位充当子网,可以产生多少个子网?【很显然2^9=512】也就是说借了多少位,子网位就是2的多少次方。再计算:如果你要产生5个子网,你需要借多少位?【2^x>=5>=2^(x-1)】解出来是3,这样算出来的的数是最合适的。 那现在,有一个公司,它有一个大网络,那不同的部门我们给它分成不同的子网。好,那假设有5个部门,每个部门上网的人数都不一样。A:102 B:60 C:29 D:11 E:3,现在给公司分配一个C类地址,比方说是192.168.100.0,那你给5个部门去分配这个地址,变成5个子网。拿到这个题目怎么做?首先看是5个部门,就是5个子网,那需要向主机位借多少位?3位。那现在可以给我们借的就是后面8位【192.168.100.0000 0000 借之后192.168.100.000 00000】那这样最多可以有多少个主机?【2^5-2=30】30个主机,CDE部门都可以满足需求吧,那AB部门怎么办?30个主机不够他们去分配,但是一个C类地址可以产生254个主机地址吧,那你这5个部门加在一起还没254大呢,按说C是可以用的啊,怎么不可以呢?这个和子网划分有关,子网划分说了要子网位必须相同,【一块蛋糕,平均分成5份,如果前两份多一点,后面少一点就可以了】那现在怎么做呢?先从部门多的开始分配,A的主机有102台,那需要多少位主机位呢?【2^x>=102>=2^(x-1)】这样求出来x就是需要的主机位个数吧?算出来是7,同理算出来BCDE分别要6543位的主机位。先看A,它需要7位的主机位,那剩下的一位就是子网位,我们讲子网位要从左往右开始划分吧,所以【192.168.100.0 0000000】那这样子网位有两种可能,一个0一个1,那我们随便给它取一个1给A,那么A的网络号就是192.168.100.128,网络位有多少个?24+1. 那我把这个网络号给A了之后,还剩一个192.168.100.0。这样B需要2个子网位,【192.168.100.00 000000】第二位又可以一个0一个1,我们随便取个01,那B的网络号就是192.168.100.64,网络位个数是24+2。同理,C部门,【192.168.100.000 00000】随便取个001,网络号就是192.168.100.32,个数是24+3,。D部门【192.168.100.0000 0000】取个0001,这样网络号就是192.168.100.16,个数是24+4。E就是【192.168.100.00000 000】取个00001,这样网络号是192.168.100.8,个数是24+5。用这个方法是不是给这个公司5个部门都分配到了合适的网络号,并且还有剩余吧!但是这个思路明显和子网划分不太一样,叫做VLSM。 VLSM叫做可变长子网掩码。它和子网划分的区别就是,可以将一个主网划分成若干个网络位不相同的子网。它的精髓可以总结为“子网中再划分子网”,前面讲的这个例子要把它记下来,回去再理解一下,自己做一做加深记忆。 那我们再看一个问题,最开始的192.168.100.0 是24位的C类网络地址,那最后还有个192.168.100.0 是29位的网络地址,这两个是不一样的吧,那我现在要你求192.168.100.1的网络地址和广播地址,你觉得它应该是多少?你是不是没法求?因为你根本就不知道它的网络号是多少位的吧,这有24位的有29位的。那我告诉你这个网络是24位的,你就能很容易的知道它网络地址是192.168.100.0,广播地址是192.168.100.255。网络是29位的网络地址就是192.168.100.0,广播地址是192.168.100.7。那么我们是不是就应该用一个东西去区分它们,这样它们就看起来不一样,就方便去求了?就有了子网掩码。它就是用来表示出IP地址中的网络位和主机位,怎么表示呢?网络位全为1,主机位全为0。这样的话,我给你一个IP地址192.168.100.1,再给你一个子网掩码255.255.255.0,255是不是8个1转化过来的,那它就有24个1,也就是说网络位是24位,主机位是8位,这样很容易求IP地址的网络号和广播号了吧!分别是192.168.100.0,192.168.100.255。我再变一下子网掩码,变成255.255.255.240,IP地址不变,网络号和广播号是多少?子网掩码是这么多,那前三个255就是24位的网络位,后面的240转化成二进制是多少?【11110000】所以后面还有4位,一共是28位的网络位。这样网络号就是192.168.100.0,广播号是192.168.100.15。子网掩码要注意一点,就是它中间的0和1不能交叉出现。这就是子网掩码。 那现在这个公司很大,划分了很多个子网,那每个部门之间不能直接通信,那我要和你通信就要去借助三层设备,就去查找三层设备上存的地址信息,那很多个子网,存的信息也很多吧。那作为公司的一把手,想很方便的去找到这个公司的员工,不要去一条一条的查找,就是不要知道你是哪个网段的,只要知道你是我们公司就可以。比如说这个公司有192.168.0.0的网段,192.168.1.0,192.168.2.0,192.168.3.0,它们都是24位的,我想把它变成一个网段,这样就不需要一条一条查,直接就知道是不是这个公司的就行。那怎么合成一条呢?就一个原则:从左往右相同的位是网络位,不同的位开始都是主机位。我们来结合这个例子去讲解。这四个网段前面16位都是相同的192.168那肯定是网络位对吧。那0是0000 0000,1是0000 0001,2是0000 0010,3是0000 0011,这样的话,到哪里开始不一样?到第7位开始不一样吧?前6位都是一样的,那所以啊,网络位就是前22位,后10位都是主机位。这样四个网段就可以用一个192.168.0.0 22位的网络去表示,我们把这样的网络称为超网,这样的技术叫做CIDR无类域间路由。对它来说,没有ABC类的概念,它是用地址块去划分IP地址的。 网段采用二元组的形式去表示,具体怎么表示呢,就是网络前缀/网络位,这样去表示。那刚刚的那个就可以表示成192.168.0.0/22。 有了CIDR它的好处减少了网络数目,缩小了路由选择表,从网络流量、cpu和内存方面来说,开销更低。 这就是IP地址和子网划分。这一章有很多计算要回去多练练,以后做起来可以更熟练。
-------------------清默网络友情提供
|