网络基础知识--4

什么是PBR?

1.定义

PBR(Policy - Based Routing)即策略路由。它是一种网络技术,允许网络管理员根据自己定义的策略来转发数据包,而不是仅仅依赖于传统的基于目的地址的路由方式。通过 PBR,网络管理员可以灵活地控制网络流量的流向,以满足特定的网络需求,如 QoS(服务质量)优化、流量工程和网络安全等。

2.工作原理

2.1策略定义:

首先,网络管理员需要定义策略规则。这些规则通常基于多种因素,如源 IP 地址、目的 IP 地址、协议类型、端口号等。例如,可以定义一个策略规则,使得来自特定子网(如 192.168.1.0/24)的 HTTP 流量(协议类型为 TCP,端口号为 80)被转发到特定的下一跳路由器或接口。

2.2数据包匹配与转发:

当数据包进入网络设备(如路由器)时,设备会根据预先定义的策略规则来检查数据包。从第一个规则开始,依次与数据包的各种属性进行匹配。如果数据包匹配某个规则,就会按照该规则指定的转发路径进行转发。例如,如果一个数据包的源 IP 地址属于 192.168.1.0/24,协议为 TCP 且目的端口为 80,那么它就会被按照之前定义的策略转发到指定的下一跳。

若数据包不匹配任何已定义的策略规则,通常会按照传统的基于目的地址的路由表进行转发。不过,有些网络设备也可以配置为在这种情况下丢弃数据包或采取其他默认操作。

3.应用场景

3.1服务质量(QoS)优化:

在网络中,不同类型的流量对带宽、延迟、抖动等有不同的要求。通过 PBR,可以将语音或视频等对实时性要求较高的流量优先转发到带宽充足、延迟较低的链路。例如,在企业网络中,将视频会议流量(基于协议和端口识别)通过高速光纤链路转发,而将普通文件下载流量通过普通以太网链路转发,从而提高视频会议的质量。

3.2流量工程:

用于优化网络流量的分布。在复杂的网络拓扑中,如数据中心网络或广域网,PBR 可以引导流量绕过拥塞的链路或节点。例如,当某条链路的负载过高时,通过 PBR 将部分流量引导到其他负载较轻的链路,以平衡网络的整体负载,提高网络的性能和可靠性。

3.3网络安全:

可以作为一种安全机制,将来自某些可疑或未经授权的源网络的流量转发到安全检测设备(如入侵检测系统或防火墙)进行检查。例如,将来自外部网络且目的为内部敏感服务器的流量先转发到防火墙进行深度检测,确保只有合法的流量才能访问内部服务器。

什么是DNS?

1.定义

DNS(Domain Name System)即域名系统。它是互联网的一项核心服务,主要作用是将人们便于记忆的域名(如www.example.com)转换为计算机能够理解的 IP 地址(如 192.168.1.1)。可以把 DNS 看作是互联网的 “电话号码簿”,域名就是 “姓名”,IP 地址就是 “电话号码”,通过 DNS 能够快速准确地查找域名对应的 IP 地址,使得用户能够方便地访问各种网站和网络服务。

2.工作原理

2.1层次结构:

DNS 是一个分布式的层次数据库系统。它的结构类似一棵树,最顶层是根域名服务器(如 “.”),其下是顶级域名服务器(如.com、.org、.net 等),再下面是二级域名服务器、三级域名服务器等。例如,对于域名www.example.com,首先会查询根域名服务器找到.com 顶级域名服务器,再从.com 顶级域名服务器找到example.com的二级域名服务器,最后找到与 www 相关的服务器 IP 地址。

2.2查询过程:

当用户在浏览器中输入一个域名时,本地计算机首先会检查自己的 DNS 缓存。如果缓存中有该域名对应的 IP 地址,就直接使用这个 IP 地址进行访问。如果缓存中没有,就会向本地 DNS 服务器(通常由互联网服务提供商提供)发送 DNS 查询请求。

本地 DNS 服务器会按照上述层次结构进行查询。如果本地 DNS 服务器也没有所需的 IP 地址,它会向上一级域名服务器查询,直到找到目标 IP 地址或者查询失败。找到 IP 地址后,本地 DNS 服务器会将结果返回给本地计算机,并将这个 IP 地址存储在缓存中,以备后续相同域名的查询使用。

3.记录类型

3.1 A 记录(Address Record):

A 记录是最常见的 DNS 记录类型,用于将域名直接映射到一个 IPv4 地址。例如,域名 “www.example.com” 对应的 A 记录可能是 “192.168.1.1”,这就表示访问www.example.com时,计算机应该使用 IP 地址 192.168.1.1 进行访问。

3.2 AAAA 记录(IPv6 Address Record):

随着 IPv6 的发展,AAAA 记录用于将域名映射到一个 IPv6 地址。例如,一个域名的 AAAA 记录可能是 “2001:0db8:85a3:0000:0000:8a2e:0370:7334”,用于支持 IPv6 网络环境下的访问。

3.3 CNAME 记录(Canonical Name Record):

CNAME 记录是别名记录,它将一个域名别名指向另一个主域名。比如,“ftp.example.com” 可以通过 CNAME 记录指向 “www.example.com”,这样当用户访问ftp.example.com时,实际上是访问www.example.com对应的服务器。

3.4 MX 记录(Mail Exchanger Record):

MX 记录用于指定处理电子邮件的邮件服务器。当发送邮件到某个域名时,DNS 系统会根据该域名的 MX 记录找到对应的邮件服务器进行邮件的投递。例如,域名 “example.com” 的 MX 记录可能指向 “mail.example.com”,表示发往example.com域名下的邮件应该发送到mail.example.com这个邮件服务器。

4.作用

4.1便于记忆和使用:

对于用户来说,记忆和输入域名远比记忆 IP 地址方便得多。例如,人们很容易记住 “google.com”,但很难记住谷歌服务器的一系列 IP 地址。DNS 使得用户可以通过简单的域名访问网站,大大提高了互联网的易用性。

4.2负载均衡和冗余备份:

一些大型网站可以通过 DNS 来实现服务器的负载均衡和冗余备份。例如,一个网站可以在 DNS 中配置多个 A 记录,分别指向不同的服务器 IP 地址。当用户访问该网站时,DNS 可以按照一定的策略(如轮询、根据服务器负载等)将用户引导到不同的服务器,从而平衡服务器的负载。同时,如果其中一台服务器出现故障,DNS 可以将用户引导到其他正常的服务器,实现冗余备份,保证网站的正常访问。

什么是NFPP?

在 Ruijie 中,NFPP 即网络基础保护策略(Network Foundation Protection Policy),是一种综合的网络安全防护技术,主要用于保护交换机自身 CPU 不受攻击,保障网络的稳定运行,具有以下特点和功能:

1.应用场景

网络环境中存在各种恶意攻击,这些攻击会给交换机带来过重负担,导致交换机 CPU 利用率过高,进而影响交换机正常运行,如拒绝服务攻击会大量消耗交换机内存、表项或其他资源,使系统无法继续服务;大量报文流涌向 CPU,会占用送往 CPU 的报文带宽,导致正常的协议流和管理流无法被 CPU 处理,引起协议震荡或无法管理,最终影响数据面的转发以及整个网络的正常运行。

2.重点子功能

ARP-Guard:汇聚交换机作为网关需要处理用户端的 ARP 报文,ARP-Guard 功能可保护设备 CPU,防止大量攻击 ARP 报文送往 CPU 导致其利用率升高 。它实现了对送往 CPU 的 ARP 报文的限速和攻击检测,ARP 攻击识别分为基于主机和基于物理端口两个类别,基于主机又细分为基于源 IP 地址 / VLAN ID / 物理端口和基于链路层源 MAC 地址 / VLAN ID / 物理端口,每种攻击识别都有限速水线和攻击告警水线。当 ARP 报文速率超过限速水线时,超限报文将被丢弃;当 ARP 报文速率超过告警水线时,将打印警告信息,发送 TRAP,基于主机的攻击识别还可以对攻击源头采取硬件隔离措施。此外,ARP 抗攻击还能检测出 ARP 扫描,对检测出有 ARP 扫描嫌疑的主机不进行隔离,仅提供给管理员参考1.

IP-Guard:当主机发出的报文目的地址为交换机直连网段不存在或未上线用户的 IP 地址时,交换机会发出 ARP 进行请求,若存在连续不断的此类攻击,会导致设备 CPU 负载过高。IP-Guard 能够识别此类攻击并进行限速,攻击识别分为基于主机和基于物理端口两个类别,基于主机是采用源 IP 地址 / VLAN ID / 物理端口三者结合识别的,每种攻击识别同样有限速水线和告警水线。当 IP 报文速率超过限速水线时,超限报文将被丢弃;当 IP 报文速率超过告警水线时,将打印警告信息,发送 TRAP,基于主机的攻击识别还会对攻击源头采取隔离措施。

3.配置调整原则

接入设备:通常无需调整,因为非网关设备未配置网关 IP 地址,不会运行复杂路由、管理协议等,无需额外消耗 CPU,所以很少遭受攻击。

汇聚设备:默认的基于端口的限速 100PPS / 攻击 200PPS 阈值偏小,当端口下用户较多、ARP 攻击较多时,可能导致用户正常的 ARP 报文丢弃,造成用户端丢包,可调整为每端口限速 500PPS / 攻击 800PPS 较为合理,其他基于 IP/MAC 的限速攻击检测一般无需调整。隔离功能通常不建议开启,若用户攻击非常频繁,导致设备 CPU80%-90% 以上,可考虑进行硬件隔离,并放大当前攻击的检测阈值,防止误判。

什么是RLDP?

1.定义

在 Ruijie 设备中,RLDP(Remote Loop - Detection Protocol)即远程环路检测协议。它是一种用于检测网络环路的协议。网络环路是指网络中存在的一种拓扑结构,在这种结构下,数据包会在网络中不断循环转发,这可能会导致网络性能下降、带宽占用过高,甚至会使整个网络瘫痪。RLDP 通过发送和接收特定的检测报文来发现网络中的环路。

2.工作原理

2.1检测报文发送:

RLDP 会从设备的端口周期性地发送检测报文。这些检测报文包含了一些特殊的标识信息,如端口 ID、设备 ID 等。例如,在一个以太网交换机中,RLDP 会从每个接入端口发送这些带有设备自身标识和端口标识的检测报文,就像在数据包上贴上了自己的 “身份标签”。

2.2环路检测:

当其他设备接收到这个检测报文后,如果发现自己又从另一个端口将这个报文转发回了发送该报文的设备,就判定出现了环路。这是因为正常情况下,检测报文不应该沿着原来的路径返回。例如,如果检测报文从交换机的端口 1 发送出去,经过一系列链路后又从端口 2 回到了同一台交换机,这就说明网络中存在环路。

2.3处理机制:

一旦检测到环路,RLDP 可以采取多种处理措施。它可以自动关闭产生环路的端口,以防止环路继续影响网络。或者它可以向网络管理系统发送告警信息,通知管理员网络中出现了环路,让管理员来决定如何处理。例如,在一个企业网络中,当 RLDP 检测到环路后,它可以立即关闭相关端口,并同时向网络管理控制台发送一个包含环路位置(如涉及的端口和设备)的告警消息。

3.应用场景

3.1以太网交换网络:

在企业园区网络、数据中心网络等基于以太网交换机的网络环境中,RLDP 被广泛应用。由于网络拓扑结构可能比较复杂,在网络设备连接过程中很容易因为误配置(如网线的错误连接)或者设备故障而产生环路。RLDP 可以及时发现这些环路,保护网络的正常运行。例如,在一个学校的校园网络中,教学楼内的多个交换机之间通过网线连接,如果网线被误插拔导致环路,RLDP 就能快速检测并处理。

3.1链路冗余备份场景:

当网络中采用链路冗余技术(如生成树协议)时,有时候可能会因为配置错误或者协议故障而出现环路。RLDP 可以作为一种补充的检测手段,在冗余链路出现问题导致环路时发挥作用。例如,在一个双链路冗余的网络连接中,主链路故障后,备份链路切换过程中如果出现配置错误形成环路,RLDP 可以检测到并避免网络故障的扩大。

什么是rstp?

1.定义

在 Ruijie 设备中,RSTP(Rapid Spanning Tree Protocol)即快速生成树协议。它是一种用于在以太网网络中防止网络环路,并提供链路冗余备份的网络协议。在网络拓扑结构可能形成环路的情况下(如存在多条连接路径的交换网络),RSTP 通过自动协商,阻塞某些端口,从而构建一个无环路的逻辑拓扑结构。

2.工作原理

2.1端口角色与状态

RSTP 定义了多种端口角色,包括根端口(Root Port)、指定端口(Designated Port)和备份端口(Backup Port)等。根端口是连接到根桥(网络中作为生成树树根的交换机)的最佳路径的端口;指定端口是在每个网段上转发数据的端口;备份端口是为了备份指定端口而存在的端口。端口状态有丢弃(Discarding)、学习(Learning)和转发(Forwarding)。例如,在初始状态下,端口通常处于丢弃状态,以防止形成环路。

2.2BPDU(Bridge Protocol Data Unit)交换

交换机之间通过交换 BPDU 来进行信息沟通和协商。BPDU 包含了交换机的优先级、MAC 地址、端口优先级等信息。交换机根据这些信息来选举根桥,确定端口角色。例如,具有最低优先级和 MAC 地址的交换机通常会被选举为根桥。所有非根桥交换机都会根据收到的 BPDU 来调整自己的端口角色和状态。

当网络拓扑发生变化时(如链路故障、新设备接入等),交换机会更快地更新 BPDU 信息,相比传统的生成树协议(STP),RSTP 能够更快地响应拓扑变化。例如,在链路故障时,RSTP 可以在几秒钟内重新计算生成树拓扑,而传统 STP 可能需要几十秒。

2.3收敛过程

在收敛过程中,RSTP 会根据端口角色和状态来决定是否转发数据。指定端口和根端口会逐渐从丢弃状态转换到学习状态,在学习状态下,交换机会学习 MAC 地址信息,这个过程可以帮助交换机建立准确的 MAC 地址表。之后,端口会转换到转发状态,开始正常的数据转发。例如,当一个新的交换机接入网络后,周围的交换机通过交换 BPDU 来确定新交换机端口的角色,经过短暂的收敛过程后,新交换机的指定端口进入转发状态,实现与网络的正常通信。

3.应用场景

3.1企业园区网络

在企业的园区网络中,通常有多个建筑物,每个建筑物内有多个交换机相互连接,并且连接到园区的核心交换机。RSTP 可以防止在这些复杂的连接中形成网络环路。例如,在办公区域的楼层交换机与核心交换机之间可能存在多条连接路径,RSTP 通过阻塞某些路径来确保网络无环路,同时当某条活动路径出现故障时,能够快速切换到备份路径,保证网络的连续性。

3.2数据中心网络

数据中心内有大量的服务器和交换机,网络拓扑结构复杂且对可靠性要求极高。RSTP 可以用于服务器接入交换机与汇聚交换机、汇聚交换机与核心交换机之间的连接。例如,在服务器集群的网络连接中,通过 RSTP 保证网络无环路,并且在链路故障时能够快速恢复服务器之间的通信,提高数据中心网络的可用性。

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

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

相关文章

低代码开源项目Joget的研究——基本概念和应用

大纲 1. 基本概念1.1 Form1.1.1 Form1.1.1.1 概述1.1.1.2 主要特点和用途1.1.1.3 创建和使用 Form1.1.1.4 示例 1.1.2 Section1.1.2.1 概述1.1.2.2 主要特点和用途1.1.2.3 示例 1.1.3 Column1.1.4 Field1.1.5 示例 1.2 Datalist1.2.1 Datalist1.2.1.1 主要特点和用途1.2.1.2 创…

单机游戏《野狗子》游戏运行时提示dbghelp.dll缺失是什么原因?dbghelp.dll缺失要怎么解决?

《野狗子》游戏运行时提示dbghelp.dll缺失:原因与解决方案 在畅游《野狗子》这款引人入胜的游戏世界时,突然遭遇“dbghelp.dll缺失”的错误提示,无疑会给玩家的探险之旅蒙上一层阴影。作为一名深耕软件开发领域的从业者,我深知此…

Marscode AI辅助编程

直接使用Marscode的云服务来开发,也是很方便的,不用担心配置环境的问题,很适合初步学习,在任何设备都能开发。 番茄钟 请你基于html、tailwind css和javascript,帮我设计一个“番茄时钟”。要求UI简洁美观大方&#x…

使用Vue的props进行组件传递校验时出现 Extraneous non-props attributes的解决方案

作者:CSDN-PleaSure乐事 欢迎大家阅读我的博客 希望大家喜欢 使用环境:WebStorm 目录 出现错误的情况 报错: 代码: 报错截图 原因分析 解决方案 方法一 方法二 出现错误的情况 以下是我遇到该错误时遇到的报错和代码&…

ffmpeg之显示一个yuv照片

显示YUV图片的步骤 1.初始化SDL库 目的:确保SDL库正确初始化,以便可以使用其窗口、渲染和事件处理功能。操作:调用 SDL_Init(SDL_INIT_VIDEO) 来初始化SDL的视频子系统。 2.创建窗口用于显示YUV图像: 目的:创建一个…

iDP3复现代码模型训练全流程(一)——train_policy.sh

iDP3 核心脚本包括三个:deploy_policy.sh、vis_dataset.sh、train_policy.sh,分别代表了部署、预处理和训练,分别作为对应 py 脚本的参数设置前置环节 训练环节仅需运行指令: # 3d policy bash scripts/train_policy.sh idp3 gr1…

链原生 Web3 AI 网络 Chainbase 推出 AVS 主网, 拓展 EigenLayer AVS 应用场景

Chainbase AVS 主网的正式上线,正在将 Chainbase 不同的层进行深入的串联,为 Chainbase 数据网络带来了验证和处理方面的应用与拓展的能力,并成为数据体系全面启动的新契机。 在 12 月 4 日,链原生的 Web3 AI 数据网络 Chainbase …

Visual Studio 使用 GitHub Copilot 与 IntelliCode 辅助编码 【AI辅助开发系列】

🎀🎀🎀【AI辅助编程系列】🎀🎀🎀 Visual Studio 使用 GitHub Copilot 与 IntelliCode 辅助编码Visual Studio 安装和管理 GitHub CopilotVisual Studio 使用 GitHub Copilot 扩展Visual Studio 使用 GitHu…

Jenkins 任意文件读取(CVE-2024-23897)修复及复现

Jenkins任意文件读取漏洞CVE-2024-23897修复及复现 漏洞详情影响范围漏洞复现修复建议 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行…

智慧农业云平台与水肥一体化:道品科技引领农业现代化新潮流

在当今科技飞速发展的时代,农业也正经历着一场深刻的变革。智慧农业云平台和水肥一体化技术的出现,为农业生产带来了前所未有的机遇和挑战。 一、智慧农业云平台:农业生产的 “智慧大脑” 智慧农业云平台就像是农业生产的 “智慧大脑”&…

C++--------内存结构

C内存结构 程序内存分区: 栈区(Stack):由编译器自动分配和释放,用于存放函数的参数值、局部变量等。其操作方式类似于数据结构中的栈,先进后出。例如,在函数调用时,函数内部的局部变…

f(f(x))=x^2 -11x+36, 求f(6)的值,

偶然看到的一个题目,一时兴起,做了一下。题目如下 简单粗暴的思路是待定系数法,盲猜f(x)是个2次函数,令f(x)ax^2bxc ,带入原式,发现矛盾(计算略)就想放弃了。 忽然看到如果带入6 的话&#xf…

用Python PySide6 复刻了两软件UI 做下练习

图样 1 代码 1: # -*- coding: utf-8 -*-import sys from PySide6.QtCore import (QCoreApplication, QMetaObject, QRect, QDate) from PySide6.QtGui import QIcon, QPixmap, QColor from PySide6.QtWidgets import (QApplication, QDialog, QLineEdit, QPushBut…

活动图的理解和实践

在软件开发和系统设计中,理解系统的工作流程和并发行为是至关重要的。活动图作为一种重要的建模工具,为我们提供了一种直观且有效的方法来描述这些复杂的过程。本文将详细探讨活动图的理解与实践,包括其基本概念、用途、构建方法以及实际应用…

Redis缓存数据库

1、介绍 redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库 redis的官网:redis.io 注:域名后缀io属于国家域名,是british Indian Ocean territory,即英属印度洋领地 1、redis的特点: 1.丰富的数…

flink sink kafka

接上文:一文说清flink从编码到部署上线 之前写了kafka source,现在补充kafka sink。完善kafka相关操作。 环境说明:MySQL:5.7;flink:1.14.0;hadoop:3.0.0;操作系统&#…

WebRTC搭建与应用(五)-Coturn踩坑记

WebRTC搭建与应用(五)-Coturn踩坑记 近期由于项目需要在研究前端WebGL渲染转为云渲染,借此机会对WebRTC等有了初步了解,在此记录一下,以防遗忘。 第五章 WebRTC搭建与应用(五)-Coturn踩坑记 文章目录 WebRTC搭建与应用(五)-Coturn踩坑记前…

@vue/cli启动异常:ENOENT: no such file or directory, scandir

参考:https://blog.csdn.net/qq_44355188/article/details/122239566 首先异常报错是:ENOENT: no such file or directory, scandir ‘D:\Data\Project\VueProject\hello\node_modulesvue\cli-plugin-eslint\locales’;我的vue/cli版本是 4.5.15 重点是…

Git进阶:本地或远程仓库如何回滚到之前的某个commit

在Git的使用过程中,我们经常会遇到需要回滚到之前某个commit的情况。无论是为了修复错误、撤销更改,还是为了重新组织代码,回滚到特定commit都是一个非常有用的技能。本文将介绍几种常用的回滚方法,帮助读者更好地掌握Git版本控制…

【java设计模式】1 - 软件设计原则

1,软件设计原则 在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据6条原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本。 1.1 开闭原则 对扩展开…