免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1994 | 回复: 0
打印 上一主题 下一主题

【转】IP网段的划分 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-04 20:41 |只看该作者 |倒序浏览

一、缺省A、B、C类地址,子网掩码;
二、子网掩码的作用:
code:
IP地址 192.20.15.5 11000000 00010100 00001111 00000101
子网掩码 255.255.0.0 11111111 11111111 00000000 00000000
网络ID 192.20.0.0 11000000 00010100 00000000 00000000
主机ID 0.0.15.5 00000000 00000000 00001111 00000101
计算该子网中的主机数:2^n-2=2^16-2=65534
其中:n为主机ID占用的位数2: 192.20.0.0(表示本网络), 192.20.255.255 (表示子网广播);
该子网所容纳主机的IP地址范围:192.20.0.1~192.20.255.254
三、实现子网
1.划分子网的理由:
① 远程LAN互连;
②连接混合的网络技术;
③增加网段中的主机数量;
④减少网络广播。
2.子网的实现需要考虑以下因素:
①确定所需的网络ID数,确信为将来的发展留有余地;
谁需要占用单独的网络ID?
▲每个子网;
▲每个WAN连接;
②确定每个子网中最大的计算机数目,也要考虑未来的发展;
谁需要占用单独的主机ID?
▲每个TCP/IP计算机网卡;
▲每个TCP/IP打印机网卡;
▲每个子网上的路由接口;
③考虑增长计划的必要性:
假设您在InterNIC申请到一个网络ID:192.20.16.0 但你有两个远程LAN需要互连,而且每个远程LAN各有60台主机。
若不划分子网,您就只能使用一个网络ID:192.20.16.0,使用缺省子网掩码:255.255.255.0,而且在这个子网中可以容纳的主机ID的范围: 192.20.16.1~192.20.16.254,即可以有254台主机。
现在若根据需要划分为两个子网,即借用主机ID中的两位用作网络ID,则子网掩码就应变为:255.255.255.192(11000000)目的是将借用的用作网络I D的位掩去。看一看划分出来的子网的情况:
▲192.20.16.65~126
192.20.16.01000001~01111110
本网段(01 网段)主机数:2n-2=26-2=62或126-65+1=62
▲192.20.16.129~190
192.20.16.10000001~10111110
本网段(10 网段)主机数:2n-2=26-2=62或190-129+1=62
▲子网号00全0表示本网络,子网号11全1是子网屏蔽,均不可用。
提示:在早期的子网划分标准RFC950中,不能使用全0或全1做为二进制子网标识(在子网划分公式2n-2中的-2处理)。在RFC1812中,这个限制已被取消。下面内容摘自于RFC1812。
“以前版本的文档认为,子网号不能为0或-1,并且至少要有两位长。在一个CIDR领域,子网号就是网络前缀的一种延伸。如果没有前缀,那么子网号也就不存在了。从CIDR观点来看,这种对子网号的限制是没有意义的,可以安全地忽略。”
这个方案可以满足目前需求,但以后如果需要加入新的网段则必须重新划分更多的子网(即借用更多的主机ID位用作网络ID),或如果以后需要每个子网中的主机数更多则必须借用网络I D位来保证更多的主机数。
四、定义子网号的方法
若InterNIC分配给您的B类网络ID为129.20.0.0,那么在使用缺省的子网掩码255.255.0.0的情况下,您将只有一个网络ID和216-2台主机(范围是:129.20.0.1~129.20.255.254)。现在您有划分4个子网的需求。
1.手工计算法:
①将所需的子网数转换为二进制
4→00000100
②以二进制表示子网数所需的位数即为向缺省子网掩码中加入的位数(既应向主机ID借用的位数)
00000100→3位
③决定子网掩码
缺省的:255.255.0.0
借用主机ID的3位以后:255.255.224(11100000).0,即将所借的位全表示为1,用作子网掩码。
④决定可用的网络ID
列出附加位引起的所有二进制组合,去掉全0和全1的组合情况
code:
  组合情况     实际得到的子网ID
   000╳
001→32 (00100000 ) 129.20.32.0
010→64 (01000000 ) 129.20.64.0
011→96 (01100000 ) 129.20.96.0
100→128(10000000) 129.20.128.0
101→160(10100000) 129.20.160.0
110→192(11000000) 129.20.192.0
   111╳
⑤决定可用的主机ID范围
code:
子网      开始的IP地址 最后的IP地址
129.20.32.0 129.20.32.1 129.20.63.254
129.20.64.0 129.20.64.1 129.20.95.254
129.20.96.0 129.20.96.1 129.20.127.254
129.20.128.0 129.20.128.1 129.20.159.254
129.20.160.0 129.20.160.1 129.20.191.254
129.20.192.0 129.20.192.1 129.20.223.254
2.快捷计算法:
①将所需的子网数转换为二进制
4→00000100
②以二进制表示子网数所需的位数即为向缺省子网掩码中加入的位数(既应向主机ID借用的位数)
00000100→3位
③决定子网掩码
缺省的:255.255.0.0
借用主机ID的3位以后:255.255.224(11100000).0,即将所借的位全表示为1,用作子网掩码。
④将11100000最右边的"1"转换为十进制,即为每个子网ID之间的增量,记作delta d=32
⑤产生的子网ID数为:2^m-2 (m:向缺省子网掩码中加入的位数)
可用子网ID数:2^3-2=6
⑥将d附在原网络ID之后,形成第一个子网网络ID 129.20.32.0
⑦重复⑥,后续的每个子网的值加d,得到所有的子网网络ID
129.20.32.0
129.20.64.0
129.20.96.0
129.20.128.0
129.20.160.0 129.20.192.0
129.20.224.0→224与子网掩码相同,是无效的网络ID
以上是介绍,注意看下面的应用
IP和子网掩码
我们都知道,IP是由四段数字组成,在此,我们先来了解一下3类常用的IP
  A类IP段  0.0.0.0 到127.255.255.255
  B类IP段  128.0.0.0 到191.255.255.255
  C类IP段  192.0.0.0 到223.255.255.255
  XP默认分配的子网掩码每段只有255或0
  A类的默认子网掩码 255.0.0.0     一个子网最多可以容纳1677万多台电脑
  B类的默认子网掩码 255.255.0.0    一个子网最多可以容纳6万台电脑
  C类的默认子网掩码 255.255.255.0   一个子网最多可以容纳254台电脑
  我以前认为,要想把一些电脑搞在同一网段,只要IP的前三段一样就可以了,今天,我才知道我错了。如果照我这说的话,一个子网就只能容纳254台电脑?真是有点笑话。我们来说详细看看吧。
  要想在同一网段,只要网络标识相同就可以了,那要怎么看网络标识呢?首先要做的是把每段的IP转换为二进制。(有人说,我不会转换耶,没关系,我们用Windows自带计算器就行。打开计算器,点查看>科学型,输入十进制的数字,再点一下岸??啤闭飧龅パ〉悖?涂梢郧谢恢炼??屏恕#?br>
  把子网掩码切换至二进制,我们会发现,所有的子网掩码是由一串[red]连续[/red]的1和一串[red]连续[/red]的0组成的(一共4段,每段8位,一共32位数)。
  255.0.0.0   11111111.00000000.00000000.00000000
  255.255.0.0  11111111.11111111.00000000.00000000
  255.255.255.0 11111111.11111111.11111111.00000000
  这是A/B/C三类默认子网掩码的二进制形式,其实,还有好多种子网掩码,只要是一串连续的1和一串连续的0就可以了(每段都是8位)。如 11111111.11111111.11111000.00000000,这也是一段合法的子网掩码。子网掩码决定的是一个子网的计算机数目,计算机公式是2的m次方,其中,我们可以把m看到是后面的多少颗0。如255.255.255.0转换成二进制,那就是 11111111.11111111.11111111.00000000,后面有8颗0,那m就是8,255.255.255.0这个子网掩码可以容纳 2的8次方(台)电脑,也就是256台,但是有两个IP是不能用的,那就是最后一段不能为0和255,减去这两台,就是254台。我们再来做一个。
  255.255.248.0这个子网掩码可以最多容纳多少台电脑?
  计算方法:
  把将其转换为二进制的四段数字(每段要是8位,如果是0,可以写成8个0,也就是00000000)
  11111111.1111111.11111000.00000000
  然后,数数后面有几颗0,一共是有11颗,那就是2的11次方,等于2048,这个子网掩码最多可以容纳2048台电脑。
  一个子网最多可以容纳多少台电脑你会算了吧,下面我们来个逆向算法的题。
  一个公司有530台电脑,组成一个对等局域网,子网掩码设多少最合适?
  首先,无疑,530台电脑用B类IP最合适(A类不用说了,太多,C类又不够,肯定是B类),但是B类默认的子网掩码是255.255.0.0,可以容纳6万台电脑,显然不太合适,那子网掩码设多少合适呢?我们先来列个公式。
  2的m次方=560
  首先,我们确定2一定是大于8次方的,因为我们知道2的8次方是256,也就是C类IP的最大容纳电脑的数目,我们从9次方一个一个试2的9次方是 512,不到560,2的10次方是1024,看来2的10次方最合适了。子网掩码一共由32位组成,已确定后面10位是0了,那前面的22位就是1,最合适的子网掩码就是:11111111.11111111.11111100.00000000,转换成10进制,那就是255.255.252.0。
  分配和计算子网掩码你会了吧,下面,我们来看看IP地址的网段。
  相信好多人都和偶一样,认为IP只要前三段相同,就是在同一网段了,其实,不是这样的,同样,我样把IP的每一段转换为一个二进制数,这里就拿IP:192.168.0.1,子网掩码:255.255.255.0做实验吧。
  192.168.0.1
  11000000.10101000.00000000.00000001
  (这里说明一下,和子网掩码一样,每段8位,不足8位的,前面加0补齐。)
  IP    11000000.10101000.00000000.00000001
  子网掩码  11111111.11111111.11111111.00000000
  在这里,向大家说一下到底怎么样才算同一网段。
  要想在同一网段,必需做到网络标识相同,那网络标识怎么算呢?各类IP的网络标识算法都是不一样的。A类的,只算第一段。B类,只算第一、二段。C类,算第一、二、三段。
  算法只要把IP和子网掩码的每位数AND就可以了。
  AND方法:0和1=0 0和0=0 1和1=1
  如:And 192.168.0.1,255.255.255.0,先转换为二进制,然后AND每一位
  IP      11000000.10101000.00000000.00000001
  子网掩码    11111111.11111111.11111111.00000000
  得出AND结果  11000000.10101000.00000000.00000000
  转换为十进制192.168.0.0,这就是网络标识,
  再将子网掩码反取,也就是00000000.00000000.00000000.11111111,与IP AND
  得出结果00000000.00000000.00000000.00000001,转换为10进制,即0.0.0.1,
  这0.0.0.1就是主机标识。要想在同一网段,必需做到网络标识一样。
  我们再来看看这个改为默认子网掩码的B类IP
  如IP:188.188.0.111,188.188.5.222,子网掩码都设为255.255.254.0,在同一网段吗?
  先将这些转换成二进制
  188.188.0.111 10111100.10111100.00000000.01101111
  188.188.5.222 10111100.10111100.00000101.11011010
  255.255.254.0 11111111.11111111.11111110.00000000
  分别AND,得
  10111100.10111100.00000000.00000000
  10111100.10111100.00000100.00000000
  网络标识不一样,即不在同一网段。
  判断是不是在同一网段,你会了吧,下面,我们来点实际的。
  一个公司有530台电脑,组成一个对等局域网,子网掩码和IP设多少最合适?
  子网掩码不说了,前面算出结果来了11111111.11111111.11111100.00000000,也就是255.255.252.0
  我们现在要确定的是IP如何分配,首先,选一个B类IP段,这里就选188.188.x.x吧
  这样,IP的前两段确定的,关键是要确定第三段,只要网络标识相同就可以了。我们先来确定网络号。(我们把子网掩码中的1和IP中的?对就起来,0和*对应起来,如下:)
  255.255.252.0 11111111.11111111.11111100.00000000
  188.188.x.x  10111100.10111100.??????**.********
  网络标识   10111100.10111100.??????00.00000000
  由此可知,?处随便填(只能用0和1填,不一定全是0和1),我们就用全填0吧,*处随便,这样呢,我们的IP就是
  10111100.10111100.000000**.********,一共有530台电脑,IP的最后一段1~254可以分给254台计算机,530/254=2.086,采用进1法,得整数3,这样,我们确定了IP的第三段要分成三个不同的数字,也就是说,把000000**中的**填三次数字,只能填1和0,而且每次的数字都不一样,至于填什么,就随我们便了,如00000001,00000010,00000011,转换成二进制,分别是1,2,3,这样,第三段也确定了,这样,就可以把IP分成188.188.1.y,188.188.2.y,188.188.3.y,y处随便填,只要在1~254范围之内,并且这530台电脑每台和每台的IP不一样,就可以了。
  有人也许会说,既然算法这么麻烦,干脆用A类IP和A类默认子网掩码得了,偶要告诉你的是,由于A类IP和A类默认子网掩码的主机数目过大,这样做无疑是大海捞针,如果同时局域网访问量过频繁、过大,会影响效率的,所以,最好设置符合自己的IP和子网掩码^_^


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/93443/showart_1890308.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP