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

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介:
一、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开始分配端口号
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
相关文章
|
安全 网络协议 Java
Thread类的用法 && 线程安全 && 多线程代码案例 && 文件操作和 IO && 网络原理初识 &&UDP socket
Thread类的用法 && 线程安全 && 多线程代码案例 && 文件操作和 IO && 网络原理初识 &&UDP socket
76 0
|
3月前
|
JavaScript 安全 Java
谈谈UDP、HTTP、SSL、TLS协议在java中的实际应用
下面我将详细介绍UDP、HTTP、SSL、TLS协议及其工作原理,并提供Java代码示例(由于Deno是一个基于Node.js的运行时,Java代码无法直接在Deno中运行,但可以通过理解Java示例来类比Deno中的实现)。
93 1
|
4月前
|
网络协议
UDP协议在网络通信中的独特应用与优势
UDP(用户数据报协议)作为关键的传输层协议,在网络通信中展现出独特优势。本文探讨UDP的无连接性及低开销特性,使其在实时性要求高的场景如视频流、在线游戏中表现优异;其不保证可靠交付的特性赋予应用程序自定义传输策略的灵活性;面向报文的高效处理能力及短小的包头设计进一步提升了数据传输效率。总之,UDP适用于高速、实时性强且对可靠性要求不高的应用场景,为网络通信提供了多样化的选择。
|
8月前
|
网络协议 安全 程序员
网络原理-UDP/TCP详解
网络原理-UDP/TCP详解
网络原理-UDP/TCP详解
|
7月前
|
XML JSON 算法
网络原理(1)——UDP协议
网络原理(1)——UDP协议
104 0
|
8月前
|
网络协议 网络架构
LabVIEW在TCPIP和UDP中的应用
LabVIEW在TCPIP和UDP中的应用
196 0
|
8月前
|
网络协议 视频直播 开发者
UDP的特点及应用场景
UDP的特点及应用场景
|
8月前
|
网络协议 前端开发 JavaScript
TCP与UDP的区别:深入探索与应用案例
TCP与UDP的区别:深入探索与应用案例
64 2
|
8月前
|
XML 存储 JSON
网络原理之UDP协议
网络原理之UDP协议
|
存储 缓存 负载均衡
TCP、UDP原理、DNS协议、CDN原理
TCP、UDP原理、DNS协议、CDN原理
465 0