turn和stun服务器是什么
-
Turn服务器和Stun服务器是网络通信中常见的两种服务器类型。
-
Turn服务器(Traversal Using Relays around NAT)是一种用于处理网络穿透的服务器。在网络通信中,当两个设备位于不同的私有网络(如家庭网络、公司网络等)中时,它们无法直接通信,需要通过公共网络进行中转。而Turn服务器就提供了这种中转功能,允许设备通过转发数据将通信建立起来。它的主要功能是在设备之间建立UDP或TCP连接,并在必要时通过服务器进行中继。
-
Stun服务器(Session Traversal Utilities for NAT)则是一种用于实现NAT穿越的服务器。NAT(Network Address Translation)是一种网络协议,用于解决IPv4地址不足的问题,它将私有网络中的IP地址映射到公共网络中。然而,由于NAT的存在,两个设备在不同的NAT后面时,无法直接通信。Stun服务器通过提供设备的IP地址和端口信息,帮助设备寻找NAT的映射关系,以实现网络穿透,使设备能够建立直接通信。
总之,Turn服务器和Stun服务器都是用于解决网络通信中设备间隔绝的问题,通过提供中转和穿透功能,使设备能够建立直接的连接,实现数据的传输。它们在实时通信、视频通话、文件传输等场景中广泛应用。
1年前 -
-
Turn服务器和STUN服务器是用于实现实时通信(Real-time Communication, RTC)的服务器。
-
TURN服务器(Traversal Using Relays around NAT):在网络通信中,当两个设备位于不同的NAT(Network Address Translation)网络后面时,它们之间无法直接建立点对点连接。这时,需要通过一个位于公网上的中继服务器来中转数据。TURN服务器即充当这个中继的作用,它接收来自内部网络的数据并将其转发给外部设备,从而实现跨NAT网络的通讯。常见的TURN服务器有coturn和Janus等。
-
STUN服务器(Session Traversal Utilities for NAT):在RTC中,STUN服务器用于帮助确定设备的公网IP地址和端口号,以及判断设备是否位于NAT网络后面。当设备需要通过NAT跨越网络时,它可以向STUN服务器发送请求,从而获取到自己的公网IP地址和端口号。常见的STUN服务器有stun:stun.l.google.com:19302和stun:stun.stunprotocol.org等。
-
实时通信:实时通信是指在网络连接下,设备之间能够即时地传输和接收数据。常见的实时通信场景包括音视频通话、实时消息传递、在线游戏等。TURN服务器和STUN服务器是实现实时通信的重要组成部分,它们解决了NAT带来的障碍,使得设备能够安全、稳定地进行实时通信。
-
中继功能:TURN服务器拥有中继功能,即将数据从内部网络转发到外部网络。当两个设备无法直接建立点对点连接时,它们可以通过TURN服务器进行中转。TURN服务器负责接收设备发送的数据包,并将其转发给目标设备,实现两个设备之间的通信。
-
公网IP地址获取:STUN服务器可以帮助设备获取到自己的公网IP地址和端口号。当设备处于NAT网络后面时,它的真实IP地址被NAT所隐藏,STUN服务器通过STUN协议的机制,帮助设备获得自己的公网IP地址和端口号,以便设备能够与其他设备进行直接通信。这对实现点对点连接非常重要。
1年前 -
-
转发服务器(TURN)和会话遍历实用性网络(STUN)服务器都是用于实现实时通信的服务器。
-
转发服务器(TURN):
转发服务器在实时通信中用于帮助解决NAT穿越的问题。当两台设备之间进行实时通信时,中间可能存在网络地址转换(NAT)设备,这会导致无法直接建立连接。转发服务器的作用是在设备之间建立一个中继,以便数据可以通过服务器进行转发。当设备无法直接建立连接时,它们可以将数据发送到转发服务器,然后由转发服务器将数据转发给目标设备。转发服务器需要存储和转发大量数据,因此需要具备较高的带宽和处理能力。 -
会话遍历实用性网络(STUN)服务器:
STUN服务器用于帮助设备确定其在网络中的外部IP地址和端口。当设备位于NAT后面时,它们的IP地址和端口可能会被NAT修改。STUN服务器会返回设备在网络中的外部IP地址和端口,从而帮助设备建立对外连接。STUN服务器的主要功能是对设备进行网络地址穿越测试,它会在设备之间建立一个虚拟连接,然后测试是否能够成功收发数据。STUN服务器使用的是UDP协议,因此可以实时地检测设备的网络状态。
操作流程如下:
- TURN服务器:
- 设备A无法直接连接到设备B,因为它们之间有一个NAT设备。
- 设备A向TURN服务器发送连接请求。
- TURN服务器为设备A分配一个临时的公网IP地址和端口,并保存设备A的信息。
- 设备B也向TURN服务器发送连接请求。
- TURN服务器为设备B分配一个临时的公网IP地址和端口,并保存设备B的信息。
- 设备A将要发送的数据发送到TURN服务器,并指示要发送给设备B。
- TURN服务器将设备A的数据转发给设备B。
- 设备B可以接收到设备A发送的数据。
- STUN服务器:
- 设备A向STUN服务器发送连接请求。
- STUN服务器返回设备A的外部IP地址和端口。
- 设备B也向STUN服务器发送连接请求。
- STUN服务器返回设备B的外部IP地址和端口。
- 设备A使用设备B的外部IP地址和端口尝试连接设备B。
- 设备B使用设备A的外部IP地址和端口尝试连接设备A。
- 如果连接成功,则设备A和设备B可以进行实时通信。
综上所述,TURN服务器和STUN服务器都是为了帮助实现实时通信而存在的服务器。TURN服务器用于解决NAT穿越的问题,提供数据的转发功能;STUN服务器用于确定设备的外部IP地址和端口,帮助设备建立对外连接。
1年前 -