论文部分内容阅读
为了保证私有网络的安全,大量企业都会在网络出口处设置防火墙/NAT。如果处于防火墙后的SIP终端需要与公网上的终端或其他私网内的终端进行多媒体通信,就必须解决防火墙/NAT设备的穿越问题,具体应解决以下几个方面:⒈NAT映射问题。现在有很多解决NAT映射的方法,如STUN、TURN、ICE等,但是他们都是单纯的解决NAT问题,不能实现防火墙/NAT的完全穿越。⒉防火墙的限制策略。防火墙会制定很多安全策略,例如,只允许建立TCP连接,或者限制内部主机的外出端口或者只开放HTTP 80端口等。然而,SIP建立多媒体通信采用的是任意分配的动态随机端口,如前所述的许多安全策略,将使得SIP通信过程中的信令和媒体数据无法顺利穿过防火墙实现通信。目前,业界已经提出一些方案用来解决多媒体通信过程中的防火墙穿越问题,但是这些方案都有各自的缺点,有的只适用于某一类型的防火墙设备,有的则需要对防火墙设备进行升级改造。所以,一种更加通用的、对防火墙设备改造更少的解决方案成为迫切需要。本文以此为背景,提出了一种基于HTTP协议的隧道穿越方案—Http Tunnel,该方案无需对防火墙进行任何改造,而且具有通用性强,易于在网络中实施等优点。论文的工作主要包括以下几个方面:⒈深入分析了当前主要的穿越防火墙/NAT的解决方案,并借鉴其中某些方案的优点,提出了Http Tunnel穿越方案。该方案结合HTTP协议和隧道技术,也就是利用HTTP协议作为隧道协议,将SIP信令和媒体数据重新封装成HTTP格式的数据穿过防火墙进行传输。⒉详细设计了Http Tunnel系统中的两个主要模块Tunnel Client和Tunnel Server的功能,包括隧道控制功能以及数据包的拆封功能等。并通过实际的例子详细阐述了Tunnel Client和Tunnel Server的主要行为及原理,辅助信令包的修改过程予以更加清楚的说明。⒊在前面设计的基础上,实现了系统的的编码调试工作。并且对于模块中的一些关键方法的实现,像信令的收发线程、媒体流的收发线程等,均通过流程图进行了详细、整体的阐述。⒋最后通过基于隧道穿越方案的两个测试实例,在整体性能上对该方案做出了评价,并且对未来的工作做出了展望。