一文带你了解什么是子网掩码

article/2025/9/17 0:41:32

什么是子网掩码

子网掩码代表了“网络号+子网号”与主机号之间的分割方案。

很晦涩?

说子网掩码,我们还得先说说IP地址。

什么是IP地址

因特网上的每台主机或路由器端口都必须有一个唯一的IP地址。因为IP地址,在网络上我们才能互相识别,我们才能准确的交换信息或资源。

IP地址又分为IPV4地址和IPV6地址,应用最广的是IPV4地址,在这里我们先对IPV4地址进行讨论。

IPV4地址是一个32位的二进制数,也就是4个字节,通常采用的是点分十进制表示法,也就是用十进制来表示每个字节。 1字节=8位,所以每个字节可以表示的十进制范围是0~255.

IPV4地址分为两部分,分别是网络号和主机号。网络号的长度决定了整个因特网中能容纳多少网络,主机号的长度决定每个网络能容纳多少台主机(多少个ip)。

网络号主机号

IPV4地址又进行了分类,分为A、B、C、D、E类地址
在这里插入图片描述

  • A类地址的网络号占1字节,主机号占3字节。网络号的最高位固定为0,也就是说还有7位可以用来标识网络,也就是2^7 =128个网络号。0和127分别作为标识本网络和环回测试地址,所以实际可指派的网络号有128-2=126个。因为主机号占3个字节, 所以是24位二进制,也就是2 ^24个,主机号全0代表网络地址,全1代表对应网络上的所有主机即广播地址,所以实际可指派的主机号位2 ^24 -2个
  • B类地址的网络号占2字节,主机号占另外2字节。网络号字段中最高两位固定为10。网络号字段中只有14位可供使用。但实际上B类网络地址128.0.y.z 是不指派的,因此实际可指派的B类网络号共有2^14-1=16383个。在每个B类网络中,同样要考电的和全1这两个特殊的IP地址,因此每个B类子网包含20 ^16 -2=65 534个可用IP地址
  • C类地址的网络号占3字节,主机号占剩余的1字节。网络号字段中最高三位留因此网络号字段中有21位可供使用。而192.0.0.z 通常也不指派给因特网上的主机他指派的C类网络号共有2^21 -1=2097151个,每个C类子网只能包含2 ^8=254个可IP地址。
  • D类地址并不用于标识主机或网络,而是用于多播信息的传输。最高四位为1110,其余28位不再划分网络号和主机号。
  • E类地址最高5位是11110,保留未用。
网络类别可用网络数目第一个可用的网络号最后一个可用的网络号
A1261126
B16383128.1191.255
C2097151192.0.1223.255.255

通过上面的分析,我们可以看到ip地址是有限的。而且这么用的话有两个问题:

  • IP地址利用率过低。 拿A类地址来说,一个A类地址可包含1600万主机,根本不可能把1600万主机用在一个网络中。
  • 网络号-主机号这样的两级IP地址不够灵活。 有些情况下,用户希望在网络中划分新的网络出来,例如一个公司有一栋办公楼,它想给每一层都设置一个网络。

所以我们要划分子网!

划分子网

就是从主机号里借几位来当标识子网。当然这样主机号位数就少了,但是,也足够用了。

这样一个ip地址就可以划分为多个子网络来用,大大的提高了IP地址的利用率。

这时候回顾概念,子网掩码代表了“网络号+子网号”与主机号之间的分割方案。
子网掩码中对应网络号和子网号的二进制位为1,主机号为0,由此可知,A类网络的默认子网掩码是255.0.0.0,B类网络的默认子网掩码是255.255.0.0,C类网络的默认子网掩码是255.255.255.0。
子网掩码也可以用点分十进制来表示,例如:

11111111111111111111111100000000

就可以用255.255.255.0来表示。

假如给定IP地址位206.95.106.130,子网掩码为255.255.255.192,子网掩码换算为二进制就是

11111111111111111111111111000000

我们可以判断出这是个C类地址,C类地址网络号的范围是192.0.1~223.255.255,所以130对应的主机号+网络号,因此子网号占用了2位

如何获取子网的网络地址呢?

将子网掩码与IP地址相与就可以。

所以如果要判断两个IP地址是否在同一个子网中,只需要讲过两个IP地址与其对应的子网掩码做运算。

习题练习

例如:

主机一

IP地址"222.21.160.6即:11011110.00010101.10100000.00000110

子网掩码:255.255.255.192即:11111111.11111111.11111111.11000000

按位逻辑与运算结果为:11011110.00010101.10100000.00000000

十进制形式为(网络地址):222.21.160.0
主机二

IP地址 :222.21.160.73 即:11011110.00010101.10100000.01001001

子网掩码 :255.255.255.192即:11111111.11111111.11111111.11000000

按位逻辑与运算结果为:11011110.00010101.10100000.01000000

十进制形式为(网络地址):222.21.160.64

C类地址判断前三位是否相同,即可确定2个IP地址是否在同一网段内,但本例中的222.21.160.6与222.21.160.73不在同一网段,因为这两个C类IP地址已经做了子网划分就不能只判断前三个字节是否相同就确认这两个IP是否在同一网段。

其中222.21.160.6在222.21.160.1-222.21.160.62 段,222.21.160.73在222.21.160.65-222.21.160.126 段,所以不在同一网段,如果要通信需要通过路由器转发。

某台主机IP地址202.97.47.69,子网掩码是255.255.255.240,求它所在网络的网络地址为___________

答案 202.97.47.64

讲ip地址转换为2进制与子网掩码相与即可。


http://chatgpt.dhexx.cn/article/UMZYCmht.shtml

相关文章

制作QQ登录界面(UI版)

工具&#xff1a;Android Studio activity_main.xml <?xml version"1.0" encoding"utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"http:…

html登录界面

今天是2019年11月14日我第一次注册博客&#xff0c;我把我做的一个登陆界面分享给大家看希望各位大佬指教。 首先是html文件。 1.登录界面html 登录界面 用户名: 密 码: 注册 2.注册界面html。 注册界面 用户名: 输入密码: 确认密码: 立刻注册返回登录 **3.效果图**! 欢迎…

Android仿QQ微信开场导航以及登陆界面

相信大家对于微信等社交应用的UI界面已经都很熟悉了&#xff0c;该UI最值得借鉴的莫过于第一次使用的时候一些列产品介绍的图片&#xff0c;可以左右滑动浏览&#xff0c;最后进入应用&#xff0c;这一效果适用于多种项目中&#xff0c;相信今后开发应用一定会用得到。网路上也…

[练习]QQ登陆界面-测试用例的编写

&#xff08;Test Case&#xff09;是为了实施测试而向被测试系统提供的一组集合&#xff0c; 包括&#xff1a;测试环境、操作步骤、测试数据、预期结果等要素。 一条测试用例最终只有一个结果。 一个功能点至少有一个测试用例。 测试用例数/功能点数 测试的覆盖率&#xf…

web之qq邮箱登录界面

我们可以用css来做这个登录的表格 具体的完整代码实现如下&#xff1a; <!DOCTYPE html> <html> <meta charset"utf-8"> <title>登录qq邮箱</title> <style type"text/css">* {padding: 0;margin: 0;}.content {wid…

转载:QQ登录界面

//:登陆界面代码&#xff1a; package Myjava_QQ; import java.awt.*; import javax.swing.*; import Myjava_QQ.truess; import java.awt.event.*; import java.applet.*; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; …

模拟QQ登录页面

设计布局 代码体现 <html><head><title>模拟QQ登陆页面.html</title><meta http-equiv"content-type" content"text/html; charsetUTF-8"><style type"text/css">/*上大边框区域*/#main1{/*边框宽度*/wi…

【HTML+CSS+JS】模仿QQ登录界面

目录 前言简介布局思路相关代码颜色渐变动画头像表单区域JS相关 总结 前言 学了HTML、CSS和JS有了一个月了&#xff0c;JS还未学完&#xff0c;偷懒写一个小项目&#xff0c;用了一个下午&#xff0c;顺便巩固一下所学知识。&#xff08;内容比较简陋&#xff0c;适合新手&…

QQ登录界面(Java)

hi~好久不见吖&#xff0c;我又回来啦&#xff0c;dengdengdeng&#xff08;他来了&#xff0c;他来了&#xff0c;他带着他新学的知识来啦&#xff09; 咳咳&#xff0c;只是一个简单的界面&#xff0c;啥也不能干 这段时间我学习了窗体的创建&#xff0c;听老师讲了一会怎么…

Android 高仿QQ 登陆界面

先上图&#xff1a; 下面是布局&#xff1a; <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:background"drawable/login_…

java实现qq页面登陆界面

先看效果 1.建立包com.QQUI0819 2.在包下建立类 LoginAction package com.QQUI0819;import javax.swing.*; import java.awt.event.*; //首先&#xff0c;编写按钮癿监听器实现类 public class LoginAction implementsActionListener {private int count0;//当前为null,创建后…

QQ登录界面制作

实现简单的QQ登录操作&#xff08;阶段一&#xff09; 学习了java连接数据库后&#xff0c;便想简单的实现一下QQ登录的操作&#xff0c;但是也想拥有一个好看的界面&#xff0c;于是便打算进行界面设计&#xff08;个人喜好不同&#xff0c;不喜勿喷&#xff09;。 因为看起来…

qq 登陆界面怎么测试

主要考察&#xff1a; 测试者是否熟悉各种测试方法&#xff0c;是否有丰富的 App/Web 测试经验&#xff0c;以及相关开发经验&#xff0c;以及 设计 Test case 的能力。 功能测试 (Function test) 1&#xff09;输入正确的用户名和密码&#xff0c;点击提交按钮&#xff0c;验…

QQ用户登陆界面

import java.awt.*; import javax.swing.*;public class Test extends JFrame{//把需要的组件全部在这里定义JLabel bq1;//北部JButton an1,an2,an3; JPanel mb1;//南部JTabbedPane xxk;//中部 选项卡JPanel mb2,mb3,mb4;JLabel bq2,bq3,bq4,bq5;JTextField wbk;JPasswordFie…

qq登陆界面

以下是效果截图&#xff1a; 素材&#xff1a; 以下是源代码&#xff1a; import java.awt.*; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.*; public class QqClientLogin2 extends JFrameimplements MouseListener{ //北…

制作QQ登录界面

制作QQ登录界面 实验名称实验步骤1.程序大致理解2.代码实现 总结 实验名称 QQ登录界面 实验步骤 1.程序大致理解 在构建UI界面时不要着急动手&#xff0c;首先要考虑准备哪些素材&#xff08;如&#xff1a;图片资源&#xff09;&#xff0c;会用到哪些控件&#xff0c;把步…

qq登录界面

弄了弄qt&#xff0c;就知道为什么产品和程序员关系不好了。。 仿qq做的&#xff0c;感觉和qq差局还是很大&#xff0c;上图*.* 首先肯定是要把图片分成几部分&#xff0c;我分了4个框来处理这些&#xff08;顺便吐槽一下Linux的画图软件&#xff0c;太难收了&#xff09; 下一…

html-QQ登陆界面

初学30节课html的入门课程&#xff0c;花了几个小时模仿了一个qq的登陆界面。 效果图如下&#xff1a; 代码如下&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8" /><meta name"viewport" content"width…

【AndroidStudio】手机QQ登录界面2022版

Android的界面布局建议用xml编写&#xff0c;可有效与java代码隔开&#xff0c;这里采用相对布局RelativeLaout实现QQ登录界面布局 2022版手机QQ登录界面 1.为实现QQ企鹅图标效果&#xff0c;在左侧项目目录下打开app/src/main/res/&#xff0c;将自己准备的qq图案复制后paste(…

css3实现qq制作QQ登陆界面

1.代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>QQlogin</title><style type"text/css">#myImg01 {margin-top: 20px;width: 100px;height: 100px;float: left;backgro…