N2N性能和原理解析
2018-08-06 02:33:42    305    0    0
lion


N2N特性:

基于点对点的udp连接,可穿透内网。极简,极轻量。

安全性

数据传输用twofish加密,采用预共享密钥模式。

twofish算法本身没问题,但n2n_v1只对数据内容加密,数据包头和supernode心跳包均明文,包头中包含mac地址ip地址、分组信息等,所以加密等级不高。

平台支持

使用N2N V1,软件很轻量,支持linux、Windows、OpenWrt等。

性能:

路由器cpu性能有限,只测到3-5mbps左右,私用够用;

            局域网+Ubuntu+x86服务器上测得最大性能27mbps左右。

稳定性:

官版多年不维护了,故不稳定,自己修复了几个bug后基本稳定运行有两年了。

              网络切换如宽带重新拨号时,短暂中断几分钟才能回归正常。

              网络闲置时,连接会被清理,再使用需重建udp会话,因此闲置后重新ping时,首个数据包通信延时较长。

适用场景:

适合私人或较低要求场景,如用来家庭连接办公区,或用来远程维护内网服务器等,不适合用于生产环境,生产环境还是选ipsec或硬件vpn吧。

  (大概因为包头不加密,是能被探测到然后封你IP的,所以不要用来垮境)

先画一张网络拓扑图,再开始介绍如何折腾。

网络拓朴

2017 -07-26 拓朴图来也:

image

192.168.0.1 路由器静态路由设置:

       接口:Edge

       对象:192.168.1.0

       子网掩码:255.255.255.0

       网关:10.0.0.1

192.168.1.1 路由器静态路由设置:

       接口:Edge

       对象:192.168.0.0

       子网掩码:255.255.255.0

       网关:10.0.0.2

大至IP路由路径:

   192.168.0.100(PC)

     –> 192.168.0.1(网关)

    —>10.0.0.2(n2n)

    —> 10.0.0.1(对方N2N)

    —> 192.168.1.1(对方网关)

    –> 192.168.1.100(对方PC)

   (其中,10.0.0.1、10.0.0.2 两台路由器,通过运行Edge,形成N2N二层虚拟交换机网,网络直达。)

 

——————-华丽分割线——————–

N2N软件结构

     N2N组成有三部份,SuperNode和Edge,虚拟网卡(tab/tun),其中:

    SuperNode:为注册中心,用来注册各接入点的信息,相当于一张地址列表。

    Edge            :为接入点,他每分种都向SuperNode进行注册,也接收来自SuperNode的信息。

    虚拟网卡    :故名思义,模拟一张网卡来交由操作系统统一管理,如IP地址配置等。

整个工作/通信流程:

     1、Edge向SuperNode注册,SuperNode记下edge的信息,包括外网ip和端口,虚拟ip、虚拟mac地址等。

     2、edge监听tab或tun虚拟网卡,获取网卡要发送的数据。

     3、当从虚拟网卡读取到数据时,将数据包发送到SuperNode。

     4、SuperNode提取数据包中的mac地址,并查询注册列表,并附上来源地址和端口,转发到目标edge。

    5、目标edge收到数据包,提取来源地址和端口,并尝试udp直连

     6、若直连成功,数据包不再走superNode中转,否则一直从SuperNode中转。

--------------接下来要开始写安装和配置了。敬请期待 20171017----------------------

 

安装 和配置:http://blog.ever2010.com/blog/post/lion/N2N%E5%9C%A8%E5%90%84%E5%B9%B3%E5%8F%B0%E7%9A%84%E5%AE%89%E8%A3%85%E5%92%8C%E9%85%8D%E7%BD%AE%EF%BC%88Windows%E6%9C%8D%E5%8A%A1%E3%80%81ubuntu%E3%80%81centos%E3%80%81openwrt%EF%BC%89

Pre: 7ghost安装

Next: NCalc表达式学习笔记

305
目录