多进程单线程多端口TCPUDP三层协议转发
Posted qianbo_insist
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多进程单线程多端口TCPUDP三层协议转发相关的知识,希望对你有一定的参考价值。
端口转发
1、需要端口转发的场合不胜枚举。既要适应windows server,也要适应linux server,场景如下所示
a)目标网络不好
b)目标机器在内网
c)不能直接连接目标端口
d)目标机器不能直接出网等场景
2、程序使用多进程方式,每个进程一个线程,在一定时间间隔之内使用启动一个临时temp线程检查并释放端口。
软件方面有多种程序需要转发:
1 外网程序需要和内网进行通信
2 内网直接转发到外网,并且进行进程端口均衡负载。
对于UDP来说,没有session,涉及的技术较为底层,对于tcp来说,如果我们需要对象原始地址的信息,则需要修改地址,如果在nat里面,也是没有必要的,出去的地址一般都是IP层地址。所以大部分软件层面的转发在tcp传输协议这一层,则没有必要改IP,实际上是四层传输层的转发。
传递参数
使用传递参数端口的方式让UDP侦听数据。多端口则启动多进程模式。
好处不言而喻,清晰透明,进程隔离。
端口方式
1 对于进来的每个IP,使用不同的IP和不同的端口进行发送,对于数据IP包,需要修改二层协议IP地址,端口,这样,需要修改IP包校验,这个需要耐心做好底层。
2 对于进来的每个IP,使用相同的本地IP和不同的端口进行发送,
3 七层应用层数据转发,不涉及IP协议。
产品模式
1 使用软件模式提供
2 使用树莓派进行特定端口转发,必要可以使用多个。
优点
1、相比于p2p的方式来说,端口转发目标清晰,成功概率比p2p要稳定
2、比起自己写程序进行通信来说,端口转发更为简单,实用,更适应各个程序,透明化,无需内外网程序担心逻辑性问题
以上是关于多进程单线程多端口TCPUDP三层协议转发的主要内容,如果未能解决你的问题,请参考以下文章