前言:音视频通讯的软件开发中降低服务器带宽的方式就是通过STUN服务器直接P2P,而P2P有时会失败,此文解释其原因。
(0)NAT
- 广为人知,IPV4只有32位,顶天只有40多亿的地址分配,加之有些地址不能用,就不能为每个用户分配公网IP地址了,于是就有了NAT(Network address translation)技术,通过路由器,形成公网端口与内网ip端口的一一映射。
- P2P技术就是用一个STUN服务器让两个内网的服务器知道对方的公网地址与端口号码,之后两个客户端直接通过对方的公网IP与端口通过UDP交换信息。
- 但现实残酷,很多NAT路由器为了安全推出了不同连接与接收方法。
(1)4种NAT方法
- Full Cone NAT (全锥型)
发送出去时(本地端口-路由器公网端口)一一映射,接收时不会有任何限制; - Address-Restricted Cone NAT (IP限制锥型)
发送出去时(本地端口-路由器公网端口)一一映射,接收时限制只有发送过的IP才可以发送过来; - Port-Restricted Cone NAT (端口限制锥型)
发送出去时(本地端口-路由器公网端口)一一映射,接收时限制只有发送过的IP和端口号才可以发送过来; - Symmetric NAT (对称型)
发送出去时(本地端口与公网IP与公网对应端口-路由器公网端口)一一映射,接收时非对应IP与端口拒绝转发;
(2)P2P失败的组合
| Client 1 | Client 2 |
|---|---|
| 对称型 | 对称型 |
| 对称型 | 端口限制锥型 |
本文探讨了在音视频通讯软件开发中,如何通过STUN服务器实现P2P通信以降低服务器带宽。介绍了NAT(网络地址转换)技术的背景和四种类型:全锥型、IP限制锥型、端口限制锥型和对称型。针对不同的NAT类型,分析了P2P通信可能失败的原因,特别是对称型NAT和端口限制锥型NAT之间的通信障碍。
685

被折叠的 条评论
为什么被折叠?



