1.七层代理模式还是IP层VPN

非常多人会问,我究竟是使用代理模式呢,还是使用VPN模式,假设我想数据在中间不安全的链路上实现加密保护的话。
这个问题有一个背景。那就是,你想保护你的数据,能够使用VPN,可是有时候,第七层的代理模式或许更好。比方SSL卸载器。比方内置SSL处理的代理。分为正向代理和反向代理。

正向代理:代理的是訪问者。一般位于訪问者一端,訪问者能意识到代理的存在,直接訪问代理,由代理向server发起訪问。
反向代理:反向代理代理的是被訪问者。

位于被訪问者一端。訪问者意识不到代理的存在。訪问者訪问代理。由代理将请求重定向到真正的server。

且看上述差别的后半段,全然同样。这也是最easy引起迷惑的地方,可是我如今的解释不关注这些,假设单看TCP层以及IP层的訪问模式。会发现上述的正向代理和反向代理没有不论什么差别-你会发现TCP层和IP层的封包是一样,因此差别正是体现于第七层-重点是实际訪问client是否设置代理。体如今HTTP头。当我们已经屏蔽了第七层的差别后,仅仅看TCP层的訪问模型,你会发现一个事实,即无论是正向代理还是反向代理。在TCP看来都用同样的方式卡在了路径中央,client和代理建立TCP连接,代理和server建立TCP连接。

如今明确什么时候用代理什么时候用IP层VPN了吗?答案在于数据流的方向!

假设再深挖一下。假设数据流始终都是从你这里发起的。有一个代理声称能够替你完毕你要求的事务。还能够提供安全加密服务,未尝不可啊,假设还有一个代理对server声称。它能够汇集成千上万的client的訪问请求,那也行啊。可是代理对数据流的发起方向有要求。反过来就难了。对于服务端而言。它要主动发起一个到某个client的訪问,怎样使用代理,这意味着代理必须显式知道client的位置,而这差点儿是不可能。

此时须要一个新的方案,那是什么呢?那就是将整个反向的訪问流封装于一个正向建立的隧道内,这个隧道是长连接的。除非显式拆除。它会一直存在。

这是什么?这就是IPSec VPN。PP2P,L2TP。OpenVPN等三层以及三层下面的VPN。当然,使用三层以及三层VPN的代价就是你将不能处理全部的四层以上特别是七层的信息,比方你不能解析过境包的HTTP头(做这件事远远比你想的困难。首先你要识别出这是一个TCP的HTTP数据包,或许仅仅是一个IP分片。你要实现重组。或许是一个乱序的TCP段,你要实现TCP的按序逻辑...更现实的。或许一个HTTP头会分在多个TCP段中,....人生苦短,为何如此折磨自己,使用安全代理吧)...
       假设你能保证数据流都是从client主动发往服务端的。且你须要更细的基于七层信息的控制粒度,且百折不扣地使用TCP代理。

假设哪怕有一类从服务端反向的连接,或者存在诸如UDP等协议的数据流。请考虑IP层VPN。
       我们能够看到,使用IP层VPN始终是一种备选方案。是这种。这是现实,也是趋势。

请看看FTP的现实吧,FTP存在反向的连接,可是依旧存在安全的FTP代理。假设你认为FTP不够复杂。那么请看看标准的信令/数据分离的SIP协议,市面上也有了非常多的能够处理SIP协议的安全代理,这些都不是IP层的VPN。终于,IP层VPN仅仅剩下了一块保留地。那就是保持多个物理位置分离的子网之间的虚拟专用性(安全连通性)。这块保留地才是真实的IP层VPN的领域,其实。非常多其他方面的使用IP层VPN技术进行单点接入的系统都是一种误用!

对于单点接入系统以及单点訪问系统,链路的加密仅仅是一个基本不能再主要的安全需求,很多其他的訪问控制,接入控制。AAA等非常难集成在IP层VPN以内,即便OpenVPN提供了强大的push机制,client也是能够拒绝不论什么push reply的。

2.大便骑沟便沟内

这是什么含义?
还记得曾经那种中央一条沟的厕所吗?在沟的一端墙壁上面有一个水箱。一拉绳子。水就冲下来,一冲一条沟。例如以下图所看到的:

请看错误的方式。尿不会落在大便池中。而是会洒在蹲位上,有时,假设角度没对准。大便也不会落在池中,而是会落在蹲位的还有一边,这会引起连锁反应,后来的人仅仅能採用蹲在同一边的错误方式,由于便池的还有一边有屎..于是我们的宿舍管理员李大爷再也忍不住了,用毛笔在宣纸上写下赫然几个大字。张贴于男厕所的墙壁上。上面写着“大便骑沟便沟内”。是的。书法手笔不错...

老斜两宗事-七层代理模式还是IP层VPN的更多相关文章

  1. Hadoop阅读笔记(七)——代理模式

    关于Hadoop已经小记了六篇,<Hadoop实战>也已经翻完7章.仔细想想,这么好的一个框架,不能只是流于应用层面,跑跑数据排序.单表链接等,想得其精髓,还需深入内部. 按照<Ha ...

  2. TCP层的分段和IP层的分片之间的关系 & MTU和MSS之间的关系 (转载)

    首先说明:数据报的分段和分片确实发生,分段发生在传输层,分片发生在网络层.但是对于分段来说,这是经常发生在UDP传输层协议上的情况,对于传输层使用TCP协议的通道来说,这种事情很少发生. 1,MTU( ...

  3. 原 TCP层的分段和IP层的分片之间的关系 & MTU和MSS之间的关系

    首先说明:数据报的分段和分片确实发生,分段发生在传输层,分片发生在网络层.但是对于分段来说,这是经常发生在UDP传输层协议上的情况,对于传输层使用TCP协议的通道来说,这种事情很少发生. 1,MTU( ...

  4. 结构型模式(七) 代理模式(Proxy)

    一.动机(Motivate) 在面向对象系统中,有些对象由于某种原因(比如对象创建的开销很大,或者某些操作需要安全控制,或者需要进程外的访问等),直接访问会给使用者.或者系统结构带来很多麻烦.如何在不 ...

  5. OSI 七层模型和 TCP/IP 四层模型 及 相关网络协议

    简介 OSI 是理论上的模型,也就是一个统一的国际标准,现在的很多网络设备或者是网络协议都不同程度的精简了自己的所谓的模型,那么他们为了自己的通讯兼容都会参考这个OSI模型 TCP/IP 包括: TC ...

  6. Java设计模式 之 代理模式

    所谓的代理模式就是为其它类或对象提供一个代理以控制对这个对象的访问.那么常见的代理有远程代理,虚拟代理,保护代理,智能代理. 1. 远程代理:为一个不同地址空间的对象提供一个本地代理对象. 2. 虚拟 ...

  7. TCP/IP协议之IP层

    TCP/IP协议的结构参见下图.有应用层,运输层,网络层,链路层. 但是如果更细化的话,其实还有几层没在这上面体现出来. 1 表示层:数据格式化,代码转换,加密. 没有协议 2 会话层:解除或者建立与 ...

  8. 【趣味设计模式系列】之【代理模式2--JDK动态代理源码解析】

    1. 图解 上图主要描述了JDK动态代理的执行过程,下面做详细分析. 2. Proxy源码分析 上一篇,在使用JDK动态代理的时候,借助于Proxy类,使用newProxyInstance静态方法,创 ...

  9. Java设计模式之(五)——代理模式

    1.什么是代理模式 Provide a surrogate or placeholder for another object to control access to it. Proxy Patte ...

随机推荐

  1. codility上的练习 (1)

    codility上面添加了教程.目前只有lesson 1,讲复杂度的……里面有几个题, 目前感觉题库的题简单. tasks: Frog-Jmp: 一只青蛙,要从X跳到Y或者大于等于Y的地方,每次跳的距 ...

  2. UITableView 协议中常用的方法

    UITableViewDataSource 协议中常用方法 1.设置右边 索引值 - ( NSArray *)sectionIndexTitlesForTableView:( UITableView ...

  3. http Post 请求一网络资源返回字符串

    public static String sendPost(String url, String param) {   PrintWriter out = null;   BufferedReader ...

  4. Jquery 实现动态加入table tr 和删除tr 以及checkbox的全选 和 获取加入TR删除TR后的数据

    关于jquery实现动态加入table tr的问题我也不多说了 上面代码非常多地方都有凝视的 关于返回的 编辑后的table 数据 我这里想说的是我直接把他保存成一个连接起来的字符串了 格式 str= ...

  5. 安装centos7注意事项

    1,安装centos7注意1和l的区分 2,每一次对/boot/grub2/或者/boot/grub或者/etc/grub/下的文件修改一定要重新编译配置文件sudo grub2-mkconfig - ...

  6. OpenSSL命令---rand

    用途: 用来产生伪随机字节.随机数字产生器需要一个seed,先已经说过了,在没有/dev/srandom系统下的解决方法是自己做一个~/.rnd文件.如果该程序能让随机数字产生器很满意的被seeded ...

  7. c语言求最大公约数和最小公倍数

    求最大公约数和最小公倍数 假设有两个数a和b,求a,b的最大公约数和最小公倍数实际上是一个问题,得出这两个数的最大公约数就可以算出它们的最小公倍数. 最小公倍数的公式是 a*b/m m为最大公约数 因 ...

  8. Java NIO--初步认识

    : 一.java NIO 和阻塞I/O的区别      1. 阻塞I/O通信模型      2. java NIO原理及通信模型 二.java NIO服务端和客户端代码实现 一.java NIO 和阻 ...

  9. (Problem 14)Longest Collatz sequence

    The following iterative sequence is defined for the set of positive integers: n n/2 (n is even) n 3n ...

  10. DE1-SOC的sof文件无法下载解决办法

    按照前面友晶科技的文档介绍一步步的做,后面发现根本无法下载sof文件. 通常思维: 一,器件选错了.器件选择错误会导致sof文件无法下载,至于这个ID具体怎么识别我没有追究.如果是这种错误Quartu ...