计算机网络:网络层 —— 虚拟专用网 VPN

文章目录

    • 虚拟专用网 VPN 概述
    • 内联网 VPN
    • 外联网 VPN

虚拟专用网 VPN 概述

虚拟专用网(Virtual Private Network,VPN):利用公用的因特网作为本机构各专用网之间的通信载体,这样形成的网络又称为虚拟专用网。

出于安全考虑,专用网内的各主机并不应该直接“暴露”于公用的因特网上。因此,给专用网内各主机配置的 IP 地址应使各主机在专用网内可以相互通信,而不能直接与公用的因特网通信。

给专用网内各主机配置的 IP 地址,应该是该专用网所在机构可以自行分配的IP地址,这类IP地址仅在机构内部有效,称为专用地址(PrivateAddress),不需要向因特网的管理机构申请。

[RFC 1918] 规定了以下三个 CIDR 地址块中的地址作为专用地址:

  • 10.0.0.0 ~ 10.255.255.255(CIDR 地址块 10/8

  • 172.16.0.0 ~ 172.31.255.255(CIDR 地址块 172.16/12

  • 192.168.0.0 ~ 192.168.255.255(CIDR 地址块 192.168/16

全世界可能有很多不同机构的专用网具有相同的专用IP地址,但这并不会引起麻烦,因为这些专用地址仅在机构内部使用。

因特网中的所有路由器,对目的地址是专用地址的IP数据报一律不进行转发,这需要由因特网服务提供者 ISP 对其拥有的因特网路由器进行设置来实现。

内联网 VPN

本例所示的是同一机构内不同部门的内部网络所构成的 VPN,又称为内联网VPN

![[内联网VPN.png]]

  1. 源地址和目标地址

    • 源地址:106.38.0.1,这是位于北京的部门 A 专用网中的某个设备的 IP 地址。
    • 目标地址:101.80.0.1,这是位于上海的部门 B 专用网中的某个设备的 IP 地址。
  2. 内部IP数据报:内部 IP 数据报包含了两部分:数据载荷和首部。

    • 数据载荷:这部分是需要传输的实际数据内容。
    • 首部:这部分包含了源地址和目标地址的信息,用于路由和寻址。
  3. 加密:当数据包离开部门 A 的专用网时,会在R1路由器处进行加密处理。加密后的数据包被称为“加密的内部IP数据报”。

  4. 因特网传输:加密后的数据包通过因特网从北京传送到上海。在这个过程中,数据包会经过多个中间节点,但因为已经进行了加密,所以即使有人截获了数据包也无法读取其中的内容。

  5. 解密:当数据包到达上海的部门 B 专用网时,会在 R2 路由器处进行解密。解密后的数据包恢复成原来的内部 IP 数据报形式。

  6. 最终目的地:解密后的数据包继续按照首部中的目标地址信息转发到最终的目的设备 H2,完成整个通信过程。

通过这种方式,即使数据包在网络上传输的过程中被第三方截获,由于数据已经被加密,所以无法获取到真实的数据内容,从而实现了数据的安全传输。

虽然两个专用网内的主机间发送的数据报是通过公用的因特网传送的,但从效果上就好像是本机构的专用网上传送一样,这也是虚拟专用网中“虚拟”的含义。

IP数据报在因特网中可能要经过多个网络和路由器,但从逻辑上看,路由器 R1 和 R2 之间好像是一条直通的点对点链路,因此也被称为 IP隧道技术

外联网 VPN

有时,一个机构的虚拟专用网VPN需要某些外部机构(通常是合作伙伴)参加进来,这样的 VPN 就称为外联网VPN

在外地工作的员工需要访问公司内部的专用网时,只要在任何地点接入因特网,运行驻留在员工 PC 中的 VPN 软件,在员工的 PC 和公司的主机之间建立 VPN 隧道,就可以访问专用网中的资源,这种虚拟专用网又称为远程接入VPN

2017年,工信部下发了《工业和信息化部关于清理规范互联网网络接入服务市场的通知》在我国,未经电信主管部门批准,不得自行建立或租用专线(含虚拟专用网络VPN)等其他信道开展跨境经营活动,不得从事危害国家安全、损害社会公共利益的行为

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/906381.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C语言函数嵌套调用

函数嵌套调用就是在一个函数中调用另一个函数; 看一个例子; max2函数返回2个整数中大的一个;max4中调用max2,实现返回4个整数中最大的一个; int max2(int, int); int max4(int, int, int, int);......void CCjjyyV…

C++:继承及其相关问题

继承的定义 继承机制是⾯向对象程序设计实现代码复⽤的重要⼿段,它允许我们在保持原有类特性的基础上进⾏扩展,增加⽅法 (成员函数) 和属性 (成员变量),从而产⽣的类,这样的类称为派⽣类,也称为子类。而这样的类就成为…

Centos7.9 x86架构部署

一、部署环境 表 1‑1 环境服务版本号系统centos7.9_2009运行环境1JDK1.8_321前端WEBNginx1.14数据库postgresqlpostgresql13postgis3.1pgrouting3.1消息队列rabbitmq3.8.16运行环境2erlang23.3.3.1 二、部署JDK 2.1下载JDK安装包 官网下载JDK8 官网地址: https…

【uniapp3】分享一个自己写的h5日历组件

简言 分享一下自己基于uniapp写的日历组件。如果不太满足你的需求,可以自己改造。 日历 实现分析: 页面显示 - 分为顶部显示和日历显示,我这里做了多行和单行显示两种情况,主要是当时看着手机的日历做的,手机上的…

Nginx安装配置详解

Nginx Nginx官网 Tengine翻译的Nginx中文文档 轻量级的Web服务器,主要有反向代理、负载均衡的功能。 能够支撑5万的并发量,运行时内存和CPU占用低,配置简单,运行稳定。 写在前 uWSGI与Nginx的关系 1. 安装 Windows 官网 Stabl…

Java版企电子招标采购系统源业码Spring Cloud + Spring Boot +二次开发+ MybatisPlus + Redis

功能描述 1、门户管理:所有用户可在门户页面查看所有的公告信息及相关的通知信息。主要板块包含:招标公告、非招标公告、系统通知、政策法规。 2、立项管理:企业用户可对需要采购的项目进行立项申请,并提交审批,查看所…

MS01SF1 精准测距UWB模组助力露天采矿中的人车定位安全和作业效率提升

在当今矿业行业,随着全球对资源需求的不断增加和开采难度的逐步提升,传统的作业方式面临着越来越多的挑战。露天矿山开采,因其大规模的作业环境和复杂的地形特点,面临着作业人员的安全风险、设备调度的高难度以及资源利用率低下等…

【Web.路由】——路由模板

路由模板负责根据规则生成URL,从而使得请求可以正常访问到资源。 总之就是——》》》 规范如何写一个url,并且命名以方便进行管理。 在Asp.net core中的Http管道机制,UseRouting()和 UseEndpoints()这两个中间件来实现整个路由系统。关于asp…

c加加11第二弹~

1lambda 1.1.lambda表达式书写格式 [capture-list] (parameters) mutable -> return-type { statement} 1.2lambda表达式各部分说明 [capture-list] : 捕捉列表,该列表总是出现在lambda函数的开始位置,编译器根据[]来判断接下来的代码是否为lamb…

记录|多线程和异步简单理解

目录 前言一、单线程二、多线程-Thread多线程是都多少个的时候会导致性能变差 三、多线程-Task类Task的优势 四、异步- awaitawait注意:多个Task Run()天剑await后,变成了同步执行解决方法 更新时间 前言 参考视频:C#基础教程 多线程编程入门…

凸极式发电机的相量图分析和计算,内功率因数角和外功率因数角和功角的定义。

图1:同步发电机稳态相量图 若发电机为凸极式,由于凸极机正、交轴同步电抗不等,即xd≠xq,因此必须先借助虚构电动势 E ˙ Q E ˙ q − ( x d − x q ) I ˙ d \dot{E}_Q\dot{E}_q-(x_d-x_q)\dot{I}_d E˙Q​E˙q​−(xd​−xq​)…

C语言原码、反码和补码的详解

C语言原码、反码和补码的详解 放在最前面的1、前言正数的原码、反码和补码负数的原码、反码和补码 2、整数的原码(2.1)原码的定义(2.2)计算原码 3、整数的反码(3.1)反码的定义(3.2)计…

idea 导入Spring源码遇到的坑并解决

1.下载相关文件 通过百度网盘分享的文件:Spring 链接:https://pan.baidu.com/s/1r9rkGOCaY9SFn9ecng5cIg?pwd8888 提取码:8888 2.配置gradle环境 gradle下载地址 需要翻墙下 https://services.gradle.org/distributions/ 我选择的是 grad…

Redis-“自动分片、一定程度的高可用性”(sharding水平拆分、failover故障转移)特性(Sentinel、Cluster)

文章目录 零、写在前面一、水平拆分(sharding/分片)、故障转移(failover)机制介绍水平拆分(Sharding)故障转移机制 二、Redis的水平拆分的机制有关的配置1. 环境准备2. 配置文件配置3. 启动所有Redis实例4. 创建集群5. 测试集群读/写6. 集群管理 三、Red…

C++STL详解(九)map和set的使用

一.关联式容器的介绍 CSTL包含了序列式容器和关联式容器&#xff1a; 序列式容器里面存储的是元素本身&#xff0c;其底层是线性的数据结构&#xff0c;就譬如我们之前学习的vector&#xff0c;list&#xff0c;deque等等。关联式容器里面存储的是<key,value>的键值对&…

goframe开发一个企业网站 模版界面4

###goframe已有了模板的功能 {{"string"}} // 一般 string {{raw string}} // 原始 string {{c}} // byte {{print nil}} // nil 也被支持 {{. | FuncA | FuncB | FuncC}}{{if .condition}}... {{else}}{{if .condition2}}...{{end}} {{end}}{{rang…

一、k8s快速入门之学习Kubernetes组件基础

一、三个容器管理器平台 Apache MESOS 开源的分布式资源管理框架&#xff0c;被推特选为基础平台&#xff0c;2019年推特换位k8s&#xff0c;MESOS最新版可以在MESOS上管理k8sDOCKER SWARM docker总部发行的&#xff0c;实现docker的集群方案&#xff0c;和docker捆版一起&…

初始JavaEE篇——多线程(7):定时器、CAS

找往期文章包括但不限于本期文章中不懂的知识点&#xff1a; 个人主页&#xff1a;我要学编程程(ಥ_ಥ)-CSDN博客 所属专栏&#xff1a;JavaEE 目录 定时器的使用 定时器的原理 模拟实现定时器 CAS 介绍 CAS的应用场景 解析 AtomicInteger 类 实现自旋锁 CAS的缺陷…

【UGUI】为射击游戏添加动态显示的分数和血量到UI界面

项目背景 在这个项目中&#xff0c;我们希望实现一个简单的游戏系统&#xff0c;其中玩家可以通过击中目标来获得分数&#xff0c;同时通过与怪物碰撞来减少血量。分数和血量需要在游戏界面上实时显示&#xff0c;以便玩家能够随时了解自己的状态。 技术实现 1. 静态变量的使…

stm32引脚PB3、PB4、PA15作为普通IO口用时,需要先解除调试端口复用

当项目调试的时候&#xff0c;发现PA15引脚无论配置输出高还是低或者输入&#xff0c;均只能输出3.3V的高电平。 目前STM的硬件调试有两种方法&#xff0c;JTAG和SW的方式&#xff0c;目前个人认为最好的方式就是SW&#xff0c;因为它只占用PA13和PA14两个IO。而JTAG还要多占用…