ip类「ABCDE五类」区分和私有ip地址的知识

article/2025/10/5 5:56:37

今天计算机网络基础老师真的是有很努力的讲授ip地址的知识,但是我觉得没有很细致,

我之前有读到过戴老师的书籍,遂记录一下有关IP地址的知识,帮助我加强记忆与理解

网络ID:每一个网络都有一个唯一的网络ID,换句话说同一个网络内的每一台主机都拥有相同的网络ID

主机网络:同一个网络内的每一台主机都有一个唯一的主机ID

IP地址:网络ID+主机ID

网络ID需要向Internet服务提供商(ISP)申请

每一台主机都有唯一的IP地址,1⃣️IP地址用来标示主机、2⃣️、其内

也包含在网络之间发送数据的路径信息。

ip地址占用32位(bit),但是呢一般以4个十进制数来标示,每一个数字被称为一个octet。octet与octet之间以点(dot)隔开,例如,192.168.1.1

 

IP类

传统ip地址被分为ABCDE五大类,其中只有A类、B类、C类的ip地址可提供一般主机使用,每类地址所支持的ip地址数量都不同,以便满足各种不同规模的网络需求

D类和E类是特殊用途的IP地址

接下来,ip地址的4个字节以W.X.Y.Z的形式来加以说明

A类:A类的ip地址适合超大型网络,其网络ID占用一个字节W,W的范围为1到126,它可以提供126个A类的网络ID。主机ID共占用X、Y、Z字节(24位),

此24位可以支持(2^ 24)-2=16777214台主机

B类:B类IP地址适合大中型网络,其网络ID占用两个字节W、X。W的范围为128到191,它可提供(191-128)*256=16384个B类的网络。主机ID共占用Y、Z两个字节,因此

每个网络可支持(2^16)-2 = 65534台主机

C类:C类的ip地址适合于小型网络,其网络ID占用三个字节W、X、Y。W的范围为192到223,它可以提供(223-192+1)*256*256=2097152个C类的网络。主机ID只占用一个字节Z,

因此每个网络可支持(2^8)-2=254台主机

D类:它是组播(multicast,或译为多播)所使用多组ID(group id),这个组内包含着多台主机。其W的范围为224到239

E类:它保留给未来使用或供实验用途,其W的范围为240到254

 

网络ID不可以是127:网络ID127供 环回测试(loopback test)使用,目的是检查网卡于驱动程序是否可以正常工作。

我们虽然不能将它分配给主机使用,不过一般来说127.0.0.1这个ip用来代表主机本身

 

在上计算机网络基础课的时候,老师总是说00000001和11111111不能计算在内(如果你看到后面,可以证实这种说法是不完美的,应该加前置条件,具体自己分析),虽然有提到最后一个代表组播地址,但是我一直不是很理解,知道翻开戴老师

的书籍的时候恍然大悟,他在书中是这样解释的:

每一个网络的第一个IP地址代表网络本身,最后一个IP地址代表组播地址,因此实际可以分配给主机的ip地址将少两个:

例如:我申请到到网络ID为203.3.6,则共有203.3.6.0到203.3.6.255的256个ip地址,但203.3.6.0是是用来代表这个网络(因此我们一般会说此网络的网络ID为4个字节的203.3.6.0

而不是3个字节的203.3.6;而203.3.6.255则保留给广播用途(255代表广播),例如发送消息到203.3.6.255这个地址,表示将消息广播给网络ID203.3.6.0网络内的所有主机

 

 

私有IP地址的使用

A、B、C类是可供主机使用的ip地址,在这些ip地址中,有一些被分配为私有ip(private ip),各公司可以自行选择合适的私有ip,比如我学校就是选用的10.0.0.0下

的10.16.0.0,不需要向ISP申请,因此可以节省网络搭建成本

 

 

曾有一段时间,在家里,我在想我的斐讯刷华硕(懂得都懂)路由器为啥是在192.168.50.1段上段,直到了解到私有ip地址才瞬间明白,路由器实质上是三层交换机,它充当了NAT(Network Address Translation,网络地址转换)功能的设备,具有这种功能的设备正是宽带路由器和IP分享器等。当我把斐讯K3D带来学校的时候,链接到校园网上,发现实质上我的路由器已经充当了网络id

10.16.0.0的一台主机,这就像在笔记本电脑上开wifi一样,只有你的win10笔记本连在了校园的真实网络里,而你移动设备连上笔记本发出AP是不会链接在真实的校园网上的,笔记本发出的ip也是私有ip。既然学校的ip在10.16.0.0这个网络id上,也就是说我们学校有一个超大的物理设备(猜测是巨型“路由器”,这只是一个比喻,理论上学校这个设备是支持NAT的)

 

私有ip介绍完了,那么它的对立面,就是公有ip,使用公有ip可以直接在外网中通信。

 

我在经常会遇到电脑自动给我分配一个169.254.x.x的情况,这是由于计算机会通过APIPA(Automatic Server IP Addressing)机制为自己为自己分配一个网络id为169.254.0.0的临时ip地址,

这个ip出现基本上就说明你的计算机无法上网了,可以去网络上搜索它的解决方法,值得一提的是,如果同一个网络中同时出现在这个网络id上,也是可以通信的

=====================华丽的分割线=====================

醒来的时候,希望自己不负大好时光,To know the unknown

 


http://chatgpt.dhexx.cn/article/4jjK52vp.shtml

相关文章

bios和boot menu的关系?

bios(基本输入输出系统)和boot menu(启动菜单)是计算机启动过程中两个关键的组件,它们之间存在一定的关系。 bios是一种固化在计算机主板芯片中的程序 它是计算机启动时第一个被执行的程序。bios负责对计算机硬件进行…

debootstrap,febootstrap,busybox

最近学习在Ubuntu虚拟机中利用QEMU搭建ARM64环境,其中一个重要的部分就是“制作根文件系统”,网络上有使用debootstrap和busybox制作根文件系统的方法,本篇博文记录这三者的区别 目录 1、debootstrap 2、febootstrap 3、busybox 4、deboo…

ibox (bootstrap)

效果图如下&#xff1a; <div class"ibox float-e-margins"><div class"ibox-title"><h5>圆形图标按钮</h5><div class"ibox-tools"><a class"collapse-link"><i class"fa fa-chevron-up…

bootbox.js弹出框时设置为中文

1 经验之谈&#xff1a;我在ace(一个基于bootstrap)的后台模板框架中&#xff0c;需要使用弹出确认框&#xff0c;看了一下ace中&#xff0c;自己带有弹框功能&#xff0c;所以就拿来就用。 2 问题&#xff1a;就是在我使用过程中&#xff0c;我发现一个不好的现象&#xff0c;…

python测试开发django-155.bootbox使用(alert/confirm/prompt/dialog)

前言 Bootbox.js是一个小型的JavaScript库&#xff0c;基于 Twitter 的 Bootstrap 开发&#xff0c;旨在使使用Bootstrap modals更容易&#xff01; 可以自定义alert/confirm/prompt/dialog弹出框 下载与使用 bootbox的所有版本都是在Bootstrap和jQuery的基础之上的&#xf…

如何使用bootbox

1.背景介绍 在JS任务6-10做萝卜多后台中我们会使用到模态框&#xff0c;当时我在做这个任务的时候是使用了AngularJS的ui-bootstrap中的模态框&#xff0c;但是使用起来真的真的很繁琐&#xff01;直到后来接触到bootbox&#xff0c;发现原来写模态框可以如此的简单。 Bootbo…

漂亮的弹出框,javascript库bootbox介绍

传统的javascript的警告框、确认框、提示框&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>弹出框</title> </head> <body> <button onclick"f1()">…

BootBox使用

最近公司的系统前端页面全面优化&#xff0c;代号UI/UX。我在优化过程中经常需要使用确认框&#xff0c;但是确认框使用window的话&#xff0c;太难看。于是想做一个非常美观的确认框。 由于系统引用了bootstrap&#xff0c;首先想到的是查看bootstrap中有没有好看的确认框&…

如何使用Bootbox?

大家好&#xff0c;我是IT修真院深圳分院第06期学员&#xff0c;一枚正直善良的web程序员。 今天给大家分享一下&#xff0c;修真院官网 JS-06任务中可能会使用到的知识点&#xff1a; 1.背景介绍 在JS任务6-10做萝卜多后台中我们会使用到模态框&#xff0c;当时我在做这个任…

bootbox的使用

这里是修真院前端小课堂&#xff0c;每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解析前端知识/技能&#xff0c;本篇分享的是&#xff1a; 【bootbox的使用 】 1.背景介绍 Bootbox.js是一…

c语言如何用argv输入参数,C语言中参数向量argv问题

跃然一笑 楼上蓝皮鼠基本上都回答了&#xff0c;我就再啰嗦几句补充一点东西吧;-)这问题其实挺有趣的&#xff0c;对于argv来说&#xff0c;既然定义成char*argv[]那不就是说明argv是一个指向字符串的指针数组&#xff0c;怎么也能左值操作&#xff1f;我们知道数组名其实就是一…

python sys.argv

sys.argv 是获取运行python文件时的命令行参数&#xff0c;且以list形式存储参数。 这里主要介绍常见的几种用法&#xff1a; 1. sys.argv[0] 输出py文件本身的路径或名称 test.py 文件里的代码如下&#xff1a; import sysasys.argv[0] print(a)运行test.py文件的结果如…

命令行参数argv

1.命令行参数argv 。本质是个指针&#xff0c;或者说数组&#xff0c;存储需要输入的参数&#xff0c;通俗来说&#xff0c;就是input()的功能。在python中要是用的话&#xff0c;需要import sys。如果是在pycharm中使用&#xff0c;将参数在下图中的位置填入&#xff0c;以空格…

g++ 编译过程体会与命令行参数argc,argv[]详解

argc, *argv[] 参数介绍 main(int argc,char *argv[ ]) argc为整数, 代表参数的个数。 argv为指针数组&#xff0c;里面的元素个数是 argc 个&#xff0c;&#xff08;可理解为&#xff1a;char **argv or: char *argv[] or: char argv[][] &#xff09;。 注&#xff1a;mai…

C语言中函数main的参数argc和argv是什么

在 Xcode 中新建一个 macOS 平台 Command Line Tool&#xff0c;使用 C 语言&#xff0c;会发现 main 带了两个参数&#xff1a;argc和argv。如下&#xff1a; argc被程序唤起的命令行参数的数量&#xff0c;用于统计参数数量。这里会导致你有一个误区&#xff0c;在下面argv[…

李宏毅线性代数笔记6:矩阵的计算

1 矩阵的几个概念 1.1 特殊矩阵 1.1.1 数量矩阵 主对角线上元素是同一个数&#xff0c;其余元素全为0的n级矩阵 1.1.2 对角矩阵&#xff08;diagonal matrix&#xff09; 主对角线元素之外全为0的方阵 记作diag{d1,d2,……dn} 1.1.3 基本矩阵 只有一个元素是1&#xff…

二、线性代数

6 特殊类型的矩阵和向量 对角矩阵 对角矩阵&#xff08;diagonal matrix&#xff09;只在主对角线上含有非零元素&#xff0c;其他位置都是零。形式上&#xff0c;矩阵 D D D 是对角矩阵&#xff0c;当且仅当对于所有的 i ≠ j , D i , j 0 i\ne j, \ D_{i,j}0 i​j, Di…

边缘计算与雾计算的区别

雾计算是对MEC的扩展&#xff0c;扩展到了终端侧&#xff0c;包括计算、存储、存储、控制功能。区别如下&#xff1a; 1.MEC使用的资源是网络边缘的设备&#xff0c;而雾计算还要使用终端设备。 2.雾计算是使得云到物的计算无缝连续衔接。 3.雾计算为垂直行业和应用除提供电信业…

雾计算、边缘计算区别和联系

01 从计算方式上边来说的话&#xff0c;雾计算的层次性稍微强一点&#xff0c;并且架构方面比较平坦&#xff0c;这样下来的话整个计算的平稳性就比较好一点。 02 对于边缘计算来说的话&#xff0c;边缘计算在进行计算的时候是不会对网络产生依赖的&#xff0c;也就是说边缘计算…

雾计算机和云计算机哪个好,怎么理解云计算和雾计算还有边缘计算

此外&#xff0c;《数据时代 2025》还预测&#xff0c;2025 年数据量产生的大主体将由消费者转移到企业&#xff0c;届时企业产生的数据量将占到数据总量的 60%。企业领导者将可以从这些海量数据信息和其价值中获得新的商业机遇&#xff0c;但同时也需要对收集、使用和存储数据…