论文部分内容阅读
随着计算机网络和通信技术的迅猛发展,小型企业和家庭网络成了通信领域的新热点,这一类网络规模虽“小”却“大有可为”。多媒体通信现在成为通信领域中的重要工作,但是在防火墙下的多媒体通信存在不能进入内部网络的问题。如何实现小型企业和家庭网络中多媒体通讯穿越防火墙/NAT设备是其中的一个关键所在。 由微软提出的UPnP(通用即插即用)协议正是为实现小型企业和家庭网络中智能设备间的互联互控而提供的一种简捷高效、易于使用、灵活且基于标准的方式。UPnP是一个基于TCP/IP协议的开放标准,它独立于底层网络架构,提供了极大的组网灵活性,并且可以无缝融入现有网络。为解决多媒体通讯存在的问题,本文从结合UPnP提供的设备发现和控制机制,以及端口映射机制等方面进行了系统的研究。 本文首先深入分析了UPnP协议工作原理,在Linux上实现了该协议。其中利用UPnP为开放源代码的优点,做了针对目标平台的修改,在很大程度上提高了开发的质量和效率。其次提出了针对小型企业和家庭网络应用场景的基于IP的多媒体通信穿越FW/NAT解决方案,该方案利用了UPnP架构提供的设备发现和控制机制,以及端口映射机制,实现简便,普适性强且无需用户干预。最后设计实现了一个网关设备程序UPnP IGD,完成了目标平台对UPnP协议的支持,实现了本文提出的FW/NAT穿越解决方案。UPnP IGD被设计作为系统中一个独立模块存在,这保证了和系统原有模块的低耦合度,提高了系统的可扩展性和可维护性,同时也降低了开发难度;另外,为了保证程序的处理效率,UPnP IGD的设计实现中采用了多线程技术和回调机制。最后根据开发中的经验,总结出了UPnP设备的编写框架,这对于实现其他类型的UPnP设备具有很大的参考价值。