zoukankan      html  css  js  c++  java
  • 网络地址和广播地址计算

     示例:给定网络(197.8.43.211/28) 求:网络地址、广播地址、首个可用IP、末个可用IP

    一、求网络地址

    将给定网络IP地址和子网掩码地址,将其转为32位二进制位,将给定IP和子网掩码进行"与"运算:

    11000101 00001000 00101011 11010011 -------------> IP地址(不足8位前补0): 197.8.43.211
    11111111 11111111 11111111 11110000 -------------> 子网掩码(28个1): 255.255.255.240
    ====================================与(AND)运算求网络地址
    11000101 00001000 00101011 11010000 -------------> ★网络地址: 197.8.43.208


    二、求广播地址(分两步)

    2.1 先将子网掩码取反(即:1变0 0变1),得到子网掩码的"逻辑非"
    11111111 11111111 11111111 11110000 -------------> 子网掩码(28个1): 255.255.255.240
    ====================================取反
    00000000 00000000 00000000 00001111 -------------> 子网掩码的逻辑非


    2.2 再用原IP(197.8.43.211)和上面求得的子网掩码的逻辑非进行"或"运算:
    11000101 00001000 00101011 11010011 -------------> IP地址(不足8位前补0): 197.8.43.211
    00000000 00000000 00000000 00001111 -------------> 子网掩码的逻辑非
    ====================================或(OR)运算
    11000101 00001000 00101011 11011111 -------------> ★广播地址: 197.8.43.223


    得到:

    网络地址: 197.8.43.208

    广播地址: 197.8.43.223

    三、首个可用IP(网络地址 + 1) : 197.8.43.209

    四、末个可用IP(广播地址 - 1) : 197.8.43.222


    附:终结版
    IPv4广播地址的定义是网络号码与网络掩码逻辑“非”之间的逻辑“或”。
    例如一个地址为:197.8.43.211,其子网掩码为255.255.255.240

    1.则其网络号码为两者的二进制逻辑"与",即: 197.8.43.208

    2.网络掩码的逻辑"非"为0.0.0.15,与网络号码197.8.43.208二进制逻辑"或"的结果为197.8.43.223,即该子网的广播地址.

  • 相关阅读:
    shell中exec解析
    linux expr命令参数及用法详解
    Linux中变量#,#,@,0,0,1,2,2,*,$$,$?的含义
    Q_DISABLE_COPY
    lower_bound()函数
    滚动数组
    POJ 1159 Palindrome(LCS)
    C语言中short的意思
    ZOJ 2432 Greatest Common Increasing Subsequence(最长公共上升子序列+路径打印)
    ZOJ 1004 Anagrams by Stack(DFS+数据结构)
  • 原文地址:https://www.cnblogs.com/martinzhang/p/8596857.html
Copyright © 2011-2022 走看看