现在的位置: 首页 > 综合 > 正文

ip地址和子网掩码的划分及换算

2013年09月17日 ⁄ 综合 ⁄ 共 6044字 ⁄ 字号 评论关闭
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自带计算器就行。打开计算器,点查看>科学型,输入十进制的数字,再点一下“二进制”这个单选点,就可以切换至二进制了。)

  把子网掩码切换至二进制,我们会发现,所有的子网掩码是由一串[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和子网掩码^_^
网络大讲堂四 网络协议

要讲网络协议,首先就地提到是开放系统互联参考模型(OSI Referenec Model),即我们通常所说的网络互联的七层框架,它是国际标准组织(International Organization for Standization)于1977年提出的标准,又称为ISO/IEC 7498或X.200建议。值得注意的是,OSI并没有提供一个可以实现的方法,它不是一个标准而只是一个制定标准时使用的概念性的框架,更不是一个网络协议。

  OSI分为七层,其名字和功能分别如下:

1、物理层(Physical Layer):主要功能为定义了网络的物理结构,传输的电磁标准,Bit流的编码及网络的时间原则,如分时复用及分频复用。决定了网络连接类型(端到端或多端连接)及物理拓扑结构。说的通俗一些,这一层主要负责实际的信号传输。

2、据链路层(Data Link Review):在两个主机上建立数据链路连接,向物理层传输数据信号,并对信号进行处理使之无差错并合理的传输。

3、网络层(Network Layer):主要负责路由,选择合适的路径,进行阻塞控制等功能。

4、传输层(Transfer Layer):最关键的一层,向拥护提供可靠的端到端(End-to-End)服务,它屏蔽了下层的数据通信细节,让用户及应用程序不需要考虑实际的通信方法。

5、会话层(Session Layer):主要负责两个会话进程之间的通信,即两个会话层实体之间的信息交换,管理数据的交换。

6、表示层(Presentation Layer):处理通信信号的表示方法,进行不同的格式之间的翻译,并负责数据的加密解密,数据的压缩与恢复。

7、应用层(Application Layer):保持应用程序之间建立连接所需要的数据记录,为用户服务。
在工作中,每一层会给上一层传输来的数据加上一个信息头(header),然后向下层发出,然后通过物理介质传输到对方主机,对方主机每一层再对数据进行处理,把信息头取掉,最后还原成实际的数据。本质上,主机的通信是层与层之间的通信,而在物理上是从上向下最后通过物理信道到对方主机再从下向上传输。

  在实际应用中,最重要的是TCP/IP(Transport Control Protocol/Internet Protocol)协议,它是目前最流行的商业化的协议,相对于OSI,它是当前的工业标准或“事实的标准”,在1974年由Kahn提出的。它分为四个层次:应用层(与OSI的应用层对应),传输层(与OSI的传输层对应),互联层(与OSI的网络层对应),主机-网络层(与OSI的数据链路层和物理层对应)。TCP/IP协议主要用于广域网,在一些局域网中也有应用,比如在windows 9x和netware网中可以使用,但是在功能和速度方面还有差距,本来TCP/IP的设计目标就和IPX/SPX不一样。在设置TCP/IP协议的时候,主要有ip地址和子网掩码,网关(Gateway:在通信中提供网络协议之间的转换,适用于不同协议主机之间的信息交换),域名解析服务器(NDS: Domain Name System,即把你输入的网址转换为数字型的ip地址)和NetBIOS等等。

  上面说到了IPX/SPX(Internetwork Packet Exchange/Sequenced Packet exchange)协议,现在解释一下这种应用很广的网络协议。您一定在局域网里享受过快速的网络游戏吧,您可知道,这都是IPX/SPX的功劳。IPX/SPX是基于施乐的XEROX’S Network System(XNS)协议,而SPX是基于施乐的XEROX’S SPP(Sequenced Packet Protocol:顺序包协议)协议,它们都是由novell公司开发出来应用于局域网的一种高速协议。它和TCP/IP的一个显著不同就是它不使用ip地址,而是使用网卡的物理地址即(MAC)地址。它也和TCP/IP协议一样不能和OSI完全对应。只包含了OSI中传输层和网络层的部分。在实际使用中,它基本不需要什么设置,装上就可以使用了。由于其在网络普及初期发挥了巨大的作用,所以得到了很多厂商的支持,包括microsoft(但是后来它开发出来了自己的兼容Novell’IPX/SPX的IPX/SPX协议)等,到现在很多软件和硬件也均支持这种协议。

  相对于前面两种路由协议(路由,可以理解为在网络上两点间路径的选择)在日常应用中,还有两种非路由协议需要我们了解,它们是:NetBIOS(Network Basic Input/OutputSystem)和NetBEUI(NetBIOS Extended User Interface)。NetBIOS由microsoft和IBM开发,是会话层的协议,它建立允许不同计算机上的应用程序通过网络传输的连接会话。它是为只需要与别的在同一个网络上的计算机会话这一目的话设计的。在win9x&me中,当你在IPX/SPX中选定“希望在IPX/SPX启用NetBIOS”后,在TCP/IP的设置中可以选定“通过TCP/IP启用NetBIOS”。而NetBEUI则是IBM为自己作为网络传输站的网络产品设计的。它是NetBIOS的一个扩充版本,定义了没有被NetBIOS定义的祯类型,它能在中小规模的单网上传输数据。它可以在win9x&me中直接安装。在一些网络游戏中有可能需要这两种协议,如果你遇到不能玩的情况,可以试试装上它两,说不定能解你的燃眉之急。

抱歉!评论已关闭.