网络基础知识(2)——简单说说IP地址

news2025/2/28 17:28:14

        Internet 依靠 TCP/IP 协议,在全球范围内实现不同硬件结构、不同操作系统、不同网络系统的主机之间的互联。在 Internet 上,每一个节点都依靠唯一的 IP 地址相互区分和相互联系,IP 地址用于标识互联网中的每台主机的身份,设计人员为每个接入网络中的主机都分配一个 IP 地址(Internet Protocol Address),只有合法的 IP 地址才能接入互联网中并且与其他主机进行网络通信,IP 地址是软件地址,不是硬件地址,硬件MAC地址是存储在网卡中的,应用于局域网中寻找目标主机。

IP 地址的编址方式

        互联网中的每一台主机都需要一个唯一的 IP 地址以标识自己的身份,那么 IP 地址究竟是什么,如何去定义一个 IP 呢?我们需要对 IP 地址的编址方式进行了解。

        传统的 IP 地址是一个 32 位二进制数的地址,也叫 IPv4 地址,由 4 个 8 位字段组成。除了 IPv4 之外, 还有 IPv6,IPv6 采用 128 位地址长度,8 个 16 位字段组成,本小节我们暂时不去理会 IPv6 地址。

        在网络通信数据包中,IP 地址以 32 位二进制的形式表示;而在人机交互中,通常使用点分十进制方式表示,譬如 192.168.1.1,这就是点分十进制的表示方式。

        IP 地址中的 32 位实际上包含 2 部分,分别为网络地址和主机地址,可通过子网掩码来确定网络地址和主机地址分别占用多少位。

IP 地址的分类

        根据 IP 地址中网络地址和主机地址两部分分别占多少位的不同,将 IP 地址划分为 5 类,分别为 A、 B、C、D、E 五类,如下所示:

1、A 类 IP 地址

        从上图中可以看到,一个 A 类 IP 地址由 1 个字节网络地址和 3 个字节主机地址组成,而网络地址的最高位必须为 0,因此可知,网络地址取值范围为 0~127,一共 128 个网络地址。当然,这 128 个网络地址中, 其中 3 个网络地址用作特殊用途,因此可用的网络地址有 125 个。

        (1)、A 类地址的第一字节为网络地址,其它 3 个字节为主机地址;

        (2)、A 类地址范围为:1.0.0.1 ~ 127.255.255.254;

        (3)、A 类地址中设有私有地址和保留地址:

                ①、10.X.X.X 是私有地址,所谓私有地址就是在互联网中不能使用,而被用在局域网中                          使用的地址。

                ②、127.X.X.X 是保留地址,用作循环测试使用。

2、B 类 IP 地址

        一个 B 类 IP 地址由 2 个字节的网络地址和 2 个字节的主机地址组成,网络地址的最高位必须是“10”, 因此,网络地址第一个字节的取值范围为 128~191,IP 地址范围从 128.0.0.0 到 191.255.255.255。对于 B 类地址来说,一共拥有 16384 个网络地址,其中可用的网络地址有 16382 个,每个网络地址能容纳约 6 万(2^16- 2=65534)多个主机。

        (1)、B 类地址中第 1 字节和第 2 字节为网络地址,其它 2 个字节为主机地址。

        (2)、B 类地址范围:128.0.0.1 ~ 191.255.255.254。

        (3)、B 类地址中设有私有地址和保留地址:

                ①、172.16.0.0 ~ 172.31.255.255 是私有地址

                ②、169.254.X.X 是保留地址。如果你的IP地址是自动获取 IP 地址,而你在网络上又                            没有找到可用的 DHCP 服务器。就会得到其中一个IP。

3、C 类 IP 地址

        一个 C 类 IP 地址由 3 字节的网络地址和 1 字节的主机地址组成,网络地址的最高位必须是“110”, 因此 C 类 IP 地址的第一个字节的取值范围为 192~223。范围从 192.0.0.0 到 223.255. 255.255,网络地址可达 209 万余个(256*256*32),每个网络地址能容纳 254 个主机。

        (1)、C 类地址第 1 字节、第 2 字节和第 3 个字节为网络地址,第 4 个个字节为主机地址。另外第 1 个 字节的高三位固定为 110。

        (2)、C 类地址范围为:192.0.0.1 ~ 223.255.255.254。        

        (3)、C 类地址中的私有地址:192.168.X.X 是私有地址。

4、D 类 IP 地址

        D 类 IP 地址第一个字节以“1110”开始,它是一个专门保留的地址,它并不指向特定的网络,目前这 一类地址被用在多点广播(多播,Multicast),多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。

        (1)、D 类地址不分网络地址和主机地址,它的第 1 个字节的高四位固定为 1110。

        (2)、D 类地址范围:224.0.0.1 ~ 239.255.255.254。

5、E 类 IP 地址 E 类 IP 地址

        以“11110”开始,为将来使用保留。全零(“0.0.0.0”)地址对应于当前主机。全“1”的 IP 地 址(“255.255.255.255”)是当前子网的广播地址。

        (1)、E 类地址也不分网络地址和主机地址,它的第 1 个字节的前五位固定为 11110。

        (2)、E 类地址范围:240.0.0.1 ~ 255.255.255.254。

总结

        以上就给大家介绍了这 5 类 IP 地址,其中在 A、B、C 三类地址中,各保留了一个区域作为私有地址:

        A 类地址:10.0.0.0~10.255.255.255

        B 类地址:172.16.0.0~172.31.255.255

        C 类地址:192.168.0.0~192.168.255.255

        A 类地址的第一组数字为 1~126。

        B 类地址的第一组数字为 128~191。

        C 类地址的第一组数字为 192~223。

        A 类地址的表示范围为:0.0.0.0~126.255.255.255,默认网络掩码为:255.0.0.0;A 类地址分配给规模特别大的网络使用。A 类地址用第一组数字表示网络地址,后面三组数字作为连接于网络上的主机对应的地址。分配给具有大量主机而局域网络个数较少的大型网络,譬如 IBM 公司的网络。

        B 类地址的表示范围为:128.0.0.0~191.255.255.255,默认网络掩码为:255.255.0.0;B 类地址分配给一 般的中型网络。B 类地址用第一、二组数字表示网络地址,后面两组数字代表网络上的主机地址。

        C 类地址的表示范围为:192.0.0.0~223.255.255.255,默认网络掩码为:255.255.255.0;C 类地址分配给小型网络,如一般的局域网和校园网,它可连接的主机数量是最少的,采用把所属的用户分为若干的网段进行管理。C 类地址用前三组数字表示网络地址,最后一组数字作为网络上的主机地址。

特殊的 IP 地址

        下面给大家介绍一些特殊的 IP 地址,这些 IP 地址不能分配给任何一个网络的主机使用。 直接广播地址直接广播(Direct Broadcast Address):向某个网络上所有的主机发送报文。TCP/IP 规定,主机号各位全部为“1”的 IP 地址用于广播,叫作广播地址。譬如一个 IP 地址是 192.168.0.181,这是一个 C 类地址, 所以它的主机号只有一个字节,那么对主机号全取 1 得到一个广播地址 192.168.0.255,向这个地址发送数据就能让同一网络下的所有主机接收到。 A、B、C 三类地址的广播地址结构如下:

⚫ A 类地址的广播地址为:XXX.255.255.255(XXX 为 A 类地址中网络地址对应的取值范围,譬如: 120.255.255.255)。

⚫ B 类地址的广播地址为:XXX.XXX.255.255(XXX 为 B 类地址中网络地址的取值范围,譬如 139.22.255.255)。

⚫ C 类地址的广播地址为:XXX.XXX.XXX.255(XXX 为 C 类地址中网络地址的取值范围,譬如 203.120.16.255)。

        受限广播地址

        直接广播要求发送方必须广播网络对应的网络号。但有些主机在启动时,往往并不知道本网络的网络号,这时候如果想要向本网络广播,只能采用受限广播地址(Limited Broadcast Address)。 受限广播地址是在本网络内部进行广播的一种广播地址,TCP/IP 规定,32 比特全为“1”的 IP 地址用于本网络内的广播,也就是 255.255.255.255。

        多播地址

        多播地址用在一对多的通信中,即一个发送者,多个接收者,不论接受者数量的多少,发送者只发送一 次数据包。多播地址属于 D 类地址,D 类地址只能用作目的地址,而不能作为主机中的源地址。

        环回地址

        环回地址(Loopback Address)是用于网络软件测试以及本机进程之间通信的特殊地址。把 A 类地址中 的 127.XXX.XXX.XXX 的所有地址都称为环回地址,主要用来测试网络协议是否工作正常的作用。比如在电脑中使用 ping 命令去 ping 127.1.1.1 就可以测试本地 TCP/IP 协议是否正常。 不能将环回地址作为任何一台主机的 IP 地址使用。

        0.0.0.0 地址

        IP 地址 32bit 全为 0 的地址(也就是 0.0.0.0)表示本网络上的本主机,只能用作源地址。 0.0.0.0 是不能被 ping 通的,在服务器中,0.0.0.0 并不是一个真实的的 IP 地址,它表示本机中所有的 IPv4 地址。监听 0.0.0.0 的端口,就是监听本机中所有 IP 的端口。

如何判断 2 个 IP 地址是否在同一个网段内

        如何判断两个 IP 地址是否处于同一个子网,可通过网络标识来进行判断,网络标识定义如下:

        网络标识 = IP 地址 & 子网掩码

        2 个 IP 地址的网络标识相同,那么它们就处于同一网络。譬如 192.168.1.50 和 192.168.1.100,这 2 个都 是 C 类地址,对应的子网掩码为 255.255.255.0,很明显,这两个 IP 地址与子网掩码进行按位与操作时得到的结果(网络标识)是一样的,所以它们处于同一网络。

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

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

相关文章

Windows 20个经典cmd命令,值得收藏

本文重点介绍Windows系统常用工具和服务的快捷启动命令。相比鼠标多次点击打开窗口,输入命令回车一键打开更为快捷高效。喜欢请点赞收藏,关注我获取最新原创分享~ 一、Windows启动命令使用方式 快捷键 【徽标R】打开命令窗口 输入命令,点击【…

ARM 栈帧(一)

ARM 栈帧 本系列均以 corter-A7(armv7-a) 为例 在 ARM 中,通常为满减栈(Full Descending FD), 也就是说,堆栈指针指向堆栈内存中最后一个填充的位置,并且随着每个新数据项被压入堆栈而递减。 栈的本质 要理解栈的本…

基于NXP+FPGA的大容量固态存储板实现方案

1 概述 近年来 ,大容量数据存储设备受到软硬件等发展的限制主 要还是采用机械硬盘叠加组合而用。机械硬盘以磁盘片作为载 体 ,采用机械马达 ,存在抗振性能低、低温性能差、噪声大等缺点。 固态硬盘是以半导体作为存储介质及控制载体 &…

使用马哈鱼SQLFLow 1 分钟获取复杂 SQL 语句的血缘关系

数据血缘关系在企业的数据治理中是非常重要的一个环节,关于数据血缘在企业数据治理中的重要作用,可以参考这篇文章。SQL 语言在数据处理中被广泛使用,SQL 语句中包含了丰富的数据血缘关系,关于什么是 SQL 中的数据血缘&#xff0c…

死锁与活锁

1 死锁概述 死锁主要是由于资源使用不当引发的。OS中存在很多不同类型的软硬件资源,而可以引发死锁的资源 主要是需要互斥访问的、不可被抢占的资源,即临界资源。下面先来简单了解下资源的分类。 资源分类 按照资源是否可重复使用划分,可以分…

Spring ( 三 ) SpringIoC

3.SpringIoC Spring 核心 是 通过IoC 降低 项目中的类之间的耦合 IoC Inversion of Control 控制反转: 应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责的。 ​ 这样控制权就由应用转移到了外部容器,控制权的转移…

【Linux从入门到精通】一文带你理解进程概念

我们通过对上篇文章冯诺依曼体系结构对硬件进行讲解后, 本篇文章会对进程进行深入讲解。同时会讲解PCB(进程控制块)。希望本篇文章内容会对你有所帮助。 文章目录 一、再次理解操作系统 1、1 操作系统的作用 1、2 操作系统的管理 二、进程基本…

基于Kubernetes集群构建大中型企业CICD应用平台(5)--Integrate工具

5.1、jenkins介绍 持续集成、持续部署的工具很多,其中Jenkins是一个开源的持续集成平台。 Jenkins涉及到将编写完毕的代码发布到测试环境和生产环境的任务,并且还涉及到了构建项目等任务。 Jenkins需要大量的插件保证工作,安装成本较高&am…

Java Web开发:Spring Boot和Spring Cloud的应用和实践

一、介绍 Java Web开发是当今互联网时代中的一项重要技术,随着互联网的发展和应用场景的不断扩大,Java Web开发技术也得到了广泛的应用。而Spring Boot和Spring Cloud作为Java Web开发中最常用的技术之一,已经成为了很多开发者必备的技能。本…

使用Vue3和Typescript实现可复用的路由标签页和面包屑导航组件

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: 三十天精通 Vue 3 文章目录 一、为什么需要可复用的路由标签页和面包屑导航组件1.1 前端应用导航的问题1.2 解决问题的方法二、Vue3和Typescript基础知识回…

shell脚本中数组的运用以及排序算法

shell脚本中数组的运用 一、数组的介绍1、概念2、定义方法3、数组包括的数据类型 二、关于数组的操作1、获取数组长度2、获取数组各个元素的下标3、获取数组列表或单个元素4、对数组切片输出5、对数组里的元素替换6、删除单个元素或数组7、数组追加元素8、向函数传入数组的值 三…

Learning C++ No.20 【红黑树实战】

引言: 北京时间:2023/5/12/20:30,今天周五,周五不摆烂从我做起,虽然刚睡醒,但是今天如果论学习时长,那可能是许久以来最长的一天,从早上6:40晨跑回来坐在凳子上,一坐久坐…

在 I/O 看未来 | 开发者集合!官方学习资源已更新,即 课 解锁新技能!

看完 Google I/O 2023 的精彩内容 你是否已跃跃欲试,准备充电学习? 马上跟随 Google 开发者在线课程 刷新知识储备和开发技能 将技术热爱落地为实践应用! "解码 Google I/O 洞见科技未来" 征文活动 也向身为技术爱好者的你发出召唤…

【Wi-Fi】802.11/802.11b/802.11g/802.11n/802.11a/802.11ac/802.11ax/802.11be

WiFi发展历史 IEEE 802.11 Protocol Release Date Frequency Band Bandwidth Max Throughput 802.11-1997 1997 2.4GHz 22MHz 2Mbps 802.11b 1999 2.4GHz 22MHz 11Mbps 802.11a 1999 5GHz 20MHz 54Mbps 802.11g 2003 2.4GHz 20MHz 54Mbps 802.11n (W…

Kubernetes❀实战入门

Kubernetes❀实战入门 4. 实战入门4.1 Namespace4.1.1 **查看**4.1.2 **创建**4.1.3 **删除**4.1.4 **配置方式** 4.2 Pod4.2.1 创建并运行4.2.2 查看pod信息4.2.3 访问Pod4.2.4 删除指定Pod4.2.5 配置操作 4.3 Label4.3.1 命令方式4.3.2 配置方式 4.4 Deployment4.4.1待操作。…

第二章 介绍Productions - 互操作性制作简介

文章目录 第二章 介绍Productions - 互操作性制作简介介绍Productions设置Production的消息流 第二章 介绍Productions - 互操作性制作简介 互操作性产品的目的是使能够连接系统,以便可以在它们之间转换和路由消息。要连接系统,需要开发、配置、部署和管…

( 位运算 ) 693. 交替位二进制数 ——【Leetcode每日一题】

❓693. 交替位二进制数 难度:简单 给定一个正整数,检查它的二进制表示是否总是 0、1 交替出现:换句话说,就是二进制表示中相邻两位的数字永不相同。 示例 1: 输入:n 5 输出:true 解释&#…

【FreeRTOS】——API函数任务创建与删除挂起与恢复

目录 前言: 一、任务创建与删除的API函数 二、任务挂起与恢复的API函数 总结: 前言: 博客笔记根据正点原子视频教程编辑,仅供学习交流使用! 一、任务创建与删除的API函数 任务的创建和删除的本质就是调用FreeRT…

小宁ChatGPT智能机器人上线,无需魔法注册即可使用!

​大家好,今天我要向大家介绍一款基于人工智能技术的聊天机器人——ChatGPT。ChatGPT可以与用户进行自然语言交互,回答用户的问题、提供服务、进行闲聊等,让聊天变得更有趣。 小宁ChatGPT是对接ChatGPT官方api,实现无需魔法无误差…

使用Visual Studio 2019 创建JNI式的动态库及在Java代码中的使用

文章目录 JNI简介JNI 数据类型与 Java 、C 类型对比JNI式动态库函数编码规则Visual Studio下的编码JNI式动态库在Java代码中的使用改进版通过javah命令自动生成.h文件 JNI简介 JNI (Java Native Interface) 是 Java 沟通 Native 语言(主要是C、C)的桥梁…