目录
1 子网划分的定义:
2 掩码介绍
3、子网划分要解决的问题:
4 子网划分步骤
5 范例1根据ip和掩码求所有子网和网络广播地址:
6 范例2根据ip和掩码求同网段地址
7 合并子网的例子根据ip范围合并,并添加回程路由:
8、其他范例:
8.1求子网号
8.2 路由聚合
8.3 求最多主机数
8.4 求广播地址
8.5 根据主机数求掩码
8.6 以下地址中哪个是合法主机 IP地址的是()?
8.7 根据主机数划分子网
1 子网划分的定义:
通过改变ip的掩码长度来改变ip的网络地址,把原来的ip地址从网络位+主机位,改成网络位+子网位+主机位。从而达到缩小主机个数或者扩大主机个数。缩小主机位,可以避免ip资源的浪费,减小广播域,提高效率。扩大主机位可以使节点的路由条目简化。就是借用ip地址四段中某一段,使得这段既有网络位又有主机位。
我们知道,ip地址用32位二进制数字表示,为了方便记忆,每8位用十进制数据和.来分开,如222.90.12.24,分为四段,每段的取值是在0-255间。公网ip是用来寻址和定位某一台设备。
网络部分来确定终端是不是在同一个网段;主机部分用来确定节点终端的容量大小;(这个网段最多可以容纳多少台主机)。同一个部门应该要确保其所有的终端在同一个网段;规划的主机的数量应该在你的主机部分可容纳的范围内;网络地址和运营商的一个节点要对应起来。网络地址作用是寻址和选路,落地到某一ip地址。
通信组成,分为终端,交换节点和通信链路。终端和节点都需要外发数据和接收数据,要完成目的设备在哪里?怎么到达那里?终端和节点都要对出去和进来的数据包进行分拣操作,判断是否落地处理和送出处理。终端和交换节点都需要ip地址来标记,数据包的传输需要ip地址来寻址。ip地址32位,ip地址有2^32个,全球统一编码。节点不可能把所有ip都一一列举出来写明它的出口规则。所以把ip地址分为网络部分和主机部分,网络部分通常用来定位交换节点的物理位置,代表一定数量的主机。网络部分来确定终端是不是在同一个网段;主机部分用来确定节点终端的容量大小;(这个网段最多可以容纳多少台主机)。同一个部门应该要确保其所有的终端在同一个网段;规划的主机的数量应该在你的主机部分可容纳的范围内;
如网络地址9.0.0.0/8就代表2^24个主机。交换节点和其下属的设备都拥有相同的网络地址,交换节点,能广播寻址到其直接下挂的终端设备。所有外部到终端的包,都会通过网络地址来寻址转发到其上属的交换节点,同样,终端发出的到节点外部的包,也要通过交换节点发出。网络地址就是简化路由条目,选路和寻址的作用。这里涉及snat和dnat的技术,完成私网到公网的ip地址转换。一个网络地址代表有共同属性一定数量主机,同一网络地址下可以直接通信。
举个例子,网络地址就像邮局的邮政编码,一个邮局管辖很多的服务终端客户,具体街道小区单位名称收件人相当于主机地址。邮编就代表一堆终端的集合。各级节点看到邮编就会逐级选路,送到目的邮局,目的邮局在根据收件地址和人名投递到客户手里。如710014,71陕西,00西安,14代表北关邮局。全国规划编码,邮局收到本身编码的信件,留下本局投送。不是本局送出到规定的邮路。网络地址就相当于一个邮编,对应一定数量的属性主机,同一网络地址下,可以不通过网关通信。
掩码获取ip网络地址的方法,就是表示ip地址32位中,网络地址的位数。掩码也有两种表达方式,一种是数字格式,如一个ip加掩码192.168.0.25/26,这里的/后面26就是掩码,表示在ip的32中,左边26位是网络地址位,后面32-26=6是主机地址位。另一种是用ip方式来表示,分四段,所有的网络位为二进制1,主机位为0,转换为十进制后写出来,如26就是 11111 11111 1111 1111 1111 1111 1100 0000,写成十进制.的格式就是255.255.255.192。特点就是每段取值0,128,192,224,240,248,252,254,255这些数字中取一个。
掩码的作用是终端和交换节点的分拣数据包,作为寻址选路的依据,交换节点,根据掩码和ip地址与,得出网络地址,根据预设的下一跳,指向目的网络节点。网络节点收到包后要判断是否是本地所属地址,就像邮局处理下面收上来,和上面发下来的邮件,首先要先判断是否是本辖区投递的,是就留下来,不是就根据对应规则送出或者退回等处理。同样,网络地址就标识一个网络节点和其下挂的终端设备。ip通信里也要是否本地处理的判断,和选路判断。方法就是,直连路由优先,用目的ip和路由表里路由掩码进行与运算,截取前缀进行比较,符合就对应处理。
网络地址代表一定通过ip地址属性的主机的集合,网络地址是这些主机共同具备的。相同的网络地址下的设备可以直接通信而不需要路由网关参与。网络地址是ip落地的判断条件。就像一个邮局收到信件的邮编是本局邮编一样。
我们知道,ip通信网是一个金字塔的结构组网,越向上,表示带的ip终端越多,越向下,表示的终端越少。所以就要拓补上级局点,掩码数字越小,代表越多主机,下级局,掩码越大,代表主机数变小。
所谓子网划分,就是把网络位向右扩大,扩大几位作为一个子网位,减小主机位,这样网络地址就扩大了。如下图扩大网络地址,减小主机位。子网使主机位变小,该网络地址下的主机个数减小。
也可以把下面变成上面,扩大主机位,减小网络位,多个子网划归一个网络,多用于路由聚合。聚合就是主机位左移,扩大主机位,使得网络地址下,容纳更多的主机。
如上图,看有扩大网络位,有上到下,也可以缩小网络位,有下到上,这样来实现子网划分。
2 掩码介绍
类似邮局的工作,要本局向外发出信件和收到上级送下来的信件,这就要进行分拣后决定是否本局落地投送还是送出处理?分拣就需要一个算法,就是检查邮编,邮编是本地邮局,就留下投送,不是本局就送到上级邮局处理,在上级邮局,它有多个出口,就有更仔细的规则,如一个省级分拣中心,它有到省内各地级市,有直达的周边省份,有省份集中点,有国际邮件出口等等,就得有多个分拣规则。所以,ip通信类似寻址选路处理,用ip编码解决在哪里,路由规则解决怎么去的问题。
掩码就是子网掩码就是用来标识IP中32位2进制中有多少位属于网络地址,ip地址中截取前多少位数,以获得网络地址。掩码可以有ip形式的四段表示方法,网络位为全1,主机位为全0,常规的ip与掩码相与,屏蔽了主机位。得出网络地址。
网络地址和掩码用来确定一定的路由指向,一个网络地址确定一定的设备集合,网络地址范围越小,同组的广播消息越少。掩码就是为了确定网络地址而截取的ip地址位数。
举个一个电话通信的例子,号码分析,要通过截取一定长度的号码位数。要实现全球自动拨号,首先要全球统一格式的编号。固定电话号码,全球唯一编号,用00国家号地区号电话局号用户号来编号,如00862986255120,86是中国,29是西安,8625是龙首村电信局的号码编号,5120是用户号码,龙首村电信局用8625这个编号,代表它的用户号码范围86250000-86259999这一万个号码。就相当于一个主机设备的集合,相当ip地址里网络地址。是下属主机的号码的截取前几位所得。86这百万个号码代表北郊西郊一个汇接局,82代表东郊汇接局,88代表南郊汇接局,85代表郊县等等。当西安本地拨打8625xxxx会指向龙首村电信局,外地长途和本省长途的0298625xxxx也会指向龙首村电信局的设备。号码分析到局号的四位后,就完成号码分析,选路。这样就实现全网自动呼叫。
一部电话需要一个节点交换设备,节点设备要处理,下挂电话的做主叫打出,和外部节点设备发来的打入工作,下挂设备做被叫。节点设备就要做被叫号码分析,号码分析的依据就类似路由表,本地号码号段,非本地号码号段。被叫是本地的落地处理,非本地送出处理。
类比语音交换机的号码分析和选路,我们有一个字冠和字冠长度的名词,字冠是被叫号码的前缀,是被叫号码中从第一位开始且连续的一串号码。呼叫字冠既可以是被叫号码的前一位或前几位号码,也可以是被叫号码的全部号码。字冠长度就号码分析时,截取被叫号码的长度。每个交换机都要定义自身所属的字冠,和出局字冠的出口。因为交换机处理被叫首先判断是否落地本局,是本局处理,不是送出处理。
现在龙首村电信局要面对楼宇和单位,安排小交换机,小交换机处理本楼宇和本单位的内部通话,不出小交换机,就需要细化号码范围,如a楼只需要200个电话的小交换机,而G大型工厂需要2000部的号码容量的大型交换机,那么a楼就细化的号码第六位,86250000-86250199分配给a楼,而G工厂则细化到第五位86258000-86259999这两千个号码分配给G工厂的交换机。a楼交换机做两条本地号码字冠,被叫号码截取位数6位,符合862500,862501匹配就是在本地交换机处理,其他送到上级设备。G工厂的交换机做两条本地字冠,被叫号码截取5位,符合86258和86259的在本地处理,其他送到上级设备。而在龙首村电信局,需要指定被叫前六位符合862500和862501送到a楼交换机,被叫号码截取前五位86258和86259需要送到G工厂交换机。这样就实现设备的呼出,和呼入的落地。这种细化号码,分配给不同设备,就类似于我们的子网划分,被叫号码前几位类似网络地址,代表一堆设备的集合。我们把截取位数右移来把一个大的集合分为小的集合,这样避免号码浪费,加快处理速度和效率。
这里我们类比ip通信,同样要根据目的ip进行分析和选路,网段地址就是字冠,掩码就是字冠长度。设备首先要定义自身的ip和直连网段,用于判断是否落地和直接访问,还要有出本设备处理网络地址的路由表。一个公网ip,如222.90.0.0/16,可以看做是60000多个主机的网络地址,指向一个设备机房,但这个机房直属用户没有这么多,它下面还有很多分机房需要几百,几千个ip的,那么就可以把ip划分成不同的子网,让掩码右移,让网络位变多,主机位变小,来分给这些小规模的地方。这样可以减小广播域,提升路由分析效率。
子网划分用的掩码,掩码是用来表示网络位+子网位+主机位,如掩码为26就是表示,ip地址中前26位为网络地址,32-26=6为主机地址。确定子网位在ip地址第四段。路由表项分析时,要截取的位数,截取后,和路由表项对比,一致就匹配路由。原来的网络位还是不变的,子网位取值决定了子网的个数,如子网位3,就代表子网位有2^3=8种取值,每个取值代表一个子网,所以有8个子网。
前面讲过掩码有两种表示方法,一种是数字,如上面说的26,另一种用ip地址表示,网络位用全1表示,主机位用全0表示。26位,表示成1111 1111 1111 1111 11111 11111 1100 0000
写成十进制四段就是255.255.255.192。
设备常用Ip地址分为A,B,C三类,掩码对应8,16,24,对应255.0.0.0,255.255.0.0,255.255.255.0
子网划分,可以把掩码向右边主机位借位,这就是ulsm,也可以向左边网络位借位,这就是cidr。就是将ABC缺省的三类地址,ip地址四段要么是网络位,要么是主机位,增加第三种类型,既有网络位,又有主机位的新类型来。就是把255和0的数值,增加第三种非255和0的偶数出来。就是把原有的256个ip分成若干个小段,让需要的主机落在对应的段内。每段网络地址值由网络位这几位决定。
3、子网划分要解决的问题:
网络ip被划分成x个子网后,x一定是能被2整除的一定范围偶数(具体见下面的描述),用每个子网的网络地址,作为子网网络地址,来标识一个子网。
子网位的一个取值,代表主机位全0到全1这样的一个ip取值范围。
子网号子网位的一个取值,一个子网位的取值代表一个新的网络地址,子网位有多少种取值变化,代表就觉得有多少个子网。如子网位3位,那子网位就有000到111共8种取值,每一个取值决定一个网络地址,所以就有8个子网。如192.168.10.32/27 255.255.255.224本来是个c类地址,默认掩码长度是24,现在子网位是3,所以有8个子网,192.168.10.32/27是其中一个。每个子网的主机位5位,有2^5=32种变化,它代表了192.168.10.32到192.168.10.63之间的ip地址的一个集合标志。
网络地址就是所有的主机位为0,广播地址就是所有的主机位为1。
每个子网网络地址通常用ip地址和掩码相与得出,网络地址的全部主机位为0。网络地址代表主机位从全0到全1这么多ip的一个集合,一个网络节点编号。如192.168.10.32/27,ip地址第四段是十进制32,写成二进制就是0010 0000。后五位主机位是全0。代表主机的ip范围是192.168.10.32第四段二进制0010 0000到192.168.10.63,第四段的63的二进制0011 1111这32个ip地址。
划分子网,要解决问题:
子网里最大ip地址的个数?可划分成的子网个数?每个子网的主机范围?每个子网的网络地址和广播地址?掩码值?网络长度表示法和ip地址表示法。具体一个ip的子网号?
我们根据这样的原则处理:
1、确定子网位在ip地址四段中的那一段?
方法:根据掩码进行判断,掩码有长度和ip形式两种。
a、掩码值为长度形式的,小于8,在第一段,大于8,小于16在第二段,大于16小于24在第三段,大于24,小于32,在第四段。如123.113.251.15/26,明显是在第四段变化。是8的倍数8,16,24,32这是一个标准abc地址,没有子网。
b、掩码是ip形式的,四段的。看是否有非0和255的数字,而且是128,192,224,240,248,252,254中的一个这些数字出现在ip第几段?这些数字出现在那一段,这段就是要找的变化段。因为,ip某一段,全主机位,掩码就是0,全网络位就是255,而变化段,肯定是偶数,而且大于等于128.
如192.168.203.12 255.255.192.0,就确定第三段是既有网络位又有主机位。
下面是原理说明:
就是既有网络位,又有主机位的是ip地址四段的那一段?因为子网位在这一段,因为ip地址中的四段中某一段,要么全是网络地址位,要么全是主机地址位,要么前面几位是网络位,后面几位是主机位。新加的子网位和主机位都在这一段,原有的网络位部分,是没变化的,所以只有子网就在这一段变化,这一段决定了子网的变化,所以我们只研究这一段就行了。增加了几位网络位或者减小几位网络位,就有2^变化位数种二进制变化。
主机数小于256的,在ip第四段。大于256小于65525的在第三段变化。这两个常见,其他第二段,第一段主机太多,不会经常碰到。2^(32-掩码长度值)必须大于实际设备数。
我们知道,一个掩码8位二进制数的各位权值如下:1000 0000 128,1向右循环右移,权值如下图:
权值和位数n的关系2^(n-1)
我们发现,掩码位右移,占用一位主机位后,掩码值就是1000 0000.掩码十进制值就由0,变成128,这是最小值,同样也可以主机位左移,占用一位原来网络位后,掩码值1111 1110.掩码从255,变成254.
如图:设这个数中0的个数为n(即主机位数),第8位的1每向右战一位,权值就减小一倍,全0位的变化就减小一倍2^n,而全1位的变化就增加一倍2^(8-n),掩码的网络位就是个数就是截取ip地址的位数,在这段ip的8位中截取8-n位,它有2^(8-n)种变化,即网络地址在该段的可能性,每个值就是子网号。后面的主机位ip,就有0-2^n-1(二进制全0,到全1)种取值变化。而网络地址就是主机可能ip数2^n*子网取值,所以子网网络地址就有2^(8-n)个。
形象的比方子网划分,类似找出256张麻将牌,标上0到255,按从小到大排成一列,要把这一段均匀分成几份(能被2整除的几份),就是网络位w,分成2^w份,每份大小就是2^(8-w),每一份的所以数字网络位是相同的,每份的开头数字和结束数字就是对应网络地址和广播地址的第几段。如确定第二段既有网络位还有主机位,这个数字就是ip地址的第二段的网络地址,或广播地址。在第三段就是网络,广播地址第三段,第四段同样。
再好比一条256段软绳,贴上0-255的数字标签,中间一折,一分为2,0-127一段,128-255一段。再中间一折,二分为4段,0-63,64-127,128-191,192-255为一段。再一折,4分为8,再一折,8分为16.......,最后,第七次对折,分成128个小段,每段大小为2,0-1,2-3,4-5......,254-255。折的次数就是网络位,每段大小就是主机位的ip个数,就是块大小,等分的个数就是子网个数,每一份都有自己开头编号和结束编号。
如把0-255麻将分成下面份数:
分成2份,网络位就是1位,主机位7位,每份128个值,块大小128.
分成4份,网络位就是2位,主机位6位,每份大小64,块大小64,
分成8份,网络位就是3位,主机位5位,每份大小32,块大小32,
分成16份,网络位就是4位,主机位4位,每份大小16,块大小16,
分成32份,网络位就是5位,主机位3位,每份大小8,块大小8,
分成64份,网络位就是6位,主机位2位,每份大小4,块大小4,
分成128份,网络位就是7位,主机1位,每份大小2,块大小2.
由上表看出:网络位多一位,就是1循环右移1位,分成的份数就是子网个数就多一倍,每份的大小就是块大小减小一倍。这就好比一根软绳,只能从中间对折,只能是等分。
确定ip地址中既有网络位,又有主机位的方法,根据掩码来判断:
2、确定划分子网的在第一步确定ip段中,主机位n是多少?确定子网所在ip段中块大小为2^n。
第一步中确定在第几段变化,令掩码长度为y,在第一段就8-y,第二段就是16-y,第三段就是24-y,第四段就是32-y
若掩码是ip四段形式,就用确定的那一段的非0和255的数字令为y=256-2^n,来求n,可见章节5的说明,现在先记住。
如172.31.236.242 255.255.255.240,根据240在第四段,求得第四段主机位数n=4,掩码长度就是32-4=28
主机位为n,该段主机个数就2^n,因为主机位的二进制有从0到2^n-1中变化。一个网络地址就代表这么多主机地址。如192.168.10.192/26就代表192.168.10.192到192.168.10.255这64个ip地址。
3、变化段的子网个数就是2^(8-n)个
因为网络位为8-n,共有2^(8-n)种变化。表示该段256个ip分成了2^(8-n)块,每块大小是2^n个ip地址。
如该段n=1,每段ip数就是2个,共有2^7=128个子网,n=7,共两个子网,每个子网用有ip数2^7=128个。
有的情况下,已知一个子网地址和掩码,要再划分成子网,比如掩码从192.168.10.0/25变成28,那么子网个数就是掩码的差的2次方,即网络位变化几位w,子网个数就是2^w个,这个例子w=3,子网个数就是2^3=8个。
4、子网的网络地址在该段值就是2^n*k,该段ip十进制值范围就是2^n*k到2^n*(k+1)-1
为啥是这个值,因为网络地址所在ip段,8位二进制数,既有网络位,又有主机位,主机位全为0,我们把网络位几位8-n位看着一个整体,主机位看成一个整体,它的值为k,他的位数为n+1,权值为2^n,整个二进制数字的大小就是2^n*k+主机位的值,因为主机位全二进制的0,所以主机位的值为0,所以网络地址的值就是2^n*k。
一个网络地址的变化段代表有2^n个ip地址,因为ip就是2^n*k+主机位的值,主机位的值就是全0到全1,就是2^n*k+0,最后一个数值就2^n*k+2^n-1,这个值就是该段主机位全1,再+1,主机位就变成全0,网络位就+1,ip就变成2^n*(k+1),所以在网络地址为2^n*k时,该段ip的范围2^n*k到2^n*(k+1)-1。
已知ip的某一段,求网络地址,其实也可以用该段值去除2^n,得到余数,该段值减去余数也可得到网络地址在该段的值。如192.168.19.125/29,掩码29可以算出n=32-29=3,2^3=8,125/8的15余5,所以网络地址可以是15*8=120,也可以是125-5=120。所以网络地址就是192.168.19.120/29。
k为整数 k从0开始,一直到2^(8-n)-1,共2^(8-n)个,就是说有这么多个子网和子网地址。当该段为第一段,网络地址其他三段为0,该段为第二段,网络地址三四段为0,该段为第三段,网络地址第四段为0。在第四段,网络地址第四段为2^n*k。如n=3,k的取值范围是0-31。k=0时,网络地址为0,k=31时,网络地址是2^3*31=248。
ip地址四段是全是网络位的因为掩码的ip格式是1111 1111,所以掩码十进制就是255,而ip地址四段中是纯主机位的,因为掩码是0000 0000,所以掩码是十进制是0,既有网络位,又有主机位的,其取整在128,192,224,240,248,252,254中的一个。看下面的范例:
子网位在第一段如ip地址16.1.2.3/4 240.0.0.0 掩码第二三四段为0,掩码第一段既有网络位又有主机位值为256-2^n。网络地址的第一段值为k*2^n,第234段为0,16.0.0.0。
子网位在第二段如ip为172.17.10.151/14 255.252.0.0 第三四端为0 ,掩码第一段值为255,第二段值为256-2^n,第三四段是主机位0,第二段既有网络位又有主机位。网络地址的第一段和ip地址一致,第二段值为k*2^n,第34段为0,172.16.0.0。
子网位在第三段如ip为192.168.30.128/19 255.255.224.0, 掩码第四段为0,第一二段是网络位255,第四段是主机位0,第三段既有网络位又有主机位。网络地址的前两段和ip地址一致,第三段值为k*2^n,第四段为0,192.168.0.0。
子网位在第四段如ip为192.168.201.202/26 255.255.255.192 ,掩码前三段都是网络地址所以掩码为255,第四段为192,第四段段既有网络位又有主机位。网络地址的前三段和ip地址一致,第四段值为k*2^n,192.168.201.192。
5、掩码值ip值在该段十进制256-2^n,就是网络地址在该段最大的值。
n为该段的主机位数,当该段为第一段,掩码值小于8,掩码ip值其他三段为0,掩码数字值为8-n。段为第二段掩码值大于8小于16,掩码的ip值第一段为255,三四段为0,掩码值数字就是16-n。该段为第三段大于掩码值大于16小于24,掩码一二段为255,掩码ip值第四段为0,掩码值数字就是24-n该段在第四段,掩码值大于24,小于等于32,掩码ip前三段为255,第四段ip值为256-2^n,掩码值数字为32-n
掩码在该段的十进制为啥是256-2^n,因为主机位全1的最大值是2^n-1,而8位全1最大值是255,网络位全1,255-(2^n-1)=256-2^n
也就是把网络位看做一个整体,最大网络位计算,网络位是全1,所以就是该段最大网络地址(2^(8-n)-1)*2^n=256-2^n
6、广播地址在子网位所在段的值为2^n*(k+1)-1,下一个网络地址该段值-1
因为广播地址主机位全是1,再加1,就是主机位有全1变成全0,网络位值+1,就变成下一个网络地址。所以,广播地址就是2^n*(k+1)-1。
当该段为第一段,广播地址其他三段为255,该段为第二段,三四段为255,该段为第三段,第四段为255。即一个子网的广播地址,就是下一个子网的网络地址的变化段ip,网络地址-1。实际应用中判断是否是一个子网,就用变化段ip去除2^n,取整就的k值,k值一致就是同一网段。如n=2,子网数就2^6=64,子网号在该段的值是,2^2*k,k是0-63中的一个整数值。k=0时,子网号是0,广播地址4*(0+1)-1=3。
如4中网络地址一样,广播地址中ip四段中整段为纯主机位为255
子网 在第一段如ip为16.1.2.3/4,广播地址31.255.255.255/4 掩码240.0.0.0 网络地址 第二三四段为255k=1, 第一段2^4*(k+1)-1=31
子网位在第二段如ip为172.17.10.151/14,广播地址172.19.255.255/14 255.252.0.0 第三四端为255,第一段和ip地址一致,第二段为2^n*(k+1)-1=4*5-1=19
k=4,. 第二段2^2*(k+1)-1=19
子网位在第三段如ip为192.168.30.128/19,广播地址192.168.31.255/19 255.255.224.0, 第四段为255,网络地址前两段和ip地址一致,第三段为2^n*(k+1)-1=32*1-1=31。
k=0,. 第三段2^5*(k+1)-1=31
子网位在第四段如ip为192.168.201.202/26 ,广播地址192.168.201.255/26 255.255.255.192 第四段为2^n*(k+1)-1,前三段和ip地址一致。
k=3,. 第四段2^6*(k+1)-1=255
7、子网网段ip范围和可用主机数2^(32-掩码位数)-2
子网的主机变化数中,网络地址全0和广播地址全1不能被设备配置到设备上。
ip范围就是网络地址和广播地址之间ip,注意当子网位不在第第四段时,广播地址要其他纯主机位的ip段转化为全1,十进制255,如192.168.192.0/19的ip访问就是:
192.168.192.0-192.168.223.255
因为ip地址的网络地址,和广播地址不可用,所以一个子网的可用ip,第4步确定的网络地址,和第6步确定广播地址间的地址。当掩码大于24时,可用ip数为2^n-2。掩码值大于16,小于24时,可用ip是2^n*256-2。掩码值大于8,小于16时,可用ip是2^n*256*256-2。掩码小于8,可用ip是2^n*256*256*256-2。若掩码数为m,有效主机数就是2^(32-m)-2。结论:要求主机数在256以下,ip变化段就在第四段,大于256小雨65535,变化段就是在第三段。其他更大数量的主机,少能遇到。所以可用主机数,n为主机位数,就是2^(32-掩码位数)-2。
8、判断是否是同一子网,变化段ip/2^n取整得到k,k相同就是同一子网
确定的一个具体的ip的子网网络号的方法是:确定既有网络位和主机位在ip的那一段,用这一段的值去除2^n,得到的值取整,假如得到一个值k,用k*2^n得到值,就是这个ip在变化段的网络地址值。
既有网络位,又有主机位的ip地址段,它的值就是网络地址值+主机地址值,网络位地址值为kx2^n,而主机位的值,从全0到全1,十进制值就是就是0-2^n-1,整段值就是kx2^n到kx2^n+(2^n-1),这段值去除2^n,结果取整,都等于k,因为(2^n-1)/2^n小于1,取整被舍去。
所以同一子网里的ip,k值相同。所以我们判断两个ip是否属于同一子网,就用上面方法,根据k是否相同来判断。k相同是同一子网,余数为0,这个ip就是网络地址,余数为2^n-1就是广播地址。
如192.168.205.40/29,在第四段变化,32-29=3,n为3,2^n=8.,40/8=5,余数为0,所以这个网络地址。40的二进制是0010 1000,主机位红色全0,所以是网络地址。
再如192.168.205.47/29,同样47/8取整为5余7,是2^3-1,所以是广播地址,47就是0010 11111,主机位全1,所以是广播地址。
9、子网位n,网络位,子网个数,主机ip数的关系如下表:
子网划分掩码要借用主机位或者网络位,判断子网时要确定掩码在ip地址四段中的那一段,一个ip地址的网络号是ip地址和掩码相与得出的,掩码所在的那一段中的主机位若为n,代表主机的取值是2^n个,从0到2^n-1,主机位为全0是网络地址,主机位全1是广播地址。子网的个数是2^(8-n)个,取值从0到2^(8-n)-1,每一个值加上主机位为0的值就是网络地址的所在段值。这些子网都有各自的网络地址,每个子网可用的ip范围就是主机位非全0或者全1的ip,共2^n*后面几段的最大值-2个可用地址。掩码值确定就是先确定子网地址在四段中的那一段变化,如第一段的话,掩码值就是8-n,第二段的话就是16-n,第三段就是24-n,第四段就是32-n,该段掩码的十进制值就是256-2^n。这个不用记忆,明白算法一算就出来了,因为主机位最大值是2^n-1,整个一个字节最大255-(2^n-1)=256-2^n。
从上面的列表看出,掩码十进制值,除了255和0外都是偶数,子网个数只有偶数,最大128,最小两个。而且都是在2,4,8,16,32,64,128之间。不存在奇数子网个数,或者6,10,18不能被2除尽的子网个数。
如192.168.10.25/30 255.255.255.252的网络地址就是25/4取整=6,6*2^2=24,所以网络地址就是192.168.10.24
4 子网划分步骤
首先确定:
分三步,确定子网位所在的ip地址那一段,根据在该段的主机位,主机位的块大小(ip变化个数),再计算各种数值。
子网中有效主机个数要符合实际的需要,如一个需求,主机个数是25个,那么主机位n,必须是2^n-2>25,所以n最小是5。若另一个应用要求有效主机个数是500个,n最小就是9.
子网里ip地址总数就有2^5=32,2^9=512,除去网络地址和广播地址,可用ip数就是2^n-2,本例就是510。
2. 确定主机个数后,就必须确定子网位在那一段,就是掩码在ip地址第几段变化?如上面的例子,主机位为5的话,掩码即网络位就是32-5=27,大于24,所以在第四段变化,第四段既有网络地址位也有主机位。
3.子网的个数由子网位决定,即ip地址四段中既有网络位又有主机位是那一段?除去主机位的网络位数2^(8-n)决定。如主机位5位的,子网个数为2^3=8,主机位为9的子网个数是2^7=128个子网。每个子网在变化段的网络地址就是2^n与网络位的乘积。
4 .可用的ip地址在变化段ip范围是开始是网络地址+1,结束是广播地址-1。
如192.168.205.201/19这个ip地址,掩码第三段256-2^5=224.第四段全是是主机位,所以掩码是0,是255.255.224.0,我们以这个为例说明:
5 范例1根据ip和掩码求所有子网和网络广播地址:
192.168.205.201/19
要求:根据某一个ip,判断子网号,根据掩码,列出全部子网网络地址。
网络位的二进制可能性,决定子网个数。
子网网络地址就是具体某一个子网位取值对应的网络地址。
如ip192.168.205.201 /19 ,这是一个c类地址,掩码默认是24,现在是19,表示借用了5位网络地址作为主机位,子网位变成三位。ip地址第三段既有网络位又有主机位,块大小2^5=32,所以网络地址第三段就是205/32取整为6,余13,所以网段地址第三段就是6*32=192,第一二段是网络地址,保持不变,第四段是主叫地址,在网络地址写成0,所以:
网络地址就是192.168.192.0 掩码就是255.255.224.0
传统的计算方法就是ip地址与掩码进行与运算,如下:
192.168.1100 1101.1100 1001 ip地址
255.255.1110 0000.0000 0000 掩码
192.168.1100 0000.0000 0000 网络地址是192.168.192.0,这个ip在这个子网中。
确定全部子网号:
掩码是19,大于16(ip前两段为网络位)小于24(ip前三段为网络位),所以ip第三段既有网络位还有主机位,就是第三段用了19-16=3位作为网络位,3位网络位有2^3=8种变化,二进制值000-111,该段主机位为5位,每个子网里在ip地址第三段有2^5=32个ip地址,每个子网可用ip就是32*256-2,所以第三段第四段的网络位和主机位有下面的取值,最小值和最多值见下图:
我们确定块大小就是主机位变化数为2^5=32,网络位三位,k的取值在十进制0-7,所以kx2^n的取值就在0-224间,步长为2^5=32,如下ip第三段红字是网络地址,把网络地址为的000-111变化后子网地址和广播地址。
第三段bin 第四段bin 网络地址 第三段bin 第四段bin 广播地址
00000000 0000 0000 192.168.0.0 000 11111 1111 1111 192.168.31.255 网络地址的第三段就是0*32=0,广播地址1*32-1=31
00100000 0000 0000 192.168.32.0 001 11111 1111 1111 192.168.63.255 网络地址的第三段就是1*32=32,广播地址2*32-1=63
01000000 0000 0000 192.168.64.0 010 11111 1111 1111 192.168.95.255 网络地址的第三段就是2*32=64,广播地址3*32-1=95
01100000 0000 0000 192.168.96.0 011 11111 1111 1111 192.168.127.255 网络地址的第三段就是3*32=96,广播地址4*32-1=127
10000000 0000 0000 192.168.128.0 100 11111 1111 1111 192.168.159.255 网络地址的第三段就是4*32=128,广播地址5*32-1=159
10100000 0000 0000 192.168.160.0 101 11111 1111 1111 192.168.191.255 网络地址的第三段就是5*32=160,广播地址6*32-1=191
11000000 0000 0000 192.168.192.0 110 11111 1111 1111 192.168.223.255 网络地址的第三段就是6*32=192,广播地址7*32-1=223
11100000 0000 0000 192.168.224.0 111 11111 1111 1111 192.168.255.255 网络地址的第三段就是7*32=224,广播地址8*32-1=255
对应这个ip192.168.205.201/19的子网号就是192.168.192.0,另一种算法就是第三段的ip值205去除32,为6余13,所以子网号的第三段就是6*32=192。
注意一定,若掩码在第三段变化,所以第四段为全0或者全1,就可能是合法地址,如
192.168.193.0/19 三四段二进制就是 1100 0001 0000 0000,标红的主机不全为0
192.168.193.255/19三四段二进制就是 1100 0001 1111 1111,标红的主机不全为1
所以,掩码为19位的ip地址,有第三列的ip的最小值为子网号,第六列ip地址最大值作为广播地址。子网号的个数是2^3=8,可用主机数的为第三段主机位数5的平方乘以第四段的256,即2^5*256-2=2046个可用ip地址。192.168.205.201是在子网号192.168.192.0这个子网下。
再如这个例子:
6 范例2根据ip和掩码求同网段地址
题目:有一个设备,串口查询ip172.26.0.214/30,要求计算pc配置哪个ip才能与设备直连进行web访问?
处理原则:问题是已知ip和掩码,求子网内可用ip范围。直连访问,必须是同一子网的ip,而且不能冲突,才能进行访问,而且子网的网络地址和广播地址不用使用。
处理过程:
掩码30位,子网位在ip地址第四段,主机位数32-30=2,掩码第四段就是256-2^2=252,每2^2=4个ip化成一段,子网位6,子网数2^(8-2)=64,有效ip个数2^2-2=2,对这个ip,第四段214/4=53,余2,网络地址第四段就是4*53=212,网络地址就是212,广播地址就是4*54-1=215,可用地址就是213.和214
展开如下:
172 26 0 214 1101 0110 ip 第四段用二进制表示
255 255 255 252 1111 1100 掩码 和上面ip与的结果就是下面的网络地址
172 26 0 212 1101 0100 网络地址 172.26.0.212
172 26 0 215 1101 0111 广播地址 172.26.0.215
可用ip就是第四段后两位是01和10就是十进制是213和214,既然设备已经配置了214,pc只能配置213才能访问,配置为172.26.0.213/30。
7 合并子网的例子根据ip范围合并,并添加回程路由:
三层交换机192.168.100.1/24下带若干个子网192.168.192-213.xxx/24,每个网段一个接入交换机,现在需要各个子网下的ip都能访问交换机管理ip192.168.100.xxx,需要在各个交换机上做回程路由:
这是一个掩码左移,向网络位借位,扩大主机位范围,使得能容纳更多ip子网网段。
依据的是同一子网里的变化段的ip除每个子网的最多ip个数,得到值取整,数值是相等的。
子网ip地址在第三段变化,192-213共21子网,21个子网需要第三段的主机位最小是2^5=32,先取主机位为5试一下,掩码256-2^5=224,开始地址和结束地址除32,若得数取整,相同就是在同一子网里,192/32=6 ,213/32取整为6,假若不相等,那就无法使用这掩码。所以这两个ip都在掩码为16+(8-5)=19的子网里,而且在32*6=192,到223这个子网范围里,所以网络地址为192.168.192.0/19,广播地址192.168.223.255,可用地址2^(5+8)-2,所以在各个接入交换机上做路由192.168.192.0/19 下一跳192.168.100.1。
注意:不是所有的情况都可用合并子网,必须合并的ip都在同一子网的有效ip范围了。
8、其他范例:
8.1求子网号
方法:问题是确定子网的网络地址,我们只要先确定子网位在ip的第几段,主机位数2^n=256-掩码值,子网的网络位取值就是用这段ip值,去除每个子网最大主机ip数2^n,商取整得到一个值k,k*2^n
看掩码第四段为0,第三段248小于255,确定第三段既有网络位也有主机位,256-248=8是2^3,确定主机位是3位,有8种可能性。ip地址第三段为52,52/8取整为6,6*2^3=48,所以网络地址地址第三段为48,所以答案是D.
8.2 路由聚合
这是一个路由合并问题,方法是,用一个掩码左移,用一个大的网络去涵盖小网络,小网络作为大网络的子网,先确定要移动的主机位数n,2^n必须大于等于合并数的差值(路由聚合只要包含这个网段,不用考虑网络地址和广播地址)。而且合并后必须在同一子网。
查看这段地址,主要在ip地址第二段变化,目的是用一个子网涵盖这些范围的主机,第二段31-16=15,小于16,所以该子网要求第二段主机数为最多16个,主机数为2^4=16,那么该段网络位4,在第二段变化,所以掩码为8+4=12,而第二段最小值为16,最多子31,16/16=1,31/16取整=1,所以他们在同一子网,子网ip地址第二段就是第二段最多主机数16*1,所以答案是B。
8.3 求最多主机数
首先明确最多主机数,就是可用ip数,等于2^(32-掩码位数)-2,除去网络地址和广播地址。这是根据十进制掩码值来确定掩码长度值的问题。
子网掩码第四段为0,表示ip地址第四段全是主机位,第三段为252,看出第三段既有网络位,又有主机位,掩码=256-2^(主机位数),所以得出主机位数为2,所以主机位是第三段2+第四段的8位,就是掩码值是32-10=22,主机位数为10位,可用主机数就是2^10-2=1022,所以答案是B。
8.4 求广播地址
首先明确,这是根据已有子网内ip确定广播地址的问题。广播地址是全部主机位都为1,而且变化段的地址,是变化段下一个子网网络地址-1。
掩码是26,确定在ip地址第四段变化。主机位是32-26=6,每个子网最多ip个数是2^6=64,ip地址第四段131,131/64取整是2,对应子网在第四段是64*2,=128,所以子网的网络地址是172.16.7.128/26,下一个子网地址第四段是3*64=192,192-1=191,所以答案是D172.16.7.191。
8.5 根据主机数求掩码
这是根据可用ip数来确定掩码的问题,可以确定主机位数,根据主机位确定掩码值。原则,主机位数为n,2^n-2要大于实际主机数。
459台主机大于256,显然第四段不够,必须向左边网络位借位。2^9=512>459,第三段借一位,满足主机数要求,而且子网数2^7=128个。所以掩码就是16+7=23,第三段掩码值256-2^1=254,所以答案是D255.255.254.0。
8.6 以下地址中哪个是合法主机 IP地址的是()?
A 152.178.132.95/27
B 152.179.39.223/26
C 219.72.294.80/25
D 61.139.144.0/22
这是判断ip地址每段取值是否合法,排除ip地址是否是网络地址和广播地址的问题。
已知ip地址求网络地址,就是根据掩码确定既有网络位和主机位的ip地址四段中的那一段中,主机位的位数n,该段ip/2^n的值,余数为0的话该段符合网络地址,若余数不为0,且余数为2^n-1就该段符合广播地址,若不是2^n-1,该段符合合法可用地址。再结合其他主机位的ip段来判断,如变化段在第一段,就结合234段来看,第二段就结合34段来看,第三段就结合第四段来判断,在第四段就直接得出结论。
A 152.178.132.95/27,确定在第四段,n为32-27=5,主机位ip有2^5=32种取值,95/32取整为2,余31,余数符合2^n-1,符合广播地址条件。95的二进制为0101 1111,网络位是3位,010,主机位是1 1111,显然是广播地址,a不符合。
D 61.139.144.0/22 掩码为22,小于24, 确定变化在第三段,要结合34段的值来判断,n为24-22=2,主机位ip有2^2=4种取值,144/4=36,余数为0,该段144符合网络地址。144的二进制为1001 0000,网络位为6位,主机位为2位,是00,ip第四段为0,显然所有主机位为00 0000 0000,所以这个ip是网络地址。d不符合。
AD都不行,但C选项的ip地址第三段294,ip地址四段不能大于255,排除掉。
B 152.179.39.223/26,26位掩码,确定变化在第四段,子网块主机大小64,因为主机位长度32-26=6,2^6=64,ip地址第四段223/64取整是3,余数是31,显然余数不是2^n-1=63,不是广播地址。3x64=192,所以网络地址第四段是192,主机ip范围是192-255,223的二进制是1101 1111,前两位是网络地址位,后面是主机,01 1111,主机位不是全0,全1,所以是合法地址。
所以答案是B
8.7 根据主机数划分子网
一企业内部网 IP 为192.168.1.0/24,企业共4个部门, A 部门20台主机, B 部门120台主机, C 部门30台主机, D 部门16台主机,请问该如何划分?
原则,主机位为n,2^n-2必须大于实际主机数,子网地址中含网络地址和主机地址的那一段,必须是2^n的整数倍。掩码ip形式该段值为256-2^n,
考虑到扩容留有余量
把ip地址的第四段的256好比256张麻将,贴上0-255,从小到大排列。先一份为2等分,0-127给那个120个主机的,2^n-2>120,n最小值就是n=7,掩码十进制值就是128,掩码长度就是32-7=25,网络地址就是192.168.1.0/25。
然后再把128-255剩下的128个ip划成两份,每份64个,前面那份给30个主机的,128-191,2^n-2>30,考虑到扩容,所以n不能取5,n取6,掩码十进制值就是192,32-6=26,192.168.1.128/26
后面192-224给20个主机,2^n-2>20,n=5,掩码十进制值就是224,掩码长度就是32-5=27,网络地址192.168.1.192/27
224-255给16个主机部门,2^n-2>16,n=5,掩码十进制值就是224,掩码长度就是32-5=27,网络地址192.168.1.224/27
每段开头和结尾不能用,作为网络地址和广播地址。
也可以后面128给120主机,把前面128分三份,32,32,64或者64,32,32。
原则,主机位为n,2^n-2必须大于实际主机数,子网地址中含网络地址和主机地址的那一段,必须是2^n的整数倍。掩码ip形式该段值为256-2^n,
所以下面给出一种子网的网络地址划分就是
192.168.1.0/25,255.255.255.128 给B部门
192.168.1.128/26 255.255.255.192 给C部门
192.168.1.192/27 255.255.255.224 给A部门
192.168.1.224/27 255.255.255.224 给D部门
更多子网划分习题,参考另一篇,有32道练习题供大家练习,32道子网划分例题详细解析含答案_wj31932的博客-CSDN博客