stun信令

本文介绍了STUN协议的基本概念及其在NAT穿透中的作用。详细阐述了NAT类型的分类,包括全锥、受限锥和对称锥。重点讨论了STUN信令的演变,如RFC5389相对于RFC3489的变化,以及BINDING请求和响应的工作流程。此外,还详细探讨了STUN客户端的鉴权流程,包括短期和长期凭证机制。
摘要由CSDN通过智能技术生成

1. 简介

stun协议本身是用来进行NAT穿透使用,其本身实际上是NAT内部设备获取外部IP地址的一种协议。STUN协议在RFC上目前经过三种演变,其中RFC3489上定义的STUN和之后的RFC5389和8489上定义的stun在概念上存在明显区分:
RFC3489定义:Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs) (STUN)
RFC5389和RFC8489:Session Traversal Utilities for NAT (STUN)
可以看到STUN协议的英文描述本身就已经发生了变化,3489中定义的是通过UDP进行NAT穿越的方式,而在RFC5389上定义的是对于NAT穿越的一整套工具集,这个工具集不在局限于UDP而是同时适用于UDP和TCP协议。

2. NAT类型

NAT类型是在RFC3489上提出的一个概念,这个概念旨在将NAT对于内部网络和外部网络数据包的不同处理上,对NAT进行一个系统的分类。但是在RFC5389上明确说明了RFC3489对于NAT分类的类型是不准确的,在很多场景下NAT设备的行为不能吻合到任何一个类型上。
尽管如此,但是将NAT设备进行分类有助于对于NAT类型的理解,以下是典型NAT的分类:
full cone:不受限的NAT处理模式,在这种NAT模式中,来自外部网络的数据包将被无条件路由到内部网络;
Restricted cone:IP受限型NAT,会将来自内部设备相同的IP+端口的数据包,统一映射成同一个外部IP+端口进行发送。当收到外部的数据包时,如果收到数据包的IP是之前发送数据包的目标IP,则转发到内部设备,否则丢弃。
restricted port cone:在IP受限型的基础上,添加了端口的约束。
Symmetric NAT:对称型NAT,则是在端口受限型的基础上,内部设备使用相同的IP+端口向不同的外部IP+端口(IP不同或端口不同或两者均不同)发送数据包时,NAT会分配不同的公网IP+端口。

这里多说一句,RFC3489将NAT类型分成以上几种模式之后,还定义了一整套的NAT发现的信令流程,通过stun请求去发现不同的NAT模式,不过这整个NAT发现的信令流程在RFC5389上已经被完全废弃,原因就在于实际工作在网络中NAT设备的行为比定义的远远要多样化,所以去发现NAT类型的实际意义不大。

3. Stun相关信令

在RFC3489

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值