zl程序教程

您现在的位置是:首页 >  工具

当前栏目

P2P之UDP打洞原理、应用及框架设计

应用框架原理 设计 UDP p2p
2023-09-27 14:27:56 时间
一、NAT类型
大多数NAT可分为如下类型
cone nat:把相同的内网地址和端口始终转换为同一个外网地址和端口
如192.168.0.2:8000始终转为外网的218.52.37.243:60000,在此session的生命期内,不管目的ip地址和端口是什么,转化的外网地址都不变
symmetric:相同的内网地址和端口,在对端的地址端口不同时,转变为不同的外网地址和端口
如192.168.0.2:8000给地址A和地址B发包时,转化为不同的外网端口60000和60001,对应两个session
 
nat具有拦截不速之客的功能,从数据包进入内网受限的角度上分,cone nat又分为如下几种
1 full cone 几乎没有任何限制,任何地址都可以往转化后的外网地址发包,nat会允许数据包通过
2 restrict cone nat 只允许相同ip地址的主机发的包通过
3 port restrict cone 只允许相同ip地址,相同端口的包通过
 
symmetric nat在限制方面和port restrict cone是一致的
 
二、比较流行的nat的一些特性
 
iptables:symmetric nat,转化后的外网端口尽量为内网原端口,本端口被占用时,新分配的端口号似乎并无规律(不是累+1的)
 
windows ics/nat:对内网端口(1025-3000)的端口尽量转换为原端口,该端口被占用或者超过3000的端口时,很可能从1025开始分配端口号
简述以太坊P2P网络之UDP 个人认为以太坊是区块链项目中带来技术重新认识和学习的不错的项目,特别是在P2P网络这一块。本文将介绍P2P网络中负责节点之间的通信连接和服务发现,本文的内容主要是对代码层级的理解,可能存在对其理解的错误,欢迎指点。
1为这次的Session分配了一个端口60000,那么Server S收到的Client A的地址是200.0.0.132:60000,这就是ClientA的外网地址了。
P2P之UDP穿透NAT的原理与实现 - 增强篇 为了方便操作,推荐你使用一个远程登陆软件,可以直接在一台机器上操作所有的相关的计算机,这样很方便,一个人就可以完成所有的工作了。呵呵,本人就是这么完成的。欢迎有兴趣和经验的朋友来信批评指正,共同进步。
UDP 打洞 原理 1. NAT分类根据Stun协议(RFC3489),NAT大致分为下面四类1) Full Cone这种NAT内部的机器A连接过外网机器C后,NAT会打开一个端口.然后外网的任何发到这个打开的端口的UDP数据报都可以到达A.