• 如何判断两个IP地址是不是在同一个网段


     要判断两个IP地址是不是在同一个网段,就将它们的IP地址分别与子网掩码做与运算,得到的结果一网络号,如果网络号相同,就在同一子网,否则,不在同一子网。
    例:假定选择了子网掩码255.255.254.0,现在分别将上述两个IP地址分别与掩码做与运算,如下所示:  www.2cto.com  
    211.95.165.24 11010011 01011111 10100101 00011000
    255.255.254.0 11111111 11111111 111111110 00000000
          与的结果是: 11010011 01011111 10100100 00000000
     
    211.95.164.78 11010011 01011111 10100100 01001110
    255.255.254.0 11111111 11111111 111111110 00000000
          与的结果是: 11010011 01011111 10100100 00000000 
     
    (注:)And:与运算。只有同为真时才为真。
    True and False 结果为False.
    True and True 结果为True;
    Flase and False 结果为False;
     
     
     
    可以看出,得到的结果(这个结果就是网络地址)都是一样的,因此可以判断这两个IP地址在同一个子网。
     
    例如:有一个C类地址为:192.9.200.13,按其IP地址类型,它的缺省子网掩码为:255.255.255.0,则它的网络号和主机号可按如下方法得到:
     
    第1步,将IP地址192.9.200.13转换为二进制11000000 00001001 11001000 00001101
    第2步,将子网掩码255.255.255.0转换为二进制11111111 11111111 11111111 00000000
    第3步,将以上两个二进制数逻辑进行与(AND)运算,得出的结果即为网络部分。“11000000 00001001 11001000 00001101”与“11111111 11111111 11111111 00000000”进行“与”运算后得到“11000000 00001001 11001000 00000000”,即“192.9.200.0”,这就是这个IP地址的网络号,或者称“网络地址”。  www.2cto.com  
    第4步,将子网掩码的二进制值取反后,再与IP地址进行与(AND)运算,得到的结果即为主机部分。如将“00000000 00000000 00000000 11111111(子网掩码的取值)反”与“11000000 00001001 11001000 00001101”进行与运算后得到“00000000 00000000 00000000 00001101”,即“0.0.0.13”,这就是这个IP地址主机号(可简化为“13”)。
     
    主机位中有3位被划为“网络标识号”占用,因网络标识号应全为“1”,所以主机号对应的字节段为“11100000”。转换成十进制后为224,这就最终确定的子网掩码。如果是C类网,则子网掩码为255.255.255.224;如果是B类网,则子网掩码为255.255.224.0;如果是A类网,则子网掩码为255.224.0.0。
  • 相关阅读:
    linux命令行 238
    C语言语法分析器 238
    有穷自动机的构造与识别 238
    简单词法分析实验报告238许锦沛 238
    javascript获得鼠标的坐标值
    滚动条颜色设置(IE、chrome浏览器)
    获取元素的页面位置,兼容各浏览器
    js闭包的作用
    javascrpt绑定事件之匿名函数
    javascript 函数及作用域
  • 原文地址:https://www.cnblogs.com/wgx0428/p/3203157.html
Copyright © 2020-2023  润新知