目录
1 子网划分的定义:
2 掩码介绍
3、子网划分要解决的问题:
4 子网划分步骤
5 范例1根据ip和掩码求子网和网络广播地址:
6 范例2根据ip和掩码求同网段地址
7 合并子网的例子根据ip范围合并,并添加回程路由:
8、其他范例:
8.1求子网号
8.2 路由聚合
8.3 求最多主机数
8.4 求广播地址
8.5 根据主机数求掩码
通过改变ip的掩码长度来改变ip的网络地址,把原来的ip地址从网络位+主机位,改成网络位+子网位+主机位。从而达到缩小主机个数或者扩大主机个数。缩小主机位,可以避免ip资源的浪费,减小广播域,提高效率。扩大主机位可以使节点的路由条目简化。
我们知道,ip地址用32位二进制数字表示,为了方便记忆,每8位用十进制数据和.来分开,如222.90.12.24。分为四段。
通信组成,分为终端,交换节点和通信链路。终端和交换节点都需要ip地址来标记,数据包的传输需要ip地址来寻址。ip地址分为网络部分和主机部分,网络部分通常用来定位交换节点的物理位置,交换节点和其下属的设备都拥有相同的网络地址,交换节点,能广播寻址到其直接下挂的终端设备。所有外部到终端的包,都会被寻址转发到其上属的交换节点,同样,终端发出的到节点外部的包,也要通过交换节点发出。这里涉及snat和dnat的技术,完成私网到公网的ip地址转换。
举个例子,网络地址就像邮局的邮政编码,一个邮局管辖很多的服务终端客户,具体街道小区单位名称收件人相当于主机地址。邮编就代表一堆终端的集合。各级节点看到邮编就会逐级选路,送到目的邮局,目的邮局在根据收件地址和人名投递到客户手里。如710014,71陕西,00西安,14代表北关邮局。
掩码就是表示ip地址32位中,网络地址的位数。掩码的作用是终端和交换节点的分拣数据包,作为寻址选路的依据,别的地方交换节点,根据掩码和ip地址与,得出网络地址,根据预设的下一跳,指向目的网络节点。网络节点收到包后要判断是否是本地所属地址,就像邮局处理下面收上来,和上面发下来的邮件,首先要先判断是否是本辖区投递的,是就留下来,不是就根据对应规则送出或者退回等处理。同样,网络地址就标识一个网络节点和其下挂的终端设备。ip通信里也要是否本地处理的判断,和选路判断。方法就是,直连路由优先,用目的ip和路由表里路由掩码进行与运算,截取前缀进行比较,符合就对应处理。
网络地址代表一定通过ip地址属性的主机的集合,网络地址是这些主机共同具备的。
所谓子网划分,就是把网络位向右扩大,扩大几位作为一个子网位,减小主机位,这样网络地址就扩大了。如下图扩大网络地址,减小主机位。子网使主机位变小,该网络地址下的主机个数减小。
也可以把下面变成上面,扩大主机位,减小网络位,多个子网划归一个网络,多用于路由聚合。聚合就是主机位左移,扩大主机位,是网络地址下,容纳更多的主机。
如上图,子网位的取值决定网络地址的变化,因为前面的网络位没变。
掩码就是ip地址中截取前多少位数,以获得网络地址。
网络地址和掩码用来确定一定的路由指向,一个网络地址确定一定的设备集合,网络地址范围越小,同组的广播消息越少。掩码就是为了确定网络地址而截取的ip地址位数。
举个一个电话通信的例子,号码分析,要通过截取一定长度的号码位数。要实现全球自动拨号,首先要全球统一格式的编号。固定电话号码,全球唯一编号,用00国家号地区号电话局号用户号来编号,如00862986255120,86是中国,29是西安,8625是龙首村电信局的号码编号,5120是用户号码,龙首村电信局用8625这个编号,代表它的用户号码范围86250000-86259999这一万个号码。就相当于一个主机设备的集合,相当ip地址里网络地址。是下属主机的号码的截取前几位所得。当西安本地拨打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,如222.90.0.0/16,可以看做是60000多个主机的网络地址,指向一个设备机房,但这个机房直属用户没有这么多,它下面还有很多分机房需要几百,几千个ip的,那么就可以把ip划分成不同的子网,让掩码右移,让网络位变多,主机位变小,来分给这些小规模的地方。这样可以减小广播域,提升效率。
子网划分用的掩码,掩码是用来表示网络位+子网位+主机位,如掩码为26就是表示,ip地址中前26位为网络地址,32-26=6为主机地址。路由表项分析时,要截取的位数,截取后,和路由表项对比,一致就匹配路由。原来的网络位还是不变的,子网位取值决定了子网的个数,如子网位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地址四段要么是网络位,要么是主机位,增加第三种类型,既有网络位,又有主机位的新类型来。
网络ip被划分成x个子网后,x一定是能被2整除的一定范围偶数(具体见下面的描述),用每个子网的网络地址,作为子网网络地址,来标识一个子网。
子网号子网位的一个取值,一个子网位的取值代表一个新的网络地址,子网位有多少种变化,代表就觉得有多少个子网。如子网位3位,那子网位就有000到111共8种取值,每一个取值决定一个网络地址,所以就有8个子网。如192.168.10.32/27 255.255.255.224本来是个c类地址,默认掩码长度是24,现在子网位是3,所以有8个子网,192.168.10.32/27是其中一个。它代表了192.168.10.32到192.168.10.63之间的ip地址的一个集合标志。
每个子网网络地址通常用ip地址和掩码相与得出,网络地址的全部主机位为0。网络地址代表主机位从全0到全1这么多ip的一个集合,一个网络节点编号。如192.168.10.32/27,ip地址第四段是十进制32,写成二进制就是0010 0000。后五位主机位是全0。
子网的广播地址,是所有的主机位全为1,如192.168.10.63,第四段是十进制63.二进制就是001 1 1111。
我们根据这样的原则处理:
1、确定子网位在ip地址四段中的那一段?
就是既有网络位,又有主机位的是ip地址四段的那一段?因为子网位在这一段,因为ip地址中的四段中某一段,要么全是网络地址位,要么全是主机地址位,要么前面几位是网络位,后面几位是主机位。新加的子网位和主机位都在这一段,原有的网络位部分,是没变化的,所以只子网就在这一段变化,这一段决定了子网的变化,所以我们只研究这一段就行了。增加了几位网络位或者减小几位网络位,就有2^变化位数种二进制变化。
主机数小于256的,在ip第四段。大于256小于65525的在第三段变化。这两个常见,其他第二段,第一段主机太多,不会经常碰到。2^(32-掩码长度值)必须大于实际设备数。
我们知道,一个掩码8位二进制数的各位权值如下:1000 0000 128
8 7 6 5 4 3 2 1 位数
1 0 0 0 0 0 0 0 二进制
128 64 32 16 8 4 2 1 权值 权值和位数n的关系2^(n-1)
如图:设这个数中0的个数为n,第一位的1每向右战一位,权值就减小一倍,全0位的变化就减小一倍2^n,而全1位的变化就增加一倍2^(8-n),掩码的网络位就是个数就是截取ip地址的位数,在这段ip的8位中截取8-n位,它有2^(8-n)种变化,即网络地址在该段的可能性,每个值就是子网号。后面的主机位ip,就有0-2^n-1种取值变化。而网络地址就是主机可能ip数2^n*子网取值,所以子网网络地址就有2^(8-n)个。
形象的比方子网划分,类似找出256张麻将牌,标上0到255,按从小到大排成一列,要把这一段均匀分成几份(能被2整除的几份),就是网络位w,分成2^w份,每份大小就是2^(8-w),每一份的所以数字网络位是相同的,每份的开头数字和结束数字就是对应网络地址和广播地址的第几段。如确定第二段既有网络位还有主机位,这个数字就是ip地址的第二段的网络地址,或广播地址。在第三段就是网络,广播地址第三段,第四段同样。
2、确定划分子网的在第一步确定ip段中,主机位n是多少?
主机位为n,该段主机个数就2^n,因为主机位的二进制有从0到2^n-1中变化。要求实际的设备数小于主机位的最多数2^n。
3、变化段的子网个数就是2^(8-n)个
因为网络位为8-n,共有2^(8-n)种变化。如该段n=1,每段ip数就是2,共有2^7=128个子网,n=7,共两个子网,每个子网用有ip数2^7=128个。
4、网络地址在该段值就是2^n*k
为啥是这个值,因为网络地址所在ip段,8位二进制数,既有网络位,又有主机位,主机位全为0,我们把网络位几位8-n位看着一个整体,他的值为k,他的位数为n+1,权值为2^n,整个二进制数字的大小就是2^n*k+主机位的值,因为主机位全二进制的0,所以主机位的值为0,所以网络地址的值就是2^n*k。
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。
网络地址中纯主机段,网络地址写成0,掩码对应端也为0
子网位在第一段如16.0.0.0/4 240.0.0.0 第二三四段为0
子网位在第二段如172.16.0.0/14 255.252.0,0 第三四端为0
子网位在第三段如192.168.1.0/19 255.255.224.0, 第四段为0
子网位在第四段如192.168.192.0/26 255.255.255.192 第四段为2^n*k
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
6、广播地址所有主机位取地址为全为1,其值为2^n*(k+1)-1
因为广播地址主机位全是1,再加1,就是主机位有全1变成全0,网络位值+1,就变成下一个网络地址。所以,广播地址就是2^n*(k+1)-1。
当该段为第一段,ip地址其他三段为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中网络地址一样,广播地址纯主机位为255
子网 在第一段如网络地址16.0.0.0/4,广播地址31.255.255.255/4 240.0.0.0 第二三四段为255
k=1,. 第一段2^4*(k+1)-1=31
子网位在第二段如网络地址172.16.0.0/14,广播地址172.19.255.255/14 255.252.0,0 第三四端为255
k=4,. 第二段2^2*(k+1)-1=19
子网位在第三段如网络地址192.168.1.0/19,广播地址192.168.31.255/19 255.255.224.0, 第四段为255
k=0,. 第三段2^5*(k+1)-1=31
子网位在第四段如192.168.192.0/26 ,广播地址192.168.192.63/26 255.255.255.192 第四段为2^n*(k+1)-1
k=0,. 第四段2^6*(k+1)-1=63
7、子网网段ip范围和可用主机数2^(32-掩码位数)-2
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-掩码位数)。
8、该段子网网络号m*2^n
确定的一个具体的ip的子网网络号的方法是:确定既有网络位和主机位在ip的那一段,用这一段的值去除2^n,得到的值取整,假如得到一个值m,用m*2^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
首先确定:
子网里ip地址总数就有2^5=32,2^9=512.
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,我们以这个为例说明:
要求:根据某一个ip,判断子网号,根据掩码,列出全部子网网络地址。
网络位的二进制可能性,决定子网个数。
子网网络地址就是具体某一个子网位取值对应的网络地址。
如ip192.168.205.201 /19 ,这是一个c类地址,掩码默认是24,现在是19,表示借用了5位网络地址作为主机位,子网位变成三位。
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,所以第三段第四段的网络位和主机位有下面的取值,最小值和最多值见下图:
第三段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 0000 192.168.224.0 111 11111 1111 1111 192.168.255.255 网络地址的第三段就是7*32=224,广播地址8*32-1=255
ip地址第三段网络位有3位, 第四段全是主机地址,所以子网数有2^3=8.,第三段ip范围有64个
对应这个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这个子网下。
再如这个例子:
有一个设备,串口查询ip172.26.0.214/30,要给配置pc直连的同网段地址进行web访问。
处理原则:直连访问,必须是同一子网的ip,而且不能冲突,网络地址额广播地址不用使用。
掩码30位,子网位在ip地址第四段,主机位数32-30=2,每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 1101 0110 ip 第四段用二进制表示
255 255 255 1111 1100 掩码 和上面ip与的结果就是下面的网络地址
172 26 0 1101 0100 网络地址 172.26.0.212
172.26 0 1101 0111 广播地址 172.26.0.215
可用ip就是第四段后两位是01和10就是十进制是213和214,既然设备是214,pc只能配置213才能访问,配置为172.26.0.213/30。
三层交换机192.168.100.1/24下带若干个子网192.168.192-213.xxx/24,每个网段一个接入交换机,现在需要各个子网下的ip都能访问交换机管理ip192.168.100.xxx,需要在各个交换机上做回程路由:
依据的是同一子网里的变化段的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范围了。
方法:先确定子网位在ip的第几段,主机位数2^n=256-掩码值,子网的网络位取值就是用这段ip值,去除每个子网最大主机ip数2^n,商取整得到一个值k,k*2^n
看掩码第四段为0,第三段248小于255,确定第三段既有网络位也有主机位,256-248=8是2^3,z确定主机位是3位,有8种可能性。ip地址第三段为52,52/8取整为6,6*2^3=48,所以网络地址地址第三段为48,所以答案是D.
这是一个路由合并问题,方法是,用一个掩码左移,用一个大的网络去涵盖小网络,小网络作为大网络的子网,先确定要移动的主机位数n,2^n-2必须大于合并数的差值。而且合并后必须在同一子网。
查看这段地址,主要在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。
首先明确最多主机数,就是可用ip数,等于2^(32-掩码位数)-2,除去网络地址和广播地址。
子网掩码第四段为0,表示ip地址第四段全是主机位,第三段为252,看出第三段既有网络位,又有主机位,掩码=256-2^(主机位数),所以得出主机位数为2,所以主机位是第三段2+第四段的8位,就是掩码值是32-10=22,可用主机数就是2^10-2=1022,所以答案是B。
首先明确,广播地址是全部主机位都为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。
原则,主机位数为n,2^n要大于实际主机数,而且变化段主机位越少,子网越多。
459台主机大于256,显然第四段不够,必须向左边网络位借位。2^9=512>459,第三段借一位,满足主机数要求,而且子网数2^7=128个。所以掩码就是16+7=23,第三段掩码值256-2^1=254,所以答案是D255.255.254.0。