了解 NAT 和 VoIP

网络工程 纳特 网络电话
2021-07-11 15:09:23

我需要一些帮助来更好地了解网络的工作方式、端口和通信。假设我们有这样的情况:

在此处输入图片说明

我们在左边有一个企业网络(我们称之为“A”),它有一个 DMZ,其中一个服务器暴露在公共互联网(公共 IP)中,在右边有另一个企业网络(我们称之为“B”)。

通常,企业网络具有对称 NAT(这不是正确的吗?)。

我的目标是创建一个视频会议应用程序,让 A 中的主机与 B 中的主机通信。

说到VoIP,在10.10.0.0安装一个VoIP代理服务器(例如Asterisk)让主机通信就够了吗?我会为入站和出站流量打开 10.10.0.0 所需的端口。我需要转向还是眩晕?我希望我已经足够清楚了,但情况对我来说不清楚,所以以防万一帮助我更好地解释。

3个回答

如果对等方“B”首先发送请求以启动会话,则在您的情况下不需要 STUN/TURN,因为该请求将被 DMZ 服务器直接转发到对等方“A”,并且不会被 NAT 防火墙阻止。

  • 但是,如果对等方“A”想要启动会话并将请求发送到对等方“B”,那么请求将被阻止,因为对等方“B”在 NAT 之后,并且对等方“B”没有可转发传入的 DMZ 服务器对等方“A”到对等方“B”的请求。对于这个 TURN 服务器将是必需的,因为它是对称 NAT。

了解更多 STUN/TURN 服务器如何工作:了解 WEBRTC 媒体连接 — ICE、STUN 和 TURN

首先让我们澄清一些误解。公司网络不一定使用 NAT。如果他们确实使用 NAT,则不一定是对称 NAT。有许多不同的公司网络设计。许多公司拥有大量公共地址,用于面向公共 Internet 的服务。一些公司使用 MPLS VPN 之类的东西来连接公司内的站点或其他合作伙伴企业。

您使用的 VoIP 应用程序和服务器类型需要与网络设计配合使用,并且有许多网络设计。这是一个太大的主题,无法在这里讨论。

您可能需要也可能不需要 TURN 或 STUN。这取决于所使用的 VoIP 应用程序和网络设计。

在您的示例图中,一个很可能的情况是 A 和 B 将在公共 Internet 上建立 VPN,以允许 VoIP 之类的东西无缝通信。对于同一公司内的站点尤其如此。如果这是两家独立的公司,则更有可能每个公司都通过 SIP 干线将 VoIP 连接到公共电话系统,并以这种方式将呼叫连接到另一家公司。一些公司需要更紧密的联系,他们将使用 VPN 来提供跨公共 Internet 的连接。

除非您在站点/公司之间创建 VPN,否则您将需要一些具有 STUN/TURN 功能的边缘网关。看看WebRTC他们有一个非常好的介绍性网站,其中包含示例和实验室。