当前位置: 首页 > news >正文

IPV4地址详解

在这里插入图片描述

文章目录

  • IPV4地址
  • 分类编址
  • 划分子网
  • 无分类编制CIDR
    • 路由聚合
  • 应用规划(子网划分的细节)
    • 定长的子网掩码FLSM
    • 变长的子网掩码VLSM

IPV4地址

IPV4地址就是给因特网(Internet)上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内是唯一的32位比特的标识符(4字节) ,IP地址由因特网名字和数字分配机构ICANN进行分配。

IPV4的编制方法经历时期
在这里插入图片描述
IPV4地址分为:

  • 公有地址:是在广域网内使用的地址,但在局域网中同样也可以使用,除了私有地址以外的地址都是公有地址。公网IP地址是可以通过 Internet 直接访问的 IP 地址,不同的公共 IPv4 地址的数量是有限的,它们通常由 Internet 服务提供商 (ISP) 分配给设备。
  • 私有地址:私网IP地址不在 Internet 上路由,也无法从 Internet 向它们发送流量,它们只应该在本地网络中工作。当私有网络内的主机要与位于公网上的其他主机进行通讯时必须经过地址转换,将私有地址转换为合法公网地址后才能对外访问。

在IP地址3种主要类型里,各保留了3个区域作为私有地址(只使用在局域网中)
1. A类地址:10.0.0.1~10.255.255.254
2. B类地址:172.16.0.1~172.31.255.254
3. C类地址:192.168.0.1~192.168.255.254

IPV4地址采用点分十进制表示方法以便用户使用(二进制转十进制)

在这里插入图片描述
十进制转二进制采用除2取余法

2 0 = 1 2^0=1 20=1 2 1 = 2 2^1=2 21=2 2 2 = 4 2^2=4 22=4 2 3 = 8 2^3=8 23=8
2 4 = 16 2^4=16 24=16 2 5 = 32 2^5=32 25=32 2 6 = 64 2^6=64 26=64 2 7 = 128 2^7=128 27=128
2 8 = 256 2^8=256 28=256 2 9 = 512 2^9=512 29=512 2 1 0 = 1024 2^10=1024 210=1024


分类编址

分类编址的IPV4地址分为A、B、C、D、E五类

  • A类地址的网络号占8比特,主机号占24比特,网络号的最高位固定为0
  • B类地址的网络号和主机号各占16比特,网络号的最高两位固定为10
  • C类地址的网络号占24位比特,主机号占8位比特,网络号最高三位固定位110
  • D类地址是多播地址,其最高四位固定为1110
  • E类地址是保留地址,其最高四位固定为1111

在这里插入图片描述
只有A、B、C类地址可以分配网络中的主机或路由器使用

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

A类地址(0.0.0.0 ~ 127.255.255.255)
默认子网掩码:255.0.0.0 或 0xFF000000,该类IP地址的最前面为 “0”,所以可用地址的网络号取值于1~126之间。一般用于大型网络。
最小网络号0,保留不指派
最大的网络号127,作为本地环回测试地址
最小的本地环回测试地址为127.0.0.1
最大的本地环回测试地址为127.255.255.254

可指派的网络数量为:
在这里插入图片描述
可分配的IP地址数量为
在这里插入图片描述


B类地址(128.0.0.0 ~ 191.255.255.255)
默认子网掩码:255.255.0.0 或 0xFFFF0000,该类IP地址的最前面为 “10”,所以地址的网络号取值于128~191之间。一般用于中等规模网络。
在这里插入图片描述
注意:有些教材中指出128.0是保留网络号,B类第一个可指派的网络号为128.1,但是2002年9月发表的RFC 3330文档,表示128.0可以分配了


C类地址(192.0.0.0-223.255.255.0)
子网掩码:255.255.255.0或 0xFFFFFF00,该类IP地址的最前面为“110”,所以地址的网络号取值于192~223之间。一般用于小型网络。
在这里插入图片描述
注意:有些教材中指出192.0.0是保留网络号,C类第一个可指派的网络号为192.0.1,但是2002年9月发表的RFC 3330文档,表示192.0.0可以分配了

地址0.0.0.0是一个特殊的IPV4地址,只能作为源地址使用,表示在本网络上的本主机
地址255.255.255.255是一个特殊的IPV4地址,只能作为目的地址使用,表示在本网络上进行广播(各路由器器均不转发)
本地链路地址(link-local):169.254.0.0/16,PC使用DHCP自动获取地址失败时,自行分配的一个地址。


划分子网

划分子网有助于更好的隔离网络广播,保证网络的安全,同时,节约了IP地址。如某单位有一个大型的局域网需要连接到因特网,如果申请一个C类网络地址,其可分配的IP地址数量只有254个,不够使用;因此该单位申请了一个B类网络地址,其可分配的IP地址数量达到了65534个,给每天计算机和路由器的接口分配一个IP地址后,还有大量IP地址剩余,就会造成浪费资源

因为IP地址是由网络号和主机号组成
在这里插入图片描述
子网划分就是从主机号部分中借用一些位作为子网号,32比特的子网掩码可以表面分类IP地址的主机号部分被借用了几个比特作为子网号

子网掩码使用连续的连续的比特的1作为网络号部分;连续的 比特0作为主机号部分

在这里插入图片描述
网络地址:将划分子网的IPV4地址与其相应的子网掩码进行逻辑与运算就可以得到IPV4所在自卫队网络地址
在这里插入图片描述
在这里插入图片描述
默认子网掩码
默认的子网掩码是指在未划分子网的情况下使用的子网掩码

  • A类地址的默认子网掩码为255.0.0.0
  • B类地址的默认子网掩码为255.255.0.0
  • C类地址的默认子网掩码为255.255.255.0

在这里插入图片描述

无分类编制CIDR

划分子网虽然在一定程度上提高了IP地址空间的利用,但是数量巨大的C类网因为其地址空间太小没有得到充分利用,而因特网的IP地址仍然在加速消耗,整个IPV4地址空间面临全部耗尽的威胁,为此,因特网工程任务组IEEE提出了采用无分类编址的方法来解决(同时专门成立IPV6工作组负责研究新版本IP以彻底解决IP地址耗尽问题)

无分类编址又称无分类域间路由选择CIDR

  • CIDR消除了传统的A类、B类和C类地址,以及划分子网的概念
  • CIDR将32位IP地址划分为前后两个部分,前面的部分称为网络前缀或简称为前缀,用来指明网络,后面的部分则用来指明主机。
  • CIDR使用斜线记法,或称CIDR记法。即在IPV4地址后面加上斜线 “/”,在斜线后面写上网络前缀所占的比特数量
    在这里插入图片描述
  • CIDR把网络前缀相同的连续的IP地址组成一个CIDR地址块。

注意: 聚合某类网的数量 = 该地址块中的地址数量 / 某类网的地址数量 聚合某类网的数量=该地址块中的地址数量/某类网的地址数量 聚合某类网的数量=该地址块中的地址数量/某类网的地址数量
在这里插入图片描述

路由聚合

路由聚合也称为构造超网,是把一组路由汇聚为一个单个的路由广播。路由汇聚的最终结果和最明显的好处是缩小网络上的路由表的尺寸。

如图所知:如果不聚合的话,路由转发表将会很大
在这里插入图片描述
路由聚合其原理是:将网络前缀缩短。如图
在这里插入图片描述

聚合后的地址块可以称为超网(网络前缀越长,地址块越小,路由越具体)

在这里插入图片描述

应用规划(子网划分的细节)

一个IPV4地址块,如何将其划分成几个更小的地址块,并将这些地址块分配给互联网中的不同网络,进而给网络中的主机和路由器接口分配IPV4地址。一般有以下两种方法

  • 定长的子网掩码FLSM
  • 变长的子网掩码VLSM

在这里插入图片描述

定长的子网掩码FLSM

一个固定长度的子网掩码(Fixed-Length Subnet Mask,FLSM)是一连串长度不变的数字,可以在一个专有网络的子网范围内简化数据包的路由选择过程。一个子网可以是一个地理上定义的本地区域网络(局域网),此外,一个子网可以定义安全边界,部门边界,多播区域或者硬件安全参数。
在这里插入图片描述

将C类网络218.75.230.0划分5个子网,每个子网上可分配的IP地址数量不得小于各自的需求

在这里插入图片描述
在这里插入图片描述
这样可以从子网列表1~8中任选5个分配到对应的网络中

采用定长的子网掩码FLSM进行划分,只能划分为 2 n 2^n 2n个子网,n是从主机号部分借用作为子网号的比特数量

变长的子网掩码VLSM

这是一种产生不同大小子网的网络分配机制,指一个网络可以配置不同的掩码。开发可变长度子网掩码的想法就是在每个子网上保留足够的主机数的同时,把一个网分成多个子网时有更大的灵活性。
在这里插入图片描述
分配的原则:每个子块的起点位置不能随意选取,只能选取块大小整数倍的地址作为起点,建议先给大的子块分配
在这里插入图片描述


相关文章:

  • ubuntu 22.04学习笔记
  • 【蓝桥杯-筑基篇】基础数学思维与技巧(1)
  • 图论(入门版)
  • 使用bindgen将C语言头文件转换为Rust接口代码
  • 第九层(2):STL之string类
  • Allegro如何自动做差分对内等长操作指导
  • 搜索引擎位置跟踪应用SerpBear
  • 浅析一条SQL在mysql中是如何执行的
  • 前端艺术之毛玻璃-倾斜-日历
  • Python-Flask-2023.1.24-Review
  • SpringBoot 统一功能处理
  • 3. Python列表简介
  • sidebar(侧边栏原理vue admin)
  • BERT模型结构可视化与模块维度转换剖析
  • 谈谈线程安全问题及其解决方法
  • 【391天】每日项目总结系列128(2018.03.03)
  • 0x05 Python数据分析,Anaconda八斩刀
  • 2017届校招提前批面试回顾
  • Hibernate最全面试题
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • JavaScript新鲜事·第5期
  • LeetCode18.四数之和 JavaScript
  • Linux后台研发超实用命令总结
  • Python学习之路16-使用API
  • ucore操作系统实验笔记 - 重新理解中断
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • Web标准制定过程
  • 初探 Vue 生命周期和钩子函数
  • 好的网址,关于.net 4.0 ,vs 2010
  • 经典排序算法及其 Java 实现
  • 盘点那些不知名却常用的 Git 操作
  • 山寨一个 Promise
  • 实战|智能家居行业移动应用性能分析
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 小试R空间处理新库sf
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • (12)Hive调优——count distinct去重优化
  • (52)只出现一次的数字III
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (搬运以学习)flask 上下文的实现
  • (二)正点原子I.MX6ULL u-boot移植
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (接口自动化)Python3操作MySQL数据库
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (转)可以带来幸福的一本书
  • 、写入Shellcode到注册表上线
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .Net Remoting常用部署结构
  • .net 微服务 服务保护 自动重试 Polly
  • .Net 中Partitioner static与dynamic的性能对比
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
  • .NET高级面试指南专题十一【 设计模式介绍,为什么要用设计模式】
  • .Net中ListT 泛型转成DataTable、DataSet