程序员基础知识—IP地址

文章目录

  • 一、什么是IP地址
  • 二、IP地址的分类
  • 三、子网掩码

一、什么是IP地址

IP地址就像我们需要打电话时的电话号码一样,它用来标识网络中的一台主机,每台主机至少有一个IP地址,而且这个IP地址是全网唯一的。IP地址由网路号和主机号两部分组成。如果一台主机拥有两个或者多个IP地址,那么说明该主机属于两个或者多个逻辑网络,一般用作路由器。网络号相同的主机可以直接互相访问,网路号不同的主机需要通过路由器才能互相访问。

IP地址用一个32位的二进制码来表示,每个字节转换成对应的十进制数,每一个十进制数之间用“.”来分隔,这种方法称为“点分十进制表示法”。

二、IP地址的分类

在TCP/IP协议中,根据网络规模的大小划分了5类IP地址。

五类IP地址

  • A类IP地址
    A类IP地址第一个字节为网络号,后三个字节为主机号。网络号的最高位固定为0。因此能够表示的网络号有27也就是128个。另外,由于全0和全1的网络号有特殊用途,因此,去掉全0和全1的网络号,只能表示126个网络号。有三个字节,24位可以用来表示主机号,可以表示224个主机。A类IP地址常用于大型的网络。
  • B类IP地址
    B类IP地址用前两个字节表示网络号,后两个字节表示主机号。网络号的最高位为10,因此最多可以表示214 - 2个网络号。最多表示216 - 2个主机号。B类IP地址通常用于中等类型的网络。
  • C类IP地址
    C类IP地址的前三个字节表示网络号,最后一个字节表示主机号。网络号最高位为110,最多表示221 - 2个网络号。最多表示28 - 2个主机号。C类IP地址通常用于小型的网络。
  • D类IP地址
    D类IP地址最高位为1110,是多播地址。主要留给Internet体系结构委员会使用。
  • E类IP地址
    E类IP地址的最高位为11110,它留做今后使用。

需要注意的是,并不是说A类IP地址比其他B类和C类的IP地址高级,或者优先级更高,只是它们的使用场景不同。

三、子网掩码

子网掩码也是用来标识网络中的主机的。既然上面的IP地址也是标识网络中的主机的,那么为什么还要有子网掩码的概念呢?当然是因为只用IP地址存在一些问题。

首先是只是用IP地址能够表示的主机数有限。其次是,IP地址在使用时会存在很大的浪费。比如一个单位申请了一个A类地址,但是实际本单位的主机数并没有达到A类地址的上线,甚至一半都没有达到,这就会造成很大的浪费。为此,增加了子网掩码的概念。

在一个主机很多,分布范围很广的大型网络中,如果所有的主机都是用同一个网络号,就需要用一些网桥来将这些主机连接起来。但是网桥有很多缺点,比如容易引起广播风暴,而且出现问题时不太容易隔离和管理。可以把这个网络分成若干个子网,每个子网之间用路由器来连接。此时,在IP地址中增加一个子网号字段

增加子网掩码

需要注意的是,子网的划分是网络内部的事情,子网号究竟有多长,是由单位自身决定的。从网络外部来看,该网络只有一个网络号,只有进入网络内部,路由器才会根据子网号进行路由选择,然后找到目的主机。

TCP/IP体系规定,使用32位来表示子网掩码。子网掩码由0和1组成,1对应IP地址的网络号和子网号字段,0对应IP地址的主机号字段。子网掩码也是用点分十进制表示法表示。如果不进行子网划分,那么子网掩码就是默认值,A类IP地址的子网掩码默认值为255.0.0.0,B类IP地址的默认子网掩码为255.255.0.0,C类IP地址的默认子网掩码为255.255.255.0。使用子网掩码时,寻址就变成了三级寻址。首先寻找对应的网络号,然后匹配子网号,最后寻找主机号。

如何判断两个IP地址是否是一个子网呢?具体方法是将两个IP地址分别和子网掩码做二进制“与”运算。如果得到的结果相同,则属于同一个子网。如果结果不同,则不属于同一个子网。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Elasticsearch/Enterprise Search/Kibana安装记录

目录 Elasticsearch的安装导入 elasticsearch PGP密钥 安装使用APT安装手动下载安装 启动elasticsearch安全功能重新配置节点以加入现有集群启用系统索引的自动创建功能运行Elasticsearch(在systemd下)检查Elasticsearch是否正在运行Elasticsearch配置外网访问 第三方包安装ela…

Python学习(十六)柱状图

zdaPython学习(十四)折线图开发_yikuaidabin的博客-CSDN博客 案例数据资源 ↑ """演示基础柱状图的开发 """ from pyecharts.charts import Bar from pyecharts.options import LabelOpts # 使用Bar构建基础柱状图 bar …

【网络】socket——TCP网络通信 | 日志功能 | 守护进程

🐱作者:一只大喵咪1201 🐱专栏:《网络》 🔥格言:你只管努力,剩下的交给时间! 上篇文章中本喵介绍了UDP网络通信的socket代码,今天介绍TCP网络通信的socket代码。 TCP &a…

深度理解 Spring AOP

一、什么是AOP(面向切面编程)?🍉 AOP 为 Aspect Oriented Programming 的缩写,意思为面向切面编程,是通过预编译方式 和运行期 动态代理 实现程序功能的统一维护的一种技术。 AOP (面向切面编程)是 OOP&a…

深度理解 Spring IOC

Spring容器高层视图 Spring 启动时读取应用程序提供的Bean配置信息,并在Spring容器中生成一份相应的Bean配置注册表,然后根据这张注册表实例化Bean,装配好Bean之间的依赖关系,为上层应用提供准备就绪的运行环境。 Bean缓存池&…

OJ练习第143题——二叉树展开为链表

二叉树展开为链表 力扣链接:114. 二叉树展开为链表 题目描述 给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终…

postman批量执行请求,通过json传参

1、创建请求 "authUid":"{{authUid}}", 加粗为需要替换的参数 2、组装JSON 可通过Excel自动填充功能构造数据 [ {"authUid":"18700000001"}, {"authUid":"18725929202"} ] 3、批量执行请求配置 4、然后start r…

PuTTY连接服务器报错Connection refused

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

Cloudreve搭建云盘系统,并实现随时访问

文章目录 1、前言2、本地网站搭建1.环境使用2.支持组件选择3.网页安装4.测试和使用5.问题解决 3、本地网页发布1.cpolar云端设置2.cpolar本地设置 4、公网访问测试5、结语 1、前言 自云存储概念兴起已经有段时间了,各互联网大厂也纷纷加入战局,一时间公…

RabbitMQ惰性队列使用

说明:惰性队列是为了解决消息堆积问题,当生产者生产消息的速度远高于消费者消费消息的速度时,消息会大量的堆积在队列中,而队列中存放的消息数量是有限的,当超出数量时,会造成消息的丢失。而扩容队列&#…

uniapp app运行到ios详细流程

uniapp运行到IOS真机调试(windows系统) 工具步骤1.首先数据线连接电脑和手机2.右键点击桌面上的HBuilder,打开文件所在位置3.打开HBuilder编辑器里要运行的项目,点击运行>运行到手机或模拟器>运行到IOS APP基座>勾选你的…

LangChain大型语言模型(LLM)应用开发(五):评估

LangChain是一个基于大语言模型(如ChatGPT)用于构建端到端语言模型应用的 Python 框架。它提供了一套工具、组件和接口,可简化创建由大型语言模型 (LLM) 和聊天模型提供支持的应用程序的过程。LangChain 可以轻松管理与语言模型的交互&#x…

【每日一题】——C - Standings(AtCoder Beginner Contest 308 )

🌏博客主页:PH_modest的博客主页 🚩当前专栏:每日一题 💌其他专栏: 🔴 每日反刍 🟡 C跬步积累 🟢 C语言跬步积累 🌈座右铭:广积粮,缓称…

ArcGIS、ENVI、InVEST、FRAGSTATS等多技术融合提升环境、生态、水文、土地、土壤、农业、大气等领域的数据分析

一、 空间数据获取与制图 1.1 软件安装与应用讲解 1.2 空间数据介绍 1.3海量空间数据下载 1.4 ArcGIS软件快速入门 1.5 Geodatabase地理数据库 二、 ArcGIS专题地图制作 2.1专题地图制作规范 2.2 空间数据的准备与处理 2.3 空间数据可视化:地图符号与注记 …

十一、正则表达式详解:掌握强大的文本处理工具(三)

文章目录 🍀贪婪模式🍀应用的场景🍀总结 🍀非贪婪模式🍀应用的场景🍀总结 🍀贪婪模式与非贪婪模式在爬虫的应用🍀转义字符🍀正则表达式常见函数 🍀贪婪模式 在…

如何查看小程序的APPID和AppSecret

小程序APPID可以在手机上打开小程序后,点击右上角三点: 然后点击中间位置的小程序名称,进入小程序介绍页面: 点击“更多资料”后,进入页面就可以看到上方有APPID: 另一种方法: 在微信公众平台登…

【iOS】CALayer的理解与简单使用

文章目录 前言一、UIView与CALayer的关系二、CALayer的简单使用1.圆角与裁剪2.contents3.边框属性 总结 前言 在实现网易云音乐demo开发的过程中,通过查阅网上资料,发现了我们可以对我们的视图进行裁剪来实现美观的体现,例如这样&#xff1a…

Vue--》打造个性化医疗服务的医院预约系统(三)

今天开始使用 vue3 + ts 搭建一个医院预约系统的前台页面,因为文章会将项目的每一个地方代码的书写都会讲解到,所以本项目会分成好几篇文章进行讲解,我会在最后一篇文章中会将项目代码开源到我的GithHub上,大家可以自行去进行下载运行,希望本文章对有帮助的朋友们能多多关…

C语言程序运行需要的两大环境《C语言进阶》

目录 程序的翻译环境和执行环境 翻译环境分为两部分,编译链接 第一步:预编译(预处理) 第二步,编译 第三步:汇编 关于运行环境分为四点: 关于链接库 程序的翻译环境和执行环境 在 ANSI C(标…

C语言第七课----------函数的定义及使用--------C语言重要一笔

作者前言 个人主页::小小页面 gitee页面:秦大大 一个爱分享的小博主 欢迎小可爱们前来借鉴 __________________________________________________________ 目录 1.函数是什么 2. 库函数 3. 自定义函数 4. 函数参数 5. 函数调用 6. 函数的嵌套调用和链式访问 7. 函数的声…