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应用是在对待机要求比较严格的设备上使用,心跳时间短那么会影响设备的待机情况甚至不待机。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Teredo 原理概述 http://www.ipv6bbs.cn/thread-144-1-1.html (出处...
    我是叶问小盆友阅读 6,612评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,301评论 19 139
  •   本文简要的分析了长连接产生的背景以及所解决的问题,并对比了keep-alive与心跳机制对长连接保活的影响,最...
    曹丰斌阅读 13,006评论 1 20
  • 计算机网络概述 网络编程的实质就是两个(或多个)设备(例如计算机)之间的数据传输。 按照计算机网络的定义,通过一定...
    蛋炒饭_By阅读 4,991评论 0 10
  • 对于小孩子的表扬、夸奖,好像做起来很方便,但是对于大孩子的表扬和夸奖,如果使用不当,就会让孩子觉得虚伪,觉...
    立春暖阳阅读 3,030评论 5 19