子网划分详解与例题解析-全网最好

目录

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 根据主机数划分子网

         8.8求计算能包含1.1.1.75,1.1.1.100这两个ip地址的最小网段,以起始地址表示


1 子网划分的定义:

      通过改变ip的掩码长度来改变ip的网络地址,把原来的ip地址从网络位+主机位,改成网络位+子网位+主机位。从而达到缩小主机个数或者扩大主机个数。缩小主机位,可以避免ip资源的浪费,减小广播域,提高效率。扩大主机位可以使节点的路由条目简化。就是借用ip地址四段中某一段,使得这段既有网络位又有主机位。

   我们知道,ip地址用32位二进制数字表示,为了方便记忆,每8位用十进制数据和.来分开,如222.90.12.24,分为四段,每段的取值是在0-255间。公网ip是用来寻址和定位某一台设备。

  公网ip地址包含这个设备位置信息,由ip中的网络地址决定。

      通常ip地址被分为两部分,网络地址部分和主机地址部分。网络部分来确定终端是不是在同一个网段;主机部分用来确定节点终端的容量大小(这个网段最多可以容纳多少台主机),和用来标明设备个体。如同一个学校的学号一样,如511426,51代表专业,14代表年级,26代表学生编号,5114类似网络地址,用来区别那一个班级,后面26就是学生个体。同一个部门应该要确保其所有的终端在同一个网段;规划的主机的数量应该在你的主机部分可容纳的范围内;网络地址和运营商的一个交换节点要对应起来,这样就实现着一堆主机ip的寻址的落地到硬件上。

  ip地址是有一个国际机构进行规划的,规定那些国家的运营商使用那些段的ip段。这样就实现ip地址全球统一规划和物理位置的定位。

     一个网络地址代表一堆主机的集合,通信组网中的通信节点往往配置一个网络地址,实现一堆主机的访问数据转发。通信节点如网关设备占据网络地址中一个ip,类似一个总机,完成呼入呼出转接。公网ip通信就是ip层不变,mac层不断根据路由表选路来完成替换,直至到达目的主机的过程(有nat的设置源ip和目的ip的转换)。

      我们知道通信组成,分为终端,交换节点和通信链路。终端和节点都需要外发数据和接收数据,要完成目的设备在哪里?怎么到达那里?终端和节点都要对出去和进来的数据包进行分拣操作,判断是否落地处理和送出处理。终端和交换节点都需要ip地址来标记,数据包的传输需要ip地址来寻址。ip地址32位,ip地址有2^32个,全球统一编码。节点不可能把所有ip都一一列举出来写明它的出口规则。所以把ip地址分为网络部分和主机部分,网络部分通常用来定位交换节点的物理位置,代表一定数量的主机。网络部分来确定一个硬件位置,一个共同属性的主机集合;主机部分用来确定节点终端的容量大小;(这个网段最多可以容纳多少台主机)。同一个部门应该要确保其所有的终端在同一个网段;规划的主机的数量应该在你的主机部分可容纳的范围内;

    ip包的转发类似一个信件,选路后,邮车不断改变节点的收货节点的地址,最后投送到目的用户手里。

        如网络地址9.0.0.0/8就代表2^24个主机。交换节点和其下属的设备都拥有相同的网络地址,交换节点,能广播寻址到其直接下挂的终端设备。所有外部到终端的包,都会通过网络地址来寻址转发到其上属的交换节点,同样,终端发出的到节点外部的包,也要通过交换节点发出。网络地址就是简化路由条目,选路和寻址的作用。这里涉及snat和dnat的技术,完成私网到公网的ip地址转换。一个网络地址代表有共同属性一定数量主机,同一网络地址下可以直接通信。

   相同的网络地址下,主机可以直接通信,不用送到网关节点。

      举个例子,网络地址就像邮局的邮政编码,一个邮局管辖很多的服务终端客户,具体街道小区单位名称收件人相当于主机地址。邮编就代表一堆终端的集合。各级节点看到邮编就会逐级选路,送到目的邮局,目的邮局在根据收件地址和人名投递到客户手里。如710014,71陕西,00西安,14代表北关邮局。全国规划编码,邮局收到本身编码的信件,留下本局投送。不是本局送出到规定的邮路。网络地址就相当于一个邮编,对应一定数量的属性主机,同一网络地址下,可以不通过网关通信。

     因为要获取网络地址,所以引入掩码的概念。掩码有数字和ip格式两种表达方式。

确定子网掩码的规则

a. 凡是IP地址的网络和子网标识部分,都用二进制1表示

b. 凡是IP地址的主机标识部分,都用二进制0表示

       掩码获取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地址和子网掩码计算网络地址

(1)将IP地址与子网掩码转换成二进制数

(2)将二进制形式的IP地址与子网掩码做**“与”运算**

(3)将得出的结果转化为十进制,便得到网络地址

(4)运算之后网络号相同的IP,就属于一个网段

  寻址就是通过ip全球唯一编码,网络地址和硬件对应,各级有路由条目,目的ip和路由条目里的掩码相与,结果和路由条目的网络地址对比,确定处理路径实现ip包的寻址。

       掩码的作用是终端和交换节点的分拣数据包,作为寻址选路的依据,交换节点,根据掩码和ip地址与,得出网络地址,根据预设的下一跳,指向目的网络节点。网络节点收到包后要判断是否是本地所属地址,就像邮局处理下面收上来,和上面发下来的邮件,首先要先判断是否是本辖区投递的,是就留下来,不是就根据对应规则送出或者退回等处理。同样,网络地址就标识一个网络节点和其下挂的终端设备。ip通信里也要是否本地处理的判断,和选路判断。方法就是,直连路由优先,用目的ip和路由表里路由掩码进行与运算,截取前缀进行比较,符合就对应处理。

      网络地址代表一定通过ip地址属性的主机的集合,网络地址是这些主机共同具备的。相同的网络地址下的设备可以直接通信而不需要路由网关参与。网络地址是ip落地的判断条件。就像一个邮局收到信件的邮编是本局邮编一样。

    我们知道,ip通信网是一个金字塔的结构组网,越向上,表示带的ip终端越多,越向下,表示的终端越少。所以就要拓补上级局点,掩码数字越小,代表越多主机,下级局,掩码越大,代表主机数变小。

     所谓子网划分,就是把网络位向右扩大,扩大几位作为一个子网位,减小主机位,这样网络地址就扩大了。如下图扩大网络地址,减小主机位。子网使主机位变小,该网络地址下的主机个数减小。

     也可以把下面变成上面,扩大主机位,减小网络位,多个子网划归一个网络,多用于路由聚合。聚合就是主机位左移,扩大主机位,使得网络地址下,容纳更多的主机。

e2b283ab210741dc842cd66fd04a5244.png

     如上图,看有扩大网络位,有上到下,也可以缩小网络位,有下到上,这样来实现子网划分。

2 掩码介绍

       类似邮局的工作,要本局向外发出信件和收到上级送下来的信件,这就要进行分拣后决定是否本局落地投送还是送出处理?分拣就需要一个算法,就是检查邮编,邮编是本地邮局,就留下投送,不是本局就送到上级邮局处理,在上级邮局,它有多个出口,就有更仔细的规则,如一个省级分拣中心,它有到省内各地级市,有直达的周边省份,有省份集中点,有国际邮件出口等等,就得有多个分拣规则。所以,ip通信类似寻址选路处理,用ip编码解决在哪里,路由规则解决怎么去的问题。

       掩码就是子网掩码就是用来标识IP中32位2进制中有多少位属于网络地址,ip地址中截取前多少位数,以获得网络地址。掩码可以有ip形式的四段表示方法,网络位为全1,主机位为全0,常规的ip与掩码相与,屏蔽了主机位。得出网络地址。

        网络地址和掩码用来确定一定的路由指向,一个网络地址确定一定的设备集合,网络地址范围越小,同组的广播消息越少。掩码就是为了确定网络地址而截取的ip地址位数。

      下面以电话交换的号码分析,字冠和号长为例来说明网络地址和掩码的关系和作用。

       举个一个电话通信的例子,号码分析,要通过截取一定长度的被叫号码位数,比对预先设置的选路规则,来确定通话的处理路径。我们知道通信网就是一个树状结构,一个非端点的设备有向上的北向接口有若干个,向下的南向接口也有若个个。向上有对应的字冠表,向下也有对应字冠分拣表。如一个汇接局,它向上对接其他汇接局和长途局,向下对接个各个端局。如一个86xxxxxx的汇接局,代表有100万个号码,取被叫号码,00-09送长途局,本地呼出88,82送到对应其他汇接局。下接端局,每个端局的字冠指定,如8621-8625对应龙首村电信局,8626-8629对应另一个端局。

       要实现全球自动拨号,首先要全球统一格式的编号。固定电话号码,全球唯一编号,用00国家号地区号电话局号用户号来编号,如00862986255120,86是中国,29是西安,8625是龙首村电信局的号码编号,5120是用户号码,龙首村电信局用8625这个编号,代表它的用户号码范围86250000-86259999这一万个号码。就相当于一个主机设备的集合,相当ip地址里网络地址。86这百万个号码代表北郊西郊一个汇接局,88代表南郊汇接局,85代表郊县等等。86xxxxxx这一百万个号码,这个汇接局所带的用户数用不了,就需要把号码资源分给分局,每个分局可能就需要几万个号码资源,所以汇接局就要做号段指定,被叫号码除去区号,取四位为8625的就指向龙首村电信局。而龙首村电信局要做一个本地号段的指定,8625的属于本地。当西安本地拨打8625xxxx会指向龙首村电信局,外地长途和本省长途的0298625xxxx也会指向龙首村电信局的设备。号码分析到局号的四位后,就完成号码分析,选路。这样就实现全网自动呼叫。而龙首村电信局本局的号码呼叫8625xxxx的号码,同样要在本局的交换机进行号码分析,发现是落地本地的,就本地处理。这里就涉及把一个大的号段划分为小的号段的过程指定。

      一部电话需要一个节点交换设备,节点设备要处理,下挂电话的做主叫打出,和外部节点设备发来的打入工作,下挂设备做被叫。节点设备就要做被叫号码分析,号码分析的依据就类似路由表,本地号码号段,非本地号码号段。被叫是本地的落地处理,非本地送出处理。

     类比语音交换机的号码分析和选路,我们有一个字冠和字冠长度的名词,字冠是被叫号码的前缀,是被叫号码中从第一位开始且连续的一串号码。呼叫字冠既可以是被叫号码的前一位或前几位号码,也可以是被叫号码的全部号码。字冠长度就号码分析时,截取被叫号码的长度。每个交换机都要定义自身所属的字冠,和出局字冠的出口。因为交换机处理被叫首先判断是否落地本局,是本局处理,不是送出处理。

      现在龙首村电信局要面对楼宇和单位,安排小交换机,小交换机处理本楼宇和本单位的内部通话,不出小交换机,就需要细化号码范围,如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地址。

   划分子网,要解决问题:

  1. 子网里最大ip地址的个数?
  2. 可划分成的子网个数?
  3. 每个子网的主机范围?
  4. 每个子网的网络地址和广播地址?
  5. 掩码值?网络长度表示法和ip地址表示法。
  6. 具体一个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.

70d36bcf07574cbb9efa525adc8127f8.png

由上表看出:网络位多一位,就是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。

3da2f8b133bf4601ba65fa11599ec957.png

    从上面的列表看出,掩码十进制值,除了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变化个数),再计算各种数值。

  1. 子网中有效主机个数要符合实际的需要,如一个需求,主机个数是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           广播地址

000   00000    0000 0000  192.168.0.0        000  11111       1111  1111        192.168.31.255   网络地址的第三段就是0*32=0,广播地址1*32-1=31

001   00000    0000 0000  192.168.32.0      001  11111       1111  1111        192.168.63.255   网络地址的第三段就是1*32=32,广播地址2*32-1=63

010   00000    0000 0000  192.168.64.0      010  11111       1111  1111        192.168.95.255   网络地址的第三段就是2*32=64,广播地址3*32-1=95

011   00000    0000 0000  192.168.96.0      011   11111       1111  1111        192.168.127.255  网络地址的第三段就是3*32=96,广播地址4*32-1=127

100   00000    0000 0000  192.168.128.0   100   11111       1111  1111       192.168.159.255  网络地址的第三段就是4*32=128,广播地址5*32-1=159

101   00000    0000 0000  192.168.160.0   101   11111       1111  1111       192.168.191.255    网络地址的第三段就是5*32=160,广播地址6*32-1=191

110   00000    0000 0000   192.168.192.0   110   11111       1111  1111       192.168.223.255    网络地址的第三段就是6*32=192,广播地址7*32-1=223

111  00000    0000 0 000   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。

d7d2d88606ba491eaf5c2318c6f114e0.png

注意:不是所有的情况都可用合并子网,必须合并的ip都在同一子网的有效ip范围了。

8、其他范例:

8.1求子网号

d28ca752f5c34650ae8d7f64899781a9.png

  方法:问题是确定子网的网络地址,我们只要先确定子网位在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 路由聚合

7a45f81c61f74655baad55053c0fb02e.png

   这是一个路由合并问题,方法是,用一个掩码左移,用一个大的网络去涵盖小网络,小网络作为大网络的子网,先确定要移动的主机位数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 求最多主机数

f77ab90bd9564db48359b7e4f6e758fd.png

   首先明确最多主机数,就是可用ip数,等于2^(32-掩码位数)-2,除去网络地址和广播地址。这是根据十进制掩码值来确定掩码长度值的问题。

子网掩码第四段为0,表示ip地址第四段全是主机位,第三段为252,看出第三段既有网络位,又有主机位,掩码=256-2^(主机位数),所以得出主机位数为2,所以主机位是第三段2+第四段的8位,就是掩码值是32-10=22,主机位数为10位,可用主机数就是2^10-2=1022,所以答案是B。

8.4 求广播地址

aab1b54ec0c44f5397b022492e0f7175.png

   首先明确,这是根据已有子网内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 根据主机数求掩码

f2352b4db1384a3694e9dd9aa6dc8661.png

    

这是根据可用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部门

8.8求计算能包含1.1.1.75,1.1.1.100这两个ip地址的最小网段,以起始地址表示(网友提问)

      这是求网络地址的问题,而且掩码最大,主机位最小的问题。就是让一个网络地址的划分的主机位里包含1.1.1.75,1.1.1.100这两个ip的第四段75和100,看看这两个ip前三段相同,第四段不同,显然要求的网络地址在ip第四段既有网络地址,又有主机地址。第四段ip的值差100-75=25,就是说这个主机位得最小有5位,主机块大小为2^5=32,00000-11111才能满足。但75和100不一定在一个段了,而可能跨域两个段,就需要我们试一下。
我们试一下,100/32得3余4,75/32得2余11,这显然不行,因为同一网络地址里,主机位n,该段ip除2^n取整是相同的,所以主机位为5不行,所以试一下主机位为6,2^6=64,75/64得1,余11,100/64得1余36,符合要求。所以主机位为6,掩码就是32-6=26,掩码第四段就是256-2^6=192,网络地址第四段就1x64=64
网络地址就是1.1.1.64/26 255.255.255.192
就是把0-255,256个编号数字,分成等大的几份(2,4,8,16,32,64,128),让对应的ip落在几份范围里。如分成4分,0-63,64-127,128-191,192-255
其实很简单,就是把标着0到255数字的256段软绳,中间一折,一分为二,0-127,128-255,再中间一折,二分为四,0-63,64-127,128-191,192-255,每段开头是网络地址,结束是广播地址,共四个子网,75和100显然在64-127这个范围里。因为网络位的位数决断了子网个数,4个子网,所以网络位为2,主机位6,该题变化在ip地址第四段,所以掩码就是24+2=26,11000000就是128+64=192,所以掩码就是26,255.255.255.192
网友的另外一种算法:
网段就是前面相同的部分前24位相同,直接就能看出来
75(01001011)和100(01100100)转成二进制,就能看出来只有前两个bit是相同的,从第三个bit开始不同,
得出网络掩码是26位,11000000转成十进制就是192,所以掩码是255.255.255.192
起始网段就是01000000,转成十进制是64,所以是1.1.1.64/26
这个算法依据是同一网段的两个ip,网络位相同,在有子网位的ip所在段也是相同,可以求出子网位,再求掩码。

更多子网划分习题,参考另一篇,有32道练习题供大家练习,32道子网划分例题详细解析含答案_wj31932的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/wj31932/article/details/127939596