在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子論文>網絡協議論文>關于BadVPN的原理闡述

關于BadVPN的原理闡述

2017-09-30 | rar | 0.3 MB | 次下載 | 2積分

資料介紹

  這可能是第一篇關于BadVPN原理的中文介紹,所以我恪守職責,希望能將BadVPN的原理闡述清楚,而不僅僅是為了欺世盜名取天下之先。

  前言

  我關注VPN已經多年了,有三類VPN讓我覺得驚嘆幫我理解了網絡協議的體系結構。首先IPSec,I2TP,PPTP這種傳統的VPN技術讓我知道原來協議棧還可以如此的相互Over,然后就接觸到了OpenVPN,如此一個簡單的玩意兒竟然擁有如此強大的組網能力,我喜歡這個OpenVPN,一去就是三五年,期間這個玩意兒也為我帶來很多現實的東西,比如獎金,比如加薪升職什么的,打心眼里,我覺得利用OpenVPN的理念,可以創造出世界第一等的VPN產品。。.直到我遇到了BadVPN!

  當然,最基本的VPN就是IPSec VPN,然而要想配置好一個多點的IPSec VPN網絡及其復雜和費事,最終EzVPN彌補了這個不足,它通過一個所謂的中心節點簡化了配置。然而這一切都是“官方”的方案。落實到普通程序員可以就地使用的方案,沒幾個。OenVPN是一個,BadVPN也是一個。

  我承認,前幾年我被OpenVPN沖昏了頭腦,竟然忽略了世界上還有一個叫做BadVPN的東西。都到了2017年了,我才第一次注意到它,這多多少少有點讓自己覺得悲哀。

  BadVPN是另一個VPN

  為了能快速理解BadVPN的原理,我準備從OpenVPN開始,當你知道了OpenVPN有什么問題的時候,就會更加容易理解BadVPN是如何解決這些問題的了,而這些正是理解BadVPN的關鍵。我先來展示一個OpenVPN的結構圖,假設使用TAP Bridge模式:

  關于BadVPN的原理闡述

  可以看出,OpenVPN有一個所謂的“中心節點”,其它所有的子節點都連接到這個中心節點。OpenVPN的這個中心節點身兼兩職:

  1. 提供總體的控制功能,負責與子節點密鑰協商,分配虛擬子網的IP地址給子節點,推送策略給子節點等;

  2. 同時作為一個對等的VPN節點存在,和各個子節點所攜帶的子網互聯互通。

  上述兩點可以看出,第一點是控制平面的功能,第二點是數據平面的功能,二者完全在一個鏈路上傳輸,這意味著什么?這意味著要精心設計OpenVPN的協議,以區分到來的數據包包含的是控制信息還是數據。

  OpenVPN協議區分了數據是控制面的數據還是數據面的數據,然而這種區分是帶內實現的,也就是說通過協議頭的字段來實現的,姑且不說封裝這個協議頭會帶來什么開銷,僅僅在OpenVPN進程中去多路復用并行處理控制平面和數據平面就夠復雜的了。

  按照傳統的網絡設計觀點,中心節點即服務端就是一個交換機,而各個VPN子節點客戶端就像是“該交換機端口的另一端”連接的各個主機或者級聯交換機,這是一個典型的星型拓撲。然而按照SDN控制平面的觀點來看的話,中心節點就是一個控制器,它控制了整個的VPN網絡轉發邏輯,所有的子節點要發送數據必須無條件轉發到中心節點,讓中心節點決定數據轉發到何方,這意味著哪怕是子節點客戶端之間互相通信,也必須經由中心節點來轉發。

  不管站在什么立場上來看,OpenVPN的中心節點都是一個單點,不管是從效率還是從可用性上來權衡,這都不是一個優雅的方式。說點題外話,幸虧我個人精通Linux網絡,可以通過iptables,iproute2,多線程改造OpenVPN,bonding TAP網卡,Keepalived等措施來破除這種限制,消除種種效率和可用性上的威脅,我才得以駕馭OpenVPN,不然的話,用OpenVPN來組網還真的限制多多。即便我有能力Hold住存在單點問題的OpenVPN,最終我還是失敗了。我已經把OpenVPN堆積的不成樣子了,迫切需要一個新的思路。

  OpenVPN的中心節點扮演了過于重量級的角色,這導致了任意建立VPN通道的節點之間的關系不可能是對等的,OpenVPN必須以主從方式建立VPN通道。這就主從結構的限制使得OpenVPN在組網方面很難構建多點對多點的網狀拓撲。

  那么BadVPN有何不同呢?為了與OpenVPN做對比,我還是先來展示一個BadVPN的總覽圖:

  關于BadVPN的原理闡述

  所有的節點綜合起來構成了一個巨大的交換機,大家一起完成交換機的功能,各個VPN子節點(為了對比,我依然沿用OpenVPN中心節點,子節點的術語)就是交換機端口本身,而不再是“端口對端”連接的設備。其中,中心節點不再負責實際的數據轉發,而僅僅作為一個“維護這個交換機組成部分”的控制器存在,中心節點負責以下的事宜:

  1. 記錄該VPN網絡中擁有多少節點主機,即“該大交換機中有多少端口”以及“端口的添加,刪除以及通告”;

  2. 構建子節點與中心節點之間,子節點與子節點之間的TLS控制通道,協商子節點之間的通信密鑰。

  這意味著各個子節點之間的VPN互通不再需要經過中心節點,實際上也根本就沒有什么可以進行數據通信的VPN中心節點。VPN通信節點之間變成了真正的點對點通信,除非你配置中繼(BadVPN的一種特殊運行方式,在權限受制的場景下使用,本文不討論,詳情參見BadVPN的Document),任何VPN之間的通信都是直接通信,不需要經過第三方。

  這意味著什么?這意味著:

  1. BadVPN的協議會非常簡單;

  2. BadVPN的處理過程會非常簡單。

  BadVPN將控制平面和數據平面做了帶外的分離,不再僅僅是帶內分離而依靠協議來區分。關于這一點,后面會詳述,下面的小節我們在感官上認識一下BadVPN的原理。

  BadVPN的運行原理圖解

  長篇大論終究會因為文筆不好而適得其反,所以還是通過畫圖具體來點情景分析為好。我分兩種場景來描述BadVPN的行為,即非打洞場景和打洞場景,先看非打洞場景。

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1電子電路原理第七版PDF電子教材免費下載
  2. 0.00 MB  |  1490次下載  |  免費
  3. 2單片機典型實例介紹
  4. 18.19 MB  |  93次下載  |  1 積分
  5. 3S7-200PLC編程實例詳細資料
  6. 1.17 MB  |  27次下載  |  1 積分
  7. 4筆記本電腦主板的元件識別和講解說明
  8. 4.28 MB  |  18次下載  |  4 積分
  9. 5開關電源原理及各功能電路詳解
  10. 0.38 MB  |  10次下載  |  免費
  11. 6基于AT89C2051/4051單片機編程器的實驗
  12. 0.11 MB  |  4次下載  |  免費
  13. 7基于單片機和 SG3525的程控開關電源設計
  14. 0.23 MB  |  3次下載  |  免費
  15. 8基于單片機的紅外風扇遙控
  16. 0.23 MB  |  3次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234313次下載  |  免費
  3. 2PADS 9.0 2009最新版 -下載
  4. 0.00 MB  |  66304次下載  |  免費
  5. 3protel99下載protel99軟件下載(中文版)
  6. 0.00 MB  |  51209次下載  |  免費
  7. 4LabView 8.0 專業版下載 (3CD完整版)
  8. 0.00 MB  |  51043次下載  |  免費
  9. 5555集成電路應用800例(新編版)
  10. 0.00 MB  |  33562次下載  |  免費
  11. 6接口電路圖大全
  12. 未知  |  30320次下載  |  免費
  13. 7Multisim 10下載Multisim 10 中文版
  14. 0.00 MB  |  28588次下載  |  免費
  15. 8開關電源設計實例指南
  16. 未知  |  21539次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935053次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537791次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234313次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191183次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183277次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138039次下載  |  免費
主站蜘蛛池模板: 色爱区综合| 亚洲精品老司机综合影院| 亚欧美视频| 四虎影院在线观看网站| 特级毛片aaaa免费观看| 国模掰开| 五月天久久婷婷| 很很鲁在线视频播放影院| 欧美最猛性xxxx高清| 日本欧美一区二区免费视 | 色偷偷91综合久久噜噜噜男男| 国产一区精品视频| 国产小视频在线播放| 91黄视频在线观看| 色偷偷88欧美精品久久久| 69天堂| 国产小福利| 亚洲欧美婷婷| 俺色也| 精品在线小视频| 在线国产三级| 欧美黄色片 一级片| 国产高清一区二区三区四区| www.狠狠艹| 四虎影视精品| 天天玩天天操| h黄网站| 欧美性天天| 亚洲最大毛片| 美女张开腿露出尿口让男人桶 | 在线 | 一区二区三区四区| 亚洲第一精品夜夜躁人人爽| 免费国产在线视频| 夜夜操天天爽| 久久国产精品免费专区| 日本高清午夜色wwwσ | 一二三四日本视频社区| www.xxx国产| 成人午夜大片免费视频77777 | 在线 你懂| bt天堂在线www中文在线|