NAT(IPTV项目专网之间通讯)

作者&投稿:除罗 (若有异议请与网页底部的电邮联系)
~ 【原理】
内部主机----->私有地址----->NAT----公网地址----->外部主机
就是替换IP报文头部的地址信息
Network Address Translation,网络地址转换,用来将内网地址和端口号转换成合法的公网地址和端口号,建立一个会话,与公网主机进行通信
NAT外部的主机无法主动跟位于NAT内部的主机通信,NAT内部主机想要通信,必须主动和公网的一个IP通信,路由器负责建立一个映射关系,从而实现数据的转发, 这就是NAT的工作原理。

RFC1918规定了三个保留地址段落:10.0.0.0-10.255.255.255;172.16.0.0-172.31.255.255;192.168.0.0-192.168.255.255。这三个范围分别处于A,B,C类的地址段,不向特定的用户分配,被IANA作为私有地址保留

【类别】
NAT(Network Address Translators):称为基本的NAT,这种转换的核心是地址而不是端口,基本很少见了
NAPT(Network Address/Port Translators):其实这种才是我们常说的 NAT

【实现方式】
① 静态转换(Static NAT)
将特定的公网地址和端口一对一的映射到特定的私网地址和端口,且每个私网地址都是确定的。

② 动态转换(Dynamic Nat)
将内部地址与公网地址一对一的转换,但是动态地址是从合法的地址池中动态的选择未使用的公网地址,是随机的;当用户断开连接后,再次连接,可能外部地址就会切换成了另一个

③ 端口多路复用(Port address Translation,PAT)
这也算是一种动态的,将多个内部地址转换为同一个公网地址,用不同的端口来区别不同的主机,可以分为圆锥型NAT和对称性NAT

【NAPT分类】
① 全锥NAT(Full Cone NAT)
一个私有地址(addr)映射到公网地址(addr)后,内部地址(addr)可以收到任意外部主机(host)发到所映射公网地址(addr)的数据报

② 限制性锥NAT(Restricted Cone NAT)
一个私有地址(addr)映射到公网地址(addr)后,只有当内部主机(host)先给该(任意)外部主机(host)发送数据包后,内部主机才能通过(所映射的)公网地址接收到
该(任意)外部主机 发送到 公网地址的数据包(不限端口)[外部主机从任意端口发送到公网地址的报文将会被转发到私网地址]

③ 端口限制性锥NAT(PortRestricted Cone NAT)
这种实现方式与限制性锥NAT类似,只是多了端口的限制。一个私有地址(addr)映射到公网地址(addr)后,内部主机必须先向外部主机发过数据包之后,
外部主机才能够通过对应的端口发包到达内部地址(从"哪"进从"哪"出)

④ 对称NAT (Symmetric NAT)
这种实现方式不同于以上3种,就是不属于锥NAT(Cone NAT)。当同一台内部主机使用 相同的 端口与 不同的 外部主机通信时,对称NAT会重新建立一个会话,为这个会话分配不同的端口;
只有收到报文的外部主机从其对应的端口发送回应的报文,才能被转换(从"哪"来回"哪"去)。即使内部主机使用之前用过的地址端口去连接不同外部主机(或端口)时,NAT网关也会建立新的映射关系

【优缺点】
① 完美地解决了lP地址不足的问题
② NAT不仅实现地址转换,同时还起到防火墙的作用,隐藏内部网络的拓扑结构,有效地避免来自网络外部的攻击,因为对于外部主机来说,内部主机是不可见的,
NAT 之内的 PC 联机到 Internet 上面时,他所显示的 IP 是 NAT 主机的公共 IP
③ 也对P2P这种端到端连接的应用造成了困扰

【NAT类型检测】
前提条件:有一个公网的Server并且绑定了两个公网IP(IP-1,IP-2)。这个Server做UDP监听(IP-1,Port-1),(IP-2,Port-2)并根据客户端的要求进行应答。

第一步:检测客户端是否有能力进行UDP通信以及客户端是否位于NAT后?
客户端向(IP-1,Port-1)发送UDP报文,要求服务器返回客户端的IP和Port。重复若干次,如果每次都超时,则客户端无法进行UDP通信。
如果服务器返回的客户端的IP和Port于发送UDP的localIP和Port相同,则客户端不在NAT后,否则位于NAT后

第二步:检测客户端NAT是否是Full Cone NAT?
客户端向服务器的(IP-1,Port-1)发送UDP报文,要求服务器用(IP-2,Port-2)响应客户端的请求。重复若干次,若每次都超时,则不是Full Cone NAT;否则是

第三步:检测客户端NAT是否是Symmetric NAT?
客户端向服务器(IP-1,Port-1)发送UDP报文,要求服务器返回客户端的IP和Port。客户端使用其他socket向服务器发送(IP-2,Port-2),要求服务器返回客户端的IP和Port。
如果两次返回的IP和Port有一对不一致,则为Symmetric NAT,这样的客户端无法进行UDP-P2P通信。否则为限制型NAT

第四步:检测客户端NAT是否是Restricted Cone NAT还是Port Restricted Cone NAT?
客户端向服务器(IP-1,Port-1)发送UDP报文,要求服务器用(IP-1,Port-x)发送UDP数据包响应。重复若干次,若每次都超时,则是端口限制。否则为限制型锥NAT。

【NAT穿透】
在不同NAT后面的两个客户端A和B,如果知道对方的NAT映射后的外网地址,就有可能直接发送UDP包给对方外网地址进行通讯。
但客户端不能直接获取自身的NAT外网地址,解决的办法就是引入一个服务器S来协助客户端获取自身的外网地址。
NAT的类型有多种,类型两两组合有很多种,不是每种组合都可以被穿越的,我们来分析两个典型的组合。

① 锥型VS锥型
S
A--NAT A(e)====NAT B(e)--B

B发送数据包给S询问自身地址,S把B的外网地址eB返回给B
S把B的外网地址eB发送给A
S把A的外网地址eA发送给B
A发送数据包给eB,B发送数据包给eA,建立P2P通道

② 端口限制锥型 vs 对称型

【STUN】
Simple Traversal of User Datagram Protocol Through Network Address Translators),即简单的用UDP穿透NAT,是个轻量级的协议,是基于UDP的完整的穿透NAT的解决方案
它允许位于NAT(或多重NAT)后的客户端找出自己的公网地址,
查出自己位于哪种类型的NAT之后以及NAT为某客户端的一个本地端口所绑定的Internet端端口。这些信息被用来在两个同时处于NAT路由器之后的主机之间创建UDP通信。
该协议由RFC 3489定义,RFC 5389 RFC 7350
STUN是一种Client/Server的协议,也是一种Request/Response的协议,默认端口号是3478

// 协议改变
STUN协议在RFC5389中被重新命名为Session Traversal Utilities for NAT,即NAT会话穿透效用。
在这里,NAT会话穿透效用被定位为一个用于其他解决NAT穿透问题协议的协议。它可以用于终端设备检查由NAT分配给终端的IP地址和端口号。
同时,它也被用来检查两个终端之间的连接性,好比是一种维持NAT绑定表项的保活协议

STUN本身不再是一种完整的NAT穿透解决方案,它相当于是一种NAT穿透解决方案中的工具。这是与RFC3489/STUN版本相比最重要的改变。
RFC5389与RFC3489除了名称变化外,最大的区别是支持TCP穿透。

【STUN用途】
① Interactive Connectivity Establishment(ICE)[MMUSIC-ICE],交互式连接建立
② Client-initiated connections for SIP [SIP-OUTBOUND],用于SIP的客户端初始化连接
③ NAT Behavior Discovery [BEHAVE-NAT],NAT行为发现

国内免费使用的STUN服务器
stun:stun1.l.google.com:19302
stun:stun2.l.google.com:19302
stun:stun3.l.google.com:19302
stun:stun4.l.google.com:19302
stun:23.21.150.121
stun:stun01.sipphone.com
stun:stun.ekiga.net
stun:stun.fwdnet.net
stun:stun.ideasip.com
stun:stun.iptel.org
stun:stun.rixtelecom.se
stun:stun.schlund.de
stun:stunserver.org
stun:stun.softjoys.com
stun:stun.voiparound.com
stun:stun.voipbuster.com
stun:stun.voipstunt.com
stun:stun.voxgratia.org
stun:stun.xten.com

【TURN】
RFC5766
Traversal Using Relays around NAT(TURN):Relay Extensions to Session Traversal Utilities for NAT(STUN),即使用中继穿透NAT:STUN的中继扩展
TURN与STUN的共同点都是通过修改应用层中的私网地址达到NAT穿透的效果,异同点是TURN是通过两方通讯的“中间人”方式实现穿透。
TURN协议就是用来允许主机控制中继的操作并且使用中继与对端交换数据。TURN与其他中继控制协议不同的是它能够允许一个客户端使用一个中继地址与多个对端连接。
TURN协议被设计为ICE的一部分,用于NAT穿越,虽然如此,它也可以在没有ICE的地方单独使用。

【ICE】
Interactive Connectivity Establishment(互动式连接建立),由IETF的MMUSIC工作组开发出来的,它所提供的是一种框架,使各种NAT穿透技术可以实现统一。
ICE跟STUN和TURN不一样,ICE不是一种协议,而是一个框架(Framework),它整合了STUN和TURN。

如果A想与B通信,那么其过程如下:
1)A收集所有的IP地址,并找出其中可以从STUN服务器和TURN服务器收到流量的地址;
2)A向STUN服务器发送一份地址列表,然后按照排序的地址列表向B发送启动信息,目的是实现节点间的通信;
3)B向启动信息中的每一个地址发送一条STUN请求;
4)A将第一条接收到的STUN请求的回复信息发送给B;
5)B接到STUN回复后,从中找出那些可在A和B之间实现通信的地址;
6)利用列表中的排序列最高的地址进一步的设备间通信。

ICE协议下NAT穿越的实现(STUN&TURN):


什么信息与通信技术(ICT)?它包括哪些内容?
三网融合只是ICT的一个基础和前奏,IPTV、手机电视等恐怕也仅仅是冰山一角而已。对于已经吹响转型号角的固网运营商来说,目前更多地把ICT作为一种向客户提供的服务,这种服务是IT(信息业)与CT(通信业)两种服务的结合和交融,通信业、电子信息产业、互联网、传媒业都将融合在ICT的范围内。固网运营商...

熟悉东南亚(如越南,印尼,马来西亚,新加坡)移动通讯市场和手机市场的人...
which operates a HD IPTV service platform that primarily targets high end residential complexes and multi dwelling units (MDU) in Jakarta and other affluent areas, the release read. Services included in the offer,

急急急,英语翻译。(要求没有语法错误,用简单句就行)
Along with the range of popular within Internet widespreading, people's living become more diversed.VOD is one of the favourite to people, for people can watch any program at their convenient time and can be repeated as they want to. They can watch all kinds of latest movie wi...

跪求一篇关于即时通讯系统的英文资料
Instant messaging has proven to be similar to personal computers, e-mail, and the WWW, in that its adoption for use as a business communications medium was driven primarily by individual employees using consumer software at work, rather than by formal mandate or provisioning by corporate informatio...

英语作文 课堂获得的知识量大于网络吗?
doing, in a way, comes more necessary and important than learning by watching.All in all, students are able to gain more nutrition from classes at school than ones on IPTV. It is suggested that students should be exposed to more chances and media to learn more knowledge....

给外国朋友的两封短信,有表述不太地道的地方帮忙改改。
And please send our greeting to Mr. John Sturm, President of AFF...We are very impressed by the activities(或者achievements) of Telewizij Polska in the MIPTV market. As the National Education TV Station in China, I believe we have great cooperation potential with Telewizij Polska...

跪求一篇英语口语材料
Baird gave the world's first public demonstration of a working television system that transmitted moving images with tone graduation (grayscale) on 26 January 1926 at his laboratory in London. Baird further demonstrated the world's first color television transmission on 3 July 1928.Completely ...

请问去贝尔实验室工作需要具备哪些条件?
所有职位要求能全时实习至少4-6个月(除网页设计项目)。实习必须获得导师的书面批准。欢迎登陆基础科学研究院的实习生网页,了解更多详情。 我们欢迎各地的优秀学子应聘实习职位,我们将为实习同学提供有竞争力的实习津贴,对来自外省市的同学还将提供住房津贴。 对于应聘贝尔实验室基础科学研究院(中国)的同学, 我们将在收...

MP3、MP4、MP5和Vcan区别是什么?
是指压缩格式如:mp3是mpeg3是对音频的压缩格式, 用1:10甚至1:12 的压缩率,将普通声音信息压缩,但在人耳听起来,却并没有什么失真。声音还原性好,所以现在大多音乐都是mp3格式.mp4是一种视频压缩格式,他还原性比较好。MP3音乐压缩格式的编码算法取自于MPEG-1AudioLayer3,即它是MPEG-1音频...

java.lang.reflect.InvocationTargetException: null
你好,貌似是反射对象为null了 我看不到你的代码 所以只能粗略估计可能是发射方法里面写的问题,'eyun.yiyou.service.inf.IIptvRequestService.getLogInfo(java.lang.String)接口 = new 接口实现类 (); 这样定义的?因为你说一阵好 一阵不好,所以建议用断点走走看,好和不好的时候各个属性的值...

兴山县17080838850: IPTV的工作原理 -
鄞蓉优克: IPTV叫网络交互电视,它是利用宽带互联网的基础设施,以电视机(或PC机)作为主要终端,通过互联网协议来提供包括电视节目在内的多种数字媒体服务及其增值业务. IPTV从字面上看有两层意思. 一是从接收用户体验和接收角度来说,...

兴山县17080838850: 路由器设置中的iptv是什么 -
鄞蓉优克: 可以的呀.解决方法:把路由器的wan口和其中一个lan口用网线连接,然后把从光纤出来的网线和iptv插入其他的lan口,余下的电脑插入剩下的lan口或者用wifi上网,这样iptv和网络都能用了.我的是浙江电信的光纤,分到无线路由器后一定要用拨号连接,就是每次上网都要有账号和密码的那种,直接上网时不能看iptv的,我试了很多次,从路由器连接iptv用wan分lan的办法连接绝对行不通,一定要这种方法,而且可以配一个无线网卡无线看电信的iptv,就是信号不太稳.

兴山县17080838850: IPTV主要有些什么功能(电信iptv有什么功能)
鄞蓉优克: IPTV主要功能:1、用户可以得到高质量(接近DVD水平的)数字媒体服务.2、用户可有极为广泛的自由度选择宽带IP网上各网站提供的视频节目.3、实现媒体提供者和媒体消费者的实质性互动.IPTV即交互式网络电视,是一种利用宽带网,集互联网、多媒体、通讯等技术于一体,向家庭用户提供包括数字电视在内的多种交互式服务的崭新技术.它能够很好地适应当今网络飞速发展的趋势,充分有效地利用网络资源.

兴山县17080838850: IPTV无线网络怎么连接 -
鄞蓉优克: 第一步,把自己的无线网络路由器的PPPop配置好,或者是设置好无线光猫. 第二步,把无线路由中的无线网络配置好,设置好ssid以及加密方式 第三步,在IPTV中设置无线连接为WIFI,然后输入前面设置的无线网络信息如ssid和密码

兴山县17080838850: 如何在 TP - LINK DSL 路由器设定连接埠对应以运行 IPTV -
鄞蓉优克: 按下 [Enter] . 步骤2 在登入页面输入使用者名称和密码,预设的使用者名称和密码皆为小写的 [admin] ,然后按一下 [ 确定] 登入装置. 步骤3 将PVC (VPI/VCI) 设定成桥接器模式以运行 IPTV 1. 在左侧按一下 [Quick Setup] . 2. 在方块中输入 ...

兴山县17080838850: 电信的IPTV能接电脑吗?家里有电信的IPTV接的电视,如何连接网线? -
鄞蓉优克: 问题1:电信的iptv不能接电脑上看. 问题2: 这要看你是办理的什么业务了. 如果是已经办理了宽带业务,IPTV是加装的,那么电信配的无线ADSL猫或光猫都可以分出一根网线接电脑上网; 如果是办理的单IPTV业务,那就不能够上网,只能看IPTV电视了.

兴山县17080838850: 路由桥接(IPTV拨号与设置) -
鄞蓉优克: 第一,B路由接出来连接IPTV是不可以的. 第二,IPTV只能连接到A路由,A路由需要把IPTV口绑定.或者说IPTV接口和LAN口分开的. 第三,A路由的DHCP是打开的,B路由的DHCP是关闭的. 第四,连接口情况,IPTV连接到A路由器的特定端口,A路由的LAN口接到B路由的LAN口. 其它就没有什么了!最好路由器的网关地址设置在同一个网段.

兴山县17080838850: 如何设置TPLink无线路由器使得电信IPTV可以同时上网 -
鄞蓉优克: 你好:你先按下图连接好设备 然后在不接光猫的情况下,设置无线路由器的lan口设置,把IP地址设置为192.168.3.254即可,然后再连接光猫,然后你输入192.168.3.254就可以进入无线路由器了,然后就可以对路由器进行其它项设置,进入设置向导界面,选择PPPOE拨号上网就要填上网帐号跟密码,这个应该大家都明白,开通宽带都会有帐号,填进去就可以了.希望我的回答对您有所帮助,如有疑问,欢迎继续咨询我们.

兴山县17080838850: 电信IPTV和宽带是一条电话线吗?资费有变化吗? -
鄞蓉优克: 电信的IPTV和宽带是两个业务,是从MODEm的两个接口分别连接,MODEM有3个LAN接口和ITV接口.IPTV是在宽带资费的基础上付费(各地资费情况不同,有可能免费额).如果你那里FTTH光网络开通了,就可以使用光纤极速上网了,最低8M,一般20M 可以申请100M,上网同时打游戏和看电影、电视都不担心了

兴山县17080838850: 电信iptv上网怎么使用 -
鄞蓉优克: 电信IPTV支持联网收看网络视频节目. 您可以通过iptv行的应用市场内下载相应的软件实现上网操作.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网