本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

报码:【j2开奖】BadVPN详解之组网原理剖析(2)

时间:2017-05-02 21:50来源:668论坛 作者:本港台直播 点击:
这意味着各个子节点之间的VPN互通不再需要经过中心节点,实际上也根本就没有什么可以进行数据通信的VPN中心节点。VPN通信节点之间变成了真正的点对点

  这意味着各个子节点之间的VPN互通不再需要经过中心节点,实际上也根本就没有什么可以进行数据通信的VPN中心节点。VPN通信节点之间变成了真正的点对点通信,除非你配置中继(BadVPN的一种特殊运行方式,在权限受制的场景下使用,本文不讨论,详情参见BadVPN的Document),任何VPN之间的通信都是直接通信,不需要经过第三方。

  这意味着什么?这意味着:

  1. BadVPN的协议会非常简单;

  2. BadVPN的处理过程会非常简单。

  BadVPN将控制平面和数据平面做了带外的分离,不再仅仅是带内分离而依靠协议来区分。关于这一点,后面会详述,下面的小节我们在感官上认识一下BadVPN的原理。

  BadVPN的运行原理图解

  长篇大论终究会因为文笔不好而适得其反,所以还是通过画图具体来点情景分析为好。我分两种场景来描述BadVPN的行为,即非打洞场景和打洞场景,先看非打洞场景。

  1. 普通情形的情景原理分析

控制面的生成

第一个节点连接中心节点时

报码:【j2开奖】BadVPN详解之组网原理剖析

第二个节点连接中心节点时

  

报码:【j2开奖】BadVPN详解之组网原理剖析

第三个节点连接中心节点时

  

报码:【j2开奖】BadVPN详解之组网原理剖析

  三个节点都连接上了中心节点,本文中描述的“BadVPN构成的巨大交换机”就已经生成了,我们可以看到,是中心节点维护了这个巨大的交换机。

  这个时候,这个交换机是空的,就像刚上好架,插好网线,加电完毕后的状态一样。我们知道,以太网交换机是自学习的,本文中叙述的“BadVPN交换机”自然也不例外。那么下面我们就看一下在有实际数据传输的时候,这个交换机到底是怎么运作的吧。

数据面的运作

子节点A或其携带子网需要ping子节点B的TAP地址,发送ARP

  

报码:【j2开奖】BadVPN详解之组网原理剖析

子节点A收到子节点B的TAP回复的ARP Reply

  

报码:【j2开奖】BadVPN详解之组网原理剖析

子节点A封装ICMP Ping在加密通道上发给子节点B

  

报码:【j2开奖】BadVPN详解之组网原理剖析

附:我的改进

  其实我不很赞同BadVPN里面的Peer-Macs表的设计,我觉得应该是三元组设计,即Peer-Vips-Macs表,详见我下一篇文章,讲述我自研的一个VPN,可能介于OpenVPN和BadVPN之间,也可能是BadVPN介于OpenVPN和我的VPN之间...谁知道呢?总之,皮鞋爆炸。

  2. NAT后需要打洞的情景原理分析

  我不会在这个小节里重复上面常规场景里的图解,我觉得我只描述UDP打洞场景就好了(我直到现在依然记得江琦博士TCP打洞全世界第一,希望长春Leadwell做SIP的同事见文与我联系,想念你们)。

  打洞原理非常简单,我假设中心节点是X,而子节点A和子节点C均在NAT之后,那么打洞过程如下图所示,分两步:

第一步:让中心节点X分别记录下A和C的外网地址和端口:

  

报码:【j2开奖】BadVPN详解之组网原理剖析

  

报码:【j2开奖】BadVPN详解之组网原理剖析

第二步:彼此尝试并最终成功连接

  

报码:【j2开奖】BadVPN详解之组网原理剖析

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容