彻底澄清子网掩码、反掩码、通配符掩码以及ospf network命令误区

article/2025/9/1 8:44:53

1.子网掩码(IP subnet mask)

用途:标识一个IP地址的网络位,主机位

     网络设备判断目的IP跟自己是否同一网段的依据。

特点:1和0绝对不可能间隔,1总在0的前面。

     网络通信角度,子网掩码只具有本地意义。跟对端没有匹配的硬性要求。

误区:一条链路两端的子网掩码必须一致(是习惯不是必须)

例外:ospf 多路访问网络中,掩码不一致会影响ospf邻居关系建立

2.通配符掩码 wildcard mask

 用途:选出一组符合否规则的IP地址

 特点:0表匹配,1表示不需要匹配。0和1 的位置根据需求可随意穿插

 示例1:deny ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255

      deny ip 192.168.1.2 0.0.0.255 192.168.2.2 0.0.0.255

      deny ip 192.168.1.3 0.0.0.255 192.168.2.3 0.0.0.255
 这三跳条目是完全相同的,效果都是阻止192.168.1.x 访问192.168.1.x (x表示任意数字)

 红色字体部分对应的是全1,所以是忽略的 ,写什么都无所谓了

 实例2:deny ip 192.168.1.0 255.0.0.255 192.168.2.0 255.0.0.255

       deny ip 193.168.1.0 255.0.0.255 193.168.2.0 255.0.0.255
        deny ip 194.168.1.0 255.0.0.255 194.168.2.0 255.0.0.255

这三跳条目是完全相同的,效果都是阻止x.168.1.x 访问 x.168.2.x (x表示任意数字)

红色字体部分对应的是全1,所以是忽略的 ,写什么都无所谓了

3. 反掩码(中国式教育的败笔,误人子弟的一个说法,通配符掩码的错误理解)

需求1:阻止192.168.1.0/24 访问 192.168.2.0/24

命令:deny ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255

看起啦确实是把掩码反过来写正好满足要求,实际上逻辑关系已经变了。只是恰巧蒙对了而已。

少有求知欲的同学都有必要问一下,为什么要把掩码反过来写呢?

如果写成 deny ip 192.168.1.0 255.255.255.0 192.168.2.0 255.255.255.0

严格解读效果是:拒绝 x.x.x.0 访问 x.x.x.0

但是很多版本故作人性化,show run的时候自己给该成了:

deny ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255

这属于操作系统对客户错误理解的妥协

后期的思科版本不再做此修改

-----------------------------------------------------------------

需求2:阻止 X.168.1.x 访问 X.168.2.x

命令:deny ip 192.168.1.0 255.0.0.255 192.168.2.0 255.0.0.255

这个需求用反掩码的逻辑恐怕就行不通了吧? 当然这个需求属于怪异需求。

4.ospf的network命令(非rfc规定,各厂家可以自行设计,以下为大部分厂家逻辑)

  正解:

  Network  +  IP  +  wild card bits   

  Network 通过 IP 和 wild card bits 筛选出一组IP地址,从而定位出需要开启OSPF的接口(谁拥有其中一个IP地址谁就开启OSPF)

    接口开启ospf 含义有二:1. 从该接口收发ospf报文

                         2.该接口所在的网络对应的路由成为ospf的资源,从其他接口发给邻居(当然ospf发的不是路由条目)

  示例:inter f0/1

        ip add 10.1.1.1 255.255.255.0

       router ospf 1

       network 10.1.1.1 0.0.0.255 area 0

  这个network命令实际上宣告了10.1.1.0-10.1.1.255 这256个地址。

  当然在这个环境下恰好有且仅有一个接口在这个范围内。

  也就是说把接口的掩码反过来写正好能且只能宣告一个接口。不会多宣告

      如果写成

       network 10.1.1.1 0.0.0.0 area 0 效果也完全一样

      或者写成

       network 10.1.1.2 0.0.0.255 area 0 红色字体部分随便写,效果也是一样的

      如果写成

       network 0.0.0.0 255.255.255.255 area 0 宣告所有的IP地址,也就是所有的接口

      如果写成

      network 0.0.0.0 0.0.0.0  area 0 也是宣告所有接口,逻辑上讲不通(这个背过吧)

  重大误区:

  1. network 宣告的是路由,影响邻居学习路由的掩码

  2. network IP 后面跟的是反掩码,必须把掩码反过来写,否则会影响路由学习

 

错误理解示例1:

   network 10.1.1.1 0.0.0.0

   会导致邻居学到 10.1.1.1/32位的路由(已经遇到好多人跟我纠结这种问题,唉,网络世界,其实难寻知己)

 


http://chatgpt.dhexx.cn/article/H2Q8ByuB.shtml

相关文章

反掩码和通配符,傻傻分不清?

网络掩码 网络掩码,大家很熟悉。格式跟 IP 地址一样,是 32 位的二进制数,网络部分用 1 表示,主机部分用 0 表示,和 IP 地址同时使用才有意义。 我们可以发现,网络掩码是由 1 和 0 组成,而且 1 …

通配符及反掩码的详解 (网络中ACL )

在我们学习ACL中,在搞懂ACL的同时也要搞定通配符掩码(wildcard mask)。说简单点,通配符掩码就是0为绝对匹配,必须严格匹配才行,而1为任意,从某种意义上讲,如果一个8位上有一个1字符&…

反掩码与通配符掩码

掩码我们学数通的应该都很熟悉,我们刚刚学习IP的时候肯定都学过,这里就不在叙述。 今天我们要说的是反掩码和通配符掩码,反掩码相信大家也都不陌生,我们配置OSPF的时候都能用的到但是很多网工也就知道配置OSPF就要那么配置&#x…

掩码、通配符与反掩码

掩码 采用按位与运算,计算一个ip地址的网络号0 & 0 0  1 & 0 0  即:x & 0 00 & 1 0  1 & 1 1  即:x & 1 xip地址的结构 网络号 主机号若要得到网络号,掩码的结构必然为前面是连续的1&am…

ACL 通配符掩码 匹配的范围计算及理解

例题 access-list 120 permit ip 10.0.0.0 0.0.0.191 any 这条ACL看似简单,却又复杂,因为正常我们见到的通配符掩码都是诸如0.0.0.255(255.255.255.0)/0.0.255.255(255.255.0.0)/0.0.0.127(255…

UDF和GenericUDF区别

目录 UDF GenericUDF Java开发转了大数据,竟然被拉去做了非结构的ETL抽取,真的是比做后端伤脑筋,没有可借鉴的框架,只能根据数据进行抽取,第一份大数据实习,写完抽取代码后,需要写成UDF和UDTF进行使用。 …

URDF教程

创建自己的URDF文件 1.1创建树形结构文件 在这部分教程中要创建的将是下面的图形所描述的机器人的urdf文件 图片中这个机器人是一个树形结构的。让我们开始非常简单的创建这个树型结构的描述文件,不用担心维度等的问题。创建一个my_robot.urdf文件,…

UDF 提权

肚子难受了两天,躺了两天 关于 UDF ,我当时第一想到的是 sqlmap 里的 -os-shell 这两者之间又有怎么样的区别? 经过我查了一番资料 UDF 全称为 User Defined Functions ,翻译过来就是用户可自定义函数. UDF 适用于只知道root 账户密码&a…

MySQL UDF 提权

概述 UDF 全称 User Defind Function(用户自定义函数),用户通过自定义函数可以实现在 MySQL 中无法方便实现的功能,其添加的新函数都可以在 SQL 语句中调用,就像调用本机函数 version () 一样方便。 UDF 提权是通过这…

udf提权

udf提权 什么是udf udf “user defined function”,即‘用户自定义函数’。是通过添加新函数,对MYSQL的功能进行扩充,性质就像使用本地MYSQL函数如abs()或concat()。udf在mysql5.1以后的版本中,存在于’mysql/lib/plugin’目录下&#xff…

URDF

Solidworks模型转化为URDF文件格式三连杆机械臂示例逆运动学 https://blog.csdn.net/gpeng832/article/details/73917487 关于SolidWorks导出URDF模型的总结 https://blog.csdn.net/mt_lixinzeng/article/details/80268572 Rviz: RobotModel --Status: Error :如果关节是活动…

Mysql之UDF提权

前言 mysql提权的几种方式 udf提权(常用)mof提权开机启动脚本(启动项提权) 提权目的:mysql权限 —> 操作系统权限 UDF提权 有时候我们通过一些方式获取了目标主机mysql的用户名和密码,并且可以远程连…

UDAF和UDF的介绍

目录 UDF介绍 UDAF简介 关于UDAF的一个误区 使用UDF 在SQL语句中使用UDF 直接对列应用UDF(脱离sql) UDAF使用 继承UserDefinedAggregateFunction 继承Aggregator UDF介绍 UDF(User Define Function),即用户自…

FLUENT UDF并行化(1)

来源:ANSYS FLUENT UDF帮助文档,翻译自用,如有错误,欢迎指出! 本章概述了并行ANSYS Fluent的用户定义函数(UDF)及其用法。有关并行UDF功能的详细信息,请参见以下部分,本…

FLUENT UDF并行化(2)

来源:ANSYS FLUENT UDF帮助文档,翻译自用,如有错误,欢迎指出! 本章概述了并行ANSYS Fluent的用户定义函数(UDF)及其用法。有关并行UDF功能的详细信息,请参见以下部分,本…

udf开发入门(python udf、hive udf)

开发前的声明 udf开发是在数据分析的时候如果内置的函数解析不了的情况下去做的开发,比方说你只想拆分一个字段,拼接一个字段之类的,就不要去搞udf了,这种基本的需求自带函数完全支持,具体参数可参考文档: …

UDF的入门科普

新入门的小伙伴们好像对udf有一些疑问,那么今天就给大家整理一些udf的学习资料供大家参考。(公众号:刘华强仿真笔记) 01 UDF的基本概念 UDF的定义? UDF 是用户自己用C语言写的一个函数,可以和FLUENT动态链接 用UDF…

FLUENT中初识UDF——UDF的简单使用(1)

FLUENT中初识UDF——UDF的简单使用(1) 注意:不包含其他ANSYS基本操作流程!!!1:UDF的编写:2:ANSYS中导入UDF函数:2.1:首先打开Fluent,导…

对window的注册表进行优化

Regclean pro是一款优秀的注册表扫描、清理工具,由微软金牌合作伙伴Systweak开发。 它具有强大的Windows注册表检测及修复功能,可以帮助用户轻松而有效的清理、修复Windows 系统注册表中缺省的、被破坏的或残缺的系统参数,轻松提升系统性能。…

Windows注册表基本管理配置

一.注册表优化 注册表的优化分为几点: 1.系统安装是产生的无用信息 (1) 删除多余的时区 路径:计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones 删除除了China Standard Time中国时区以外的其他时区…