还剩27页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
穿越的技术NAT基本原理NATNAT是网络地址转换Network NAT技术用于将私有网络中的IP地址Address Translation的缩写转换为公网IP地址NAT提供了安全性,通过隐藏内部网络的真实IP地址的工作过程NAT数据包到达1内部网络主机发送数据包到外部网络地址转换2NAT设备将内部主机的IP地址替换为自己的公网IP地址数据包转发3NAT设备将修改后的数据包转发到外部网络数据包返回4外部网络主机回复数据包到NAT设备地址反向转换5NAT设备根据端口信息将数据包转发到内部主机类型NAT1静态NAT2动态NAT将内部网络中的一个私有IP地将内部网络中的私有IP地址映址映射到公网上的一个固定公射到公网上的一个动态分配的有IP地址公有IP地址3网络地址端口转换NAPT将多个私有IP地址和端口映射到公网上的同一个公有IP地址的不同端口静态NAT固定映射安全可靠资源分配每个内部网络主机都与一个特定的外部IP由于IP地址固定,可有效提升安全性,并适用于需要固定外部IP地址的应用场景,地址关联,建立一对一的映射关系方便网络管理例如服务器或特定设备动态NAT地址池地址分配地址释放动态NAT使用一个预定义的IP地址池,当内部主机首次访问外部网络时,NAT设当主机不再连接到外部网络时,NAT设备用于分配给内部网络上的主机备会从地址池中分配一个可用的IP地址给会释放分配的IP地址,以便其他主机可以该主机重用它网络地址端口转换NAPT地址复用端口映射NAPT允许多个内部主机共享同一每个内部主机被分配一个唯一的个公网IP地址端口号,以便区分不同的连接请求节省IP地址NAPT是节省公网IP地址资源的一种有效手段穿越的必要性NATNAT是一种广泛使用的网络技术,它可以有效地隐藏内部网络的IP地址,提高网络安全性和资源利用率然而,在某些场景下,NAT会阻碍网络通信,例如•点对点通信当两个设备位于不同的NAT后面时,它们无法直接建立连接•P2P应用P2P应用需要直接连接,NAT会阻碍其正常工作•实时通信实时通信需要低延迟,NAT会引入额外的延迟直接连接NAT设备直接连接到NAT设备,并使用NAT设备负责将内部私有IP地址转换NAT设备的公共IP地址访问外部网络为外部公共IP地址此方法简单易行,但存在地址资源有限、安全性较低等问题中介服务器连接NAT步骤1步骤2步骤3步骤4内部网络中的客户端尝试连接客户端通过中介服务器,向外中介服务器将请求转发给外部客户端和服务器通过中介服务外部网络上的服务器,但无法部服务器发送连接请求服务器,并将响应转发回客户器建立连接,完成通信直接连接端协议原理STUNNAT检测1STUN客户端发送请求到STUN服务器地址映射2STUN服务器返回客户端的公网IP地址和端口通信路径3客户端根据获取的信息,建立与其他客户端的连接协议流程STUN客户端请求客户端向STUN服务器发送一个请求,以获取其公网IP地址和端口号服务器响应STUN服务器接收到客户端请求后,会返回一个响应,其中包含客户端的公网IP地址和端口号客户端验证客户端使用收到的信息,验证自己是否在NAT后面,并确定NAT的类型协议局限性STUN1无法穿越对称NAT2无法穿越多层NAT3依赖UDP协议对称NAT会随机分配端口,导致当网络中存在多层NAT时,STUN STUN基于UDP协议,某些NAT设STUN无法确定公网IP地址和端口无法穿透所有NAT层,无法获取公备可能不支持UDP穿透网IP地址协议原理TURN中继服务器1TURN服务器充当网络中所有参与者之间的中介,它提供了一个中继服务,允许来自NAT后面的设备进行通信连接建立2客户端首先连接到TURN服务器,然后通过服务器建立与另一个客户端的连接数据传输3所有数据都通过TURN服务器传输,它将数据转发到目标客户端协议流程TURN客户端请求1发起TURN连接请求服务器响应2分配TURN服务器地址和端口数据转发3客户端通过TURN服务器进行数据传输连接维护4TURN服务器保持连接并转发数据协议优势TURN安全性可靠性性能TURN服务器提供安全连接,保护数据传输TURN服务器可以保证数据传输可靠性,即TURN服务器可以优化数据传输速度,提高使网络状况不佳应用性能框架概述ICE协商连接ICE框架的主要功能是为两个通信ICE框架会尝试多种可能的连接方实体之间建立可靠的连接提供一式,包括直接连接、中介服务器套机制它利用了多种技术和策连接等,以找到最佳的连接路径略来克服NAT问题兼容ICE框架支持多种网络类型,包括IPv4和IPv6,并能够适应不同的网络环境框架组成部分ICE候选候选对ICE框架中,每个端点(例如,WebRTC应用程序)都包含一组称ICE框架会尝试在每个端点之间建立连接,它会通过测试候选对(为候选的IP地址和端口两个端点之间的候选组合)来识别最佳路径ICE代理控制通道在某些情况下,ICE框架可能需要使用ICE代理来帮助建立连接,ICE框架使用控制通道(通常是基于STUN/TURN协议)来协商候尤其是在穿越NAT或者防火墙时选、进行连接测试和管理连接框架工作流程ICE候选地址收集ICE框架首先收集所有可能的通信地址,包括本地IP地址、公网IP地址以及STUN和TURN服务器地址候选地址排序ICE框架根据优先级对收集到的候选地址进行排序,优先选择直接连接的地址,其次是STUN服务器地址,最后是TURN服务器地址连接尝试ICE框架按照排序后的顺序依次尝试连接候选地址,直到成功建立连接为止连接成功如果连接尝试成功,ICE框架会通知应用程序使用该连接进行通信穿透技术选型NAT1STUN2TURN适合简单的应用场景,如点对适用于复杂网络环境,提供中点通信继服务,但会增加延迟3ICE综合考虑各种因素,自动选择最优方案基于的穿透STUN NATSTUN协议用于发现公网IP地址和端通过STUN服务器建立直接连接,绕口过NAT限制适用于简单场景,但无法处理复杂NAT情况基于的穿透TURN NATTURN服务器数据转发TURN服务器充当一个中介,允许客户端绕过NAT限制进行直接客户端将数据发送到TURN服务器,服务器再将数据转发到目标通信客户端基于的穿透ICE NATICE框架候选地址连接测试ICE框架是一种用于处理NAT穿透的标准ICE框架收集各种候选地址,包括公网地址ICE框架通过连接测试来验证不同候选地址协议它通过协商最佳的传输路径,允许客、私网地址和中继服务器地址,以找到最佳之间的连通性,并选择最优的连接路径户端之间建立连接的连接路径中的穿透WebRTC NATWebRTC技术本身并没有直接解决NAT穿透问题它依赖于STUN、TURN和ICE等技术来实现跨越NAT的连接WebRTC使用ICE框架自动检测和尝试各种连接方式,包括直接连接、STUN中继和TURN中继,最终建立可靠的连接架构概述WebRTC信令媒体12用于建立和控制WebRTC连接负责音频和视频数据的采集、,包括协商媒体类型、连接参编码、传输和解码,实现实时数和传输方式音视频通话数据通道3提供除媒体之外的额外数据传输通道,用于发送控制信息或其他应用程序数据信令流程WebRTC发起连接1浏览器A发起连接请求SDP协商2交换媒体信息连接建立3建立媒体连接媒体协商流程WebRTCSDP协商1双方交换Session DescriptionProtocol SDP信息,描述自身支持的媒体类型、编码格式、分辨率等能力匹配2双方根据SDP信息匹配各自的能力,选择最佳的媒体参数组合媒体传输3最终确定媒体类型、编码格式等参数后,开始进行媒体数据的实时传输应用场景WebRTC视频通话实时协作实时视频通话,如视频会议、网多人实时协作工具,如在线白板络直播、在线教育等、共同编辑文档等游戏实时多人游戏,如在线游戏、VR/AR游戏等总结与展望NAT穿透技术是解决网络连接问题的关键技术未来,NAT穿透技术将更加智能化、自动化,为各种应用场景提供更可靠的网络连接。
个人认证
优秀文档
获得点赞 0