博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
划分子网
阅读量:4035 次
发布时间:2019-05-24

本文共 2036 字,大约阅读时间需要 6 分钟。

IP地址的格式是(32bit) = net-id + host-id

当外界要和我的电脑通信时,他首先找到和我的net-id一样的路由器,然后通过路由器再找到我的host-id。
IP地址一般分为三类:A类: IP(32bit) = net-id(8bit) + host-id(24bit)
通式是:IP= X. 0 . 0 . 0 后面的0是主机号
B类:IP(32bit)= net-id(16bit) + host-id(16bit)
通式:IP= X. X. 0 .0 后面的0是主机号
C类:IP(32bit)= net-id(24bit) + host-id(8bit)
通式:IP= X. X. X .0 后面的0是主机号
子网划分是为了解决网络IP不够用的情况,它的实质其实就是,在A,B,或者C类中把原先分配给它的主机号位数拿出若干个位来作网络号.这样就可以缓解网络IP不够用的情况了.
比如我们拿一个B类IP来划分:X.X.0.0 里面host-id位数有16位,这时可以根据具体需要(具体需要几位后面会讲)拿出若干位来作net-id,剩下的作host-id. (这时你可能会问,把 主机号位数拿去分了,那可以连的主机数不是少了?确实是这样,划分子网就是以牺牲主机数来增加网络数。事实也如此,很多企业单位本来没有那么多主机,但他就是要了个大的网络ID,IP地址不够用也是这种原因引起的)
好了,知道划分子网的实质就是把host-id分出若干位数来作net-id,这时外界是怎样和划分好了的子网内的主机联系的呢?
在没有子网掩码的情况下,外界要和子网内的主机联系必须通过先前没划分的总的网络路由器,然后由路由器查找网内的各主机,这样效率就很低下。可不可以让各个子网独自通过自己的路由和外界通信呢?掩码正是为了解决这个问题。
各个子网要和外界独自通信,必须让外界知道你是划分了的子网,你的具体网络ID。但路由表并没有划分子网的具体信息,所以外界也无法通过你的路由器和你联系。掩码就是在你划分了的子网IP地址中,net-id相对应的地方标上1, host-id相对应的地方标上0.再在路由表中添加掩码这一项,这样外界就很容易知道你的具体网络ID了。这就是掩码的作用。

200.200.200.0是一个C类地址。要求划分一个子网100主机,另外四个子网20主机,我们可以先把该网络划分成两个子网。一个给100主机的子网,一个给另外20主机的四子网。

C类地址有8bit的主机号,划分子网就是把主机号拿出若干位来作网络ID。
具体要拿出多少位这里有一个公式:子网内主机数=2的x次方-2(x是主机号的位数)
现在主机数是100,我们取2的x次方-2略大于100。即x=7。
也就是说主机号位数是7位,这个子网才能够连100台主机。本来有8位的,剩下的一位拿去当网络号。(也实在是巧,这一位刚好可以标识两个子网(0或者1)下面的红色部分!)
NET ID 200.200.200.00000000
NETMASK 255.255.255.00000000
子网1:
NET ID 200.200.200.00000000
NETMASK 255.255.255.10000000 (掩码就是用1标识网络ID,看蓝色部分)
子网2:
NET ID 200.200.200.10000000
NETMASK 255.255.255.10000000

接下来划分四个子网,用上面任何一个子网划分都行。这里用子网2吧。

由上面的公式,子网内主机数=2的x次方-2
取2的x次方-2略大于20,也即x=5.
也就是主机号位数是5位,刚才是7位,剩下2位作网络ID,
子网2.1:
NET ID 200.200.200.10000000
NETMASK 255.255.255.11100000
子网2.2:
NET ID 200.200.200.10100000
NETMASK 255.255.255.11100000
子网2.3:
NET ID 200.200.200.11000000
NETMASK 255.255.255.11100000
子网2.4:
NET ID 200.200.200.11100000
NETMASK 255.255.255.11100000
这样,子网划分就完成了。
接下来写出五个子网的子网掩码、网络地址、第一个主机地址、最后一个主机地址、广播地址就比较简单了。
记住这一条:
主机号全0是网络地址,网络地址+1是第1个主机地址,主机号全1是广播地址.广播地址-1是最后的主机地址.
子网一主机号全是0的:NET ID 200.200.200.00000000 后面八个0是二进制,换成十进制就是它的网络地址了,然后+1是主机地址;广播地址要注意,那个红色0已是网络ID,主机号是后面七个0,把7个0全置为1就是他的广播地址。

转自:

转载地址:http://cybdi.baihongyu.com/

你可能感兴趣的文章
关于对象赋值及返回临时对象过程中的构造与析构
查看>>
VS 2005 CRT函数的安全性增强版本
查看>>
SQL 多表联合查询
查看>>
Visual Studio 2010:C++0x新特性
查看>>
drwtsn32.exe和adplus.vbs进行dump文件抓取
查看>>
cppcheck c++静态代码检查
查看>>
在C++中使用Lua
查看>>
C++中使用Mongo执行count和distinct运算
查看>>
一些socket的编程经验
查看>>
socket编程中select的使用
查看>>
关于AIS编码解码的两个小问题
查看>>
GitHub 万星推荐:黑客成长技术清单
查看>>
可以在线C++编译的工具站点
查看>>
关于无人驾驶的过去、现在以及未来,看这篇文章就够了!
查看>>
所谓的进步和提升,就是完成认知升级
查看>>
昨夜今晨最大八卦终于坐实——人类首次直接探测到了引力波
查看>>
如何优雅、机智地和新公司谈薪水?
查看>>
为什么读了很多书,却学不到什么东西?
查看>>
长文干货:如何轻松应对工作中最棘手的13种场景?
查看>>
如何用好碎片化时间,让思维更有效率?
查看>>