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

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中&#xff0c;我们可能会遇到一些流式数据处理的场景&#xff0c;比如接收来自上游接口的 Server-Sent Events&#xff08;SSE&#xff09; 或 流式 JSON 内容&#xff0c;并将其原样中转给前端页面或客户端。这种情况下&#xff0c;传统的 RestTemplate 缓存机制会…...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet&#xff0c;点击确认后如下提示 最终上报fail 解决方法 内核升级导致&#xff0c;需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候&#xff0c;写过一篇简单实现&#xff0c;后期随着对该模型的深入研究&#xff0c;本次记录涉及到prophet 的公式以及参数调优&#xff0c;从公式可以更直观…...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud&#xff0c;主要用于支持数据的抽取&#xff08;Extract&#xff09;、转换&#xff08;Transform&#xff09;和加载&#xff08;Load&#xff09;过程。提供了一个简洁直观的界面&#xff0c;以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器&#xff08;ADC&#xff09;&#xff0c;支持8kHz~96kHz采样率&#xff0c;集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器&#xff0c;适用于高保真音频采集场景。 2. 核心特性 高精度&#xff1a;24位分辨率&#xff0c…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分&#xff1a;体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分&#xff1a;体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...