[计算机网络] VPN技术
VPN技术
1. 概述
虚拟专用网络(VPN)技术利用互联网服务提供商(ISP)和网络服务提供商(NSP)的网络基础设备,在公用网络中建立专用的数据通信通道。VPN的主要优点包括节约成本和提供安全保障。
优点:
- VPN可以节约成本
- 为安全提供保障
2. VPN类型
VPN主要有三种应用方式:远程接入VPN、内联网VPN、外联网VPN。
-
远程接入VPN(Access VPN)
远程接入VPN允许移动用户在外部网络上访问内部网络。例如,一些学校和企业的门户平台只有在内网环境下才能访问,通过远程接入VPN,用户可以在任何地方安全地连接到这些内部资源。
-
内联网VPN
内联网VPN将两个内部网络通过公用网络连接起来,形成一个逻辑上的局域网。这种方式可以用于连接不同办公室、分支机构,使其共享内部资源,提升整体协作效率。
-
外联网VPN
外联网VPN使得不同的用户在逻辑上的局域网中不平等。通常用于合作伙伴或客户之间的安全通信,在保护公司内部资源的同时,提供必要的访问权限。
3. 使用的技术
3.1 隧道技术
隧道技术主要是利用隧道协议来传输另外一种协议。隧道由隧道开通器(TI)、有路由能力的公用网络和隧道终止器(TT)组成。隧道可以将数据流量强制传输到特定的目的地,隐藏私有的网络地址、在IP网络上传输非IP协议的数据包,简单的来说,隧道技术就像现实生活中的隧道,它可以从一地到一地,而它穿过的“大山”在这里就是外网。
3.1.1 实现方式
隧道的实现主要分为两个过程:封装、解封装。
- 封装:由隧道开通器(TI)完成,将数据包封装在隧道协议的外壳内。
- 解封装:由隧道终止器(TT)完成,将数据包从隧道协议的外壳中解封。
3.1.2 基本类型
隧道有两种基本类型:主动式隧道和被动式隧道
主动式隧道(Access VPN):
客户端主动与目标隧道服务器建立连接。这种方式,客户端需要安装所需要的隧道协议
被动式隧道(Intranet VPN、Extranet VPN):
被动式隧道主要用于两个内部网络之间的固定连接,所以需要先交给隧道服务器A,在接收到数据后,将其强制通过已建立的隧道传输到对端的隧道服务器。
4. VPN相关协议
在VPN技术中,隧道协议用于在公用网络上建立安全的通信通道。根据工作在OSI模型中的层次,可以将隧道协议分为第二层隧道协议和第三层隧道协议。
4.1 第二层隧道协议
第二层隧道协议工作在OSI模型的第二层,即数据链路层。常见的第二层隧道协议包括PPTP和L2TP。
4.1.1. PPTP(Point-to-Point Tunneling Protocol)
PPTP是由微软和其他厂商开发的早期VPN协议。它在PPP(Point-to-Point Protocol)基础上进行封装,通过互联网传输PPP帧。
特点:
- 简单易用:PPTP配置相对简单,广泛支持于Windows操作系统。
- 性能较好:由于其较轻的协议开销,PPTP具有良好的传输性能。
- 安全性较低:PPTP的加密机制(通常是MPPE)相对较弱,容易受到攻击。
4.1.2. L2TP(Layer 2 Tunneling Protocol)
L2TP是由思科和微软共同开发的协议,结合了PPTP和L2F(Layer 2 Forwarding)的特点。L2TP本身不提供加密功能,通常与IPSec一起使用,以提供强大的加密和认证机制。
特点:
- 灵活性高:L2TP可以通过多种网络(如ATM、帧中继等)传输数据。
- 安全性好:当与IPSec结合使用时,L2TP/IPSec提供了强大的加密和认证功能。
- 性能较差:由于双重封装(L2TP和IPSec),L2TP/IPSec的性能可能不如其他协议。
L2TP主要是由LAC(L2TP接入集中器)和LNS(L2TP网络服务器)构成。
- LAC:用于客户端的L2TP来接发呼叫、建立隧道,为客户端提供通过PNST、ISDN、xDSL等方式的接入网路服务。
- LNS:隧道的终点。
L2TP具有两种报文格式:控制报文、数据报文。
- L2TP控制报文:用于隧道的建立、维护与断开。使用的是UDP1701端口,对封装后的UDP数据报使用IPSec ESP进行加密处理并认证。
- L2TP数据报文:负责传输用户的数据。
4.2 第三层隧道协议
第三层隧道协议工作在OSI模型的第三层,即网络层。常见的第三层隧道协议包括IPSec和GRE。
4.2.1. IPSec(Internet Protocol Security)
IPSec是一套用于保护IP通信的协议,提供了认证、数据完整性和加密功能。IPSec通常用于保护VPN连接,尤其是站点到站点VPN和远程接入VPN。
特点:
- 强大的安全性:IPSec提供了强大的加密和认证机制,如AH(Authentication Header)和ESP(Encapsulating Security Payload)。
- 灵活性高:IPSec可以保护任何基于IP的协议,是一种通用的安全解决方案。
- 复杂性高:IPSec配置和管理相对复杂,需要专业知识。
4.2.2. GRE(Generic Routing Encapsulation)
GRE是一种简单的隧道协议,用于在一个协议中封装另一种协议。GRE本身不提供加密或认证功能,通常与IPSec结合使用以提供安全性。
特点:
- 协议支持广泛:GRE可以封装多种协议,包括IP、IPX和AppleTalk。
- 简单易用:GRE配置相对简单,适用于多种应用场景。
身不提供加密或认证功能,通常与IPSec结合使用以提供安全性。
相关文章:

[计算机网络] VPN技术
VPN技术 1. 概述 虚拟专用网络(VPN)技术利用互联网服务提供商(ISP)和网络服务提供商(NSP)的网络基础设备,在公用网络中建立专用的数据通信通道。VPN的主要优点包括节约成本和提供安全保障。 优…...

SQL 中的 EXISTS 子句:探究其用途与应用
目录 EXISTS 子句简介语法 EXISTS 与 NOT EXISTSEXISTS 子句的工作原理实际应用场景场景一:筛选存在关联数据的记录场景二:优化查询性能 EXISTS 与其他 SQL 结构的比较EXISTS vs. JOINEXISTS vs. IN 多重 EXISTS 条件在 UPDATE 语句中使用 EXISTS常见问题…...
OpenSearch分析WAF日志
Web应用防火墙(WAF)是保护web应用程序的重要工具,而分析WAF日志可以帮助我们更好地了解安全威胁并优化防护策略。本文将介绍15个使用OpenSearch分析WAF日志的实用例子,涵盖基础统计、安全分析、性能监控等多个方面。 准备工作 在开始之前,请确保: WAF日志已经被发送到OpenSea…...

【前端】零基础学会编写CSS
一、什么是CSS CSS (Cascading Style Sheets,层叠样式表)是一种是一种用来为结构化文档(如 HTML 文档)添加样式(字体、间距和颜色等)的计算机语言,能够对网页中元素位置的排版进行像素级别的精…...

Day07-ES集群加密,kibana的RBAC实战,zookeeper集群搭建,zookeeper基本管理及kafka单点部署实战
Day07-ES集群加密,kibana的RBAC实战,zookeeper集群搭建,zookeeper基本管理及kafka单点部署实战 0、昨日内容回顾:1、基于nginx的反向代理控制访问kibana2、配置ES集群TSL认证:3、配置kibana连接ES集群4、配置filebeat连接ES集群5、配置logsta…...
RK3568 V1.4.0 SDK,USB OTG端子不能被电脑识别出adb设备,解决
修改后的/usr/bin/usbdevice: #!/bin/sh # # Usage: # usbdevice [start|update|stop] # # Hookable stages: # usb_<pre|post>_<init|prepare|start|stop|restart>_hook # <usb function>_<pre|post>_<prepare|start|stop>_hook # # Example …...
如何在 Ubuntu 14.04 服务器上使用 Nginx 安装和保护 phpMyAdmin
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 介绍 像 MySQL 这样的关系型数据库管理系统在许多网站和应用程序中都是必不可少的。然而,并非所有用户都习惯通过命令行来管…...
redis存入hash,key=>value和key=>(key=>value)使用Python举例
在 Redis 中,HASH 数据结构(也称为 HMAP 或 Hash Map)允许你存储键值对集合,其中每个键值对都是字段(field)和值(value)的映射。在 Python 中,你可以使用 redis-py 库来与…...

Guava LocalCache源码分析:LocalCache的get、put、expand、refresh、remove、clear、cleanUp
Guava LocalCache源码分析:LocalCache的get、put、expand 前言一、get二、put三、expand 前言 上篇文章,详细描写了Guava LocalCache怎样如ConcurrentHashMap对缓存数据进行了分段存储。本章主要针对LocalCache重要的几个接口进行说明。 一、get CanIg…...
linux-arm ubuntu18.04 qmqtt5.12.6 编译部署
安装 qt 查看qt 版本 : qmake -v 下载对应版本 qmqtt 解压下载的mqtt文件 进入qmqtt xxx/src 目录 在qt 安装目录中创建QtMqtt文件夹, - x86平台qt 默认目录为 /usr/include/x86_64-linux-gnu/qt5 - arm平台qt 默认目录为/us…...

阿里ChatSDK使用,开箱即用聊天框
介绍: 效果:智能助理 ChatSDK,是在ChatUI的基础上,结合阿里云智能客服的最佳实践,沉淀和总结出来的一个开箱即用的,可快速搭建智能对话机器人的框架。它简单易上手,通过简单的配置就能搭建出对…...
LangChain —— Message —— How to trim messages
文章目录 一、概述二、获取最后的 max_tokens 令牌三、获取第一个 max_tokens 令牌四、编写自定义令牌计数器五、连成链六、使用 ChatMessageHistory 一、概述 所有模型都有 有限的 上下文窗口,这意味着它们可以作为输入的 token 数量是有限的。如果你有很长的消息&…...
专升本-1.0.3(英语)-升本209天-星期二
自己要耐得住寂寞,守得住自己的初心,守得住自己的未来,然后不断地真实地面对自己,使自己不断地获得一个真实地成长,说真话办真事,自己总会有一条路了,说真话,办真事的那条路才是最为…...

集合媒体管理、分类、搜索于一体的开源利器:Stash
Stash:强大的媒体管理工具,让您的影音生活井井有条- 精选真开源,释放新价值。 概览 Stash是一个专为个人媒体管理而设计的开源工具,基于 Go 编写,支持自部署。它以用户友好的界面和强大的功能,满足了现代用…...
数仓工具—Hive语法之事务表更新Transactional Table Update
Hive事务表更新 众所周知,Apache Hive 是建立在 Hadoop HDFS 之上的数据仓库框架。由于它包含表,您可能希望根据数据的变化更新表记录。直到最近,Apache Hive 还不支持事务。从 Hive 0.14 及以上版本开始支持事务性表。您需要启用 ACID 属性才能在 Hive 查询中使用更新、删…...
系统架构师(每日一练2)
每日一练 1.为实现对象重用,COM支持两种形式的对象组装,在()重用形式下,一个外部对象拥有指向一个内部对象的唯一引用,外部对象只是把请求转发给内部对象;在()重用形式下,直接把内部对象的接口引用传给外部对象的客户…...
Django REST Framework(十)视图集-ViewSet
视图集(ViewSet)是 Django REST framework 中的一个高级特性,它允许你使用更少的代码来实现标准的 CRUD(创建、读取、更新、删除)操作。ViewSet 类本质上是基于 GenericAPIView 的,但它们提供了更多的默认行…...

sping总览
一、spring体系 1. spring是什么? 轻量级的开源的J2EE框架。它是一个容器框架,主要实现了ioc,同时又通过aop实现了面向切面编程,它又是一个中间层框架(万能胶)可以起一个连接作用,比如说把myba…...

【Godot4.2】MLTag类:HTML、XML通用标签类
概述 HTML和XML采用类似的标签形式。 之前在Godot中以函数库形式实现了网页标签和内容生成。能用,但是缺点也很明显。函数之间没有从属关系,但是多有依赖,而且没有划分出各种对象和类型。 如果以完全的面向对象形式来设计标签类或者元素类…...

美式键盘 QWERTY 布局的起源
注:机翻,未校对。 The QWERTY Keyboard Is Tech’s Biggest Unsolved Mystery QWERTY 键盘是科技界最大的未解之谜 It’s on your computer keyboard and your smartphone screen: QWERTY, the first six letters of the top row of the standard keybo…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践
作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...

算法打卡第18天
从中序与后序遍历序列构造二叉树 (力扣106题) 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。 示例 1: 输入:inorder [9,3,15,20,7…...