UPPC系统NAT穿透技术

作者出处不详

1.介绍

由于安全方面的考虑和IPv4地址数量的限制,现实中的Internet中存在大量NAT和防火墙设备。这些设备的存在严重阻碍了点对点多媒体通讯。UPPC采用类似于TURN (Traversal Using Relay NAT)的架构实现NAT/FW穿透,具有智能高效和穿透能力强,可穿透任意层NAT,无须改动网关设备配置等优点。UPPC的信令和媒体传输都是基于UDP协议,所以下文不讨论TCP的穿透NAT防火墙技术,下面先介绍防火墙和NAT对于多媒体通讯阻碍的基本情况。

2.防火墙NAT介绍

防火墙主要用于限制特定类型或特定方向通讯,从而保护内网不受来自外部攻击。主要限制包括:

1.只允许TCPUDP通讯

2.禁用部分端口或只开放部分端口

由于TCP协议的高延迟特性,交互式多媒体通讯基本都采用基于UDP的媒体传输协议。对于只允许TCP的防火墙,UPPCNAT/FW方案也无法穿透。

NAT则有四类,下面简单描述一个场景,然后说明四种NAT的原理。假设一个网络如下:

1A机器在内网

2NAT

3BC机器在公网

 

1Full Cone:当AB通讯过后,NATA打开一个公网端口,C随后就可以通过访问这个公网端口与A通讯。

2Restricted ConeC无法通过A访问BNAT打开的公网端口与A通讯,NAT只允许B通过这个端口与A通讯,NAT限制外网机器的IP地址

3Port Restricted ConeB只能使用当初A访问B时的端口与A通讯,NAT限制外网机器的IPPort对。

4Symmetric:以上三种通称ConeNAT,特征就是NAT打开的外网端口和内网机器IPPort是一一对应的,只要是从同一个内部地址和端口出来的包,NAT都将它转换成同一个外部地址和端口。但是Symmetric不同,具体表现在:只要是从同一个内部地址和端口出来,且到同一个外部目标地址和端口,则NAT也都将它转换成同一个外部地址和端口。但如果从同一个内部地址和端口出来,是到另一个外部目标地址和端口,则NAT将使用不同的映射,转换成不同的端口。Symmetric的公网地址取决于完整通讯的五元组。

目前NAT/FW穿透方案如ALG, STUN等主要用于Cone型通讯,对于Symmetric无能为力,UPPC采用类似与TURN的方案,当通讯双方都在不同Symmetric NAT后时,利用一个公网上的Relay Service (具体就是UC Distribution Service)转发,其他情况使用反向连接,也就是发送和接受使用同一个端口解决穿透问题。

 

3 UPPC防火墙原理

3.1 信令

UPPC主要组件有UCSNSuper Node,UCDS (Distribution Service), Web Phone客户端构成。其中Web Phone的信令和媒体流都使用Symmetric Connection与外界通讯,Web Phone启动后首先尝试登录UCSNUCSN通过比较收到的地址与信令中的地址确定Web Phone是否在NAT后面,如果是的话,通知该客户端启动Keep Alive任务,通过周期性的主动Ping UCSN的信令端口,从而保持同一端口打开,当呼叫接入时,UCSN通过Keep Alive的信道将信令发给NAT后的客户端。

 

 

 

3.2 媒体

Web Phone A需要与外界Web Phone B建立媒体连接时,UCSN根据双方的NAT情况决定其通讯方式:

A.当A, B都在公网时,双方直接建立媒体通讯。

B.当A, B有一方在NAT后时,UCSNNAT后的一方主动向公网上的一方发起反向连接,然后公网上的B在通过这个通道与A通讯。

C. A, B在同一个NAT后面是,双方直接建立媒体通讯

D. A, B 在不同的 NAT 后时, UCSN 通知 UCDS 打开若干个端口 ( 一个媒体类型一个通道 ) ,然后告诉 A, B 直接与 UCDS 的指定端口通讯, UCDS 将从不同地址收到的媒体包互相转发,完成媒体中继。 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PC没有虚拟机NAT网卡,可能是由于以下几个原因: 首先,可能是虚拟机软件没有正确安装或配置。虚拟机软件通常提供了多种类型的网络适配器,例如桥接模式、NAT模式和主机模式等。如果未选择或配置NAT模式,那么PC上的虚拟机就没有NAT网卡。 其次,虚拟机软件所在的PC可能没有安装相应的网络驱动程序。NAT模式依赖于PC的网络连接和驱动程序,如果驱动程序没有正确安装或者有故障,那么虚拟机就无法使用NAT模式。 第三,可能是PC上的防火墙或安全软件阻止了虚拟机使用NAT模式。有些防火墙或安全软件会对虚拟机的网络连接进行限制,导致无法使用NAT模式。 最后,虚拟机软件版本较老或不兼容PC的操作系统也可能导致无法使用NAT模式。虚拟机软件通常会不断更新以提供更好的兼容性和性能,所以如果使用较旧的版本可能会导致一些功能无法正常使用。 解决这个问题可以尝试以下几个方法: 1. 检查虚拟机软件的设置,确认已选择并配置了NAT模式。 2. 确保PC上的网络驱动程序已正确安装并正常工作。 3. 检查PC上的防火墙和安全软件设置,将虚拟机软件添加到信任列表中,或禁用防火墙和安全软件进行测试。 4. 更新虚拟机软件到最新版本,并确保兼容PC的操作系统。 通过以上这些解决方法,应该能够使PC上的虚拟机正常使用NAT模式,并实现与外部网络的连接。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值