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. 浏览器内存漫游解决方案(js逆向)

    //浏览器内存漫游解决方案(js逆向) //原理通过ast把所有的变量,参数中间值进行内存的存储 //搜索AST-hook,进入github //现在github的库下载下来 //anyproxy n ...

  2. python 之用户自定义函数

    什么是函数? 函数无非就是将代码块进行封装,想用的时候拿来用,减少代码量,提高效率. 函数的定义 定义一个函数需要: 1.def关键字,def 后面空一格输入函数名称,函数命名时尽量简短,且具有意义, ...

  3. P1024 [NOI2001] 食物链【种类并查集】

    题意 P1024 简化题意:给定 \(n\) 和 \(k(n\leqslant5\times10^4,k\leqslant10^5)\) ,表示有 \(n\) 个动物, \(k\) 个描述,其中: \ ...

  4. 1_ES6中拓展运算符的使用

    一,拓展运算符(...) 拓展运算符(...):它会以参数序列的形式输出,更白话讲,比如数组,它可以把数组里面的东西一个一个的输出出来,例如 1 let arr1 =["你",&q ...

  5. 用云服务器搭建frp服务(超详细)

    初学.没有云服务器的时候总想着怎样才能让别人访问到自己的项目. 在查阅了百度,逛过了一些论坛之后,了解到了 内网穿透 这个词. 经过一番钻研,通过 手机 + KSWEB + 电脑 成功将内网服务映射出 ...

  6. C++初探索

    C++初探索 前言 C++ 和 C 的区别主要在8个方面: 输入和输出 引用 inline函数 函数默认值 函数重载 模板函数 new 和 delete namespace 我仅对印象不深的地方做了总 ...

  7. 为什么要虚拟化,为什么要容器,为什么要Docker,为什么要K8S?

    前言 如标题中的问题所提到的虚拟化,容器,Docker和K8s那样,我们不妨这样问:这些技术到底适用于哪些场景,有没有别的技术可以替代?这些技术的优劣在哪里? 下面我将针对性地从以上几个问题的出发点, ...

  8. Ubuntu 安装 Anaconda

    下载 anaconda 官网 https://repo.anaconda.com/archive/ 国内镜像 https://mirrors.bfsu.edu.cn/anaconda/archive/ ...

  9. 複合語句塊——關於while循環的

    看這兩個小段代碼: /*code1.*/ index=0; while(index<10) sam = 10*index+2; printf("sam=%d\n",sam); ...

  10. git操作失误,提交代码因为网络问题没有成功,然后操作时候点错按钮导致代码全部没有了,也没用备份,如何解决

    最好的提交代码办法, 1.先创建一个空文件夹, 2.然后创建一个在线仓库 3. git remote add origin '仓库地址' 4.查看远程仓库 git remote remove orig ...