计算机网络子网掩码

来源:互联网 发布:怎么加入淘宝安装门店 编辑:程序博客网 时间:2024/06/06 08:37

       子网掩码最直接的作用是判断IP地址与另一个IP地址是否在同一个网段内。

    下面先简单看一个电脑上IP的基本配置

     IP地址:192.168.0.5

     子网掩码:255.255.255.0

      默认网关:192.168.0.1

 

          如上的例子,IP地址、子网掩码、默认网关。假如现在上边的电脑A(IP地址192.168.0.5)要给电脑B(IP地址为192.168.0.22)发送数据,首先A将数据发到路由器,路由器经过判断B的地址和A的地址在同一个网段内,然后路由器就将数据直接发送给B。

      路由器具体使用子网掩码来判断IP地址是先将这些IP地址和子网掩码都换成二进制,然后按照子网掩码的最长位数的1来比较。

      第一步:转换为二进制

      A的IP地址:11000000,10101000,00000000,00000101

        子网掩码:11111111,11111111,11111111,00000000

      B的IP地址:11000000,10101000,00000000,00010110

     第二步:按照子网掩码最长1来比较

     看上边的内容,子网掩码在左边一共有24位为1,那这样的意思就是如果两个IP地址的前24位都相同的话,那这两个IP地址就是在同一个网段内,看到我红色标记的A和B的地址都相同,那这就说明A和B在同一个网段内。

    

     再看一个例子,如果还是A地址的数据发到C地址,C的IP地址为192.168.56.21

     第一步:转换为二进制

     A的IP地址:11000000,10101000,00000000,00000101

        子网掩码:11111111,11111111,11111111,00000000

      C的IP地址:11000000,10101000,00111000,00010101

     第二步:按照子网掩码最长1来比较

      看上边的A和C,按照子网掩码的要求,如果C的前24位和A的前24位都相同的话,那么A和C才是同一网段的,看上边C的地址,我用蓝色来标注不同的位数,这样A 和C就不在同一个网段内,路由器就不能直接把A要发给C的数据直接经过一个路由器给发送过去,这样路由器就要先将A的数据转发到另外一个路由器(一个不行就继续往下发),然后再发到C上。

 

 

问题扩展:

 一:上边的例子中子网掩码为255.255.255.0,那么能不能把子网掩码给修改呢,完全可以。

        在上边A和C的例子中,如果把子网掩码改成255.255.0.0,再看一下   

       A的IP地址:11000000,10101000,00000000,00000101

        子网掩码:11111111,11111111,00000000,00000000

      C的IP地址:11000000,10101000,00111000,00010101

      这样A和C就在同一个网段内了

二:扩展子网

       在一个公司或者学校内部,已经分配好了网络号,按照内部行政结构的不同,再将网络分配成子网络号。

       举例:如果一个公司主机已经分配好的网络按照255.255.0.0的子网掩码来区分主机号,现在由于公司有两个部门,想要按照部门来划分成两个子网络来,那么可以简单的用子网掩码来划分。现在来考虑,有两个部门,按照二进制的做饭,那么只要有一位的数字0和1来区分就可以了。

       按照255.255.0.0(11111111,11111111,00000000,00000000)来划分,前边了16位是网络号,按照子网掩码是按照最长1来匹配,那么现在就在17位划分位0和1来区分成两个。那么可以给一个部门的子网掩码划分为255.255.128.0,另一个划分为255.255.0.0,用二进制来比较一下

       255.255.0.0:    11111111,11111111,00000000,00000000

       255.255.128.0:11111111,11111111,10000000,00000000

       这样就简单的将两个部门来划分开了

 三:路由的时候选择最长1来匹配

       路由的时候为什么选择最长1来匹配,理由是这样的:如果是在好几个可以匹配的网段内(还是按照子网掩码)选择最长的那个,可以很快的找到匹配。如果是按照最短的,那么需要匹配的主机就多,还有一种可能是一个路由器转发不了,还要换另一个路由,很可能造成包在网络内循环,最后直至包被丢弃。

 四:网关的概念

        在开始的例子中提到默认网关的概念,先来看网关的概念。

        网关实质上是一个网络通向其他网络的IP地址,网关的IP地址是具有路由功能的设备的IP地址,按照上边的192.168.0.1网关的例子,网关就是有那么一台机子或者是PC机或者是服务器它的IP地址是192.168.0.0,这个设备有路由功能。按照这个理论,一个设备的IP必须和自己的网关在同一个网段内,这是必须的。

        说完网关,再说默认网关,默认二字就没有太多解释的了,这里举例说明:网关可能不止一个,有网关一、网关二等等,默认网关就是选择其中之一做为默认值。