NAT在PoC中的应用

NAT技术即穿墙技术,NAT的全称为:Network Address translation,NAT旨在找出主机对外的真正IP即公网IP。PoC对NAT的应用即对会话的保持,为什么要保持会话呢,对讲的特点即是即时性,如果在讲话过程中再去连接那就谈不上即时了,所以需要对会话要进行保持,我们之前讲过基于VOIP的对讲大多使用的UDP作为传输层的协议,UDP本身是一个短链接在一定的时间内会断开,那么要进行会话的保持我们采用心跳的方式,即每间隔一段时间在原有的链接基础上发送一个数据包以维持链接。那么之前链接的端口就不会关闭。例如会话在客户端的地址为:112.34.56.67:6000 服务端的ip为234.56.77.12:5000,在链接上之后服务器会记住客户端的ip以及端口号,如果服务器需要向客户端发送数据时就会通过记住的端口和IP向服务器发送数据,如果端口没有关闭那么客户端是可以接收到这个数据的,如果客户端端口关闭了,那么客户端就接收不到这个数据了。所以需要在此链接上一直向服务器发送心跳以保持链接。那么这个心跳设置多长时间合适呢,心跳的设置时间和网络的关系非常大,一般网络设置端口关闭时间为60s,但是也有比这个更短的,那么如果由于心跳的设置时间太长而导致端口变化,会发生什么情况呢,如果端口发送变化之后发送心跳,那么服务器会记住新的端口号,并向新的端口号发送数据,那么这个时候客户端也是可以收到的。但是由于心跳时间过长,端口关闭之后服务端再发送数据那么客户端就收不到了,所以服务端向客户端发送数据依赖于心跳发送的时间。那么把心跳设置短一点会有什么影响呢,如果PoC应用是在对待机要求比较严格的设备上使用,心跳时间短那么会影响设备的待机情况甚至不待机。

你可能感兴趣的:(NAT在PoC中的应用)