服务器虚拟hub及NAT,面向VoIP应用防火墙穿越的SoftHub的设计与实现

摘要:

近年来,VoIP(Voice over IP)技术及其业务的迅速发展,对传统的电信业务造成了巨大的冲击.VoIP网络通过网关等设备,以PSTN作为用户的接入设备,用IP网络代替昂贵的传统传输网络,从而大大的降低了通信成本,节省了通话费用.由于IP电话具备一定的技术优势与时代特征,一旦解决传输和语音质量问题,就会对传统电话产生巨大冲击,具有很大的市场空间.NAT和防火墙设备的存在阻碍了很多应用和协议在Internet上的部署和实施,使得VoIP应用在数据的传输过程中遇到了很大的困难.在局域网环境下,由于没有NAT和防火墙的限制,同一个局域网内的各种应用程序可以畅通无阻的通信.本文设计实现的虚拟局域网利用TUN/TAP虚拟设备和TUNNEL技术,可以突破NAT和大多数防火墙的限制,使受限的应用可以正常的通信.本文介绍了IP电话的发展及IP电话的工作原理和相关的标准及协议,分析了现有的穿越NAT/FW方法,并提出了一种新型的穿越方法,即在现有的网络中构建一个虚拟局域网.SoftHub是虚拟局域网的服务器端程序,功能上类似于真实局域网环境下的集线器(Hub),负责对虚拟局域网中信令的处理和数据的转发,是虚拟局域网的核心组成部分.本文主要解决的是SoftHub的程序和私有协议的设计与实现,在穿越NAT方面借鉴了STUN,TURN和ICE方案,对需要通过SoftHub转发的数据采用了Treap树进行调度,提高了效率,另外由于对数据进行了加密,减弱了防火墙对数据流的阻碍.在本文的第三部分详细介绍了虚拟局域网服务器端程序SoftHub的数据结构和内部逻辑的设计与实现,其中用到了很多UNIX/Linux和网络编程的高级技术和设计思想.

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
虚拟以太网是指在真实的互联网中,通过软件方法在数据链路层实现一个 按以太网原理工作的虚拟网络。在虚拟网络中可以透明地运行所有应用程 序,支持各种第三层网络协议,如IP,IPv6,IPX等,可以进行普通的文件 共享以及ERP、VoIP等待应用。 特点: . 配置极其简单。 . 树形结构,可以从任一个节点接入,可谓一点接入,全网通行。 . 配合握手服务器(可由任一节点充当),可以实现两个节点间 直接点对点 通讯,无需 中转 !! . 3DES 数据加密 用途: . 创建企业虚拟网 . 创建专题虚拟网,你可以作为虚拟网的树根,然后把所有志同道合的人连接在一起, 形成一个独具特色的 “虚拟以太网社区”。 简单地说,任何人都可以用VE建立自己的虚拟Internet世界。 使用说明: 1. 双击virtualether.exe运行,程序会自动安装驱动程序va.sys,成功后会弹出设置界面。 2.设置方法。virtual ethernet的设置包括本地(local),远端(remote)和代理(proxy)。  . local设置,本端作为虚拟HUB接受连接:  . 设置本端的连接监听端口,即虚拟HUB的连接端口。  . 设置本端的连接密码,当远端连接过来时,需要进行密码验证。 . 设置点对点通讯的握手服务器域名/IP,及其端口。 . 如果本端想做握手服务器,可以设置一个本地的UDP端口。 注:只有本端想做虚拟HUB时才需要正确设置。    remote设置,本端作为虚拟网卡向虚拟HUB发起连接:  . 远端虚拟HUB的IP或域名(当然可以是动态域名)  . 远端虚拟HUB的密码,即远端在 local 设置中的密码 . 远端虚拟HUB的连接端口,即远端在 local 设置中监听端口 注:1.只有本端想与虚拟HUB连接时才需要正确设置。 2.如果想连接到自己的虚拟HUB,则选择“connect to my local virtual HUB”。 Proxy设置,如果你机器通过代理上网,如HTTP代理,Socket代理,就需要根据你的 代理情况进行设置。(这个功能可以穿透firewall,网管要小心啦) 如果你的上网方式是通过 http 代理,则可能需要把将要连接的虚拟HUM的监听端口设置成443才可以。 两个客户端之间发生通讯时,如果已经配置握手服务器,软件会自动尝试建立点对点通道
虚拟以太网是指在真实的互联网中,通过软件方法在数据链路层实现一个 按以太网原理工作的虚拟网络。在虚拟网络中可以透明地运行所有应用程 序,支持各种第三层网络协议,如IP,IPv6,IPX等,可以进行普通的文件 共享以及ERP、VoIP等待应用。 特点: . 配置极其简单。 . 树形结构,可以从任一个节点接入,可谓一点接入,全网通行。 . 配合握手服务器(可由任一节点充当),可以实现两个节点间 直接 点对点 通讯,无需中转 !! . 3DES 数据加密 用途: . 创建企业虚拟网 . 创建专题虚拟网,你可以作为虚拟网的树根,然后把所有志同道合的人连接在一起,形成一个独具特色的 “虚拟以太网社区”。 简单地说,任何人都可以用VE建立自己的虚拟Internet世界。 使用说明: 1.双击virtualether.exe运行,程序会自动安装驱动程序va.sys,成功后会弹出设置界面。 2.设置方法。virtual ethernet的设置包括本地(local),远端(remote)和代理(proxy)。   local设置,本端作为虚拟HUB接受连接:  . 设置本端的连接监听端口,即虚拟HUB的连接端口。  . 设置本端的连接密码,当远端连接过来时,需要进行密码验证。 . 设置点对点通讯的握手服务器域名/IP,及其端口。 . 如果本端想做握手服务器,可以设置一个本地的UDP端口。 注:只有本端想做虚拟HUB时才需要正确设置。    remote设置,本端作为虚拟网卡向虚拟HUB发起连接:  . 远端虚拟HUB的IP或域名(当然可以是动态域名)  . 远端虚拟HUB的密码,即远端在 local 设置中的密码 . 远端虚拟HUB的连接端口,即远端在 local 设置中监听端口 注:1.只有本端想与虚拟HUB连接时才需要正确设置。 2.如果想连接到自己的虚拟HUB,则选择“connect to my local virtual HUB”。 Proxy设置,如果你机器通过代理上网,如HTTP代理,Socket代理,就需要根据你的 代理情况进行设置。(这个功能可以穿透firewall,网管要小心啦) 两个VA之间发生通讯时,如果已经配置握手服务器,软件会自动尝试建立点对点通道。 VE不会自动为虚拟网卡分配IP,如果有这个需要,只需要在虚拟网络中找一台机器运行DHCP服务即可。如选择其中一台提供HUB的机器运行DHCP服务。 如果你的上网方式是通过 http 代理,则可能需要把将要连接的虚拟HUM的监听端口设置成443才可以

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值