IP 地址分类

在现实生活中,一个市区有许多的区,区下面又有很多的街道,街道下面又有很多的小区,A 市区、B 市区就是一个范围,每一个范围都有不同的居民数量。类比到计算机网络,A 类地址可以容纳256*256*256台主机。

A 类 IP 地址

IP 地址是一个 32 位二进制代码组成的,在 A 类地址中用前 8 位来表示网络号,后 24 位表示主机数量。主机地址表示每一个网络号中可以容纳的主机数量。

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

B 类 IP 地址

在 B 类地址中前 16 位来表示网络号,后 24 位表述主机数量。

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

C 类 IP 地址

在 C 类地址中前 24 位来表示网络号,后 8 位表示主机数量。

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

子网划分

如下图:有两个网络,192.30.12.x(A 网络)和 192.30.13.x(B 网络)。两个网络下的主机并不能互相通信,只能通过路由器进行转发:

有时,一个单位需要在新的地点马上开通一个新的网络。但是在申请到一个新的 IP 地址之前,新的网络是不可能连接到互联网上工作的。因此,在原本有的网络上再划分一个 IP 地址。如上图所示,在 A 网络中再划分一个子网。

原来的地址不可能再变化了,只有从主机号这里开始对网络再区分。对一个 IP 地址的主机号再划分的过程称之为子网划分。其实,对于外面来说,还是一个网络。

仔细观察,192.30.12.129~192.30.12.254 都是一个新的子网,192.30.12.2~192.30.12.126 也是子网。它们对外还是属于 192.30.12.0 这个网络的。

两台主机所处的网络号不同,那么这两台主机不能直接通信,而是需要通过路由器进行转发。PC12-129 与 PC12-2 相互通信,发现是不能发送 ICMP 数据包的。如下图所示:

PC12-2 和 PC12-124 属于同一个网络(同一个子网)因此可以直接进行通信。前面说到,对外,它们依旧还是一个网络,但是由于子网掩码的作用,计算机判断它们不属于一个网络,上图发现这两个计算机不能通信,说明子网已经划分成功。

子网掩码

其实,如上图,PC12-129 和 PC12-2 在进行通信时,如何知道对方是不是属于我这个子网的计算机呢?

没有子网掩码,路由器就不能分辨哪一个子网属于哪一个网络。每台主机都必须有一个子网掩码和 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,不能分配给主机。

已经知道子网掩码的作用之后,再回头看上面的子网划分图,PC12-129 和 PC12-2 的子网掩码都是什么呢?

PC12-129 的 IP 配置信息:

PC12-2 的 IP 配置信息:

它们的子网掩码都是一样的,这是因为采用了等长子网划分,变长子网划分的话,两个子网掩码才可能不一样。这里,推荐观看视频:等长子网划分变长子网划分

子网划分+子网掩码可以让一个网络更加灵活,提高 IP 地址的使用率。

练习题

假如,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,这样的地址不可以分配给主机。比如,121.0.0.0,主机数全为 0,不能分配给主机。因此,主机数全 0 或 255 的 IP 地址,直接省略不选。

Cisco 实战

上图的拓扑结构不能支持各个子网的计算机进行通信,而下面,将通过多个路由器再对上图的拓扑进行改造,实现一个可以通信的网络。如下图所示:

图中的拓扑结构中有三个路由器,每一个路由器需要至少 2 个 IP 地址,路由器的 IP 地址就是网关,而网关下的所有网络的计算机需要与其他网络的计算机通信,都要通过网关转发到其他网络。

集线器不影响网络的结构,集线器连接的所有计算机还是属于一个网络,而只有路由器才能“隔开”网络,但又转发数据包到其他网络,可以说,路由器就是网络与网络的守门人,同时又是灯塔。

上图所示的拓扑结构,所有的计算机都可以进行通信,比如,PC12-1 与 PC13-1 进行通信,它们都不是一个网络:

而 PC12-1 和 PC12-129 它们实际上是一个网络,但 PC12-129 所在的网络是 192.30.12.x 下面分出来的一个子网,子网与子网是否可以进行通信?是否可以与其他网络进行通信?

通过实验结果可以得出,是可以进行通信的。这是该实验的 pkt 文件:分类 IP 地址及其子网划分

IP 地址分类及子网划分的更多相关文章

  1. [转,讲的非常精彩]CIDR地址块及其子网划分(内含原始IP地址分类及其子网划分的介绍)

    http://blog.csdn.net/dan15188387481/article/details/49873923 CIDR地址块及其子网划分(内含原始IP地址分类及其子网划分的介绍)   1. ...

  2. 计算机网络【3】—— IP地址分类与子网划分

    一.IP地址分类

  3. IP地址分类以及子网划分

    五类IP地址段 根据上表的说明,我们可以知道: 你只要知道 IP 的第一个十进制数,就能够约略了解到该 IP 属于哪一个等级, 以及同网域 IP 数量有多少. 这也是为啥我们上头选了 192.168. ...

  4. IP地址分类和子网划分

    IP地址: 地址范围                                  网络地址规律 子网掩码             私有地址       保留地址 A类地址:从1.0.0.0 到1 ...

  5. IP地址分类及CIDR划分方法

    IP地址的分类和表示有三种形式,1.分类的IP地址.2.子网划分.3.无分类编址CIDR 1.分类的IP地址 IP地址:: = {<网络号>,<主机号>} 不同的网络号和主机号 ...

  6. IP的分类以及子网划分、网络设置

    前言 整个因特网就是一个单一的.抽象的的网络.IP地址就是给因特网上的每一个主机(或路由器)的每一个接口分配一个在全世界范围是唯一的32位的标识符.IP地址的结构使我们可以在因特网上很方便的进行寻址. ...

  7. IPv4地址分类及子网划分

    IPv4地址分为A,B,C,D,E类: A类:1.0.0.0~126.255.255.255,默认子网掩码/8,即255.0.0.0 (其中127.0.0.0~127.255.255.255为环回地址 ...

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

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

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

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

  10. IP地址分类(转)

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

随机推荐

  1. 项目完成小结 - Django-React-Docker-Swag部署配置

    前言 最近有个项目到一段落,做个小结记录. 内容可能会多次补充,在博客上实时更新哈~ 如果是在公众号阅读这篇文章,可以点击「查看原文」访问最新版本~ 这个项目是前后端分离,后端为了快,依然用我的Dja ...

  2. Windows下使用VSCode搭建IDA Python脚本开发环境

    由于本人是VSCode的重度沉迷用户,需要写代码时总会想起这个软件,因此选择在VSCode中搭建IDA Python的开发环境 本文适用的环境如下: 1.操作系统 windows 2.Python3 ...

  3. 基于.NetCore开发博客项目 StarBlog - (24) 统一接口数据返回格式

    前言 开发接口,是给客户端(Web前端.App)用的,前面说的RESTFul,是接口的规范,有了统一的接口风格,客户端开发人员在访问后端功能的时候能更快找到需要的接口,能写出可维护性更高的代码. 而接 ...

  4. mybatis 之定义拦截器 控制台SQL的打印

    类型 先说明Mybatis中可以被拦截的类型具体有以下四种: 1.Executor:拦截执行器的方法.2.ParameterHandler:拦截参数的处理.3.ResultHandler:拦截结果集的 ...

  5. 外包公司中的"炼狱",极度摧残,避免踩坑。

    引言 前些天羊了,一直没有更新.今天给大家聊聊两家外包公司,遇到的小伙伴避免踩坑. 咱不说那些虚的,什么尽量不要去外包公司,尽可能找甲方,这些谁都知道,肯定是因为一些原因(比如学历.项目经验.技术有待 ...

  6. .Net 7 团队把国内的龙芯确实当做一等公民和弃用的项目

    楔子: 国内龙芯据说是用的自己的指令集,在研究ILC的时候,发现了龙芯在微软那边确实是一等公民的存在. 龙芯官网 龙芯平台.NET,是龙芯公司基于开源社区.NET独立研发适配的龙芯版本,我们会长期进行 ...

  7. 05.深入理解JMM和Happens-Before

    大家好,我是王有志. JMM都问啥? 最近沉迷P5R,所以写作的进度很不理想,但不得不说高卷杏YYDS.话不多说,开始今天的主题,JMM和Happens-Before. 关于它们的问题并不多,基本上只 ...

  8. Jest如何有序地执行测试

    项目场景: node环境下编写js库,处于规范性考虑,需要做单元测试,我选择了Jest 问题描述 我的js库需要访问数据库,因此操作都是异步的,而且各个测试单元有严格的先后执行顺序(比如,建表 > ...

  9. java基础:方法

    方法 方法是解决一类问题的步骤的有序组合 包含于类/对象中 设计原则 方法的原子性:一个方法只实现一个功能 定义与调用 方法的组成: 方法的调用 若方法返回值为空 System.out.println ...

  10. vue学习笔记(八)---- vue中的实例属性(wacth和computed的使用)

    一.watch属性的使用 1.传统方式实现双向数据改变监听事件(姓名拼接案例) <div id="app"> 姓: <input type="text& ...