IP 地址分类及子网划分
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 地址。只有这样,主机才可以发送消息和接收消息。
- A 类 IP 地址的子网掩码是 255.0.0.0;
- B 类 IP 地址的子网掩码是 255.255.0.0;
- 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 所处的子网算出来:
\]
第二步,分别把选项中的 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 地址分类及子网划分的更多相关文章
- [转,讲的非常精彩]CIDR地址块及其子网划分(内含原始IP地址分类及其子网划分的介绍)
http://blog.csdn.net/dan15188387481/article/details/49873923 CIDR地址块及其子网划分(内含原始IP地址分类及其子网划分的介绍) 1. ...
- 计算机网络【3】—— IP地址分类与子网划分
一.IP地址分类
- IP地址分类以及子网划分
五类IP地址段 根据上表的说明,我们可以知道: 你只要知道 IP 的第一个十进制数,就能够约略了解到该 IP 属于哪一个等级, 以及同网域 IP 数量有多少. 这也是为啥我们上头选了 192.168. ...
- IP地址分类和子网划分
IP地址: 地址范围 网络地址规律 子网掩码 私有地址 保留地址 A类地址:从1.0.0.0 到1 ...
- IP地址分类及CIDR划分方法
IP地址的分类和表示有三种形式,1.分类的IP地址.2.子网划分.3.无分类编址CIDR 1.分类的IP地址 IP地址:: = {<网络号>,<主机号>} 不同的网络号和主机号 ...
- IP的分类以及子网划分、网络设置
前言 整个因特网就是一个单一的.抽象的的网络.IP地址就是给因特网上的每一个主机(或路由器)的每一个接口分配一个在全世界范围是唯一的32位的标识符.IP地址的结构使我们可以在因特网上很方便的进行寻址. ...
- 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为环回地址 ...
- IP地址分类、私有地址、子网、子网掩码
IP地址分类介绍 这里讨论IPv4,IP地址分成了A类.B类.C类.C类.E类,如下图所示: 解释: A类以0开头,网络地址有7位,主机地址有24位,举例:A类地址:0 10000000 000000 ...
- 3.IP地址分类_规划_子网掩码
IP地址分类_规划_子网掩码 3.1MAC地址 网卡的身份证号———MAC地址 MAC地址的长度为48位(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如:08:00:20: ...
- IP地址分类(转)
IP地址分类以及C类IP地址的子网划分 国际规定:把所有的IP地址划分为 A,B,C,D,E A类地址:范围从0-127,0是保留的并且表示所有IP地址,而127也是保留的地址,并且是用于测试环回用的 ...
随机推荐
- Kubernetes(k8s)存储管理之数据卷volumes(一):volumes的引入和emptyDir数据卷
目录 一.系统环境 二.前言 三.Docker数据卷volumes 四.Kubernetes 数据卷volumes 4.1 有状态容器和无状态容器 4.2 Kubernetes 数据卷volumes解 ...
- Qt的进程间通信,以服务器的形式,手把手教你VS上进行Qt的COM、ActivedQt Server的开发,比保姆还保姆(一)
Qt的进程间通信,以Active服务器的形式,手把手教你VS上进行Qt的COM.ActivedQt Server的开发,比保姆还保姆 写在前面,文中的ID有部分对不上,因为我中途改了一下,我建议你在实 ...
- 直播报名|资深云原生架构师分享服务网格在腾讯 IT 业务的落地实践
云原生在近几年的发展越来越火热,作为云上最佳实践而生的设计理念,也有了越来越多的实践案例,而一个个云原生案例的背后,是无声的巨大变革. 腾讯云主办首个云原生百科知识直播节目--<云原生正发声&g ...
- 使用linux的ffmpeg进行B站直播推流
很久之前买了个友善的开发板R2S,一直在家吃灰.最近看到网上有用ffmpeg进行直播推流的案例,想把吃灰的的开发板利用起来,于是有了这篇教程. 第一步:安装ffmpeg sudo apt update ...
- Matplotlib学习笔记2 - 循序渐进
Matplotlib学习笔记2 - 循序渐进 调整"线条" 在Matplotlib中,使用plot函数绘制的线条其实是一种特定的类,matplotlib.lines.Line2D. ...
- angular + ng-zorro 表格后台分页及排序功能实现,angular + ng-zorro 表格排序不起作用解决办法
angular + ng-zorro 表格排序不起作用是因为数据是从后端获取的,也是后端分页,所以要自己写排序啦~~~~ 举例:HTML <nz-table #basicTable nzBord ...
- forEach(遍历) VS map(映射) VS reduce(聚合)---学习笔记
- JS按空格和换行或者其他字符进行切割形成数组
据我所测试,目前最好用的代码是: 方案一 let arr = value.split(/[,,\s\n]/).filter(_ => _) 方案二 let arr = value.replace ...
- CF1051E Vasya and Big Integers
[CF1051E Vasya and Big Integers](Problem - E - Codeforces) sb的做法 单调队列乱整( #include<bits/stdc++.h&g ...
- (补12月19)ORM查询优化、ORM事物操作、ORM常用字段参数、Ajax请求、Content-Type
ORM查询优化.ORM事物操作.ORM常用字段参数.Ajax请求.Content-Type Q查询进阶操作 先产生一个对象 q_obj = Q() 修改默认对象 q_obj.connector = ' ...