网工干货知识

超全学习笔记
当前位置:首页 > 干货知识

该程序用于查找类地址、广播地址以及网络地址。

更新时间:2026年03月27日   作者:spoto   标签(Tag):

IPv4地址是分配给互联网上每个设备(无论是主机还是路由器)的唯一地址。

  • 它由32位组成,这些位被划分为四个八位组:x.y.z.t。
  • 每个IP地址由两部分组成:
    网络ID用于标识该网络。
    2. 主机ID:用于标识该网络中的设备(主机)。

实际上,IP地址指的是网络接口,而不仅仅是主机。如果一个主机连接在两个不同的网络上,那么它就需要两个IP地址。

默认掩码

这种掩码有助于将IP地址的网络部分与主机部分分开。

  • 如果某个位的值为1,那么该位所对应的设备属于网络的一部分。
  • 如果掩码位的值为0,那么该位就属于主机。

示例:

  • IP地址:192.168.1.1
  • 掩码:255.255.255.0
    前24位(都是1),即网络相关的内容。
    最后8位(都是0),即主机信息。

CIDR(无类域间路由)

CIDR采用x.y.z.t/n这种格式,其中:

  • x.y.z.t = IP地址
  • n = 网络部分的位数(掩码中的1的个数)

示例:192.168.32.1/24

  • 前24位用于标识网络,而后面的8位则用于标识主机。

网络地址

  • 定义这是子网中的第一个地址,用于标识网络(该地址不可分配给主机)。
  • 如何找到:
    将所有主机位设置为0或者
    IP地址与子网掩码

示例:IP:- 192.168.1.100/24即/也就是网络= 192.168.1.0

广播地址

  • 定义这是子网中的最后一个地址,用于定位或访问该地址。所有主机在那个网络中(无法分配给任何主机)。
  • 如何找到:
    将所有主机位设置为1或者
    IP地址或(非子网掩码)

示例/例子: IP:- 192.168.1.100/24即/也就是广播= 192.168.1.255

示例1:

CIDR:192.168.32.1/24

  • IP地址(二进制形式):11000000 10101000 00100000 00000001
  • 掩码:/24 → 255.255.255.0(24位网络地址,8位主机地址)

步骤:

  • 网络地址:将最后8位设置为0,即192.168.32.0
  • 广播地址:将最后8位设置为1,即192.168.32.255。

类别:C

示例2:

CIDR:互联网国家代码分配规则205.15.37.39/28

  • IP地址(二进制形式):11001101 00001111 00100101 00100111
  • 掩码:/28 → 255.255.255.240(28位网络地址,4位主机地址)

步骤:

  • 网络地址最后4位为0,即205.15.37.32
  • 广播地址最后4位为1,即205.15.37.47。

类别:C

实施:以下代码运用了上述提到的概念:

C++
#include<iostream>#include<vector>#include<cmath>使用命名空间标准;向量<整数>toBin(向量<整数>ip){向量<整数>b(32,0);为了(整数k=0;k<4;k++){整数x=ip[k];为了(整数i=7;i>=0;i--){b[k*8+i]=x%2;x/=2;}}返回b;}向量<整数>去完成(向量<整数>b){向量<整数>ip(4,0);为了(整数k=0;k<4;k++){为了(整数i=0;i<8;i++)ip[k]=ip[k]*2+b[k*8+i];}返回ip;}字符/字母getClass(整数f){if(f<=127)返回‘A’;if(f<=191)返回“B”;if(f<=223)返回‘C’;if(f<=239)返回‘D’;返回‘E’;}整数主要/核心(){字符串IPR=192.168.1.1/24;字符串ip_s=IPR.基底/基质(0,IPR.找到(‘/’));整数n=站着不动(IPR.基底/基质(IPR.找到(/)+1));向量<整数>ip;整数数字/数值=0;为了(字符/字母c:ip_s){if(c==‘.’){ip.push_back(数字/数值);数字/数值=0;}否则数字/数值=数字/数值*10+(c-‘0’);}ip.push_back(数字/数值);向量<整数>b=toBin(ip),净值(32),brd(32);为了(整数i=0;i<n;i++)净数[i]=brd[i]=b[i];为了(整数i=n;i<32;i++){净数[i]=0;brd[i]=1;}向量<整数>nt=去完成(净数),bd=去处理/完成(brd);cout<<IP: “互联网协议”<<ip_s<<"\n";cout<<面具:/<<n<<"\n";cout<<“班级:”<<getClass(ip[0])<<"\n";cout<<网络:<<nt[0]<<“.”<<nt[1]<<“.”<<nt[2]<<“.”<<nt[3]<<"\n";cout<<广播内容:<<bd[0]<<“.”<<bd[1]<<“.”<<bd[2]<<“.”<<bd[3]<<"\n";cout<<总地址数:<<(1<<(32-n))<<"\n";}
Java
进口java.util.Arrays;公共的类/类别 主要/核心{公共的静态的整数[]toBin(整数[]ip){整数[]b=新的整数[32];为了(整数k=0;k<4;k++){整数x=ip[k];为了(整数i=7;i>=0;i--){b[k*8+i]=x%2;x/=2;}}返回b;}公开的静态的整数[]去完成(整数[]b){整数[]ip=新的整数[4];为了(整数k=0;k<4;k++){为了(整数i=0;i<8;i++)ip[k]=ip[k]*2+b[k*8+i];}返回ip;}公共的静态的字符/字母getClass(整数f){if(f<=127)返回‘A’;if(f<=191)返回“B”;if(f<=223)返回‘C’;if(f<=239)返回‘D’;返回‘E’;}公开的静态的无效/无意义主要/核心(字符串[]参数/输入项){字符串IPR=192.168.1.1/24;字符串ip_s=IPR.子字符串(0,IPR.索引位置(/));整数n=整数.parseInt(IPR.子字符串(IPR.索引位置(‘/’
              马上抢免费试听资格
意向课程:*必选
姓名:*必填
联系方式:*必填
QQ:
思博SPOTO在线咨询

相关资讯

即刻预约

免费试听-咨询课程-获取免费资料