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

【隧道篇 / WAN优化】(7.4) ❀ 03. WAN优化的原理 ❀ FortiGate 防火墙

  【简介】相信对WAN优化感兴趣的人都会有疑问,WAN优化真的有作用吗?如果真的有作用,那是根据什么原理呢?让我们来更深入的了解一下。


 客户端和服务器端

  其实很多人在一开始看到WAN优化这个词,就自然的以为上网速度太慢,WAN优化的作用是加快上网速度。直到看到上一篇文章,才知道FortiGate防火墙的WAN优化功能,是加快两台防火墙之间的访问速度。

  和集中应用程序的使用方法一样,互联网两端的FortiGate防火墙也分为客户端和服务器端。客户端和服务器角色与会话的启动方式有关。任何为WAN优化配置的FortiGate设备都可以同时是客户端和服务器端,具体取决于流量的方向。

   不管当前FortiGate防火墙是作为服务器还是客户端,首先都必须有一个主机ID,主机ID可以更改。

  要和对端连接,需要新建WAN加速对,输入对方主机ID以及对方WAN口的公网IP。因此我们可以看到,要想成功的使用WAN优化功能,除了两边防火墙都自带硬盘之外,还必须有可以远程的公网IP。

  WAN优化要求每个对等体进行以下配置:

  ● 对等体必须具有唯一的主机ID。

  ● 除非使用身份验证组,否则对等体使用主机ID值相互身份验证。

  ● 不要将本地主机ID保留在默认值。

  ● 对等体必须知道它可以启动WAN优化隧道的所有其他对等体的主机ID和IP地址。如果你使用接受所有对等体的身份验证组,则不适用。

  身份验证

  熟悉IPsec VPN配置的就知道,两边防火墙配置时除了输入对方的公网IP,还需要选择验证方式,通常是选择预共享密钥

  客户端FortiGate防火墙启动WAN优化会话,服务器端FortiGate防火墙响应会话请求。在此过程中,WAN优化对等体相互识别并选择进行身份验证。除非隧道是安全隧道,否则身份验证组是可选的。你需要添加身份验证组,以支持WAN优化对等体之间的安全隧道。

  当客户端FortiGate防火墙试图与服务器FortiGate防火墙启动WAN优化隧道时,隧道请求包括以下信息:

  ● 客户端主机ID。

  ● 身份验证组的名称,如果包含在启动隧道的规则中。

  ● 如果使用身份验证组,它指定的身份验证方法(预共享密钥或证书)。

  ● 隧道的类型(安全与否)。

  如果隧道请求不包括身份验证组,则身份验证将基于隧道请求中的客户端主机ID。如果隧道请求包含身份验证组,则身份验证将基于该组的设置。

  隧道

  所有优化流量通过WAN优化隧道在FortiGate防火墙之间通过。隧道中的流量可以纯文本发送或加密发送。纯文本和加密隧道都使用TCP目标端口7810。

  你可以将WAN优化配置文件配置为使用SSL安全隧道,使用AES-128bit-CBC SSL加密WAN优化隧道中的流量。WAN优化使用FortiASIC加速来加速安全隧道的SSL解密和加密。

  要使用安全隧道,你必须添加身份验证组,并在WAN优化配置文件中启用SSL安全隧道。身份验证组的接受对等体设置不会影响安全隧道。

  协议优化

  协议优化技术优化了整个WAN的带宽使用。这些技术可以通过减少通信协议所需的流量来提高跨WAN优化隧道的通信效率。你可以将协议优化应用于CIFS、FTP、HTTP、MAPI和一般TCP会话。你可以将通用TCP优化应用于MAPI会话。

  例如,CIFS提供文件访问、记录锁定、读/写权限、更改通知、服务器名称解析、请求批处理和服务器身份验证。CIFS需要许多后台事务才能成功传输单个文件。这通常在局域网中不是问题。然而,在整个广域网中,延迟和带宽的减少可能会降低CIFS的性能。

  当你在WAN优化配置文件中选择CIFS协议时,WAN优化隧道两端的FortiGate防火墙使用多种技术来减少CIFS流量在广域网上发生的后台事务数量。

  如果策略接受一系列不同类型的流量,你可以将协议设置为TCP,以将一般优化技术应用于TCP流量。然而,应用这种TCP优化并不像对特定类型的流量应用更多特定于协议的优化那样有效。TCP协议优化使用TCP SACK支持、TCP窗口缩放和窗口大小调整以及TCP连接池等技术来消除TCP瓶颈。

  缓存

  字节缓存将大单位的应用程序数据(例如,从网页下载的文件)分解为小数据块,用该块的散列标记每个数据块,并将这些块及其散列存储在数据库中。数据库存储在WAN优化存储设备上。然后,FortiGate防火墙不是通过WAN隧道发送实际数据,而是发送散列。隧道另一端的FortiGate防火墙接收散列,并将其与其本地字节缓存数据库中的散列进行比较。如果任何散列匹配,则该数据不必通过WAN优化隧道传输。任何不匹配的散列的数据都会通过隧道传输,并添加到该字节缓存数据库中。然后,应用程序数据单元(正在下载的文件)被重新组装并发送到其目的地。

  存储的字节缓存不是特定于应用程序的。电子邮件中文件的字节缓存可用于优化从网页下载相同文件或类似文件。

  结果是通过WAN传输的数据较少。最初,在建立足够大的字节缓存数据库之前,字节缓存可能会降低性能。

  要启用字节缓存,请在WAN优化配置文件中选择字节缓存。


相关文章:

【隧道篇 / WAN优化】(7.4) ❀ 03. WAN优化的原理 ❀ FortiGate 防火墙

【简介】相信对WAN优化感兴趣的人都会有疑问,WAN优化真的有作用吗?如果真的有作用,那是根据什么原理呢?让我们来更深入的了解一下。 客户端和服务器端 其实很多人在一开始看到WAN优化这个词,就自然的以为上网速度太慢&…...

网络爬虫概述与原理

网络爬虫概述与原理 网络爬虫简介狭义上理解功能上理解常见用途总结 网络爬虫分类通用网络爬虫聚焦网络爬虫增量网络爬虫深度网络爬虫 网络爬虫流程网络爬虫采集策略深度有限搜索策略广度优先搜索策略 网络爬虫简介 通过有效地获取网络资源的方式,便是网络爬虫。网…...

可视化实验三 Matplotlib库绘图及时变数据可视化

1.1 任务一 1.1.1 恢复默认配置 #绘图风格,恢复默认配置 plt.rcParams.update(plt.rcParamsDefault)#恢复默认配置 或者 plt.rcdefaults() 1.1.2 汉字和负号的设置 import matplotlib.pyplot as plt plt.rcParams["font.sans-serif"]"SimH…...

开启多线程下变量共享与私有问题

开启多线程下变量共享与私有问题 🌵ThreadLocal和Atomic是Java中用于多线程编程的两个重要工具。 ThreadLocal是一个线程局部变量,它为每个线程提供了独立的变量副本,确保每个线程都可以访问自己的变量副本而不会影响其他线程的变量。在多线…...

Qt模型视图代理之QTableView应用的简单介绍

往期回顾 Qt绘图与图形视图之绘制带三角形箭头的窗口的简单介绍-CSDN博客 Qt绘图与图形视图之Graphics View坐标系的简单介绍-CSDN博客 Qt模型视图代理之MVD(模型-视图-代理)概念的简单介绍-CSDN博客 Qt模型视图代理之QTableView应用的简单介绍 一、最终效果 二、设计思路 这里…...

第七届精武杯部分wp

第一部分:计算机和手机取证 1.请综合分析计算机和手机检材,计算机最近一次登录的账户名是 答案:admin 创建虚拟机时直接给出了用户名 2. 请综合分析计算机和手机检材,计算机最近一次插入的USB存储设备串号是 答案&#xff1a…...

3.2Java全栈开发前端+后端(全栈工程师进阶之路)-前端框架VUE3框架-企业级应用- Vuex

Vuex简介 Vuex概述 Vuex是一个专门为Vue.js应用程序开发的状态管理模式, 它采用集中式存储管理所有组件的公共状态, 并以相应的规 则保证状态以一种可预测的方式发生变化. 试想这样的场景, 比如一个Vue的根实例下面有一个根组件名为App.vue, 它下面有两个子组件A.vue和B.vu…...

整合 Java, Python 和 Scrapy 爬虫以传递和使用参数

这篇博客将详细说明如何从 Java 应用程序调用一个 Python 脚本,并在此过程中传递参数给一个 Scrapy 爬虫。最终目标是让 Java 控制爬虫的行为,如爬取数量和特定的运行参数。 一、Scrapy 爬虫的修改 首先,我们需要确保 Scrapy 爬虫能接收从命…...

Android 蓝牙实战——蓝牙音乐播放进度(二十)

对于蓝牙音乐的开发来说,播放进度是一个比较重要的数据参数,这里我们就来分析一下蓝牙音乐播放进度的相关回调。 一、回调流程 1、AvrcpControllerService 源码位置:/packages/apps/Bluetooth/src/com/android/bluetooth/avrcpcontroller/AvrcpControllerService.java /…...

SQL注入实例(sqli-labs/less-1)

初始网页 从网页可知传递的参数名为 id,并且为数字类型 1、得知数据表有多少列 1.1 使用联合查询查找列数(效率低) http://localhost/sqli-labs-master/Less-1/?id1 union select 1,2 -- 1.2 使用order by查找列数(效率高&…...

Python中tkinter编程入门3

在使用tkinter创建了窗口之后,可以将一些控件“放置”到窗口中。这些控件包括标签、按键以及输入框等。 1 在窗口中“放置”标签 在窗口中“放置”标签主要有两个步骤,一是创建标签控件,二是将创建好的标签“放置”到窗口上。 1.1 创建标签…...

XMind 2023 v23.05.2660软件安装教程(附软件下载地址)

软件简介: 软件【下载地址】获取方式见文末。注:推荐使用,更贴合此安装方法! XMind 2023 v23.05.2660被视为顶尖思维导图软件,其界面简洁清爽,功能布局直观简单,摒弃繁复不实。尽管体积小巧&a…...

docker compose kafka集群部署

kafka集群部署 目录 部署zookeeper准备工作2、部署kafka准备工作3、编辑docker-compose.yml文件4、启动服务5、测试kafka6、web监控管理 部署zookeeper准备工作 mkdir data/zookeeper-{1,2,3}/{data,datalog,logs,conf} -p cat >data/zookeeper-1/conf/zoo.cfg<<EOF…...

最新版在线客服系统源码

源码介绍 首发最新在线客服系统源码&#xff0c;优化更好并且重构源码布局UI 性能不吃cpu并发快,普通1H2G都能带动最新版只要是服务器都能带动 搭建即可使用,操作简单,易懂 修复了老版本bug 内附有搭建教程 gofly.v1kf.com 运行环境 Nginx 1.20 MySQL 5.7 演示截图...

【比邻智选】MR880A模组

&#x1f680;高性价比&#xff0c;5G/4G双模&#xff0c;稳定可靠 &#x1f310;功能丰富&#xff0c;5G特性一应俱全 &#x1f9e9;多封装兼容&#xff0c;适配性强&#xff0c;灵活升级智能设备...

超大文件去除重复数据

背景 一个超大200万行文件 第一列是文件名 第二列是文本 第一列有重复的文件名 如何删除重复的文件名和对应的文本 awk ‘!seen[$1]’ 使用一些命令行工具来处理大文件&#xff0c;如awk、sed、grep等。 使用awk命令来去除重复行&#xff1a; bash awk !seen[$1] your_file.…...

ICode国际青少年编程竞赛- Python-4级训练场-列表综合练习

ICode国际青少年编程竞赛- Python-4级训练场-列表综合练习 1、 Flyer[3].step(1) Flyer[7].step(2) Flyer[11].step(1) for i in range(4):Flyer[i * 2].step(1) Flyer[8].step(3)for i in range(3):Dev.turnRight()Dev.step(-5)2、 for i in range(5):Flyer[i5].step(Flyer[…...

苹果电脑怎么安装crossover 如何在Mac系统中安装CrossOver CrossOver Mac软件安装说明

很多Mac的新用户在使用电脑的过程中&#xff0c;常常会遇到很多应用软件不兼容的情况。加上自己以前一直都是用Windows系统&#xff0c;总觉得Mac系统用得很难上手。 其实&#xff0c;用户可以在Mac上安装CrossOver&#xff0c;它支持用户在Mac上运行Windows软件&#xff0c;例…...

C++学习————第十天(string的基本使用)

1、string 对象类的常见构造 (constructor)函数名称 功能说明&#xff1a; string() &#xff08;重点&#xff09; 构造空的string类对象&#xff0c;即空字符串 string(const char* s) &#xff08;重点&#xff09;…...

华为OD介绍

概念 华为OD是华为提出的一种新的用工方式&#xff0c;其全称是Outsourcing Dispacth&#xff0c;也可以简写为ODP&#xff0c;是华为和北京外企德科人力资源服务上海有限公司联合招聘的简称。华为OD岗位属于华为外包员工的一种&#xff0c;仅限于软件研发类岗位&#xff0c;类…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析

今天聊的内容&#xff0c;我认为是AI开发里面非常重要的内容。它在AI开发里无处不在&#xff0c;当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗"&#xff0c;或者让翻译模型 "将这段合同翻译成商务日语" 时&#xff0c;输入的这句话就是 Prompt。…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题&#xff1a;map 的 key 可以是什么类型&#xff1f;哪些不可以&#xff1f; 在 Golang 的面试中&#xff0c;map 类型的使用是一个常见的考点&#xff0c;其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

基于Flask实现的医疗保险欺诈识别监测模型

基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施&#xff0c;由雇主和个人按一定比例缴纳保险费&#xff0c;建立社会医疗保险基金&#xff0c;支付雇员医疗费用的一种医疗保险制度&#xff0c; 它是促进社会文明和进步的…...

Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!

一、引言 在数据驱动的背景下&#xff0c;知识图谱凭借其高效的信息组织能力&#xff0c;正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合&#xff0c;探讨知识图谱开发的实现细节&#xff0c;帮助读者掌握该技术栈在实际项目中的落地方法。 …...

【HTTP三个基础问题】

面试官您好&#xff01;HTTP是超文本传输协议&#xff0c;是互联网上客户端和服务器之间传输超文本数据&#xff08;比如文字、图片、音频、视频等&#xff09;的核心协议&#xff0c;当前互联网应用最广泛的版本是HTTP1.1&#xff0c;它基于经典的C/S模型&#xff0c;也就是客…...

Rapidio门铃消息FIFO溢出机制

关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系&#xff0c;以下是深入解析&#xff1a; 门铃FIFO溢出的本质 在RapidIO系统中&#xff0c;门铃消息FIFO是硬件控制器内部的缓冲区&#xff0c;用于临时存储接收到的门铃消息&#xff08;Doorbell Message&#xff09;。…...