当前位置: 首页 > 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;类…...

PHP和Node.js哪个更爽?

先说结论&#xff0c;rust完胜。 php&#xff1a;laravel&#xff0c;swoole&#xff0c;webman&#xff0c;最开始在苏宁的时候写了几年php&#xff0c;当时觉得php真的是世界上最好的语言&#xff0c;因为当初活在舒适圈里&#xff0c;不愿意跳出来&#xff0c;就好比当初活在…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架&#xff0c;相比 MapReduce 具有以下核心优势&#xff1a; 内存计算&#xff1a;数据可常驻内存&#xff0c;迭代计算性能提升 10-100 倍&#xff08;文档段落&#xff1a;3-79…...

基础测试工具使用经验

背景 vtune&#xff0c;perf, nsight system等基础测试工具&#xff0c;都是用过的&#xff0c;但是没有记录&#xff0c;都逐渐忘了。所以写这篇博客总结记录一下&#xff0c;只要以后发现新的用法&#xff0c;就记得来编辑补充一下 perf 比较基础的用法&#xff1a; 先改这…...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目&#xff0c;所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

tree 树组件大数据卡顿问题优化

问题背景 项目中有用到树组件用来做文件目录&#xff0c;但是由于这个树组件的节点越来越多&#xff0c;导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多&#xff0c;导致的浏览器卡顿&#xff0c;这里很明显就需要用到虚拟列表的技术&…...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机&#xff08;Finite Automaton, FA&#xff09;到正规文法&#xff08;Regular Grammar&#xff09;转换器&#xff0c;它配备了一个直观且完整的图形用户界面&#xff0c;使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配

目录 一、C 内存的基本概念​ 1.1 内存的物理与逻辑结构​ 1.2 C 程序的内存区域划分​ 二、栈内存分配​ 2.1 栈内存的特点​ 2.2 栈内存分配示例​ 三、堆内存分配​ 3.1 new和delete操作符​ 4.2 内存泄漏与悬空指针问题​ 4.3 new和delete的重载​ 四、智能指针…...

C#学习第29天:表达式树(Expression Trees)

目录 什么是表达式树&#xff1f; 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持&#xff1a; 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...