5.4.1 虚拟专用网VPN

我们已经学习了因特网的路由协议(5.3.1 因特网的路由协议(一)、5.3.2 因特网的路由协议(二)基于距离向量算法的RIP协议、5.3.3 因特网的路由协议(三)OSPF协议、5.3.4 因特网的路由协议(四)BGP协议)知道了路由器如何根据不同的路由协议来得到自己的路由表,这里我们要学习的是专用网络互连技术。

所谓的专用网一般指企事业单位内部的网络,随着经济全球化的发展越来越多的企业需要在全国乃至世界范围内建立多家分支机构,传统的专用网络中各个子公司或办事机构之间信息传送一般用租用专线的方式实现,这种连接方式最大的缺陷在于费用比较昂贵、不够灵活,随着因特网技术的发展现代企业越来越多的企业青睐于构建虚拟专用网(Virtual Private Network)简称VPN。

一、虚拟专用网

虚拟专用网摒弃了专线的连接方式,而是利用公共网络构建的私人专用网络。公共网络可以是因特网或者是各种类型的广域网比如帧中继网、ATM网络等,为了深入理解我们来举个例子。如图

假设一个企业有两个部门,部门A和B,分布在不同的地点,可能处于不同的城市也可能处在不同的国家,为了实现企业内部的专用网有效在两个部门之间进行通信和信息共享,我们可以直接将两个部门接入到公共网络中,利用公共网络平台来构建虚拟专用网。利用VPN技术使得部门A和B之间的通信对于互联网而言是不可见的,从而保证了专用要求的隐私性。

二、VPN的编址

在学习VPN工作原理之前我们先来学习一下VPN内的编址

  • VPN所提供的编址选择与专用网络一样,可以选择本地编址方案,也就是说它既可以分配全球的网络地址也可以使用私有地址(5.2.12 IP分组的转发(三))。前面我们已经说过本地地址无需向因特网管理机构申请,局限在内部网络中使用,由内部网络自行分配。而全球地址需要向因特网管理机构申请,在IPv4地址紧缺的情况下,VPN大多是采用本地编址的方法。

    • 本地地址——仅在机构内部使用的IP地址,可以由本机构自行分配,而不需要向因特网的管理机构申请。本地地址又被成为私有地址只能用于内部通信,也就是只能用于一个局域网内部主机之间的通信,因为每家单位都可以使用这些地址,

      作为因特网专门负责地址分配的机构IANA明确规定了三块地址块空间只能用于专用互联网内部通信的IP地址空间也就是私有地址。(RFC1918)

      前缀 最低地址 最高地址
      10/8 10.0.0.0 10.255.255.255
      172.16/12 172.16.0.0 172.31.255.255
      192.168/16 192.168.0.0 192.168.255.255
    • 全球地址——全球唯一的IP地址,必须向因特网的管理机构申请。

  • 我们前面图片为例,

    在两个部门网络组建的VPN中我们假设使用10.0.0.0进行编址,部门A中的一台主机X分配的地址是10.1.0.1,部门B主机Y分配的地址是10.2.0.3,因为这些地址都不属于全球地址,所以因特网的路由器在转发数据报的时候如果发现报文携带的目的地址是这些地址的话它会认为地址错误直接丢弃,不做其他处理,那么如何利用公共网络平台来构建专用网呢?

三、VPN工作原理

我们通过一个实例来介绍一下VPN的工作原理。如图

部门A通过R1路由器接入到因特网,部门B通过R2路由器接入到因特网,假设部门A网络中的一台主机X向部门B网络中的一台主机Y发送数据报,X产生的数据报必将流经因特网才能够到达B网络,这里会引发两个问题

  1. X产生的数据报的首部中源IP地址10.1.0.1和目的IP地址10.2.0.3都属于网络内部地址,数据报无法直接通过因特网传输。
  2. 专用网络注重通信的隐私性,希望专用网内任意用户之间的通信细节对于公网是不可见的,如何在开放的互联网平台上保护用户的隐私,确保通信的私密性,这也是需要解决的问题。

VPN是如何解决上述两个问题呢?

  • 这里VPN的实现主要使用了两种基本技术:隧道传输加密技术
  • 为了实现VPN两个网点之间的数据传输,需要在两个网点的路由器之间建立一个传输的隧道,当然隧道是一个比较形象的说法,它不代表路由器之间传输的专线,隧道传输仅仅是完成一个IP-in-IP协议再封装的过程,即**VPN定义了两个网络的路由器之间通过Internet的一个隧道,并使用IP-in-IP封装通过隧道转发数据报。
  • 此外VPN将源端产生的数据报加密以后封装在外层数据报中来传输,即为了保证保密性,VPN把外发的数据报加密后,封装在另一个数据包中传输。
  • 隧道接受路由器将数据报解密,还原出内层数据报,然后转发该数据报。

下面我们结合上面的例子来说明一下VPN采用隧道技术的传输过程。如图

主机X产生IP数据报,首部中的源地址和目的地址分别是10.1.0.1和10.2.0.3,数据报经过部门网络A的传输到达路由器R1,R1路由器将该IP数据报作为数据部分完整的封装到一个新的IP数据报的数据部分,新的IP数据报的首部中源IP地址就是路由器R1全球的IP地址,125.1.2.3目的地址填写的是R2的全球的IP地址194.4.5.6,这个经过再次封装之后的IP数据报就能够经过因特网顺利的传送到R2路由器,数据报到达R2以后,由路由器R2提取出内部的数据报,并根据内部数据报首部中的目的地址10.2.0.3,在部门B网络中完成最后的交付的任务。从整个的传输过程可以看出,VPN利用隧道的再封装过程来解决本地编址的专用网通过公共网络来进行通信的问题。

当然除了解决内部地址问题,隧道技术也有利于保护用户的隐私性。公网的路由器在对数据报进行解析、转发、处理的过程中它只查看外层数据报的首部信息,观测路由器R1和R2之间的通信细节,由于公网的路由器将内层的IP数据报视为数据部分,所以说对于专用网内所有主机之间的通信过程对外网的路由器是透明的,此外为了防止因特网上恶意用户截获篡改专用网内部的数据,加强专用网数据传输的安全性,由X产生的IP数据报在R1路由器上封装前还进行了加密处理。

5.4.1 虚拟专用网VPN相关推荐

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

    1.专用网络或本地互联网 一方面现在随着个人电脑的增大,IP地址十分紧缺,所以如果为每一台电脑都分配个一个全球IP地址(唯一的)不太现实:另外一方面,很多机构(比如大公司)往往只需要进行内部通信,按理 ...

  2. 【计算机网络】湖科大微课堂笔记 p54-56 IPv4数据报的首部格式、网际控制报文协议ICMP、虚拟专用网VPN与网络地址转换NAT

    文章目录 IPv4数据报的首部格式 小结 一些例题 网际控制报文协议ICMP 小结 一些例题 虚拟专用网VPN与网络地址转换NAT 小结 IPv4数据报的首部格式 版本 首部长度.可选字段.填充字段 ...

  3. 网络层:虚拟专用网VPN和网络地址转换NAT

    1.网络层:虚拟专用网VPN和网络地址转换NAT 笔记来源: 湖科大教书匠:虚拟专用网VPN和网络地址转换NAT 声明:该学习笔记来自湖科大教书匠,笔记仅做学习参考 1.1 虚拟专用网VPN 专用网和 ...

  4. 虚拟专用网VPN(计算机网络-网络层)

    目录 专用网络与专用地址 RFC 1918指明的专用地址 互连两个地点的专用网络 虚拟专用网VPN (Virtual Private Network) IP 隧道技术 VPN 的要点 专用网络与专用地 ...

  5. 计算机网络学习24:虚拟专用网VPN与网络地址转换NAT

    VPN 虚拟专用网 Virtual Prrivate Netrork 因特网中对目的地址是私有地址的IP数据报一律不进行转发. 并且私有地址只能是本地使用,不可以作为对外的IP地址. 很显然,各部门都 ...

  6. 【计算机网络】网络层:虚拟专用网

    由于IP地址的紧缺,一个机构能够申请到的IP地址数往往远小于本机构拥有的主机数. 如果一个机构内部的计算机通信也采用TCP/IP协议,那么这些仅字机构内部使用的计算机就可以由本机构自行分配其IP地址. ...

  7. 第四章.网络层:4.8虚拟专用网和网络地址转换NAT

    文章目录 4.8.1 虚拟专用网VPN 1. 本地地址与全球地址 2. RFC 1981指明的专用IP地址 3. 专用网 4. 虚拟专用网VPN 5. 虚拟专用网VPN的构建 6. 用隧道技术实现虚拟 ...

  8. 提升网络安全 十大策略全面巩固企业内网

    几乎所有企业对于网络安全的重视程度一下子提高了,纷纷采购防火墙等设备希望堵住来自Internet的不安全因素.然而,Intranet内部的攻击和入侵却依然猖狂.事实证明,公司内部的不安全因素远比外部的 ...

  9. 你应该知道的计算机网络知识

    前言 作为一名程序员, 不可能不与网络打交道. 现在我们的手机, 电脑, 不夸张地说, 离开了网络就是一块'废铁', 它们的作用将大打折扣.. 本文的作用呢, 主要是针对不是非网络专业开发的人员准备的 ...

最新文章

  1. Linux事件循环阻塞,深入浅析Node.js 事件循环、定时器和process.nextTick()
  2. [USACO06DEC]牛的野餐Cow Picnic DFS
  3. C++ namespace 命名空间
  4. 两个pdf怎么打开成两个窗口_如何将图片合并成PDF?教你两个免费方法
  5. mybatis中的#{value}和${value}的区别
  6. 一步步编写操作系统 79 在c代码中内联汇编
  7. 路径.git下的文件
  8. asp.net如何获取客户端真实IP地址
  9. TensorFlow tf.keras.losses.SparseCategoricalCrossentropy
  10. 《PIC微控制器项目设计:C语言》一第2章 mikroC Pro for PIC编程语言
  11. 鲲云获数千万A轮融资:开发全球首颗数据流AI芯片,实现数据流架构的创新突破!
  12. Bamboo 0.2.11 发布,HAProxy 自动配置
  13. 【English】【托业】【四六级】写译高频词汇
  14. c语言点亮共阴极数码管,课程设计-基于单片机的共阴极数码管显示电路.doc
  15. 禁用Android底部虚拟按键
  16. 算法岗面经总结(快看漫画)
  17. python牛顿迭代法求根例题_python求根算法
  18. Windows批处理编写
  19. html表格中字与字间距如何调整,excel表格字间距怎么调
  20. Python3之多线程

热门文章

  1. java后台实现excel文件下载功能
  2. linux看磁盘是sas还是sata吗,SAS硬盘和SATA硬盘它们有何不同,硬盘都有哪些类型...
  3. 一揽子采购协议ORACLE功能
  4. 一款企业级的供应链采购系统,已开源
  5. 加拿大ee移民 最新消息 越来越难申请了!!
  6. 【校园卡】最后一周!校园卡最近消息:2020校园卡10月底停售!
  7. gstreamer教程及在DM3730上的应用
  8. 基于单片机的数字存储示波器设计
  9. React Native 手势触摸事件机制详解(进阶篇)
  10. 计算机应用技术目标地域分析100字,【计算机应用论文】威客模式计算机应用论文(共3100字)...