HCIP——OSPF不规则区域划分及LSA详解

news2024/11/19 7:26:01

ZY技术分享

  • 一、OSPF与RIP异同
  • 二、OSPF的不规则区域划分
    • 1、远离骨干的非骨干
      • 使用tunnel隧道
      • 使用虚链路
      • 使用多进程双向重发布
    • 2、不连续骨干
  • 三、OSPF的LSA详解
    • LSA头部
    • Type - 1LSA
    • Type - 2LSA
    • Type - 3LSA
    • Type - 5LSA
    • Type - 4LSA

一、OSPF与RIP异同

OSPFRIP v1RIP v2
链路状态路由协议距离矢量路由协议距离矢量路由协议
没有跳数的限制RIP的十五跳限制,超过15跳的路由被认为不可达同版本一一样
支持可变长子网掩码(VLSM)不支持可变长子网掩码(VLSM)支持可变长子网掩码(VLSM)
收敛速度快收敛速度慢收敛速度慢
使用组播发放链路状态更新周期性广播更新整个路由表周期性组播更新整个路由表

相同点

  • 都是无类别路由协议,rip在传递路由信息会携带子网掩码,ospf的lsa(链路状态通告)也携带子网掩码
  • 都是以组播的形式通信,rip:224.0.0.9,ospf: 224.0.0.5/224.0.0.6
  • 都支持等开销负载均衡,手工认证

不同点
由于rip自身的劣势:只有一种包,选路不佳,收敛慢,导致rip只适用于中小型的网络环境中。而ospf有5种数据包,分工明确;通过spf算法保证选路无环;有触发更新,收敛块,加上ospf其他各种减少占用资源的措施使ospf可以应用于中大型的网络环境中。

二、OSPF的不规则区域划分

我们知道,OSPF区域划分需要遵循两个要求:

  • 1、区域之间存在ABR
  • 2、区域必须按照星型拓扑结构,即所有区域要于骨干区域相连,否则,ABR将不会帮忙转发区域间的路由信息。

而我们不规则区域就是讲的是,如果区域划分没有按照星型拓扑结构来不知,该如何实现通讯。
不规则区域主要有两种情况:

  • 1、远离骨干的非骨干区域。
  • 2、不连续骨干区域。 — 两种方法解决方案类型,我们主要研究第一种原理骨干的非骨干区域即可。

1、远离骨干的非骨干

搭建模拟拓扑来寻求解决方案:
在这里插入图片描述(该图中区域2即为远离骨干的非骨干区域)
解决方案:(我们可以总结出三种,推荐使用后两种)

使用tunnel隧道

在AR4和AR2之间构建一条隧道,之后,将这个隧道宣告到区域0中,相当于将AR4非法的ABR合法话,则AR4将正常传递区域2和区域0,1之间的路由信息。

注意:在这个环境中,在没有隧道之前,AR4可以通过AR2转发的路由信息学习到达区域0的路由,而存在隧道之后,AR4可以直接通过隧道学习到区域0的拓扑信息。而AR4会优先选择自己通过拓扑信息学来的路由信息,就算是开销值巨大。

使用VPN隧道解决不规则区域的问题
1,可能造成选路不佳;
2,可能造成重复更新;
3,因为虚拟链路的存在,AR2和AR4之间也需要建邻。导致他们之间维护的周期性数据将穿越中间区域区域1.导致中间区域的资源消耗
(这种方法因为问题很多,所以在工程中几乎见不到,所以,因为其思考难度较低,仅作为了解,不推荐使用。)

使用虚链路

虚链路是OSPF针对不规则区域提出的一种解决方案,也被称为虚连接。
虚连接可以在任意两个ABR上建立,但是要求这两个ABR都有端口连接到一个相同的非骨干区域。
在这里插入图片描述
[r4-ospf-1-area-0.0.0.1]vlink-peer 2.2.2.2 — 虚链路的配置方法,后面跟需要创建虚链路设备的RID。
注意:虚链路的建立是双向的。— 虚链路永远属于骨干区域。
使用虚链路解决不规则区域的问题
1、因为虚链路的存在,AR2和AR4之间也需要建邻。导致他们之间维护的周期性数据将穿越中间区域区域1,导致中间区域的资源消耗。
2、虚链路只能穿越1个区域

使用多进程双向重发布

先说下多进程,我们在创建ospf进程的时候都会增加一个进程号,主要就是用来区分不同的进程的,各个进程是彼此独立的,信息是没有办法互通的。

因为不同的路由协议运行的机理各不相同,包括对路由的理解也不同,所以,不同的路由协议包括不同进程之间存在信息隔离。

重发布就是在运行不同协议或不同进程的边界设备 (ASBR— 自治系统边界路由器,协议边界路由器)上,将种协议按照另一种协议的规则发布出去。— ASBR设备要求必须存在重发布行为才行。
在这里插入图片描述
在这个场景下,我们可以让AR4充当ASBR的角色,在其上运行两个OSPF协议。然后利用重发布进行共享。然后在R4上把区域2的信息宣告在ospf 2进程中。

进入OSPF1,导入OSPF2的路由
进入OSPF2,导入OSPF1的路由
[r2]ospf
[r2-ospf-1]import-route ospf 2
[r2-ospf-1]q
[r2]ospf 2
[r2-ospf-2]import-route ospf 1

这是双向重发布,这样即不会出现选路不佳,也没有周期性数据,所以,使用最广

2、不连续骨干

还有一种特殊区域是— 不连续骨干区域,其解决方案也可以使用如上三种方法

三、OSPF的LSA详解

OSPF是典型的链路状态路由协议,便用LSA(Link State Advertisement,链路状态通告)来承载链路状态信息。LSA是OSPF的一个核心内容,如果没有LSA,OSPF是无法描述网络的拓扑结构及网段信息的,也无法传递路由信息,更加无法正常工作。OSPF定义了多种类型的LSA,深入了解并掌握常见的LSA类型是非常有必要的。
OSPF定义的LSA种类很多,在OSPFV2中,需要我们掌握的主要有6种。
在看具体各类LSA之前,我们先来看下LSA头部内容。 (所谓LSA头部,指的就是不管是哪一类LSA都会具有的公共部分)

LSA头部

在这里插入图片描述
LSA头部一共20byte,每个字段的含义如下:

  • 链路状态老化时间(Link-State Age): 指示该条LSA的老化时间,即它存在了多长时间,单位为秒,这是一个16bit的整数。当该LSA被始发路由器产生时,该值被设置为0,之后随着该LSA在网络中被泛洪,它的老化时间逐渐累加。当某台路由器将LSA存储到自己的LSDB后,LSA的老化时间也在递增,一般情况下,LSA的老化时间应该小于1800S(因为OSPF每1800S会进行一次周期更新。) 为了防止老化时间无限制的增长,我们设计了一个最大老化时间— MAX age3600当一条LSA的老化时间到达最大老化时间时,将被认定失效,将从本地的LSDB中删除掉。
  • 可选项(Options): 总共8bit,每一个比特位都对应了OSPF 所支持的某种特性。 – 和helo包中的一样,包含特殊区域标记
  • 链路状态类型(Link-State Type): 指示本条LSA的类型。OSPF定义了多种类型的LSA,每种LSA用于描述OSPF网络的某个部分,所有的LSA类型都定义了相应的类型编号。
  • 链路状态ID(Link-State ID): LSA的标识。不同的LSA类型,对该字段的定义是不同的。
  • 通告路由器 (Advertising Router): 产生该LSA的路由器的Router-ID。
  • 链路状态序列号(Link-Sate Sequence Number): 该LSA的序列号,该字段用于判断LSA的新旧或是否存在重复。32位二进制构成,由8位16进制来表示 — 一台路由器,每发送同一条LSA信息,则将携带一个序列号并且序列号依次加1。

序列号空间
1、直线型序列空间— 从最小值开始一直到最大值,依次加1,新旧关系容易判断,但是数量有限。若超出上限,则将无序号可用,导致新旧关系无法判断。
2、循环型序列空间— 序号可以循环使用,不会出现序号使用完的情况,但是若两个序号差值比较大的时候,可能会导致新旧关系无法判断。
3、棒棒糖型序列空间— 0SPF使用的就是这种序列空间,但是,其进入循环部分后,依旧会面临循环型序列空间的问题,所以,OSPF要求其不能进行循环,相当于是一个直线型序列空间,其取值X80000001-0X7FFFFFFE。

序列号刷新方法:
OSPF刷新序列号空间的方法: 当一条LSA信息的序列号达到0X7FFFFFFE是,发出的路由器会将他的老化时间改为3600S,其他设备收到这条LSA信息后,会根据序号判断这是一条最新的LSA信息,将改信息刷新到本地LSDB中。之后,因为这条LSA信息的老化时间达到3600S,则将这条LSA信息删除掉。始发的路由器会再发送一条相同的LSA信息,其序列号使用0x80000001,其他设备收到后将会把最新的LSA信息刷新到LSDB中,则刷新了序列号空间。

  • 链路状态校验和(Link-State checksum):校验和。校验和也会参与LSA的新旧比较。当两条LSA三元组相同,并且序列号也相同时,则可以使用校验和比较,校验和大的认定为新。
  • 长度(Length):LSA的总字节长度

每个LSA头部中的“链路状态类型”链路状态ID”以及“通告路由器”这三个字段唯一地标识了一个LSA。当然,在同时间有可能在网络中会出现同一个LSA 的多个实例,那么LSA头部中的”链路状态老化时间“链路状态序列号”及”“校验和”字段就可以用来判断实例的新旧。

Type - 1LSA

在这里插入图片描述
部署R1和R2,之后在点到点环境中运行OSPF协议,之后观察设备上的LSDB数据库,我们可以发现,其中仅存在一种类型的LSA,其Type名称为Router,此类LSA便是1类LSA。
在这里插入图片描述
路由器通过该LSA描述自己“家门口的状况”。每一台运行OSPE 的路由器均会产生Type-1LSA,该LSA描述了路器的直连接口状况和接口Cost,同属一个区域的接口共用一个Type-1LSA描述,当路由器有多个接口属于不同区时,它将为每个区域单独产生一个Type-1 LSA,并且每个LSA只描述接入该区域的接口。另外,Type-1LSA中也包含着一些特殊的比特位,用于指示该路由器的特殊角色,例如该路由器如果是ABR、ASBR或者是Virtual Link的端点,则这些比特位就会进行相应的置位。
在这里插入图片描述
对于Router LSA而言,LSA头部中的“链路状态类型”字段的值为1,“链路状态ID”字段的值是产生这个Type-1 LSA的路击器的Router-ID。

  • V位(VirtualLink Endpoint Bit): 如果该比特位被设置为1,则表示该路由器为Virtual Link的端点。
  • E位(External Bit): 如果E比特位被设置为1,则表示该路由器为ASBR。在Stub区域中,不允许出现E比特位被设置为1的Type-1LSA因此Stub区域内不允许出现ASBR。
  • B位(Border Bit):如果B比特位被设置为1,则表示该路由器为两个区域的边界路由器,字母B意为Border(边界)。一台路田器如宋同时左按病个A网aa-以上n域,则其产生的Type-1LSA会将B比特位设置为1,即使它没有连接到Area0。
  • 链路数量(Links Number): 该Type-1 LSA所描述的Link(链路)数量。我们已经知道每台路由器都会产生Type-1LSA,而且该LSA描述了路由器直连接口的状况和Cost值,实际上路由器正是采用包含在Type-1 LSA中的Link来描述直连接口的。"链路数量字段指明在该Type-1 LSA中,包含了几条Link。每条Link均包含”链路类型”“链路ID””链路数据”以及”度量值”这几个关键信息。路由器可能会采用一个或者多个Link来描述某个接口 ---- 这个LINK就是描述接口情况的参数。
  • 链路类型(Link type): 本条Link的类型值,该值与Link的类型相关。前面的章节提到OSPF定义了多种网络类型(NetworkType): P2P、P2MP、Broadcast以及NBMA,当一个接口激活OSPF后OSPF会根据这个接口的封装协议来判断接口运行在什么类型的网络上。另一方面,OSPF在其产生的Type-1 LSA中使用Link来描述自己的直连接口的状况,OSPF定义了多种链路类型,这些链路类型与接口的网络类型也是有关的。需要格外注意的是,OSPF的网络类型与链路类型是不同的概念大家不要搞混潜。

在这里插入图片描述
(这里展示的是1类LSA根据连接的网络,定义的几种LINK类型,及其参数的取值方法)

  • 链路ID(LinkID):Link的标识,不同的链路类型,对链路ID值的定义是不同的。
  • 链路数据(Link Data):不同的链路类型对链路数据的定义是不同的
  • 度量值(Metric):Cost值。

注意: 由于TOS及TOS度量值在RFC2328中不再支持(这些字段被保留仅是为了兼容早期的OSPF版本)。
这里可以根据LINK的描述,将拓扑结构进行还原。(这个过程这里不做描述)
在这里插入图片描述

Type - 2LSA

在这里插入图片描述
继续扩大网络拓扑,添加R3,运行OSPF,之后我们观察设备上的LSDB,我们发现,除了有之前见过的1类LSA之外,还存在一种新的LSA,其名称为Network,这样的LSA我们称为2类LSA。
在这里插入图片描述
经过Type-1LSA的泛洪,区域内的路由器已经能够大致地描述出本区域内的网络拓扑,但是,要想完整地描述区域内的网络拓扑结构及网段信息,光有Type-1LSA是不够的,留意到如果路由器的接口接入一个MA网络并且在该网络上存在形成了邻接关系的邻居,则用于描述该接口的Lin的路类型为2,链路D为DR的接口IP地址,而链路数据为本路由器接口的IP地址,但是这个MA网络的掩码呢?有多少路由器连接在这个MA网络上呢?这些信息暂时还是未知的(至少通过Type-1 LSA还无法知晓)。因此就需要用到Type-2 LSA了。
在MA网络中,OSPF会选举D及BDR,所有的DROther路由器都只能和DR及BDR建立邻接关系,DROther路由器之间不会建立全毗邻的OSPF邻接关系。DR会在本区域内泛洪Type-2 LSA,来列举出接入该MA网络的所有路由器的Router-D(其中包括DR自身),以及这个网络的掩码。因此 Type-2 LSA仅存在于拥有MA网络的区域中,该LSA由DR产生。
在这里插入图片描述
在Type-2 LSA中,LSA头部中“链路状态类型”字段的值为2,“链路状态ID”字段的值为产生这个Type-2 LSA的DR的接口IP地址。

  • 网络掩码(Network Mask):该MA网络的网络掩码。
  • 相连的路由器 (Attached Router)的 Router-D;连接到该MA网络的路由器的Router-ID与该D建立了邻按关系的邻居的Router-ID,以及DR自己的Router-D),如果有多台路由器接入该MA 网络,则使用多个字段推述。

2类LSA虽然简单,但是也不可或缺,和1类LSA一起,将所谓的”拓扑信息“描述完整了。之后的LSA传递的均为路由信息。
在这里插入图片描述

Type - 3LSA

在这里插入图片描述
因为1类和2类LSA已经可以将区域内部的拓扑信息携带完整了,所以,想要看到其他携带路由信息的LSA,则必须创建多区域才行,因为区域之间才传递路由信息。所以,我们可以在R3后面再添加R4,之后,将R3和R4连接接口及R4所有接口宣告在区域1中。之后,我们观察设备的LSDB数据库,发现,里面除了有1类2类LSA之外,还存在很多条,名称为Sum-Net的LSA,这些LSA就是我们说的3类LSA。
在这里插入图片描述
Type-3 LSA也就是网络汇总LSA(Networksummary LSA),这里的汇总”二字,其实理解为“归纳“更为贴切它和路由汇总是完全不同的概念。Type-3 LSA是由ABR产生的,用于解决区域之间的路由传递问题。由于ABR同时连接着非骨干区域以及AreaQ,因此它分别为这些区域维护着LSDB并且计算出到达直连区域的区域内部路由,它向某个区域注入 Type-3 LSA,以便向该区域通告到达其他区域的区域间路由。
在这里插入图片描述
在Type-3 LSA中,“链路状态ID”字段的值为区域间路由的目的网络地址,其他字段及其含义如下

  • 网络掩码(Netmask):区域间路由的目的网络掩码
  • 度量值(Metric):路由的Cost。

3类LSA传递的是域间路由信息,主要携带的是目标网段信息和开销值。目标网段信息通过LSID来进行携带,里面也会包含其掩码信息。其中的开销值指的是通告者到达目标网段的开销值。 — 这个开销值计算是一个重点,所以,可以根据拓扑结构进行分析计算。

注意:3类LSA传递路由信息的玩法有点类似于距离矢量型协议的玩法,通告者就是到达目标网段的下一跳。所以,这里有个很重要的点,就是,我们设备在接收到3类LSA之后,需要根据1类和2类LSA计算的拓扑信息来寻找三类LSA的通告者。(准确的说,所有传递路由信息的LSA都需要通过1类和2类LSA去寻找通告者的位置。),如通告者是所在区域的ABR设备,那自然是可以寻找到的。但如果不是,则需要转换通告者。
在这里插入图片描述
例如,我们在R1后面再加入一个R5,按照拓扑所示划归到区域2中。则我们观察R5的LSDB,我们可以发现区域1里的路由信息到达区域2后,通告者就不再是始发的R3了,而是转换成了R1。说明3类LSA的传递范围进行ABR相邻的单区域,跨区域传递的时候,需要进行通告者的转换。(通告者变了,则将不是同一条LSA了)
在这里插入图片描述
在这里插入图片描述

Type - 5LSA

在这里插入图片描述
有了三类LSA之后,多区域OSPF网络中的路由信息也可以正常传递了,想要看到更多的LSA类型,则将需要继续扩展我们的拓扑,需要再R4后面再增加一个环回网段,将该网段宣告再RIP中,模拟其他网络。之后将RIP中的路由信息通告到OSPF中,我们看下这些域外的路由信息该如何传递。
在这里插入图片描述
之后,我们观察设备的LSDB,可以发现,里面除了前面说过的三种LSA之外,还存在一种叫做External的LSA,我们将他称为5类LSA。
5类LSA主要任务就是传递域外的路由信息,这种类型的LSA一旦被产生后I 会在整个OSPF域内传播(除了一些特殊区域)。Type-5 LSA也就是AS外部LSA(AS ExternalLSA)
在这里插入图片描述
对于Type-5 LSA,“链路状态ID”字段的值是外部路由的目的网络地址。其他主要字段的描述如下。

  • 网络掩码(Netmask):外部路由的目的网络掩码。
  • 度量值(Metric):该外部路由的Cost。5类LSA中携带的时域外的路由信息,通过重发布导入到OSPF网络中因为不同协议对开销值的度量标准不同,所以,在路由导入之后,我们将直接舍弃该路由在原网络中的开销之后,给给路由赋予一个规定值 — seed-mertic 种子度量值。
    • OSPF默认的种子度量值为1,这个值可以在重发布过程中进行修改
      [r4-ospf-1]import-route rip 1 cost 2
  • E位:用于表示该外部路由使用的度量值类型。OSPF定义了两种外部路由度量值类型,分别是Metric-Type-1和 Metric-Type-2。如果该比特位被设置为1,则表示外部路由使用的度量值类型为Metric-Type-2,如果该比持位被设置为0,则表示外部路由使用的度量值类型为Metric-Type-1。
    • TYPE1 — 如果E位置0,则代表使用类型1。如果使用的是类型1,则所有设备到达域外目标网段的开销值位本地到达发出这条LSA的ASBR的开销值再加种子度量值。
    • TYPE 2 — 如果E位置1,则代表使用类型2。默认使用类型2。如果使用类型2,则域内所有设备到达域外目标网段的开销值都等于种子度量值。
    • 开销值类型也可以再重发布时进行修改
      [r4-ospf-1limport-route rip 1 type 1
  • 转发地址(Forwarding Address,FA): 当FA为0.0.0.0时,则到达该外部网段的流量会被发往引入这条外部路由的ASBR。而如果FA不为0.0.0.0,则流量会被发往这个转发地址。FA这一概念的引入,使得OSPF在某些特殊的场景中得以规避次优路径问题。
  • 外部路由标记(External Route Tag):这是一个只有外部路由才能够携带的标记,常被用于部署路由策路。举个例子,假设我们在OSPF域外有两种业务:办公及生产,现在ASBR把这两种业务各自的路由都引入OSPF,用于描述这些外部路由的Type-5 LSA将在整个OSPF 域内传播,现在如果需要在域内某个位置部署路由策略,分别对这些办公及生产的路由执行不同的策略,那么首先就要区分这些路由,如果单纯通过路由的目的网络地址及网络掩码进行区分显然是不够便捷的。而如果在ASBR上引入这些外部路由时,就分别为生产及办公路由打上相应的标记,那么在域内执行策略的时候就可以直接对相应的标记进行路由匹配,从而使得路由策略的部署更加方便。在华为的路由器上,缺省时该字段值被设置为1。
    • 在重发布过程中可以打标签
      [r4-ospf-1limport-route rip 1 tag

在这里插入图片描述

Type - 4LSA

在这里插入图片描述
前面说的所有传递路由信息的LSA都需要通过1类和2类LSA进行验算(寻找通告者),5类LSA是全OSPF区域传递的,处理ASBR通过者所在的区域可以通过1类和2类LSA进行验算,其他区域都无法验算通告者的位置,所以,需要引入4类LSA来辅助寻找ASBR通告者的位置。
所以,我们观察拓扑,发现除了区域1以外,其他区域设备的LSDB中都出现了一个名为Sum-Asbr的LSA,这个就是4类LSA。
在这里插入图片描述
Type4LSA披称为ASBR汇总LSA(ASER5ummary L5A),由ABR产生,实际上是一条到达A5R的主机路白Type-4LSA的格式与Type3L5A是一型的在Type-4LSA中,“链路状态ID"字段的值是ASBR的Router-ID而且“网络掩码”字段的值为全0,另外,"度量值”字段写的是该ABR目己到达ASBR的Cost值。一和3类LSA比较相似,只不过通告的不是目标网段,而是ASBR。
在这里插入图片描述

类型LS ID通告者传播范围携带的信息
Type - 1LSA:Router通告者ospf域内所有运行ospf的设备的RID单区域本地接口直连的拓扑信息
Type - 2LSA:NetworkDR的接口IPMA网路中的DR的RID单区域单个MA网络的拓扑信息的补充
Type - 3LSA:Sum-net路由网段ABR,在经由其他ABR转发时会修改为新的ABR单区域其他区域的路由信息
Type - 5LSA:External(ase)域外路由网段ASBRospf域内域外路由
Type - 4LSA: Sum-Asbr(summary)ASBR的RID和ASBR同区域的ABR,在经由其他ABR转发时修改为新的ABR除ASBR所在区域外的OSPF单区域ASBR的位置信息

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

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

相关文章

行星碰撞(力扣)栈 JAVA

给定一个整数数组 asteroids,表示在同一行的行星。 对于数组中的每一个元素,其绝对值表示行星的大小,正负表示行星的移动方向(正表示向右移动,负表示向左移动)。每一颗行星以相同的速度移动。 找出碰撞后剩…

Mysql的增删改查

一.增加数据(insert) insert into 表名(列名1,列名2,列名3,.....列名n)values(值,值,值,....值) insert into userinfo(id,name,age) values(&quo…

每日一题——除自身以外数组的乘积

除自身以外数组的乘积 题目链接 这一题乍一看好像十分简单,先用一趟循环遍历所有数据,得到数据所有元素的乘积,再用一趟循环将这个乘积除以每个元素,这样不就得到了除自身以外数组的乘积吗?我们先来看看代码&#xff…

janus-Gateway的服务端部署

janus-Gateway 需求是前后端的webRTC推拉流,但是后端用的是c,于是使用了这个库做视频流的推送和拉取,记录踩坑过程。 如果你也需要自己部署janus的服务端并在前端拉流测试,希望对你有所帮助。 由于janus的服务器搭建需要linux环境…

Python——Windows下载ffmpeg

目录 前言 一、下载 (3种下载方式) 1、第一种下载方式——我上传的文件 2、第二种下载方式——GitHub下载 3、第三种下载方式——官网下载 二、解压 三、配置环境变量 四、验证是否安装成功 五、其他 关于ffmpeg其他安装教程 ffmpeg的延迟问题 …

重生之再学mysql-数据库三范式

数据库三范式 介绍第一范式:确保每列都是不可拆分的第二范式:在第一范式的基础上,确保非主键列完全依赖于主键,而不是依赖于主键的一部分第三范式:第二范式的基础上,确保非主键列不存在传递依赖 介绍 什么…

“可以黑掉整个宇宙”的Metasploit Framework

0x01、 简述 Metasploit Framework(MSF)是一款开源安全漏洞检测工具,他带有数千个已知的软件漏洞,目前人在持续更新。Metasploit可以用来信息收集、漏洞探测、漏洞利用等渗透测试的全流程,被安全社区冠以“可以黑掉整个宇宙”之名。在普通的…

Nginx最佳实践优化(动静分离、资源压缩、负载均衡、黑白名单等等)

一、前言 Nginx是目前负载均衡技术中的主流方案,几乎绝大部分项目都会使用它,Nginx是一个轻量级的高性能HTTP反向代理服务器,同时它也是一个通用类型的代理服务器,支持绝大部分协议,如TCP、UDP、SMTP、HTTPS等。 二、…

4.3. 重载和重写的区别

重载就是同样的一个方法能够根据输入数据的不同,做出不同的处理 重写就是当子类继承自父类的相同方法,输入数据一样,但要做出有别于父类的响应时,你就要覆盖父类方法 重载: 发生在同一个类中(或者父类和子…

Python入门【函数用法和底层分析、函数简介 、函数的定义和调用、形参和实参、文档字符串(函数的注释) 、函数也是对象,内存底层分析】(十)

👏作者简介:大家好,我是爱敲代码的小王,CSDN博客博主,Python小白 📕系列专栏:python入门到实战、Python爬虫开发、Python办公自动化、Python数据分析、Python前后端开发 📧如果文章知识点有错误…

一文让你知道等保测评以及渗透测试的区别与联系

我国等保政策已经严格落地执行,不少企业准备办理过等保。但大家对于等保相关政策不是很了解,例如傻傻分不清楚等保测评和渗透测试,这里一文让你知道等保测评以及渗透测试的区别与联系,仅供参考哦! 等保测评以及渗透测试…

SpringBoot 项目使用 Redis 对用户 IP 进行接口限流

一、思路 使用接口限流的主要目的在于提高系统的稳定性,防止接口被恶意打击(短时间内大量请求)。 比如要求某接口在1分钟内请求次数不超过1000次,那么应该如何设计代码呢? 下面讲两种思路,如果想看代码可…

记一次Apache HTTP Client问题排查

现象 通过日志查看,存在两种异常情况。第一种:开始的时候HTTP请求会报超时异常。 762663363 [2023-07-21 06:04:25] [executor-64] ERROR - com.xxl.CucmTool - CucmTool|sendRisPortSoap error,url:https://xxxxxx/realtimeservice/services/RisPort o…

【NodeJs】如何将Markdown文件生成HTML文件在线浏览

经常用的编辑器是Markdown,有自带预览排版效果功能的,预览的是HTML网页,如果想要将它转换成HTML网页文件,要怎么做呢。 首先,借助Node的插件来做,在使用前,确保电脑已安装了NodeJS应用&#xf…

git本地库和远程库的相关操作命令

目录 一、分支概念&#xff1a; 二、 本地库分支管理&#xff1a; 1. 查看分支情况&#xff1a; 命令1&#xff1a;git branch 2. 新建分支 命令1&#xff1a; git branch <分支名> 命令2&#xff1a; git branch <新建分支名> <源分支名> 命令3&…

【温故而知新】【中间件】Redis为什么这么快?

时间&#xff1a;2023年07月27日 作者&#xff1a;小蒋聊技术 邮箱&#xff1a;wei_wei10163.com 微信&#xff1a;wei_wei10 【温故而知新】【中间件】Redis为什么这么快&#xff1f;_小蒋聊技术_免费在线阅读收听下载 - 喜马拉雅欢迎收听小蒋聊技术的类最新章节声音“【温…

【渗透测试】PNG图片隐藏部分恢复

1、图片原尺寸还原方法一 缺点就是有点慢&#xff0c;毕竟遍历的次数比较多 import binascii import struct import sysfilename sys.argv[1] crcbp open(filename, "rb").read() # 打开图片 crc32frombp int(crcbp[29:33].hex(), 16) # 读取图片中的CRC校验值 …

【密码学】三、AES

AES 1、AES产生2、数学基础2.1有限域GF(2^8^)2.1.1加法运算2.1.2乘法运算2.1.3x乘运算2.1.4系数在GF(2^8^)上的多项式 3、AES算法描述3.1字节代换3.2行移位3.3列混合3.4轮密钥加3.5密钥扩展 1、AES产生 征集AES算法的活动&#xff0c;目的是确定一个非保密的、公开的、全球免费…

Cesium态势标绘专题-直角箭头(标绘+编辑)

标绘专题介绍:态势标绘专题介绍_总要学点什么的博客-CSDN博客 入口文件:Cesium态势标绘专题-入口_总要学点什么的博客-CSDN博客 辅助文件:Cesium态势标绘专题-辅助文件_总要学点什么的博客-CSDN博客 本专题没有废话,只有代码,代码中涉及到的引入文件方法,从上面三个链…

国产化 | 记一次基于达梦创建数据库模式思考过程

开篇 首先&#xff0c;我们先来了解一下达梦数据库中用户与模式的概念&#xff0c;以及用户与模式之间的关系。 用户&#xff1a;主要是用来登录连接数据库&#xff0c;以及操作数据库对象等等。 模式&#xff1a;数据库中相关对象的集合。 关系&#xff1a;用户&#xff0…