摘 要:为解决内网SIP话机能够与NAT后的SIP话机进行通讯,本文提出了一种利用STUN协议实现NAT穿透的解决方案。本方案中STUN客户端在注册STUN服务器后,利用STUN协议修改SIP协议中的IP地址和端口号,避免SIP协议数据包在通过NAT时,SIP消息中的地址和端口被阻隔,从而能进行正常的呼叫。此次方案的设计能够有效的解决企业的SIP话机在NAT两侧的呼叫问题。31239 毕业论文关键词:SIP话机;STUN协议;网络地址转换
Using the STUN Protocol to Imply the Exploration and Research of NAT Penetration
Abstract: The article presented a solution using the STUN protocol to achieve ANT penetration to enable the network SIP phone to communicate with the SIP phone after network address translation. The STUN client which was registered after the STUN server in this scheme, used the STUN protocol to modify the IP address and port number of SIP protocol, and avoided the address and port in the SIP message to be cut off when the SIP protocol packets came through NAT, thus being able to call out normaly. The design could effectively resolve the problem of the enterprise NAT call on either side of the SIP phone.
Key words: SIP phone;STUN;NAT
目 录
摘 要 1
引言 1
1.研究的背景和意义 2
1.1 背景 2
1.2 意义 2
2.相关技术介绍 2
2.1 NAT的工作原理和类型 2
2.2 STUN协议 3
2.3 SIP相关协议 3
2.4 RTP/RTCP 4
3.STUN的设计基础与部署 4
3.1 STUN的设计基础 4
3.2 STUN服务器和客户端的部署 5
4.NAT服务器搭建和类型的判定 6
4.1 NAT服务器的搭建 6
4.2 NAT类型的判定 6
5.用SIP话机检测STUN对NAT的穿透 8
5.1 SIP话机环境部署的配置 8
5.2 SIP话机的相互呼叫通信 9
6.总结与展望 10
6.1 总结 10
6.2 展望 10
参考文献 11
致谢 12
利用STUN协议实现NAT穿透的探索与研究
引言
随着当今社会网络的普及,依附于网络而产生的通话设备也在增多,诸如SIP话机的产生,很好的应用了网络条件。它使两者的通话不再局限于电话网络,而采用宽带网,通讯双方都采用IP地址的形式,在宽带网中进行会话的传输。由于SIP话机在市场上越来越多的使用,对SIP话机的会话在网络中传输的研究也成为当下的热门课题。SIP话机可以在没有NAT的情形下自由的进行通话,而当存在NAT时,则需要采用一系列的机制才能让两端的SIP话机进行正常的通话。而这些能够实现NAT两端的SIP话机进行通话的机制也就是NAT的穿透。实现NAT穿透的问题也变得具有实际性的应用价值。
1.研究的背景和意义
1.1 背景
STUN协议能让客户端发现它和外网之间是否存在有NAT,它能判断出NAT是何种类型,还能获取到NAT上的端口号和公网IP地址,实现NAT的可穿越性[1]。SIP协议使用UDP在网络中视频数据和音频的传输,由于IP话机通信的两端往往是在NAT之后,因此用直接注册的方法是无法进行通话连接的,这也是STUN发挥作用的地方。STUN协议的好处在于可以使现有的NAT不需要做任何修改,还可以应用在多NAT串联的网络环境之中。STUN是如何进行NAT穿透是本文需要解决的一项问题,同时SIP话机在进行通话时,会话信息UDP报文内容修改也是研究的对象。
1.2 意义