IP 地址分类

IP 地址是由 4 组 8 位二进制表示的,格式为:xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx。十进制表示的格式为:xxxx.xxxx.xxxx.xxxx,最大可表示 255.255.255.255。

根据网络规模的大小,把 IP 地址分成了 A、B、C、D、E 五类,其中 A、B、C 三类为基本地址。

A 类 IP 地址

用前 8 位来表示网络地址,后 24 位标识主机地址。主机地址才是表示该网络地址中可以容纳的主机数量。

0 表示该地址是本地宿主机;127 保留给内部回送函数,所以 A 类 IP 地址可以表示的网络有 1~126 个。每个网络可以容纳2^24-2(即 16777214)台主机。

B 类 IP 地址

用前 16 位来表示网络地址,后 24 位标识主机地址。

B 类 IP 地址可以表示的网络有 128~191 个,每个网络可以容纳2^16-2(即 65534)台主机。

C 类 IP 地址

用前 24 位来表示网络地址,后 8 位标识主机地址。

C 类 IP 地址可以表示的网路有 192~223 个,每个网络可以容纳2^8-2(即 254)台主机。

IP 地址浪费

假如,A 小区的 IP 地址分配到一个 C 类地址 192.168.0.x。A 小区可以分配 0~255 个主机。但是,A 小区只有 4 台计算机,剩余的 252 个可用主机地址就被浪费了。

B 小区的有 100 台计算机,因为 A 小区占用了 192.168.0.x,所以 B 小区需要重新分配一个 C 类地址 192.168.1.x。但是,B 小区的主机数没有完全占用完这个网络地址中的主机地址数,也造成了浪费。

子网划分

把 192.168.0.0~3 作为 192.168.0.x 的子网。A 小区最大可分配的主机数是 4 个;把 192.168.0.4~104 同样作为 192.168.0.x 的另一个子网,B 小区最大可分配的主机数是 100 个。其余再合理地分配给其他小区。

子网掩码

没有子网掩码,路由器就不能分辨哪一个子网属于哪一个网络。每台主机都必须有一个子网掩码和 IP 地址。只有这样,主机才可以发送消息和接收消息。

  1. A 类 IP 地址的子网掩码是 255.0.0.0;
  2. B 类 IP 地址的子网掩码是 255.255.0.0;
  3. C 类 IP 地址的子网掩码是 255.255.255.0。

子网掩码与 IP 地址进行“与”运算就可以得知一台计算机属于哪一个子网。“与”运算的规则是:0 AND 0 = 0;1 AND 0 = 0;0 AND 1 = 0;1 AND 1 = 1

每一类地址的主机数不能全为 0 或不能全为 255,这样的地址不可以分配给主机。比如,121.0.0.0,主机数全为 0,不能分配给主机。

运算题

假如,IP 地址为 192.168.0.1,子网掩码是 255.255.255.0,同一个子网内的主机 IP 地址是以下哪些?

A. 192.168.0.0;B. 192.168.0.2;C. 192.168.1.0;D. 192.168.1.2。

第一步,把 192.168.0.1 所处的子网算出来:

\[\frac{11000000,10101000,00000000,00000001}{11111111,11111111,11111111,00000000}=11000000,10101000,00000000,00000000
\]

第二步,分别把选项中的 IP 地址与 255.255.255.255 子网掩码进行“与”运算:

选项 A 和选项 B 与 192.168.0.1 所处的子网相同。但是,选项 A 中的主机数全为 0,不可以作为主机 IP。因此,只有选项 B 与题目的子网相同。

主机数全为 0 或 255 的 IP 地址,可以省略不选。

IP 地址分类和子网掩码的更多相关文章

  1. ip地址分类和子网掩码学习笔记

    关于ip的一些学习心得 ip的概念其实很好理解,也很形象,就像一个门牌号一样,让人困惑的其实不是ip的概念本身,而是在日常计算机网络使用中,碰到很多有特殊意义的ip地址,例如,127.0.0.1,19 ...

  2. 3.IP地址分类_规划_子网掩码

    IP地址分类_规划_子网掩码 3.1MAC地址 网卡的身份证号———MAC地址 MAC地址的长度为48位(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如:08:00:20: ...

  3. IP地址分类、私有地址、子网、子网掩码

    IP地址分类介绍 这里讨论IPv4,IP地址分成了A类.B类.C类.C类.E类,如下图所示: 解释: A类以0开头,网络地址有7位,主机地址有24位,举例:A类地址:0 10000000 000000 ...

  4. IP地址分类及私网IP

    5类IP地址: IP地址共有32位字节,其中A~C类IP地址由类标识号.网络地址和主机地址组成,A类标识最高位为0,网络地址为1字节,主机地址为3字节, B类标识最高位为10,网络地址为2字节,主机地 ...

  5. 如何计算IP地址及CIDR,子网掩码计算

    如何计算IP地址及CIDR 一. IP地址概念 IP地址是一个32位的二进制数,它由网络ID和主机ID两部份组成,用来在网络中唯一的标识的一台计算机.网络ID用来标识计算机所处的网段:主 机ID用来标 ...

  6. IP地址分类(转)

    IP地址分类以及C类IP地址的子网划分 国际规定:把所有的IP地址划分为 A,B,C,D,E A类地址:范围从0-127,0是保留的并且表示所有IP地址,而127也是保留的地址,并且是用于测试环回用的 ...

  7. ip地址分类和网段区分

    IP地址分类/IP地址10开头和172开头和192开头的区别/判断是否同一网段 简单来说在公司或企业内部看到的就基本都是内网IP,ABC三类IP地址里的常见IP段. 每个IP地址都包含两部分,即网络号 ...

  8. IP地址分类百科

    IP地址分类介绍 这里讨论IPv4,IP地址分成了A类.B类.C类.C类.E类,如下图所示: 解释: A类以0开头,网络地址有7位,主机地址有24位,举例:A类地址:0 10000000 000000 ...

  9. IP地址分类(A类 B类 C类 D类 E类)

    IP地址分类(A类 B类 C类 D类 E类) IP地址由四段组成,每个字段是一个字节,8位,最大值是255,, IP地址由两部分组成,即网络地址和主机地址.网络地址表示其属于互联网的哪一个网络,主机地 ...

随机推荐

  1. 题解0014:信奥一本通1472——The XOR Largest Pair(字典树)

    题目链接:http://ybt.ssoier.cn:8088/problem_show.php?pid=1472 题目描述:在给定的 N 个整数中选出两个进行异或运算,求得到的结果最大是多少. 看到这 ...

  2. 【freertos】012-事件标志概念和实现细节

    目录 前言 12.1 实现事件机制的预备知识 12.1.1 守护任务 12.1.2 事件的不确定性 12.1.3 事件组的报文 12.2 事件概念 12.3 事件用途参考 12.4 事件实现原理简述 ...

  3. 在 4GB 物理内存的机器上,申请 8G 内存会怎么样?

    作者:小林coding 计算机八股文刷题网站:https://xiaolincoding.com/ 大家好,我是小林. 看到读者在群里讨论这些面试题: 其中,第一个问题「在 4GB 物理内存的机器上, ...

  4. 解决Invalid bound statement (not found)的异常

    今天在搭建框架的时候,报了一个Invalid bound statement (not found)的异常 经过分析,得出原因: 我的mybatis相关的dao和mapper.xml是通过逆向工程生成 ...

  5. 手写一个仿微信登录的nodejs程序

    前言 首先,我们看一下微信开放文档中的一张图: 上面的一幅图中清楚地介绍了微信登录整个过程,下面对图上所示进行总结: 一.二维码的获得 用户打开登录网页后,登录网页后台根据微信OAuth2.0协议向微 ...

  6. ServletContext 对象

    概念:代表整个Web应用 可以和程序的容器通信 (服务器) 获取 通过request对象获取  request.getServletContext(); 通过HTTPServlet获取  this.g ...

  7. centos7.6部署DRBD提示“no resources defined!

    环境准备: node1(主节点)IP: 192.168.26.30 主机名:node1node2(从节点)IP: 192.168.26.31 主机名:node2 1.关闭防火墙和selinux #se ...

  8. 使用vue实现排序算法演示动画

    缘起 最近做的一个小需求涉及到排序,界面如下所示: 因为项目是使用vue的,所以实现方式很简单,视图部分不用管,本质上就是操作数组,代码如下: { // 上移 moveUp (i) { // 把位置i ...

  9. 跨平台(32bit和64bit)的 printf 格式符 %lld 输出64位的解决方式

    问题描述 在 C/C++ 开发中,使用 printf 打印 64 位变量比较常用,通常在 32 位系统中使用 %lld 输出 64 位的变量,而在 64 位系统中则使用 %ld: 如果在 32 位系统 ...

  10. 【docker专栏1】docker解决的实际问题及应用场景

    Docker是一个开源的容器引擎,它轻巧,且易移植,"build once, configure once and run anywhere".使用go语言开发,并遵从apache ...