C1能力认证任务书之二——宿舍员工网络接入

题目

住在⼀起的同事之间经常会联⽹打⼀些局域⽹的游戏,⽐如王者、吃鸡之类的。现在公司买了⼀台TP-LINK⽆线路由器,但是⼩王不知道怎么样才能让⼤家都在⼀个局域⽹中打游戏,你能帮他这个忙吗?

说明:

  • 对⽹络及IP地址有基本的认识。
  • 掌握IP地址和分类,知道公有IP与私有IP的区别。
  • 掌握IP路由控制、IP分⽚与重组等技术。
  • 了解IP相关协议的技术与应⽤,如ARP/RARP、DHCP、NAT等。

要求:

  • 规划⼀个C类IP地址,例如使⽤⼦⽹掩码255.255.255.128将IP地址192.168.99.0~192.168.99.255划分成四个⼦⽹(可以从8位主机号中借⽤⼏位作为⼦⽹号),并使之能互联互通。

知识点

首先我们要先区分三个专有名词:互联网因特网万维网

互联网:凡是能彼此通信的设备组成的网络就叫互联网。

因特网:国际标准的互联网写法是Internet(注意,作为一个专有名词他的首字母是大写,用以区分internet),它是由上千万台设备组成的互联网。

万维网:World Wide Web的缩写。只要应用层使用的是HTTP协议,就称为万维网。
三者的关系:互联网包含因特网,因特网包含万维网。

IP协议:我们知道,当一台设备接入网络后,它要想和另一台设备通信,就要把信息按照一定的“规矩”通过网络发送给另一台设备,而所有的设备都想要互通有无的话,就必须共同遵守一个规矩,这个规矩我们就把它叫做“协议”。而主流的协议就是IP协议,任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。IP协议实际上是一套由软件程序组成的协议软件,它把各种不同“帧”统一转换成“IP数据报”格式,使所有各种计算机都能在因特网上实现互通,即具有“开放性”的特点。正是因为有了IP协议,因特网才得以迅速发展成为世界上最大的、开放的计算机通信网络。因此,IP协议也可以叫做“因特网协议”。
知道了P协议之后,我们还要知道该协议中的一个重要内容,那就是给因特网上的每台计算机和其它设备都规定了一个唯一的地址,叫做“IP地址”。

IP地址:英文Internet Protocol Address,指互联网协议地址,又译为网际协议地址,是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

IPV4:由四组八位(共计32位)按点分十进制构成,每一段最大不超过255,共计约43亿个地址。

IPV6:在物联网技术蓬勃发展的今天,IPV4提供的地址数量显然是不够用的,因此把32位扩展到了40位,由此诞生了IPV6。

公有IP:由Inter NIC(Internet Network Information Center因特网信息中心)负责。这些IP地址分配给注册并向Inter NIC提出申请的组织机构,是公网连接Internet上的非保留地址,通过它直接访问因特网。

私有IP:是在本地局域网上的IP 。在公网上是不能被识别的,必须通过NAT将内部IP地址转换成公网上可用的IP地址,从而实现内部IP地址与外部公网的通信。

IP地址的分类:Internet委员会定义了5种IP地址类型以适合不同容量的网络,即A类~E类。
A类:第一个字节是网络号,后三个字节是主机号。
B类:前两个字节是网络号,后两个字节是主机号。
C类:前三个字节是网络号,后一个字节是主机号。
在这里插入图片描述

图盗_(:з」∠)_
类别最大网络数实际可分配IP地址范围单个网段最大主机数私有IP地址范围
A126( 2 7 − 2 2^{7}-2 272)1.0.0.1-127.255.255.25416777214 ( 2 24 − 2 ) (2^{24}-2) (2242)10.0.0.0-10.255.255.255
B16383( 2 14 − 1 2^{14}-1 2141)128.0.0.1-191.255.255.25465534 ( 2 16 − 2 ) (2^{16}-2) (2162)172.16.0.0-172.31.255.255
C2097151( 2 21 − 1 2^{21}-1 2211)192.0.0.1-223.255.255.254254 ( 2 8 − 2 ) (2^{8}-2) (282)192.168.0.0-192.168.255.255

以A类为例,它的最大网络数目由其网络号决定,共 2 7 2^7 27个,但还要额外减去00000000和01111111这两个网络号,前者默认被用为表示本网络,后者保留作为本地软件环回测试本主机的进程之间的通信之用。所以实际上是 2 7 − 2 2^7-2 272个。注意这里的减2和后面的减2的区别。
单网段最大主机数为 2 3 ∗ 8 − 2 = 16777214 2^{3*8}-2=16777214 2382=16777214个。这里又减了2是因为,全0的主机号字段表示该IP地址是“本主机”所连接到的单个网络地址,而全1表示“所有的”,因此全1的主机号字段表示该网络上的所有主机(主机号:全0代表网络地址,全1代表广播地址)。

对于B类,由于128.0.0.0是不指派的,而可以指派的B类最小网络地址是128.1.0.0,因此B类地址可指派的网络数为 2 14 − 1 2^{14}-1 2141

对于C类,其网络地址的192.0.0.0也是不指派的,可以指派的C类最小网络地址是192.0.1.0.因此,C类地址可指派的网络总数是 2 21 − 1 2^{21}-1 2211

划分子网:把IP地址的主机号再划分,而不改变原来的网络号。

子网掩码:用来指明IP地址哪些是网络号,哪些值主机号。由它的用途我们就可以知道,子网掩码是不可能单独存在,必须配合IP地址一起使用。举例,129.168.1.1 /24 这个/24就是告诉我们网络号是24位,也就相当于告诉我们了子网掩码是:11111111 11111111 11111111 00000000即:255.255.255.0


答案

了解上面的知识点后差不多就可以做题了。
以IP地址192.168.99.0,子网掩码255.255.255.128为例,其点分十进制分别为:

1100000.10101000.01100011.00000000

11111111.11111111.11111111.10000000

我们通过子网掩码可知,其前25位是网络号,后7位是主机号。我们现在就需要借后面的主机号,来进行子网的划分。借几个呢?我们要划分成四个子网,可以用00,01,10,11来表示,所以两位即可(当然三位四位等等也可以)。如下:

1100000.10101000.01100011.0 0000000
1100000.10101000.01100011.0 0100000
1100000.10101000.01100011.0 1000000
1100000.10101000.01100011.0 1100000
对应的点分十进制为:
192.168.99.0
192.168.99.32
192.168.99.64
192.168.99.96
每个网段对应可分配的IP地址:
192.168.99.0~192.168.99.31
192.168.99.32~192.168.99.63
192.168.99.64~192.168.99.95
192.168.99.96~192.168.99.127
参考文献

1. 互联网
2. IP地址
3. IPv4编址;A类、B类、C类、D类、E类IP地址(IP地址;网络地址和主机地址;子网掩码;网关;广播地址;)

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值