虚拟专用网VPN与网络地址转换NAT技术

news2024/11/17 2:38:56

1、专用网络或本地互联网

一方面现在随着个人电脑的增大,IP地址十分紧缺,所以如果为每一台电脑都分配个一个全球IP地址(唯一的)不太现实;另外一方面,很多机构(比如大公司)往往只需要进行内部通信,按理说IP地址只要在内部是唯一的就可以了(不同机构可以重复)。那么从原则上讲,对于仅在机构内部使用的计算机就可以由机构自行分配IP地址,这种仅在本机构内部有效的IP地址,成为本地IP地址,而不需要向因特网的管理机构申请全球唯一的IP地址(这种成为全球地址),这样这样大大节约宝贵的全球IP地址资源。

如下图所示,机构A和机构B都可以使用网段10.20.0.0 ~ 10.20.255.255 的IP地址,虽然这两个机构使用的IP地址重复,但是由于只在内部使用,互不干扰。

如果本地机构随意分配IP地址,那么就出现了一个问题:

假如本地机构内部的某个主机需要与因特网连接,那么这种仅内部使用的IP地址就有可能与与因特网上的某个IP地址重合,这样就会出现地址的二义性问题。

为了解决这个问题,RFC1918就指明了一些专用地址(private address)。这些地址只能用于某个机构内部的通信,而不能用英语因特网上的主机通信。这些用于机构内部通信的IP地址可以分为三个网段:

(1)10.0.0.0 到 10.255.255.255 (或记为10.0.0.0/8,它又称为24位块)

(2)172.16.0.0 到 172.31.255.255 (或记为172.16.0.0/12,它又称为12位块)

(3)192.168.0.0 到 192.168.255.255 (或记为192.168.0.0/16,它又称为16位块)

采用这样专用IP地址的互联网络称为专用互联网或本地互联网,简称专用网。显然,全世界很多专用互联网络具有相同的IP地址,但这并不会引起麻烦,因为这些专用地址仅在本机构内部使用。因此,专用IP地址又叫可重用地址。

2、虚拟专用网VPN

想象一下两个基本场景:

场景一:某个机构存在多个分支,这些分支位于不同地区地方,不同分支该如何通信?

场景二:加入某个员工出差了或者居家办公,该如何访问公司的内部网络?

这就需要用到VPN技术!

 根据上面的两种不同的场景,从应用的角度看,VPN可以分为远程访问VPN和网关-网关VPN两类:

(1)远程访问VPN

 

(2)网关-网关VPN

 

 

基本过程如下:

假如合肥地区计算机X(192.168.1.11)需要向上海地区计算机Y(192.168.2.22)发送数据

(1)主机X向主机Y发送数据的源地址为192.168.1.11,目的地址为192.168.2.22。

(2)数据先作为内部数据发送到VPN服务器A,然后服务器A将数据加密,然后重新加上数据报的首部,封装成在因特网上发送的外部数据报,源地址为服务器A的全球地址202.38.79.51,目的地址为服务器B的全球地址212.38.64.55。

(3)服务器B收到数据报之后,将数据进行解密,恢复原来的内部数据报(目的地址为192.168.2.22),然后交付给主机Y。

3、网络地址转换NAT技术

现在考虑另外一种情况,就是专用网内部的一些主机已经分配到了本地IP地址,但是又想和因特网的主机通信,那么应该如何实现呢?

这里就需要用到网络地址转换NAT技术。这种方法需要在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的全球IP地址。这样所有使用本地地址的主机外和外界通信时,都要有NAT路由器将其本地地址转化为全球IP地址,然后和因特网通信。

通信的基本原理如瞎下图所示:

简单来说就是,某个使用内部IP地址为10.20.1.5的计算机想要与外部因特网通信,需要先将数据发送到NAT路由器,由于NAT路由器具有全球的IP地址,然后再以NAT路由器的全球IP作为源地址,然后将数据发送到因特网的某个计算机。接收数据也是一样,因特网的计算机先将NAT路由器的全球IP地址作为目的地址,将数据发送给NAT路由器,NAT路由器受到数据之后,然后再将数据发送给机构内部的计算机。 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

阿里正式加入ChatGPT战局,“通义千问”上线后表现如何?

ChatGPT发布后,数月间全世界都对AI的能力有了新的认知。 ChatGPT掀起的战局,现在又多了一位选手了! 阿里版类ChatGPT突然官宣正式对外开放企业邀测,由达摩院开发,名为“通义千问” 顾名思义,阿里正式加入Ch…

java实现钉钉自定义机器人发送消息

钉钉作为现在很多企业的移动办公平台,具有很多很强大的功能,可以帮助我们更加及时的发现问题,解决问题,今天我们做一个java实现钉钉自定义机器发送消息的功能。 首先,先放出官方文档地址:https://open.ding…

GIS在城市规划中的作用与应用

山海鲸可视化-GIS影像 简介 GIS(地理信息系统)是一种用于捕获、存储、管理、分析和显示地理空间数据的技术和工具。GIS可以用于各种领域,包括城市规划、土地管理、自然资源管理、公共安全、环境保护、气象预报、交通运输、农业、地质勘探、…

支持多模型数据分析探索的存算分离湖仓一体架构解析(上)

当企业需要建设独立的数据仓库系统来支撑BI和业务分析业务时,有了“数据湖数据仓库”的混合架构。但混合架构带来了更高的建设成本、管理成本和业务开发成本。随着大数据技术的发展,通过在数据湖层增加分布式事务、元数据管理、极致的SQL性能、SQL和数据…

Python实现哈里斯鹰优化算法(HHO)优化Catboost分类模型(CatBoostClassifier算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 2019年Heidari等人提出哈里斯鹰优化算法(Harris Hawk Optimization, HHO),该算法有较强的全…

BI数据可视化报表模板分享,附免费下载方法

奥威BI软件上既有大量单张下载套用的BI数据可视化报表模板,又有以通用标准方案、行业通用方案为基础打造的标准化BI数据可视化报表模板套装,下载套用即可完成整个企业的BI数据可视化分析。这些BI数据可视化报表模板的效果如何,怎么下载&#…

Spring set注入专题

简单数据类型,来自BeanUtils,包含8种基本数据类型,8种包装类等 Temporal是java8之后的新特性,表示时区,时间等 Local为语言类 注入简单数据类型(包括String): 注意,property中不能使用ref,要使…

连接云服务器

前言:相信看到这篇文章的小伙伴都或多或少有一些编程基础,懂得一些linux的基本命令了吧,本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python:一种编程语言&…

精彩回顾|SOFA 五周年,Live Long and Prosper!

2023 年 4 月 15 日,SOFAStack 社区在北京市朝阳区 C work 举办了自己的第五个生日。在“Live Long and Prosper”的活动主题贯彻下,活动现场的开源技术探索氛围变得尤其浓厚。 SOFA 开源集市 在 SOFA 五周年的开源集市中,汇聚了 SOFAStack 的…

Transformer应用之构建聊天机器人(一)

一、概述 聊天机器人的基本功能是系统根据用户当前的输入语句,生成相应的语句并输出给用户,用户和聊天机器人之间的一问一答构成了一个utterance,多个utterance就构成了一段对话。目前流行的聊天机器人都是基于Transformer的架构来做的&…

FT2000+ openEuler 20.03 LTS SP3 yum install qemu手动创建虚拟机 图形界面安装openEuler 20.03系统

安装qemu yum install qemu -y 安装系统 创建虚拟硬盘 /usr/bin/qemu-img create -f qcow2 openEuler.qcow2 20g 挂载iso启动 /usr/bin/qemu-kvm -machine virt,accelkvm,usbon -cpu host -m 32G -smp 8,sockets1,cores8,threads1 -boot d -hda /home/yeqiang/qemu-virt…

python字符串模糊匹配,并计算匹配分数

一、thefuzz thefuzz包以前叫fuzzywuzzy,0.19版本开始改名为thefuzz,github地址: GitHub - seatgeek/thefuzz: Fuzzy String Matching in Python 可以通过命令pip install thefuzz安装此包。用法还是比较简单的: from thefuzz import fuz…

redis_exporter 结合prometheus 监控redis cluster集群

redis_exporter 结合prometheus 监控redis cluster集群 前提1:已经搭建好redis cluster集群前提2:已搭建好prometheus 1、下载redis_exporter wget https://github.com/oliver006/redis_exporter/releases/download/v1.50.0/redis_exporter-v1.50.0.l…

WebServer项目(三)->linux网络编程基础知识

WebServer项目[三]->linux网络编程基础知识 1. I/O多路复用(I/O多路转接)2. select1)select简介2)select详解select具体怎么用?那FD_CLR函数是干嘛的?关于 fd_set,它具体是什么? 3. poll(改进select)4. epoll5.epoll的两种工作模式6.UDP通…

qemu-img resize gpt分区 parted修复分区信息 虚拟机 lvm 扩容根分区

扩容qcow2虚拟盘 关闭虚拟机 virsh destroy redflag1 qemu-img resize从20G扩容至40G qemu-img resize redflag.qcow2 40G 启动 virsh start redflag1 查看状态,当前无任何变化 fdisk 查看vda,已经变大 查看lvm信息 xfs_info 扩容虚拟机根分区 修…

KD2684S电机匝间耐电压测试仪

一、产品简介 试验仪适用于电机、变压器、电器线圈等这些由漆包线绕制的产品。因漆包线的绝缘涂敷层本身存在着质量问题,以及在绕线、嵌线、刮线、接头端部整形、绝缘浸漆、装配等工序工艺中不慎而引起绝缘层的损伤等,都会造成线圈层间或匝间绝缘层的绝缘…

BGP的路径属性及选路规则

路径属性 路径属性对于BGP而言,BGP路径属性描述了该条路由的各项特征,同时,路由携带的路径属性也在某些场景下影响BGP路由优选的决策。 公认属性-----所有的BGP路由器均可以识别的属性 强制属性-----指当BGP路由器使用update报文通报路由更新…

机器学习实战:Python基于DT决策树模型进行分类预测(六)

文章目录 1 前言1.1 决策树的介绍1.2 决策树的应用 2 Scikit-learn数据集演示2.1 导入函数2.2 导入数据2.3 建模2.4 评估模型2.5 可视化决策树2.6 优化模型2.7 可视化优化模型 3 讨论 1 前言 1.1 决策树的介绍 决策树(Decision Tree,DT)是一…

R语言的Meta分析【全流程、不确定性分析】方法与Meta机器学习技术应用

Meta分析是针对某一科研问题,根据明确的搜索策略、选择筛选文献标准、采用严格的评价方法,对来源不同的研究成果进行收集、合并及定量统计分析的方法,最早出现于“循证医学”,现已广泛应用于农林生态,资源环境等方面。…

【springboot】缓存之@Cacheable、@CachePut、@CacheEvict的用法

目录 一、注解参数说明1.1 属性说明1.1.1 value/cacheNames 属性1.1.2 key属性1.1.3 keyGenerator属性1.1.4 cacheManager属性1.1.5 cacheResolver属性1.1.6 condition属性1.1.7 unless 属性1.1.8 sync 属性 1.2 Cacheable注解1.3 CachePut注解1.4 CacheEvict注解1.4.1 allEntr…