【计算机网络】网络层——IPv4地址(个人笔记)

news2024/9/24 10:23:38

学习日期:2024.7.24

内容摘要:IPv4地址,分类编址,子网,无分类编址


IPv4地址概述

在TCP/IP体系中,IP地址是一个最基本的概念,IPv4地址就是给因特网上的每一台主机的每一个接口分配一个在全世界范围内唯一32比特的标识符。

IPv4地址是32比特位的,因为一连串0和1不方便阅读,所以常用点分十进制法表示,其实就是8个二进制数为一组,用十进制数表示,再用点分开,也就是我们常见的形如192.168.0.1的形式。

 为了方便后面的学习,可以先熟悉几个常用的二进制转十进制:

1111 1111转十进制是255,1000 0000转十进制是128,自然0111 1111转十进制是127

10开头的八位二进制数肯定是128+一个小于64的数,所以在128到192之间

110开头的八位二进制数肯定是128+64+一个小于32的数,所以在192到223之间

IPv4地址的编址方法经历了三个历史阶段:分类编址,划分子网,无分类编址,下面依次介绍。

分类编址的IPv4

IPv4地址最初是分类编址的,分A,B,C,D,E五类,区别在于网络号和主机号所占的位数。

 A类地址前8为是网络号,且一定是0开头。B类地址前16位是网络号,且一定是10开头。C类地址前24位是网络号,且一定是110开头。通过这样的方式,只看前三位就能区分开ABC类地址。

而D类地址是1110开头,为多播地址,E类地址是1111开头,保留为今后使用,这里不多介绍。

注意:

①只有ABC类地址可以分配给网络中的主机和路由器接口

②主机号全0的地址是网络地址,主机号全1的地址是广播地址,不能分配给主机和路由器的各接口

下面为了各位和我自己能看清楚,八位二进制数我会用空格隔开一次,自行看做8位一组即可。

A类地址

A类地址前8位是网络号,而且第一位固定是0。

最小网络号是0000 0000,保留不指派。(和BC不同,A类的最小最大网络号不指派)

最大网络号是0111 1111(十进制为127),作为本地环回测试地址,不指派。

所以,第一个可以指派的网络号是1,网络地址为1.0.0.0(主机号全0),最后一个可指派的网络号是126(0111 1110),网络地址是126.0.0.0

所以A类地址可以指派的网络数量为126个(1到126),计算公式为2^{^{(8-1)}}-2=126

(8-1)是因为有8位,但是第一位固定是0,减2是因为减去最小网络号0和最大网络号127。

所以A类地址每个网络中可以分配的IP地址数量为2^{24}-2=16777214

24位主机号,减去全0的网络地址和全1的广播地址

B类地址

B类地址前16位是网络号,而且前两位固定是10

最小网络号是1000 0000 0000 0000,点分十进制表示是128.0,是第一个可以指派的网络号

最大网络号是1011 1111 1111 1111,点分十进制表示是191.255,是最后一个可以指派的网络号

 所以B类地址可指派的网络数量为2^{(16-2)}=16384个网络数(前两位固定为10,不用像A类一样再减2)

每个网络中可以分配的IP地址数量为2^{16}-2=65534(16位二进制数,减全0和全1两种情况)

C类地址

C类地址前24位是网络号,而且前三位固定是110

最小网络号点分十进制表示是192.0.0,是第一个可以指派的网络号

最大网络号点分十进制表示是223.255.255,是最后一个可以指派的网络号

所以C类地址可指派的网络数量为2^{(24-3)}=2097152

每个网络中可分配的IP地址数量为2^{8}-2=254

小结:

我们通过左起第一个十进制数的值,就可以判断出网络类别,因为A类是0开头,所以A类地址的网络号一定小于127,同理,10开头的128~191是B类,110开头的192~223是C类,现在我们再回看192.168.0.1这个地址

我们发现它是一个C类地址,网络号为192.168.0,主机号为1

而1.2.3.4,我们就知道它是一个A类地址,网络号为1,主机号为2.3.4

有三种情况的地址不能指派给主机或路由器接口:

①A类网络号0和127 ②主机号全0的网络地址 ③主机号全1的广播地址

划分子网的IPv4

假如某单位有一个大型局域网,想连接到因特网,该单位如果申请C类网络地址,只有254个IP地址,不够用,所以该单位申请了一个B类地址,有65534个IP地址,又有点太多了,给每台计算机和路由接口分配IP地址后,还有大量剩余,这些剩余的IP地址只能由该单位的同一个网络使用,其它单位的网络不能使用,造成了浪费。

随着该单位的发展,该单位新增了一些计算机,并且需要将原来的网络按照部门划分成三个独立的网络,分为子网1,子网2和子网3,假如原来申请的B类地址是子网1在用,子网2和子网3是不能用的,如果要申请新的网络号,就要花费更多的费用,而且也会浪费原有网络地址中的大量IP地址。

我们发现,核心问题是主机号的长度。对于一个大型局域网来说,C类地址254个主机号不够用,B类65534个又太多了,因此,我们选择从主机号中“借走”一部分充当子网号来解决这个问题。

但是,本来IPv4八位一组分的好好的,我们这样一借,就不是八位一组了,所以我们需要引入一个东西来记录我们“借”了多少位充当子网号,这就是子网掩码

子网掩码也是32比特,可以和IPv4地址对齐,子网掩码连续是1的部分就是网络号和子网号,是0的部分就是主机号。这样我们只需要看子网掩码的1到哪,就可以知道有几位主机号了,避免了主机号原本只能8,16,32位三选一的弊端。

如图所示,网络地址218.75.230.0,218告诉我们这是个C类地址,所以网络号是218.75.230,而子网掩码是255.255.255.128,前三个255是24个连续的比特1,对应网络号,最后一个128表示最后8位是1000 0000,所以主机号的第一位被“借用”了,充当了子网号。

因为只借用了一位,所以子网数量是两个,即子网号是0和1两种,每个子网可分配的地址数量是

2^{(8-1)}-2=126, (8-1)是因为8位主机号被借走一位,事实上只有7位,减2还是减去全0的网络地址和全1的广播地址。

可以结合下图对照仔细理解

 划分子网的方式要兼容之前没有划分的形式,所以,默认的子网掩码是指在未划分子网的情况下使用的子网掩码。其实就是A类用255.0.0.0,B类用255.255.0.0,C类用255.255.255.0

无分类编址的IPv4地址

划分子网在一定程度上缓解了因特网在发展中遇到的困难,但是数量众多的C类网因为其地址空间太小没有得到充分利用,IPv4地址消耗速度很快

1993年,因特网工程任务组IETF发布了无分类域间路由选择CIDR(Classless Inter-Domain Routing)

CIDR消除了传统的ABC类地址和子网的概念,可以更加有效的分配IPv4地址的空间。

CIDR使用斜线记法,就是在IPv4地址后面加上斜线"/",在斜线后面写上网络前缀所占的比特数

比如说128.14.35.7/20,网络前缀占用20比特,主机号占用32-20=12比特

CIDR实际上是将网络前缀全部相同的连续的IP地址组成一个"CIDR地址块",我们只要知道其中任意一个地址,就可以知道该地址块的全部细节,包括:

1.地址块的最小地址 2.地址块的最大地址 3.地址块中的地址数量 4.地址块聚合某类网络的数量

5.地址掩码(可继续称为子网掩码)

128.14.35.7/20,因为20在16和32之间,我们可以把后面16个二进制位写出来,前面的依旧按点分十进制写,如图所示

事实上,就是通过/20这样的形式,自由划分网络号和主机号,该方法还可以用来进行路由聚合。

如图,如果R1将自己直连的五个网络都通告给R2,则R2的路由表会增加五个路由记录。为了减少占用,R1可以将五个路由记录聚合起来,因为其最大共同前缀都是172.1.0000 01共22位,把剩下的位都取0,则聚合地址块是172.1.4.0/22(这个/22不能省,很关键),也可以称之为超网


感谢您看到这里,如果满意的话麻烦您点个赞支持一下,主页还有更多内容分享。

内容总结自bilibili用户 湖科大教书匠的《计算机网络微课堂》和中国工信出版集团《图解TCP/IP》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1946193.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ASP.NET Web Api 使用 EF 6,DateTime 字段如何取数据库服务器当前时间

前言 在做数据库设计时,为了方便进行数据追踪,通常会有几个字段是每个表都有的,比如创建时间、创建人、更新时间、更新人、备注等,在存储这些时间时,要么存储 WEB 服务器的时间,要么存储数据库服务器的时间…

Java之数组应用-冒泡排序-二分查找

冒泡排序 冒泡(Bubble Sort)排序是一种简单排序算法,它通过依次比较交换两个相邻元素实现功能。每一次冒泡会让至少一个元素移动到它应该在的位置上,这样 n 次冒泡就完成了 n 个数据的排序工作。 这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”…

python实现图像缩放算法

图像缩放算法 1.最近邻插值图像缩放算法详解算法步骤Python 实现详细解释 优缺点2.双线性插值图像缩放算法详解算法步骤Python 实现详细解释 优缺点3.双三次插值图像缩放算法详解算法步骤Python 实现详细解释 优缺点 1.最近邻插值图像缩放算法详解 最近邻插值(Near…

【网络】计算机网络基础——计算机网络背景和发展、认识网络协议、OSI七层模型、TCP/IP四层模型、网络的传输

文章目录 Linux网络1. 计算机网络背景和发展2. 认识网络协议3. OSI七层模型3.1 物理层3.2 数据链路层3.3 网络层3.4 传输层3.5 会话层3.6 表示层3.7 应用层 4. TCP/IP四层模型5. 网络的传输 Linux网络 1. 计算机网络背景和发展 开始的计算机都是独立模式(计算机之间…

与众不同的社交体验:Facebook的新功能与新变化

在快速变化的社交媒体领域,Facebook不断引入创新功能和变化,以满足用户日益增长的需求,并提供与众不同的社交体验。从增强现实到数据隐私,Facebook的新功能和更新正在塑造一个全新的社交平台。本文将深入探讨这些新功能和变化&…

3W单声道关断模式音频功率放大器AD4150B

前言: 国产功放介绍 NS4890C 2.4W 单声道AB类音频放大器 AD4150B 3W单声道关断模式音频功率放大器 参考价格0.3元 产品概述 AD4150B是一款单声道带关断模式,桥式音频功率放大器。在5.5V工作电压时,平均驱动功率为:3W&#xff08…

计算机网络之http和https的区别(外加http详解)

http协议和各种协议之间的关系 1、DNS解析,获取到访问服务器的IP 2、HTTP生成请求报文请求,请求访问页面资源 3、TCP协议将报文切割成一份一份报文段后,以可靠的方式进行传输 4、IP协议边搜索边中转,将这些数据包传输给接受方…

关于c#的简单应用三题

#region 输入一个正整数&#xff0c;求1~这个数的阶乘 public static void Factorial(int a) { int result 1; for (int i 1; i < a; i) { result result * i; } Console.WriteLine(result); } #endregion #region 一个游戏&#…

详解Stable Diffusion 原理图

参考英文文献&#xff1a;The Illustrated Stable Diffusion – Jay Alammar – Visualizing machine learning one concept at a time. 在这个Stable Diffusion模型的架构图中&#xff0c;VAE&#xff08;变分自编码器&#xff09;模型对应的是图中的 E 和 D 部分。 具体来说…

keystone学习小结2

简介 通过源码 官方文档 进行学习 官方文档 架构 identity 提供user和group的鉴权及数据 可以用这些数据处理增删改查的请求 这些服务在某些情况也可以托管在授权的服务中&#xff0c;有认证任务时&#xff0c;授权的服务会执行认证的任务&#xff0c;而不会把这些转发到…

SuperMap GIS基础产品FAQ集锦(20240715)

一、SuperMap iDesktopX 问题1&#xff1a;想问一下&#xff0c;线数据更改粗细和颜色&#xff0c;他只能保存到地图中吗&#xff1f;我希望能修改源数据&#xff0c;但是保存不了&#xff1f; 11.1.1 【问题原因】简单数据集不支持保存风格。 【解决办法】入需保存风格&…

SAP中途增加批次管理提示:库存在工厂级别已经存在。

SAP中途增加批次管理提示&#xff1a;库存在工厂级别已经存在。 在这种情况&#xff0c;将需要启用批次管理功能的物料主数据进行出库&#xff0c;通过移动类型201&#xff08;562&#xff09;进行出库&#xff0c;然后再修改物料主数据&#xff0c;当成功启用物料主数据的批次…

前置-Linux相关知识速记

linux Linux命令大全 [!IMPORTANT] chown-chmod-ls-chgrp-cdpwd-mkdir-rmdir-cp-rm-mv-cat-tac-nl-more-less-head-tail 应用领域 通常服务器使用 LAMP&#xff08;Linux Apache MySQL PHP&#xff09;或 LNMP&#xff08;Linux Nginx MySQL PHP&#xff09;组合。 目前…

700.二叉搜索树的搜索

给定二叉搜索树&#xff08;BST&#xff09;的根节点 root 和一个整数值 val。 你需要在 BST 中找到节点值等于 val 的节点。 返回以该节点为根的子树。 如果节点不存在&#xff0c;则返回 null 。 示例 1: 输入&#xff1a;root [4,2,7,1,3], val 2 输出&#xff1a;[2,1,3]…

SmartX 超融合 vs vSAN 8:数据库场景下的性能对比

此前&#xff0c;我们以 vSAN 7 为例&#xff0c;对比了 SmartX 与 VMware 超融合在快照、缓存、I/O 路径上的技术差异&#xff0c;及其带来的性能影响。不同于 vSAN 7&#xff0c;vSAN 8 引入了快速存储架构 ESA&#xff08;Express Storage Architecture&#xff09;&#xf…

SpringCloud------Seata(分布式事务)

分布式事务产生原因 CAP定理(一致性、可用性、分区容错性) BASE理论 解决思想 Seata 三个角色

【操作系统】线程池的底层逻辑解析及实现

目录 线程池一、线程池是什么二、底层线程池 ThreadPoolExecutor三、实现线程池四、标准库中的线程池Executors 线程池 一、线程池是什么 在我们频繁的创建线程时或销毁线程时,都会进行系统调度从而占用系统资源,虽然创建线程/销毁线程的开销不是很大,但架不住量多,进而我们该…

photoshop学习笔记——选区

选区工具快捷键&#xff1a;M shift M 切换 矩形/椭圆选区工具 基本用法 选区框选出的地方被激活&#xff08;其后进行的操作&#xff0c;仅在选区中生效&#xff09; 选区工具选择后&#xff08;以矩形选区为例&#xff09; 按下鼠标左键拖动&#xff0c;画出一块矩形区…

TCP连接与释放

目录 引言 一. TCP连接的建立 二.TCP连接的释放 三.TCP连接状态机 引言 传输控制协议(Transmission Control Protocol,TCP)作为互联网上最广泛使用的协议之一,其在网络通信中扮演着关键角色。其中,TCP连接的建立与释放是TCP协议中最为重要的部分之一。本文将对TCP连接的建立…

【笔记:3D航路规划算法】一、RRT

目录 关键概念3D路径规划算法1. A*算法2. RRT1. 初始化&#xff1a;2. 实例化搜索算法&#xff1a;3. 路径生成&#xff1a;4. 绘制图像&#xff1a; 3D路径规划是在三维空间中寻找从起点到终点的最短或最优路径的一种技术。它广泛应用于无人机导航、机器人运动规划、虚拟现实等…