580 likes | 707 Vues
ViewPoint8000 视讯系统 - 公私网穿越技术. H323 技术简介 防火墙及 NAT 设备简介 公私网穿越的技术现状 ViewPoint 视讯系统解决方案 常见问题及实例. H.323 协议概述(基本协议). H.323 协议描述了在不提供 QoS 的基于包交换的网络( PBN , Packet Based Networks )上提供多媒体通信服务(包括实时的音频、数据通信等)的协议和设备。 H.323 协议实际上是一个框架,它包含了相关的一系列协议.
E N D
ViewPoint8000 视讯系统 -公私网穿越技术
H323技术简介 防火墙及NAT设备简介 公私网穿越的技术现状 ViewPoint视讯系统解决方案 常见问题及实例
H.323协议概述(基本协议) • H.323协议描述了在不提供QoS的基于包交换的网络(PBN,Packet Based Networks)上提供多媒体通信服务(包括实时的音频、数据通信等)的协议和设备。H.323协议实际上是一个框架,它包含了相关的一系列协议 • H.225.0 RAS与呼叫建立(主要包括RAS和Q.931两大部分内容) • H.245 呼叫和会议控制 • H.246 窄带宽带协议转换 • H.235 安全性 • H.239 多流 • H.241 H.264在H.323中使用 • H.450.x 呼叫补充业务 • H.460.x 呼叫补充业务(通过GEF进行扩展) • H.350.x 目录服务 • H.5xx H.323结点移动 • H.248 媒体网关控制 • H.281/2/3 远端摄像机控制 • H.341 网管 • RTP/RTCP 实时传输协议/实时传输控制协议 • 其它...
H.323 Multimedia Applications, User Interface Data Applications Media Control Terminal Control and Management H.225.0 Call Signaling H.245 V.150 T.120 T.38 RTCP H.225.0 RAS Audio G.711 G.723.1 G.729 .. Video H.261 H.263 H.264 .. RTP UDP TCP TCP/UDP UDP TCP/UDP TCP UDP IP H.323协议概述(承载协议)
H.323协议概述-H.225协议 H.225.0是一个框架协议,遵循H.323标准,包含了RAS和Q.931两部分,描述了为在分组网络上的H.323设备之间传送音频、视频、数据和控制信息而进行关联、编码及分组的方法。 H.225.0把RTP/RTCP用于所有下层分组网络媒体流的分组和同步,H.225.0假定了一个初始信令是建立在非RTP传输地址之上的呼叫模型,并把此呼叫模型用于呼叫建立和能力协商(见H.323和H.245),这之后将建立一个或多个RTP/RTCP连接。 H.225.0包含RTP/RTCP的详细使用方法。。
H.323协议概述-H.225协议(RAS) RAS是端点(终端或网关)和GK之间的协议。利用H.225.0消息来执行在端点和GK之间的注册、接入、带宽改变、状态、以及脱离过程。RAS的主要功能包括: GK发现:用于端点寻找要注册的GK; 端点注册:向GK注册,登记传输地址和别名地址; 地址解析:解析别名地址和传输地址; 接入控制和带宽管理:传递接入控制、带宽管理、状态以及退出消息。
H.323协议概述-H.225协议(RAS) 1)Endpoint Registration 用于端点向GK注册其自身信息,主要是别名和呼叫控制信道运输层地址。包括注销过程。
Endpoint Location GK Endpoint GK GK LRQ LRQ LCF/LRJ LCF/LRJ H.323协议概述-H.225协议(RAS) 2)Endpoint Location 用于端点或者GK向相应的GK询问某一端点呼叫控制信道的运输层地址。 LRQ消息发送地址可以是欲查询端点归属GK的RAS地址。 端点在其上登记的GK收到LRQ消息后应回送LCF消息,其中应包含该端点或该GK的呼叫信令信道传输层地址。 端点未在其上登记的GK收到LRQ消息,应回送LRJ消息。
H.323协议概述-H.225协议(RAS) 3)call admission/call disengagement 呼叫接纳:呼叫过程的第一步操作,询问GK是否允许该呼叫发起。 呼叫退出:呼叫结束后通知GK,该端点已退出呼叫(回复空闲)。 ARQ/ACF、DRQ/DCF是整个呼叫控制过程第一和最后一对消息,分别标志呼叫开始和结束
H.323协议概述-H.225协议(RAS) 4)Band Management 支持端点在呼叫过程中提出带宽改变要求,由GK作决定。也可由Gk发起请求,如果要求端点降低带宽,端点必须服从;如果增加带宽,由端点自行决定
H.323协议概述-H.225协议(RAS) 5)Status Inquiry 状态查询主要用于GK监视端点状态,如是否关机、出故障等。 状态监视有两种实现方式: 轮询方式:GK周期发送IRQ,轮询周期大于10S。 报告方式:端点主动周期性向GK发IRR消息,端点是否主动上报及报告频度ACF消息指明 Status Inquiry Endpoint GK IRQ IRR IACK/INACK
H.323协议概述-H.225协议(Q.931) Q.931呼叫信令是H.225.0中用于在两个H.323端点之间建立呼叫连接的控制信令。当整个网络中有GK时,其初始接入消息在主叫端点与GK之间利用GK的RAS信道传输地址进行交换。在初始接入消息交换时,GK在ACF 消息中指示了其它端点的呼叫信令传输地址。主叫端口根据此地址与其它端口建立呼叫。 呼叫信令主要包括: Setup:向另一个实体发起呼叫 Alerting:被叫震铃 Connect:被叫应答 ReleaseComplete:断开呼叫
H.323协议概述-H.225协议(Q.931) 1)端点1(主叫端点)发起与关守的ARQ(1)/ACF(2) 交换。 2)关守在ACF中返回端点2的呼叫信令信道传输地址。 3)端点1随后向使用该传输地址的端点2发送Setup(3)消息。 4)如果端点2希望接收此呼叫,它发起与关守的ARQ(5)/ACF(6) 交换。节点2有可能收到ARJ (6) ,这时端点2向端点1发送Release Complete消息。 5)否则端点2响应Connect(8)消息,这个消息包含用于H.245信令的H.245控制信道传输地址。
H.323协议概述-H.245协议 H.245用于控制H.323实体的操作,消息通过H.245控制信道传输。 H.245协议规定的主要控制过程有:主/从决定、终端能力交换、逻辑通道控制、多点会议控制&指示,回路时延。 主从决定:决定节点的主从关系。 能力交换:协商出一个兼容的媒体能力(音频、视频、数据、会议等)集合。 逻辑通道控制:指示开始传输特定媒体流。 多点会议控制&指示:会场列表、主席控制、媒体指示等。 回路时延:发送端到接收端的往返时延,也可用于检测远端是否异常。
H.323协议概述-开启与隧道 • 快启(Faststart):在Q.931信令的交互过程中完成打开逻辑通道过程; • 隧道(H245Tunnel):不建立H.245通道,将所有的H.245信令直接在Q.931通道传送; • 快启和隧道没有直接的联系,两者可以单独使用。
H323技术简介 防火墙及NAT设备简介 公私网穿越的技术现状 ViewPoint视讯系统解决方案 常见问题及实例
什么是Firewall 防火墙一方面阻止来自因特网的对受保护网络的未授权或未验证的访问,另一方面允许内部网络的用户对因特网进行Web访问或收发E-mail等。防火墙也可以作为一个访问因特网的权限控制关口,如允许组织内的特定的人可以访问因特网。现在的许多防火墙同时还具有一些其他特点,如进行身份鉴别,对信息进行安全(加密)处理等等。 防火墙不单用于对因特网的连接,也可以用来在组织内部保护大型机和重要的资源(数据)。对受保护数据的访问都必须经过防火墙的过滤,即使该访问是来自组织内部。 当外部网络的用户访问网内资源时,要经过防火墙;而内部网络的用户访问网外资源时,也会经过防火墙。这样,防火墙起了一个“警卫”的作用,可以将需要禁止的数据包在这里给丢掉。
防火墙的基本功能 • 包过滤(Packet filtering) • 代理服务(Proxy service) • 状态检测(State inspection)
防火墙的基本功能-Packet filtering 包过滤是指针对IP包头进行过滤的方法,通过检测IP包头包括TCP或UDP包头的信息来决定是否允许报文通过,你可以定义允许或禁止源地址或目的地址为X的包通过,也可以允许或禁止某些端口的报文通过,或者将这些策略组合。 对于防火墙的配置中,最多的部分就是包过滤部分,各种防火墙的设置方法可能不同,有的是命令行,有的是图形界面。但是内容基本都是一致的,可以表达为: 允许/禁止 源地址 目的地址 协议(TCP/UDP) 端口(目的端口) permit host 10.11.15.1 210.51.10.52 udp 1719 在上例中,一个连接的四个要素(源地址、源端口、目的地址、目的端口)只出现了3个,因为在连接建立时源端口大多是随机的,因此防火墙一般是不会根据源端口进行过滤的。
防火墙的基本功能-Packet filtering 指的是对IP数据包的过滤。对路由器需要转发的数据包,先获取包头信息,包括IP层所承载的上层协议的协议号,数据包的源地址、目的地址、源端口、目的端口等,然后和设定的规则进行比较,根据比较的结果对数据包进行转发或者丢弃。
防火墙的基本功能-Proxy service 防火墙上基本都有代理功能,有的实现了应用层代理(类似web proxy),有的仅仅配置成简单的NAT或NAPT。 虽然大多数防火墙都具备NAT或PAT的功能,但防火墙不一定要实现NAT功能,当我们说XX设备在防火墙后的时候,不一说明是经过NAT转换的。
防火墙的基本功能-State inspection • 状态检测是指防火墙不仅仅根据网络层的信息进行报文过滤,同时根据四层以上的协议进行过滤,各个厂家的叫法可能不同,ASPF(Application Specific Packet Filter)或CBAC(Context-Based Access Control)。 • 目前大多数防火墙都提供了基于状态检测的防火墙,如防火墙内有一个FTP Server,要对外提供服务,你只需要开放TCP 21端口即可,因为FTP会话过程中使用的其他端口防火墙会动态开放。
什么是NAT • NAT(Network Address Translation)网络地址转换,又称地址代理,用来实现私有网络地址与 公有网络地址之间的转换。用于满足目前广泛应用的IPv4版本的ip地址出现严重不足的问题。 • 私有地址是指内部网络(局域网内部)的主机地址, 而公有地址是局域网的外部地址(在因特网上的全球唯一的IP地址)。 因特网地址分配组织规定以下的三个网络地址保留用做私有地址: • 10.0.0.0 - 10.255.255.255 172.16.0.0 - 172.31.255.255 192.168.0.0 - 192.168.255.255 也就是说这三个网络的地址不会在因特网上被分配,但可以在一个企业(局域网)内部使用。
NAT的几种实现方式 • Static NAT (静态地址映射) • Dynamic NAT(动态地址映射) • NAPT(Port Address Translation)(端口映射)
Static NAT 把私网地址转化为互联网地址,而且是一对一的,私网内的一个地址总会被转换成一个固定的互联网地址。
Static NAT(续) • 在上例中client 192.168.0.2和192.168.0.3分别被转换为206.245.160.2和206.245.160.3。 • 注意源地址发生了变化,而源端口并没有变化。 • 而且这种转换关系是固定的。
Dynamic NAT • 多个私网地址会被转换成多个公网地址,但这种转换关系是不确定的,并不能保证某个私网地址一定会被转换成某个公网地址。 • 一般我们把这些公网地址成为地址池(nat pool)。
Dynamic NAT(续) • 在上例中client 192.168.0.2和192.168.0.3分别被转换为206.245.160.5和206.245.160.6 • 注意源地址发生了变化,而源端口并没有变化。 • 需要注意的是在动态NAT的情况下,这种地址映射的关系是会发生变化的
NAPT(Port Address Translation) • 有时也称为Overloading,多个私网地址会被转换成一个个公网地址,同时端口也会转换成,以便区别不同的连接。
NAPT(续) • 在上例中client 192.168.0.2和192.168.0.3都被映射为地址206.245.160.1,用于区别各通信连接的是端口号。 • 注意源地址和源端口在NAT后都发生的变化。 • 需要注意的是在NAPT的情况下,这种地址和端口的映射关系是会发生变化的。
H323技术简介 防火墙及NAT设备简介 公私网穿越的技术现状 ViewPoint视讯系统解决方案 常见问题及实例
防火墙的端口开放 由于防火墙一般需要包过滤及状态检测,因此为了网络安全,用户侧防火墙在访问列表配置时,除提供网内业务需要知名端口外(如Http的80端口),其它端口都Deny。而要进行视频通信,就要求防火墙对H323的支持。 1)如果FW支持H.323协议,那么只要打开FW对H.323的支持即可。FW在收到公网侧的呼叫时,会动态的打开H.323通讯所需要的端口,在呼叫结束后,FW又自动关闭在呼叫过程中动态打开的所以端口,从而保证网络的安全。 2)如果FW不支持H.323协议,为了保证H.323通讯,需要在FW上打开部分端口,以允许媒体流的进入。 RAS注册信令:UDP,RAS,一般需要端口1719 Q.931呼叫信令:TCP,Q.931,一般需要端口1720 H245控制信令端口:TCP,端口为1320~1327 。。。。。。
NAT地址转换 现在的私网用户网络搭建,为了节约公网IP地址,很多时候都有NAT的功能,而且一般配置为NAPT,这样就存在同一私网终端在GK上注册后,其NAT地址都为同一公网地址。这个时候就要求GK能根据其它方式来区分私网终端。
H.323包转换 因为私网中一般都是通过防火墙完成普通业务的接入,但是由于视讯应用的H.323 IP包结构和其他应用的包结构不同,在H.323包中,不仅仅包头含有IP地址要转化,而且在包内部还有IP地址要进行转化。防火墙如果支持H323协议,在H323包通过时,会自动对包中相关地址进行变换,但在实际的应用中却普遍存在业务防火墙对H323协议支持不完善,导致当启用防火墙的H323功能后,反而出现H323通信问题。
HTTP Proxy服务器方式 现在部分企业内部局域网仅通过HTTP Proxy服务器开放上网业务,对于这类用户,由于HTTP Proxy是采用缓存技术保存Http网页,实时性很差,并且不支持内部与外部网络的TCP连接,不支持UDP包的传输,这些局限性,恰恰限制了H.323协议的传输,因此,在这种情况下,建议企业重新考虑采用直接路由器NAT上网方式,在出口路由器前端配置硬件防火墙(如Netscreen、CheckPoint、华为的Eudemon防火墙等),这样就可以实现IP视讯业务了。
H323技术简介 防火墙及NAT设备简介 公私网穿越的技术现状 ViewPoint视讯系统解决方案 常见问题及实例
静态NAT方式 华为的所有终端可以直接配置静态NAT的对应地址,支持静态NAT穿越公私网方式。 对应上图,需要在相应终端上启用NAT功能,并配置静态映射的公网地址
GK MCU ACF RRQ Public Call signaling Eudemon Media Stream Private RCF 支持H323协议的Eudemon Eudemon设备工作在三层以上协议,可以理解H323协议内容,其对H.323协议的IP码流可以直接进行协议转换,使得企业内部局域网上的终端就象放在公网上一样,这样企业内部的终端就可以无障碍地与外部终端互通了。 • Eudemon记录下终端信息 • Eudemon根据记录下的T1信息转发呼叫信令并修改信令中相关地址信息 • Eudemon根据记录下的呼叫信息转发媒体流
支持H323协议的Eudemon 结论:由于Eudemon是支持H323协议的设备,因此当终端放在此类防火墙NAT设备后,无论公网终端呼叫私网终端或者私网终端呼叫公网终端,其流程都与公网终端之间的呼叫相同。
GK 8520汇接网关设备 8520应用在视讯网络侧,可以集中在网络侧解决私网通信问题。通过GK和8520设备的配合,能够实现私网终端对私网终端的呼叫路由。 Managerment System IP Network FW VP8520 Convergence Layer FW FW Private Private A Videophone B Videophone
Managerment System GK IP Network FW VP8520 WebServer 80 Port illegal Packets legal Packets FW Private A Videophone 8520汇接网关设备 由于H.323协议需要占用多个端口,在穿越公私网时,需要消耗防火墙(或其它NAT设备)的端口资源,使用8520汇接平台可提供一种全新的防火墙穿越方案:受控的端口开放。在防火墙上为固定的端口开放到可信的IP地址 在防火墙上开放了从FW到8520的端口和基于目的地址的路由
8520汇接网关设备 1)终端1首先与处在公网的8520建立连接; 2)然后8520与终端2建立连接; 3)这样,终端1和终端2便可以通过8520进行正常的媒体流交互了。 Endpoint2 Priavate 2 NAT Equipment 2 2 8520 GK Public 3 1 NAT Equipment 1 Private 1 Endpoint1 结论:使用8520设备,可以实现在普通NAT情况下,私网终端与公网终端及私网终端与私网终端之间无限制的互通。
公私网穿越的准则 • 同一私网内端点可以互通 • Eudemon后的终端可看作公网终端 • 私网-公网可以互通 • 不同私网内终端不能进行点对点直接通信 • 不同私网内终端可进入同一多点会议 • 不同私网终端可通过8520MediaGate通信
H323技术简介 防火墙及NAT设备简介 公私网穿越的技术现状 ViewPoint视讯系统解决方案 常见问题及实例
常见的公私网穿越问题(问题) • 目前常见的公私网穿越问题
常见的公私网穿越问题(基本原因) • 私网内的终端不能注册。 • 1) 防火墙/路由器的端口没有开放(各类防火墙/路由器都有可能); • 2) 路由设备对H.323协议的处理不够完善(如中兴的ADSL Modem,对具有非标字段的H.323协议报文进行过滤); • 3) 防火墙/路由器设备对UDP的包头校验和处理不正确(如安氏防火墙与我们的8220配合时便会出现UDP包头的校验和不正确而导致GK不能正常处理RAS报文)。 • 私网内的终端可以成功注册,但呼叫失败。 • 1) 防火墙/路由器的端口没有开放(各类防火墙/路由器也都有可能); • 2) 路由设备对H.323协议的处理不够完善,主要是对Setup消息中CallID进行修改(如LinkSys等小路由器); • 3) 路由设备对TCP包头的校验和计算错误,导致呼叫失败(如LinkSys)。
常见的公私网穿越问题(基本原因) • 私网内的终端可以成功注册,也能成功呼叫,但呼通后出现语音/图象单通。该类问题的主要原因:一般都是路由设备/代理对H.323协议支持不够完善导致,如Sygate,它会修改H.323协议报文中媒体流接收的IP地址,但不会修改端口,从而导致单通。 • 私网内的终端可以正常呼叫,当只能使用一个终端。该问题的比较常见的原因是该NAT设备仅作了NAT转换,而没有实现NAPT转换。