0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

穿越NAT的SDWAN技术实现(中)

夽谷科技组网服务 来源:夽谷科技组网服务 作者:夽谷科技组网服务 2022-10-11 12:11 次阅读

本文章内容过长,上篇请移步主页进行观看。

书接上文,我们继续来说说NAT在SDWAN中的技术实现。

STUN报文结构

STUN基于UDP传输协议报文,协议报文的封装格式如下图所示。

图STUN报文结构

pYYBAGNE5LeAJBbvAAAhdnbPw6g657.png

如下图所示,STUN消息(STUN Message)包括STUN消息头和STUN消息属性两部分。STUN消息头的长度为20字节,后面跟着零个或多个属性。

图STUN消息结构

pYYBAGNE5MOATci8AAB3V-qIyrE949.png

STUN消息头包含如下字段:

STUN Message Type:STUN消息类型,长度为14比特。当前仅支持STUN捆绑请求和STUN捆绑响应两种类型的消息。

Message Length:STUN消息长度,长度为16比特(不包括消息头长度)。

Magic Cookie:魔术字,长度为32比特。魔术字包含固定值0x2112A442,用于STUN服务器检测STUN客户端是否可以识别特定属性。此外,当STUN与其他协议使用相同的端口号时,通过魔术字可以将STUN和其他协议区分开。

Transaction ID:事务ID,长度为96比特,用于唯一标识一次STUN探测。事务ID由STUN客户端来选择。在一次STUN探测中,STUN服务器收到STUN客户端发送的STUN捆绑请求消息后,回复的STUN捆绑响应消息的事务ID与STUN捆绑请求消息的事务ID相同。同时,STUN服务器根据事务ID来唯一标识STUN客户端的不同探测请求。

STUN消息属性采用TLV(Type/Length/Value,类型/长度/值)格式,结构如图所示。其中,Type和Length字段的长度均为16比特,Value字段的长度可变。

图STUN消息属性结构

poYBAGNE5NKAFBXZAAAvleS-63Q480.png

常见的STUN消息属性包括如下几种:

CHANGE-REQUEST:捆绑请求中携带的消息属性,STUN客户端使用此属性来请求STUN服务器改变发送捆绑响应报文的IP地址、端口号。

MAPPED-ADDRESS:捆绑响应中携带的消息属性,表示经过地址转换后的STUN客户端的IP地址和端口。

XOR-MAPPED-ADDRESS:捆绑响应中携带的消息属性,表示经过地址转换后的STUN客户端的IP地址和端口。与MAPPED-ADDRESS不同的是,XOR-MAPPED-ADDRESS属性中携带的IP地址经过了异或(XOR)处理。

RESPONSE-ORIGIN:捆绑响应中携带的消息属性,表示STUN服务器发送数据的IP地址和端口。

OTHER-ADDRESS:捆绑响应中携带的消息属性,表示STUN服务器的另一个IP地址和端口号。假设STUN服务器的IP地址为Y1,替代IP地址为Y2,端口号为YP1,替代端口号为YP2。Da表示STUN客户端发送捆绑请求的目的IP地址,Dp表示STUN客户端发送捆绑请求的目的端口号。如果Da为Y1,那么OTHER-ADDRESS中的IP地址为Y2;如果Da为Y2,那么OTHER-ADDRESS中的IP地址为Y1。如果Dp为YP1,那么OTHER-ADDRESS中的端口号为YP2;如果Dp为YP2,那么OTHER-ADDRESS中的端口号为YP1。当STUN客户端要求STUN服务器使用不同的IP地址发送捆绑响应时,如果Da为Y1,则捆绑响应报文OTHER-ADDRESS中的IP地址为Y2;如果Da为Y2,则OTHER-ADDRESS中的IP地址为Y1。类似地,当STUN客户端要求STUN服务器使用不同的端口号发送捆绑响应时,如果Dp为YP1,那么OTHER-ADDRESS中的端口号为YP2;如果Dp为YP2,那么OTHER-ADDRESS中的端口号为YP1。

STUN工作机制

STUN客户端通过和STUN服务器交互STUN协议报文,探测网络中NAT设备上的NAT映射的类型和NAT过滤的方式,并根据探测结果判断NAT类型。

1.NAT映射类型探测

假设STUN服务器进行STUN探测使用的IP地址为Y1、Y2,端口号为YP1、YP2。STUN客户端的IP地址和端口号为(X,XP)。STUN进行NAT映射探测的流程如下图所示,具体步骤为:

(1)STUN客户端以Endpoint(X,XP)为源地址和源端口向STUN服务器的外网Endpoint(Y1,YP1)发送捆绑请求。STUN服务器使用Endpoint(Y1,YP1)给STUN客户端发送捆绑响应,响应内容包括:STUN客户端经过NAT映射后的外网Endpoint(X1,XP1),以及STUN服务器的另一个外网Endpoint(Y2,YP2)。

(2)STUN客户端收到STUN服务器发送的捆绑响应报文后,判断NAT映射后的Endpoint(X1,XP1)是否与内网Endpoint(X,XP)相同:

a. 如果Endpoint(X1,XP1)与Endpoint(X,XP)相同,则SUTN客户端认为不存在NAT映射。

b. 如果Endpoint(X1,XP1)与Endpoint(X,XP)不同,则STUN客户端使用第(3)步进行探测。

(3)STUN客户端以Endpoint(X,XP)向STUN服务器的外网Endpoint(Y2,YP1)发送捆绑请求。STUN服务器使用Endpoint(Y2,YP1)向STUN客户端发送捆绑响应,响应内容包括:STUN客户端经过NAT映射后的外网Endpoint(X2,XP2)。

(4)STUN客户端收到STUN服务器发送的捆绑响应报文后,判断NAT映射后的Endpoint(X2,XP2)是否与第(1)步中NAT映射后的Endpoint(X1,XP1)相同:

a. 如果Endpoint(X2,XP2)与Endpoint(X1,XP1)相同,则STUN客户认为NAT映射类型为EIM。

b. 如果Endpoint(X2,XP2)与Endpoint(X1,XP1)不同,则STUN客户端使用第(5)步进行探测。

(5)STUN客户端以Endpoint(X,XP)向STUN服务器的外网Endpoint(Y2,YP2)发送捆绑请求。STUN服务器使用Endpoint(Y2,YP2)向STUN客户端发送捆绑响应,响应内容包括:STUN客户端经过NAT映射后的外网Endpoint(X3,XP3)。

(6)STUN客户端收到STUN服务器发送的捆绑响应报文后,判断NAT映射后的Endpoint(X3,XP3)是否与第(3)步中NAT映射后的Endpoint(X2,XP2)相同:

a. 如果Endpoint(X3,XP3)与Endpoint(X2,XP2)相同,则STUN客户认为NAT映射类型为ADM。

b. 如果Endpoint(X3,XP3)与Endpoint(X2,XP2)不同,则STUN客户认为NAT映射类型为APDM。

NAT映射类型探测流程图

poYBAGNE5PCAaR6YAAEsY5Xg6qU978.png

2.NAT过滤方式探测

假设STUN服务器的IP地址为Y1,替代IP地址为Y2,端口号为YP1,替代端口号为YP2。STUN客户端的IP地址和端口号为(X,XP)。STUN进行NAT映射探测的流程如下图所示,具体步骤为:

(1)STUN客户端以Endpoint(X,XP)为源地址和源端口向STUN服务器的外网Endpoint(Y1,YP1)发送捆绑请求,请求报文中携带CHANGE-REQUEST属性,要求STUN服务器改变IP地址和端口号来发送捆绑响应。STUN服务器使用Endpoint(Y2,YP2)向STUN客户端发送捆绑响应。

(2)STUN客户端根据是否能收到响应报文进行如下判断:

a. 如果STUN客户端收到了捆绑响应报文,则STUN客户端认为NAT过滤类型为EIF。

b. 如果STUN客户端未收到捆绑响应报文,则STUN客户端使用第(3)步进行探测。

(3)STUN客户端以Endpoint(X,XP)向STUN服务器的外网Endpoint(Y1,YP1)发送捆绑请求,请求报文中携带CHANGE-REQUEST属性,要求STUN服务器改变端口号来发送捆绑响应。STUN服务器使用Endpoint(Y1,YP2)给STUN客户端发送捆绑响应。

(4)STUN客户端根据是否能收到响应报文进行如下判断:

a. 如果STUN客户端收到了捆绑响应报文,则STUN客户端认为NAT过滤类型为ADF。

b. 如果STUN客户端未收到捆绑响应报文,则STUN客户端认为NAT过滤类型为APDF。

图NAT过滤方式探测流程图

poYBAGNE5QaASicyAAEnWNrydBQ833.png

STUN客户端重传机制

STUN基于UDP传输协议报文,STUN协议报文有可能在传输过程中被丢弃。通过STUN客户端的重传机制可以提高STUN协议报文传输的可靠性。具体机制如下:

(1)STUN客户端发送捆绑请求报文后,如果在一定时间没有收到捆绑响应报文,STUN客户端会以一定的时间间隔重传捆绑请求报文。

(2) 当STUN客户端收到捆绑响应报文,或者STUN报文的重传次数达到最大,STUN客户端将停止重传。

(3) 如果STUN客户端重传STUN报文的次数达到最大后,还未收到捆绑响应报文,则STUN客户端认为捆绑请求报文传输失败,无法进行STUN探测。

(部分内容素材来源网络,侵权请联系删除)

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • NAT
    NAT
    +关注

    关注

    0

    文章

    146

    浏览量

    16285
  • sdwan
    +关注

    关注

    2

    文章

    125

    浏览量

    7263
收藏 人收藏

    评论

    相关推荐

    NAT技术为什么会对IP地址查询造成干扰

    利用价值。但是有一些技术会对IP地址查询造成干扰,今天就来聊一聊NAT技术。 ·NAT技术究竟是什么呢? 简单来说,它让局域网里的多台电脑可
    的头像 发表于 12-18 10:36 192次阅读
    <b class='flag-5'>NAT</b><b class='flag-5'>技术</b>为什么会对IP地址查询造成干扰

    Nat server技术原理和配置过程

    Nat server:指定公有地址:端口和私有地址:端口形成一对一映射关系——映射表。这也是Nat server与其他nat的区别之一,Nat server可以指定端口进行映射。
    的头像 发表于 10-10 14:38 869次阅读
    <b class='flag-5'>Nat</b> server<b class='flag-5'>技术</b>原理和配置过程

    NAT网关在自动化设备联网的应用场景

    在工业应用,由于项目中有许多自动化设备由不同供应商供应,在缺乏事先协调规划的情况下,导致项目现场设备之间会存在相同IP,导致PLC地址冲突,进而导致无法正常通信。此时,NAT设备成为解决地址冲突
    的头像 发表于 09-02 15:45 324次阅读
    <b class='flag-5'>NAT</b>网关在自动化设备联网的应用场景

    IP地址与NAT技术的结合与应用

    ,并通过NAT设备将私有IP地址转换为公网IP地址,从而实现内部网络与外部网络的通信。 在了解NAT技术之前,我们先对IP地址有一个大概的了解。根据用途和可访问性,IP地址可以划分为公
    的头像 发表于 08-28 17:30 442次阅读

    NAT设备实现内外网设备访问的优势

    内网服务器的需求愈发迫切。为实现这一目标,网络地址转换(NAT)设备成为了不可或缺的技术手段之一。本文将探讨外网用户通过NAT设备访问内网服务器方案的优势,揭示其在安全性、灵活性、成本
    的头像 发表于 08-23 13:57 487次阅读
    <b class='flag-5'>NAT</b>设备<b class='flag-5'>实现</b>内外网设备访问的优势

    工业以太网的网段隔离NAT如何实现

    的基础。但因IP冲突带来的网络问题,严重影响生产业务正常开展。 对此,物通博联提供网段隔离器(NAT网关)的解决方案,可以将PLC、HMI、CNC等设备的重复IP地址转换为不同IP地址,从而实现跨网段访问与网络隔离。它可以实现
    的头像 发表于 08-16 16:16 384次阅读
    工业以太网<b class='flag-5'>中</b>的网段隔离<b class='flag-5'>NAT</b>如何<b class='flag-5'>实现</b>

    NAT网段隔离器在工业场景的作用

    在工业网络场景,越来越多会应用到NAT技术,比如车间设备IP地址冲突、厂区之间有系统互联需求但使用了同网段、需要隐藏工业现场的IP地址、重新规划网络分配IP等。这些问题如果没有得到解决,企业
    的头像 发表于 08-05 13:30 372次阅读
    <b class='flag-5'>NAT</b>网段隔离器在工业场景的作用

    NAT技术及其应用

    网络地址转换(NAT,Network Address Translation)是一种广泛应用于现代网络技术,旨在解决IP地址短缺问题,同时增强网络的安全性和灵活性。本文将详细解释NAT
    的头像 发表于 07-09 16:43 660次阅读
    <b class='flag-5'>NAT</b><b class='flag-5'>技术</b>及其应用

    NAT网关实现工业设备网段隔离,解决IP冲突问题

    在制造业工厂,存在大量已经提前布设好的通信网络,通过实现设备联网数据采集,可以实现设备的远程监控与远程控制,从而为高效率生产带来各种智能应用。但在新设备联网时,往往会遇见IP地址段冲突
    的头像 发表于 06-20 14:11 619次阅读
    <b class='flag-5'>NAT</b>网关<b class='flag-5'>实现</b>工业设备网段隔离,解决IP冲突问题

    工业设备网络地址转换(NAT)如何实现

    网络地址转换(NAT)是一项十分重要的网络技术,它在网络通信中扮演着多重角色,不仅关乎网络安全与资源管理,更是支撑全球IP 地址分配体系的重要支柱。 NAT的核心使命是对网络数据包进行重标定,修改
    的头像 发表于 05-16 15:17 453次阅读
    工业设备网络地址转换(<b class='flag-5'>NAT</b>)如何<b class='flag-5'>实现</b>

    NAT网络地址转换和DMZ隔离是什么意思

    NAT NAT是将私有地址转换为合法IP地址的技术,通俗的讲就是将内网与内网通信时怎 么将内网私有IP地址转换为可在网络传播的合法IP地址。NAT
    的头像 发表于 04-12 13:53 538次阅读

    SDWAN技术是否会增加网络安全风险?SD-WAN如何确保网络通信的安全性?

    SDWAN技术是否会增加网络安全风险?SD-WAN如何确保网络通信的安全性? SDWAN技术的广泛应用为企业网络带来了更大的灵活性和可扩展性,但同时也带来了一些安全风险。在谈论
    的头像 发表于 03-27 16:57 1043次阅读

    sdwan云间互联方案是怎样的?sdwan如何实现多云平台互联?

    度慢、连接不稳定等问题。SDWAN通过智能路由和负载均衡技术,优化数据传输路径,提高带宽利用率,降低延迟,解决了云间互联的延迟和带宽瓶颈问题。 2、安全性隐患与数据传输风险 多个云平台之间的互联存在安全隐患和数据传输风险。未
    的头像 发表于 03-19 17:05 622次阅读

    网段隔离NAT网关的功能和作用

    随着网络的发展,越来越多设备接入到网络实现实时通信与远程访问。其中网络地址转换NAT技术发挥着重要作用。NAT可以缓解lP地址不足的问题
    的头像 发表于 03-02 14:26 1039次阅读
    网段隔离<b class='flag-5'>NAT</b>网关的功能和作用

    什么是NATNAT类型有哪些?NAT是如何工作的?NAT解决了什么问题?

    的方式来连接多个设备,而不需要为每个设备都分配一个公共IP地址。通过将源IP地址和端口号映射到公共IP地址和端口号,NAT充当了一个中间人,使得设备可以通过一个公共IP地址与外部网络进行通信。 根据不同的应用场景和实现方式,有几种常见的
    的头像 发表于 02-04 11:03 5473次阅读