虚拟专用网络 之 VPN

2024-06-21 20:52
文章标签 网络 虚拟 专用 vpn

本文主要是介绍虚拟专用网络 之 VPN,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

虚拟专用网络

  1. 虚拟专用网络诞生
    一个技术的出现都是由于某种需求触发的。那么为什么会出现VPN技术呢?VPN技术解决了什么问题呢? 早期在没有VPN之前,企业的总部和分支机构之间的互通都是采用运营商提供的Internet互联网尽心通信; 但是在Internet互联网中通讯往往是不安全的,通信的内容可能被窃取、修改等,从而造成安全隐患或者安全事件;

在这里插入图片描述

所以就需要有一种技术既能实现总部和分支机构建的互通,也能保证数据传输的安全性!
早期很多大型企业会联合运营商构建物理专线网络,在总部和分支机构之间拉条专线,只传输自己的业务; 但是这个专线的费用确实不是一般公司能够承受的,而且维护也很困难;
在这里插入图片描述

那么有没有成本比较低的解决方案呢?
因此,就引出了VPN技术,VPN通过在现有的Internet网络中构建专用的虚拟网络,实现企业总部和分支机构的通信;
解决了互通、安全、成本的问题。

一、虚拟专用网络介绍

VPN(全称Virtual Private Network)虚拟专用网络,是依靠ISP和其他的NSP,在公共网络中建立专用的数据通信网络的技术; 可以为企业之间或者个人与企业之间提供安全的数据传输隧道服务。
在VPN中任意两点之间的连接并没有传统专网所需的端到端的物理链路,而是利用公共网络资源动态组成的; 可以理解为通过私有的隧道技术在公共数据网络上模拟出来的和专网有同样功能的点到点的专线技术; 所谓虚拟是指不需要去拉实际的长途物理线路,而是借用了公共Internet网络实现。
为了便于理解VPN概念,利用一个网络示意图进行说明:

1.1虚拟专用网络作用

VPN功能可以帮助公司里的远程用户(出差、家里),公司的分支机构,商业合作伙伴及供应商等公司和自己的公司内部网络之间; 建立可信的安全连接或者是局域网连接,确保数据的加密安全传输和业务访问; 对于运维工程师来说,还可以连接不同的机房构成局域网,处理相关的业务流。
应用虚拟专用网络的优势特点:

  • 安全性高
    在远端用户、驻外机构、合作伙伴、供应商与公司总部之间建立可靠的连接,保证数据传输的安全性。
    这对于实现电子商务或金融网络与通讯网络的融合特别重要。
  • 费用低廉
    利用公共网络进行信息通讯,企业可以用更低的成本连接远程办事机构、出差人员和业务伙伴。
  • 支持移动
    支持出差VPN用户在任何时间、任何地点的移动接入,能够满足不断增长的移动业务需求。
  • 可扩展性
    由于VPN为逻辑上的网络,物理网络中增加或修改节点,不影响VPN的部署。

1.2 虚拟专用网络分类

01 根据VPN建设单位不同进行划分
  • 租用运营厂商专线搭建VPN
    运营商的虚拟专线网络大多数都是使用 MPLS VPN; 企业通过购买运营商提供的VPN专线服务实现总部和分支机构间的通信需求;VPN网关为运营商所有。

在这里插入图片描述

  • 企业内部自建环境搭建VPN
    企业内部自建基于Internet环境的vpn网络,常见的有IPsev VPN、GRE VPN、L2TP VPN、SSL VPN 企业自己购买VPN网络设备,搭建自己的VPN网络,实现总部和分支机构的通信,或者是出差员工和总部的通信;

在这里插入图片描述

02 根据VPN组网方式不同进行划分
  • 远程访问VPN
    这种方式适用于出差员工拨号接入VPN的方式,员工可以在只要有Internet的地方都可以通过VPN接入访问企业内网资源。 最常见类型有:SSL VPN、L2TP VPN
  • 站点之间VPN 这种方式适合用于企业两个局域网互通的情况;例如企业的分支机构访问总部; 最常见类型有:MPLS VPN、IPsec VPN
03 根据VPN工作网络层次进行划分
  • 应用层VPN:SSL VPN
  • 网络层VPN:IPsec VPN、GRE VPN
  • 链路层VPN:L2TP2 VPN、PPTP VPN

1.3 虚拟专用网络技术

1.3.1 网络通讯隧道技术

VPN技术的基本原理其实就是用的隧道技术; 就类似于火车/地铁的轨道一样,从A站点到B站点都是直通的,不会堵车。对于乘客而言,就是专车; 隧道技术其实就是对传输的报文进行封装,利用公网建立专用的数据传输通道,从而完成数据的安全可靠传输;
在这里插入图片描述

从上图中可以看到原始报文在隧道的一端进行封装,封装后的数据在公网上传输,在隧道另一段进行解封装;
从而实现了数据的安全传输。 隧道协议通过在隧道的一端给数据加上隧道协议头,即进行封装,使这些被封装的数据能都在某网络中传输;
并且在隧道的另一端去掉该数据携带的隧道协议头,即进行解封装。

1.3.2 网络通讯安全技术

在利用VPN进行数据传输通讯时,身份认证、数据加密、数据验证可以有效保证数据传输的安全性;
01 身份认证作用 VPN网关对接入VPN的用户进行身份认证,保证接入的用户都是合法用户。
02 数据加密作用 将明文通过加密技术成密文,哪怕信息被截获窃取了,也无法识别。

注意:保证数据的加密特性,会使用到对称加密技术,和非对称加密技术。

03 数据验证作用 通过数据验证技术验证报文的完整性和真伪进行检查,防止数据被篡改。 不同VPN隧道身份认证、数据加密、数据验证区别如下表所示:在这里插入图片描述

二、专用网络开源产品

2.1 开源产品分类介绍

01 PPTP VPN

点对点隧道协议(PPTP)是由包括微软和3com等公司组成的PPTP论坛开发的一种点对点隧道协议;
基于拨号使用的PPP协议,使用PAP或CHAP之类的加密算法,或者使用Microsoft的点对点加密算法MPPE。
使用PPTP VPN的最大优势在于,无需在windows客户端单独安装客户端软件,默认就支持PPTP VPN拨号连接功能。

适用场景:适合远程的企业用户拨号到企业内部进行办公等的应用。

开源软件:pptp vpn

02 IPsec VPN

IPSec隧道模式是封装、路由与解封装的整个过程。隧道将原始数据包隐藏(或封装)在新的数据包内部;
隧道与数据保密性结合使用时,在网络上窃听通讯的人将无法获取原始数据包数据(以及原始的源和目标);

适用场景:企业异地两地总分公司或多个IDC机房之间的VPN不间断按需连接
开源软件:openswan

03 SSL VPN

SSL VPN提供了数据私密性、端点验证、信息完整性等特性; SSL独立于应用,因此任何一个应用程序都可以享受它的安全性而不必理会执行细节。http+ssl == https

适用场景:企业异地或者移动用户拨号连接总部实现VPN不间断按需连接
开源软件:openvpn

注意:属于C/S架构的软件,需要单独安装openvpn客户端与服务端。

2.2 开源产品工作原理

openvpn 工作原理–部署过程 每一步在做什么

  • 需要先关注保证数据安全传输的三要素:数据机密性 数据完整性 身份认证
  • 需要掌握秘钥加密技术应用实现;
  • 需要掌握证书概念的企业应用;

这篇关于虚拟专用网络 之 VPN的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1082304

相关文章

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为

Mysql虚拟列的使用场景

《Mysql虚拟列的使用场景》MySQL虚拟列是一种在查询时动态生成的特殊列,它不占用存储空间,可以提高查询效率和数据处理便利性,本文给大家介绍Mysql虚拟列的相关知识,感兴趣的朋友一起看看吧... 目录1. 介绍mysql虚拟列1.1 定义和作用1.2 虚拟列与普通列的区别2. MySQL虚拟列的类型2

SSID究竟是什么? WiFi网络名称及工作方式解析

《SSID究竟是什么?WiFi网络名称及工作方式解析》SID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称,在无线网络中,设备通过SSID来识别和连接到特定的无线网络... 当提到 Wi-Fi 网络时,就避不开「SSID」这个术语。简单来说,SSID 就是 Wi-Fi 网络的名称。比如

VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virtual disk”问题

《VMWare报错“指定的文件不是虚拟磁盘“或“Thefilespecifiedisnotavirtualdisk”问题》文章描述了如何修复VMware虚拟机中出现的“指定的文件不是虚拟... 目录VMWare报错“指定的文件不是虚拟磁盘“或“The file specified is not a virt

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

poj 3181 网络流,建图。

题意: 农夫约翰为他的牛准备了F种食物和D种饮料。 每头牛都有各自喜欢的食物和饮料,而每种食物和饮料都只能分配给一头牛。 问最多能有多少头牛可以同时得到喜欢的食物和饮料。 解析: 由于要同时得到喜欢的食物和饮料,所以网络流建图的时候要把牛拆点了。 如下建图: s -> 食物 -> 牛1 -> 牛2 -> 饮料 -> t 所以分配一下点: s  =  0, 牛1= 1~

poj 3068 有流量限制的最小费用网络流

题意: m条有向边连接了n个仓库,每条边都有一定费用。 将两种危险品从0运到n-1,除了起点和终点外,危险品不能放在一起,也不能走相同的路径。 求最小的费用是多少。 解析: 抽象出一个源点s一个汇点t,源点与0相连,费用为0,容量为2。 汇点与n - 1相连,费用为0,容量为2。 每条边之间也相连,费用为每条边的费用,容量为1。 建图完毕之后,求一条流量为2的最小费用流就行了

poj 2112 网络流+二分

题意: k台挤奶机,c头牛,每台挤奶机可以挤m头牛。 现在给出每只牛到挤奶机的距离矩阵,求最小化牛的最大路程。 解析: 最大值最小化,最小值最大化,用二分来做。 先求出两点之间的最短距离。 然后二分匹配牛到挤奶机的最大路程,匹配中的判断是在这个最大路程下,是否牛的数量达到c只。 如何求牛的数量呢,用网络流来做。 从源点到牛引一条容量为1的边,然后挤奶机到汇点引一条容量为m的边