CN101114942A - 安全媒体设备之间的切换 - Google Patents
安全媒体设备之间的切换 Download PDFInfo
- Publication number
- CN101114942A CN101114942A CNA2007101281021A CN200710128102A CN101114942A CN 101114942 A CN101114942 A CN 101114942A CN A2007101281021 A CNA2007101281021 A CN A2007101281021A CN 200710128102 A CN200710128102 A CN 200710128102A CN 101114942 A CN101114942 A CN 101114942A
- Authority
- CN
- China
- Prior art keywords
- network media
- media device
- handoff parameter
- equipment
- redundant
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004891 communication Methods 0.000 claims abstract description 69
- 230000005540 biological transmission Effects 0.000 claims abstract description 63
- 238000000034 method Methods 0.000 claims abstract description 37
- 238000012423 maintenance Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 6
- 230000010076 replication Effects 0.000 claims 7
- 230000001419 dependent effect Effects 0.000 claims 4
- 230000006870 function Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 230000005055 memory storage Effects 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 208000031481 Pathologic Constriction Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 208000037804 stenosis Diseases 0.000 description 1
- 230000036262 stenosis Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1083—In-session procedures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/121—Timestamp
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
Abstract
提供了用于通信的系统、方法和装置,其包括将主要和次要网络媒体设备保持在基本上相同的加密状态,其中,次要网络媒体设备是冗余网络媒体设备。类似的加密状态可以通过将接收和发送切换参数从主要网络媒体设备复制到冗余网络媒体设备来保持,主要网络媒体设备每发送或接收2x个分组,优选为213个分组,上述复制至少进行一次。冗余网络媒体设备可以通过利用复制的接收切换参数来接收分组,并通过基于复制的发送切换参数估计发送切换参数来发送分组。接收和发送切换参数可以与安全实时传输协议(SRTP)或PacketCable(分组电缆)协议相关。此外还提供了利用该通信方法的通信系统。该通信系统可以包括多个主要网络媒体设备和一个中央网络设备,可以将切换参数从每一主要网络媒体设备复制到该中央网络设备,以及将与出现故障的主要网络媒体设备相关的切换参数从该中央网络设备复制到冗余网络媒体设备。
Description
技术领域
[0001]概括地说,本发明涉及计算机网络和网络安全领域,具体地说,本发明涉及在网络媒体设备之间进行切换的系统、装置和方法。
背景技术
[0002]随着因特网的普及和在多媒体领域中的持续发展,如今,大部分语音和视频数据通信是通过分组交换网络,例如使用网际协议(IP)标准的因特网来实现的。用来在因特网上传输语音和视频数据的支持IP的设备已经非常流行。
热交换
[0003]通信系统例如因特网的一个重要关注点是它的高可用性(HA)。也就是说,需要网络设备能够在至少平均99.999%的时间为通信系统提供可靠性。未能满足所述需求的通信系统通常被认为是不可靠的。通过使在出现故障时刻之前一直向网络用户提供服务的出现故障的活动(主要)网络设备能够被备份或冗余设备取代,以继续提供之前由出现故障的设备提供的服务,来实现HA。用备份或冗余设备来替换故障设备的特征用术语来表述是“热交换”,也被称为“故障切换”或“切换”。
[0004]切换通常指从活动设备到冗余设备的控制转移。切换典型地包括(直接地或间接地)发送与活动的提供服务的设备相关通信参数(切换参数)给冗余设备。成功的切换意味着以避免需要中断通信的方式来将控制从活动设备转换到冗余设备,并与需要提供服务的用户重新协商,同时冗余设备开始对通信进行控制。
[0005]当涉及非安全通信时,在从主VoIP网络设备到冗余VoIP网络设备(主网络设备的备份设备)的切换是相对简单的,因为在这种情况下,切换涉及从主网络设备到作为对主网络设备的备份设备的冗余网络设备进行相对非挑战性通信参数的复制。“非挑战性”意味着固定参数,或者在与一个用户(远程网络设备)的整个通信会话过程中基本上不会改变的参数,但这些参数在不同的通信会话过程中可以改变,其中通信会话典型地涉及双向传输数千个数据分组。从主网络设备复制到备份网络设备的示例性通信参数包括IP地址、UDP(用户数据报协议)端口、帧大小,编码器解码器类型。
[0006]当涉及安全数据时,执行网络设备之间的切换由于涉及安全特征而显得很重要。例如,安全特征包括使用唯一分配给输出分组的序列号和/或时戳,加密/解密和认证方案,以及利于重放保护的措施。因此,当控制从主设备转移到冗余设备时,还需要(与非安全通信的切换的需要相比较)确保透明的切换;必须将关于安全特征的数据从主/活动设备复制到冗余设备来确保成功的切换。通常,数据通信涉及的(安全)特征越复杂,则切换变得越重要。
[0007]复制安全相关数据的困难在于安全相关数据包括动态参数,其不同于在非安全切换中使用的固定参数。“动态参数”是指在给定的通信会话中随着每个分组而改变值的参数,通常用于在分组流中唯一地特征化各个分组。动态参数包括例如:时戳(TimeStamp),其是产生分组的相对时间;序列号(SEQ),其是分配给分组的序号;SRTP循环(rollover)计数器(ROC);以及SRTP RTCP索引。
[0008]IP协议本身不具有安全特性。有时,通过数据网络的数据,尤其是音视频相关数据,可能包括个人和机密信息。因此,由于关注于(在任何类型的数据网络上的)数据的安全传输,可能需要使用安全特征,例如认证和加密,来防止任何个人和机密信息被非授权用户所截取。一套用于实现这样的安全性的协议,通常被称为IP安全协议(IPsec或IPSEC),已被因特网工程任务组(IETF)所述定义。在标准建议书(RFC)(by S.Kent et al.,November 1998)中对IPSEC进行了更加详细的描述,其全文以引用方式并入本文。为了给RTP协议提供安全定制,IETF还定义了一种称为安全实时传输协议(SRTP)的新协议,该协议用于VoIP网络上的媒体传输。这两种安全协议(IPSEC和SRTP)均提供对重放攻击的保护,其在例如以下文献中进行了更加详细的描述:“Using ESP to Prevent Replay Attacks”(BrienM.Posey,MCSE,2002 Posey Enterprises);“The longest short IP SecPaper”(Walberts,10 January 2005);以及“How Secure Is VoIP?”(Ahmar Ghaffar,November 2004)。
重放攻击和保护
[0009]重放攻击是一种网络攻击形式,其中,有效的数据传输被有恶意地或欺骗地重复或延迟。这是由发信方或由截取或复制数据并将其重发的对手来实施的,其可能是伪装攻击的一部分。因此,重放预防方法用来防止非认证的网络设备复制和“重放”通过两个网络设备交换的分组。在RFC 2402和2406(by S.Kent et al.,November 1998)中更详细地描述了重放防止,其全文以引用方式并入本文。
OSI
[0010]OSI(开放式系统互联)模型是对通信和计算机网络协议设计的分层抽象描述,其发展为开放式系统互联倡议的一部分。其也被称为OSI 7层模型。简要地说:第一层是物理层;第二层是数据链路层,第三层是网络层,第三层协议最著名的例子是网际协议(IP);第四层是传输层,第四层协议最著名的例子是传输控制协议(TCP)和用户数据报协议(UDP);第五层是会话层;第六层是表示层;以及第七层是应用层。
IPSEC
[0011]由于IP协议本身不具有任何安全特性,因此引入IP安全协议(Ipsec或IPSEC)来提供诸如以下的安全服务:(1)加密业务流(因此在它的传输中无法将其读出);(2)完整性验证(从而确保业务流在其传输路径上没有被修改);(3)对等认证(因此两端都确认他们是在和业务流预期的可信实体进行通信);以及(4)反重放(从而防止了会话重放)。
[0012]通常,IPSEC是用于通过加密和/或认证所有IP分组来保护网际协议(IP)通信安全的标准。IPSEC提供网络层(OSI模型的第三层)上的安全,其使得IPSEC相对灵活,能够用来保护基于TCP和UDP的协议,但是因为IPSEC不能依靠TCP(OSI模型的第四层)来管理可靠性和分片,所以增加了它的复杂性和处理开销。IPSEC是一组加密协议,用来保护分组流和通信密钥交换的安全。有两种加密协议用于保护分组流安全:(1)封装安全有效负荷(ESP),其用来提供认证,数据机密性和消息完整性,和(2)认证头(AH),其用来提供认证和消息完整性,但不提供机密性。起先,AH仅仅用于完整性,而ESP仅仅用于加密;ESP随后增加了认证功能。当前,仅仅定义了一种密钥交换协议——IKE(因特网密钥交换)协议。
[0013]在IPSEC中,安全关联(SA)描述了两个网络设备例如网关之间的单向安全数据流。SA通常是根据需要使用IKE自动建立的,但是某些IPSEC的实现方法允许手工建立SA。SA通过目的地址、安全参数索引(SPI)和安全协议来定义。SPI结合IP地址来识别安全参数。IPSEC协议由RFC 2401-2412来定义。为了通过使用IPSEC在两个网络设备之间建立安全通信(该IPSEC是用在OSI模型的网络层(第3层)),可以协商并在有关的两个网络设备之间建立安全关联(SA)。SA典型地包括使用诸如密钥有效期、加密算法和认证算法之类的信息。在RFC 2409中对SA进行了更加详细的描述,其全文以引用方式并入本文。除了建立SA,两个网络设备可以实现重放预防来增强安全性。
RTP
[0014]RTP(实时传送协议)协议运行在会话层(OSI模型的第5层)。RTP在RFC 3550(该文档的旧版本是RFC 1889)中进行定义。RFC3551(该文档的旧版本是RFC 1890)为使用最小控制的音频和视频会议定义了特定的概况。RFC3711定义了安全实时传输协议(SRTP)的概况(实际上是用于音频和视频会议的RTP概况的扩展),SRTP(可选地)能够用来为传送的音频和视频流提供机密性、消息认证、和重放保护,RFC3711的全部内容以引用方式并入本文。
[0015]根据RFC 3550(其全部内容以引用方式并入本文),由RTP提供的服务包括:(1)有效载荷类型标识;(2)序列号,其是在分组被发送之前由发送器分配给该分组的单调递增的数字;(3)时间戳,其指示给每个传输的分组所分配的生成时间;以及(4)传送监视(RTCP)。
[0016]由于RTP用来处理语音和视频分组,因此,分组的时间方面会被考虑(允许分组的重排序和避免不可接受的延迟和抖动),与RTP相关的协议将必需的数据发送给应用来确认它能够将接收到的分组以正确的顺序放置好。另外,RTCP(通过RTCP分组的间歇传递)提供了关于接收质量的信息,应用可以使用该信息来创建本地(临时地和其他地)调节。例如,如果形成拥塞,则应用可以决定降低数据速率。
SRTP
[0017]SRTP定义了RTP的概况,其用来分别在单播和多播应用中为RTP数据提供加密、消息认证和完整性、以及重放保护。SRTP有助于高吞吐量,并且在包括有线和无线通信网络单元的各种类型的环境中提供了合适的保护。通常,SRTP截取RTP分组,然后在发送(传送)侧转发每个被截取的RTP分组的等同或相关的SRTP分组。SRTP也截取SRTP分组并且转发等同的RTP分组到接收侧的堆栈上。安全RTCP(SRTCP)和RTCP之间的关系类似于SRTP和RTP之间的关系;也就是说,SRTCP提供类似的安全服务给RTCP。使用SRTCP消息认证是强制的,以例如保护记录流关系的RTCP字段,提供反馈数据给RTP发送器,以及维护分组序列计数器。
[0018]安全协议例如SRTP典型地包括重放保护的特征。根据RFC3711,当分组被对手存储时,所述分组就受到了所谓的“重放”或“重放攻击”,然后,所述分组被对手再次置入其被截取的数据网络。RFC3711、SRTP协议使用重放列表来作为保护接收设备免受重放攻击的方法。接收设备具有重放列表,该列表包括所有接收到的分组的索引,并使用“滑动窗口”来区分合法的和非法的(重放)分组。接收设备通过比较输入分组的索引和保存在重放列表中的索引来识别被重放的分组。如果接收的分组的索引位于滑动窗口内,但是该分组是第一次被接收,那么该分组被认为是合法的。这表明只要发生了切换,下一个接收的分组的索引应该大于上一次使用/已知的索引。
PacketCable
TM
[0019]PacketCable TM是由电缆电视实验室(CableLabs_)发起的组织,它的目的通过电缆系统识别、限定和支持基于分组的语音和视频产品。为了在双向电缆网络上传送实时多媒体服务,CableLabs率先提出通用接口规范。建立在业内的DOCSISTM 1.1(电缆上提供数据服务的接口规范)电缆调制解调器结构上,PacketCable(分组电缆)网络使用网际协议(IP)来提供宽范围的多媒体服务,例如IP电话、多媒体会议、互动游戏以及通常的多媒体应用。具有PacketCable扩展的DOCSIS1.1网络使得电缆运营商能够使用单个高速、支持服务质量(QoS)的宽带(电缆)结构来高效地提供数据和语音业务。
[0020]PacketCable使三个网络相互连接:混合光纤同轴(HTC)接入网络;公共交换电话网络(PSTN);和TCP/IP管理IP网络。PacketCable协议包括:DOCSIS,其用于电缆上数据的标准;实时传输协议(RTP)和实时控制协议(RTCP),他们均是多媒体传输所需要的;PSTN网关呼叫信令协议规范(TGCP),其是媒体网关的MGCP(媒体网关控制协议)的扩展;以及基于网络的呼叫信令协议规范(NCS),其是模拟住所媒体网关的MGCP的扩展——来自IETFMGCP RFC 2705的NCS规范详细描述了VoIP信令。
[0021]与在SRTP中使用ROC值(ROC与传输的分组数量相关)不同的是,PacketCable使用了所谓的Nwrap的参数,其是用于计算RTP时戳绕(wrap around)回次数的计数器。发送和接收设备必须在0到216-1的范围内保持RTP时戳绕回的计数值(Nwrap),这意味着每当RTP的分组的时戳值绕回时,Nwrap的值增加1。当通信连接建立时,Nwrap的值初始化为零。在接收器能够正确解密在绕回点之后接收的RTP分组之前,Nwrap必须也在接收器中(同步)增加。
示例:
[0022]RTP语音分组一开始可以有一个等于十六进制值0xFFFFF000的随机时戳。假设每个语音分组是40毫秒长,并且语音信号的采样率是每毫秒8个采样,则根据这样的采样每个语音分组的长度是320(40*8=320)。另外还假设,为了简化,Nwrap的当前值是零。参考下面的表1,每当发送(语音)分组时,发送的采样(TS)数目就增加320(采样)。只要TS的值保持在0到232-1的范围内,Nwrap的值对于分组1到分组i就都保持不变(在这个例子中其值是0)。但是,如果将分组i+1的320个采样添加到0xFFFFFF00(分组i的TS值),就会导致TS值(0x40)从TX最大极限值绕回,由于这个原因,如下表所示,与分组i+1相关的Nwrap的值(从0)增加到1。
1.
表1:
分组号 | TS | Nwrap值 |
12345...ii+1 | 0xFFFFF0000xFFFFF1400xFFFFF2800xFFFFF3C00xFFFFF5000xFFFFFF000x40 | 0000001 |
[0023]和ROC值类似,Nwrap值不随发送的分组一起发送,当发送器和接收器递增它们自己的Nwrap计数器时,接收器尝试(同步)追踪发送器的Nwrap值(通过使用接收的分组中的其他数据)。
媒体切换
[0024]关于IPSEC,在从一个网络设备切换到另一个网络设备的解决方法可以包括切换设备之间的安全关联并使用两个不同的序列号域,所述序列号域相关于预定的最大序列号。根据这个解决方法,所涉及的两个网络设备与相同的安全关联相关,但是一个网络设备与小于最大序列号的预先设定的序列号限制相关,而另一个网络设备具有大于最大序列号的初始序列号。这样的解决方法在美国专利No.6,966,003中进行了详细描述。
[0025]然而,在美国专利No.6,966,003中公开的解决方法不能为SRTP工作,因为,与IPSEC(其中32-比特序列号(SEQ)明确包括在每个IPSEC分组的头中,这使得其在接收设备中的提取相对容易)相反,在SRTP中RTP SEQ仅仅是16-比特长,因此,RTP SEQ号不能像IPSEC序列号在美国专利No.6,966,003中使用那样被用来切换。作为替代,为了节省通信带宽,SRTP协议传统上为分组排序使用索引(在本文中被称为经修改的SEQ索引-i),其包括隐含的索引单元,或由隐含的索引单元组成,如公式(1)所示:
i=216*ROC+SEQ (1)
其中i是经修改的SEQ索引,用于对每个分组进行排序,SEQ是一个明确的RTP序列号,唯一地被分配给给定的全部216个分组中的每一个,而ROC(轮转计数器)是一个计数器,在发送器中每当SEQ绕回时该计数器的值就递增1,而在接收器中根据所接收的分组,ROC值也递增1,在RFC 3711中对上述内容进行了更加详尽的描述,RFC 3711的全文以引用方式并入本文。发送器不发送其ROC值,但是,接收器尝试通过相应地增加其自己的ROC值来与该ROC值同步。
[0026]经修改的SEQ索引i被用于重放保护(参见RFC 3711,Section3.3.2)、加密(参见RFC 3711,Section 4.1)、消息认证(参见RFC 3711,Section 4.2),以及用于通信密钥推导(参见RFC 3711,Section 4.3)。另外,为每个新的分组来更新序列号,由于每秒可以发送数千个分组,为了切换的目的进行的大量序列号的更新和维护是非常低效的解决方法。例如,基于每个分组来更新和维护序列号信息会导致重要网络资源例如处理时间和带宽被浪费。另外,如果冗余网络设备服务(备份)超过一个网络设备,则冗余网络设备处理大量分别与多个网络设备相对应的序列号会更困难。
[0027]由干期望SRTP和PacketCable TM安全(其也基于RTP)支配媒体安全领域,需要寻求一种方法来实现诸如支持RTP的网络设备之类的安全媒体网络设备之间的切换。
发明内容
[0028]下面的实施例及其各个方面是结合了系统、工具和方法来进行描述和说明的,其仅是示意说明性质的,并不对本发明的保护范围构成限制。在各个实施例中,将减小或消除一个或多个上述问题,同时其他实施例描述了其他优点或进步。
[0029]作为本发明公开内容的一部分,提供了一种方法来在基本上相同的加密状态下保持主要网络媒体设备(NMD)和次要网络媒体设备(NMD),其中次要NMD可以是冗余网络媒体设备,用来备份主NMD。NMD可以是网络媒体处理板、网络媒体网关或网络媒体服务器等。该方法可以包括,在主NMD无法提供服务给可以是远程NMD的远程网络设备时,进行主要(常规活动的或主的)NMD和冗余NMD之间的切换。
[0030]根据某些实施例,与切换相关的参数(下文中称为“切换参数”)可以根据预定标准来更新,例如从主网络设备到远程(用户的)网络设备每传输了2x个分组(1≤X<15,优选是x=13),或在主网络设备从远程网络设备接收了2x个分组之后(无论那一个先到达),至少进行一次。
[0031]根据某些实施例,当主NMD和远程NMD之间的通信会话由于主NMD出现故障无法保持通信(无法向远程NMD提供服务)而被中断时,冗余NMD可以使用保存在存储阵列中的切换参数来持续与远程NMD的通信会话(进一步向其提供服务)。冗余NMD可以访问更新的切换参数,这些参数被保存在它的本地存储器存储阵列中,或从远程存储器存储阵列被转发给冗余NMD。
[0032]根据某些实施例,冗余NMD可以备份与该冗余NMD直接连接的一个主NMD。根据某些实施例,冗余NMD可以备份多于一个的活动NMD,所有的活动NMD都可以直接连接到中央网络设备(CND)。根据这些实施例,CND可以将连接到CND的每个主NMD的切换参数保存到它的存储器存储阵列中,该CND可以只将与出现故障的主NMD相关的切换参数转发给(其也连接的)冗余NMD。
[0033]根据某些实施例,从活动主NMD到冗余NMD的切换可以包括由冗余NMD基于最近的切换参数更新来估计当前的发送切换参数。可以将切换参数直接(从活动主NMD)或间接(从CND)提供给冗余NMD。
[0034]根据某些实施例,切换参数可以与IPSEC协议相关。根据其他一些实施例,切换参数可以与SRTP或PacketCable安全协议相关。
[0035]除了上面所述的示例性方面和实施例,通过参考附图和下面的详细描述,其他方面和实施例将变得显而易见。
附图说明
[0036]参考附图描述示例性实施例。需要注意的是,本文所公开的实施例和附图是描述性的,而不是限制性的。参考附图并结合下面的详细描述,可以最佳理解本发明的操作结构和方法,及其目的、特征和优点,其中:
[0037]图1示意性地描述了典型冗余系统的一般布局和功能;
[0038]图2示意性地描述了典型“1+N”冗余系统的一般布局和功能;以及
[0039]图3的流程图示出了一种示例性方法以确定SRTP切换更新何时应该发生。
[0040]应该理解的是,为了描述的简洁和清楚,附图中的单元并没有按照比例来绘制。例如,为了清晰起见,某些单元的尺寸可能相对于其他单元而被放大了。另外,当适当时,在所有附图中一些参考标记是相同的,用于指示相应或类似的单元。
具体实施方式
[0041]在下面的详细描述中,为了实现对本发明的彻底理解,描述了许多特定细节。然而,本领域技术人员可以理解的是,本发明也可以不用这些特定细节来实现。在其他方面,为了使得本发明不至于变得模糊,未详细描述公知的方法、流程、部件和电路等。
[0042]除非特别声明,否则从下面的论述中能很明显看出的是,本文中使用的术语例如“处理”,“计算”,“确定”等等指的是计算机、计算系统或类似的电子计算设备的动作和/或处理,它们将表现为将计算系统寄存器和/或存储器中的例如电子的物理量形式的数据处理和/或转换为其他类似的表现为计算系统存储器、寄存器或其他这样的信息存储、传输或显示设备中的物理量形式的数据。
[0043]本发明采用整体硬件实施例的形式、整体软件实施例的形式或包括硬件和软件单元的实施例的形式。在优选实施例中,本发明由软件来实施,其包括但不限于固件、驻留软件和微代码等。
[0044]本发明的实施例可以包括用于实施本文所描述的操作的装置。该装置可以为了特定的目的而构造,或也可以包括通用目的的计算机,该计算机由保存在计算机中的计算机程序选择性地激活或重新配置。
[0045]另外,本发明可以采用从提供计算机程序代码的计算机可用或计算机可读介质来访问的计算机程序产品的形式,该计算机程序代码用于计算机或任何指令执行系统。为了实现所述的这个目的,计算机可用或计算机可读介质可以是能够保存、存储、发送、发布或传输程序的任何装置,所述程序用于指令执行系统、装置或设备。
[0046]适用于存储和/或执行程序代码的数据处理系统可以包括至少一个通过系统总线直接或间接地连接到存储器单元的处理器。存储器单元可以包括在实际执行程序代码期间使用的本地存储器、大容量存储器、和为了降低代码在执行期间必须被从大容量存储器读出的次数而为至少某些程序代码提供临时存储的高速缓冲存储器(CacheMemory)。输入/输出或I/O设备(包括但不限于键盘、显示器、指向设备等)能够直接连接到系统或通过中间I/O控制器连接到系统。
[0047]网络适配器也可连接到该系统,来使得数据处理系统能够通过中间私有网络或公有网络连接到其他数据处理系统或远程打印机或存储设备。调制解调器,电缆调制解调器和以太网卡仅仅是当前可用类型的网络适配器中的几种。
[0048]本文所述的处理本质上并不关联于任何具体的计算机或其他装置。可以结合依本文所述结合程序来使用各种通用目的系统,或者通过构造更专用的装置来执行期望的方法也是很方便的。这些不同的系统的期望结构会在下文的描述中出现。另外,本发明的实施例没有结合任何具体的程序语言来描述。可以理解的是,可以采用多种编程语言来实施本文所描述的本发明的教诲。
[0049]术语“网络媒体设备”通常是指主要用在计算机网络(例如因特网)中,以便于传输多媒体、实时会话和诸如音频文件、视频文件、图像文件之类的文件的设备。
[0050]现在参考图1,其示意性地描述了典型冗余系统(通常表示为100)的一般布局和功能。系统100可以包括一个或多个主要网络设备例如网络媒体设备(NMD)101,以及一个次要网络设备例如冗余NMD 102,所述次要网络设备可以作为冗余网络设备来备份一个或多个主要网络设备。如果系统100仅仅包括一个NMD例如NMD 101(如图1所示),则例如通过复制接收和发送切换参数到存储器存储阵列111,作为向用户提供服务的活动设备的NMD 101可以直接更新(如103所示)冗余NMD 102中的存储器存储阵列111。根据某些实施例,存储器存储阵列111(例如数据库)可以(尤其)被用来存储切换参数,以及根据预定时间间隔,活动NMD(NMD 101)可以更新存储的切换参数的值(该过程在本文中通常被称为“切换更新”)。
[0051]根据某些实施例,在例如存储器存储阵列111中保存的切换参数可以与非安全数据通信相关。示例性的非安全切换参数包括用户IP地址、UDP端口、语音相关参数(例如编码器使用的信息,无声压缩使用和帧大小等)和分组化参数(例如在每个分组中的帧的数目,冗余模式,RTP有效载荷类型,同步源标识符等)。
[0052]根据某些实施例,在存储器存储阵列中保存的切换参数可以与安全数据通信相关。示例性的安全切换参数包括安全密钥、分组时戳(TimeStamp)、分组序列号(SEQ)、RTCP索引、轮转计数器(ROC)和Nwrap(RTP时戳绕回的数目)。
[0053]根据某些实施例,存储器存储阵列111可以保留在冗余NMD102(如图1中所示)中,以及活动NMD 101可以通过直接与冗余NMD 102通信来更新存储器存储阵列111。根据某些其他实施例,存储器存储阵列111可以保留在中央网络设备上,例如连接到活动NMD101(如104所示)和冗余NMD 102(如106所示)的中央网络设备(CND)105,活动NMD 101可以根据预定标准(由NMD 101接收或发送2x个分组)来更新CND105中的存储器存储阵列。
[0054]另外,NMD 101可以用切换参数更新(如104所示)存储器存储阵列(未示出),所述存储器存储阵列保存在中央网络设备(CND),例如中央网络设备105中,以及中央网络设备105可以更新冗余NMD 102中的存储器存储阵列111(如106所示),虽然当使用相对大量的网络媒体设备,例如NMD 101时,冗余NMD 102的结构(使用中央网络设备例如中央网络设备105)被采用,因为对于冗余NMD 102来说处理一个中央网络设备比处理多个NMD更加简单。
[0055]系统100可以通过分组交换网络(如108所示)为多个远程NMD例如远程NMD 107提供媒体内容。因为媒体内容通信需要相对较高的数据速率,所以通信路径109必须是高带宽信道。当NMD101无法提供例如远程NMD 107所需的媒体内容时,则为了确保承诺的高可靠性,与远程NMD 107的通信从NMD 101(如109所示)透明地传递到冗余NMD 102(如110所示),并且可以基本上不中断地将服务传递给远程NMD 107。
安全媒体切换
[0056]根据本发明,冗余NMD 102可以包括数据库或任何合适的存储器存储阵列(如图1的111所示)来存储与在NMD 101和冗余NMD107之间的通信会话过程相关的切换参数。通常,两个设备之间的通信会话开始使用阶段被称为协商,在这个阶段期间,每个设备均相互交换它们的能力和通信细节(例如密钥)。然而,通过使用本文所述的存储器存储阵列(例如存储器存储阵列111),就免去了冗余NMD102和远程NMD 107之间的这种协商。即,冗余NMD 102不需要与用户重新协商(例如与远程NMD 107)。
[0057]关于非安全通信,保存在存储器存储阵列111中的切换参数可以仅仅从一个通信会话改变(更新)到另一个。因此,NMD 101和冗余NMD 102之间的通信(如103所示)需要的带宽与在通信路径109上传递媒体内容所需要的带宽相比明显狭窄。保存在存储器存储阵列中的示例性切换参数可以是源和目的IP地址,源和目的UDP端口,与编码器相关的参数,与分组化相关的参数等,这些参数与语音通信相关。
[0058]如果冗余NMD 102从第三方例如中央网络设备105获得更新的切换参数,而不是被直接更新(如103所示),则存储器存储阵列111可以可选地保留在CND 105中,CND 105可以独立地与NMD 101和冗余NMD 102通信。一个设备(例如冗余NMD 102)作为冗余设备来备份诸如NMD 101之类的N个NMD的结构通常在本领域中被称为“N+1”(或“1+N”)结构,如图2中所示。
SRTP
[0059]当远程网络媒体设备(例如远程NMD 107)和网络媒体设备(例如NMD 101)之间开始通信会话时,每一侧必须将ROC的值设置为零。在(双向)通信会话期间,每一侧(例如远程NMD 107和NMD 101)发送分组到另一侧或从另一侧接收分组。每当与发送方相关的SEQ(RTP分组的序列号)绕回时,(远程NMD 107或NMD 101的)发送方必须将其ROC值增加1。
[0060]如公式(1)所示,ROC的值被用来构建经修改的SEQ索引(i),但是ROC的值本身不在分组中明确地传输。另外,长度为16-比特的RTP SEQ号不能被用于切换,这与美国专利No.6,966,003公开的IPSEC中使用32-比特长的SEQ不同,因为由活动NMD在通信会话中传输的分组数目通常超过64,000(=216),其是RTP分组可用的最大序列号。另外,SEQ从某些随机数开始而不是从零开始,与在IPSEC中使用SEQ不同。因此,在1-216的范围内没有SEQ值能够被用作新参考SEQ号,用于活动NMD(例如NMD101)和冗余NMD(例如冗余NMD 102)之间的切换。
[0061]理论上,存储器存储阵列111可以容纳每个接收的和发送的分组的更新ROC值和更新SEQ值。然而,这个解决方法需要较大的通信带宽和较强的处理能力,而这却很难实现。
[0062]本发明公开的系统和方法利用SRTP协议的性能,成功地处置(在某些限制下)网络缺陷例如分组丢失和分组重排序。根据RFC3711,只要重排序和分组丢失不是很严重,以及不会突发地出现比特差错,就可以预期接收方能够很好地工作。实际上,如果高达215个分组被丢失,或如果215个分组失序,则同步(发送设备和接收设备之间)就会丢失,因为根据RFC 3711,这样的严重丢失或重排序可能会中断RTP应用本身。
[0063]通过使用上述SRTP协议的能力,切换参数从NMD(例如从NMD 101)复制到冗余NMD(例如远程NMD 102)的更新速率基本可以低到每215个分组一次,这是一个相对很低的更新速率。切换更新速率越低越好,因为更低的切换参数速率意味着所用的带宽越窄,更新存储器存储阵列所需的计算资源也就越少。可以以低于215的速率更新冗余NMD来实现安全边界,例如每发送或接收213个分组,无论哪个先达到。安全边界用来防止或避免可能由网络缺陷导致的问题。
[0064]RTP涉及使用特定类型的分组,被称为RTCP分组,来控制RTP会话。RTCP分组不包括任何终端用户的数据或信息的部分,但是它们允许设备接收它们来估计通信路径或链路的质量。RTCP分组如同其他类型分组一样需要被保护(加密)。对于SRTP(也被称为SRTCP)中的RTCP保护,SRTCP索引附加在每个发送的分组里。SRTCP索引被用于SRTP中的重放保护,与SEQ索引在IPSEC中的使用类似。
[0065]在语音信道中,更新(TBU)之间的时间可以由公式(2)给出:
TBU=213*Frame_Size*Num_Frames_Per_Packet (2)
其中213是示例性更新速率,Frame_Size是以微秒(msec.)计的RTP分组中的帧的大小,以及Num_Frames_Per_Packet是RTP分组中帧的数目。假设,例如,Frame_Size=20msec.,以及Num_Frames_Per_Packet=2,则TBU=327.68秒,这是一个相对较低的更新速率。
[0066]根据本发明,下面四种类型的切换参数可以从NMD复制到冗余NMD来获得基本上透明的切换(用于将NMD 101和冗余NMD 102保持在基本上相同的加密状态):(1)分组时戳(Timestamp);(2)分组序列号(SEQ);(3)轮转计数器(ROC);以及(4)RTCP索引。由于NMD发送和接收分组,八个参数必须被复制到冗余NMD;即,四个切换参数,这里被称为“发送切换参数”,被用于从NMD的分组发送,以及另四个切换参数,这里被称为“接收切换参数”,被用于在NMD接收分组。因此,更新冗余NMD例如冗余NMD 102包括将下面的八个切换参数(四个接收切换参数和四个发送切换参数)复制到冗余NMD:
[0067]发送切换参数:
(1)RTP_Tx_TimeStamp(RTP代表RTP协议),是分配给从NMD(例如NMD 101)发送给远程NMD(例如远程NMD 107)的分组的时戳;
(2)RTP_Tx_SEQ(RTP代表RTP协议),是(分配给)从NMD(例如NMD 101)发送给远程NMD(例如远程NMD 107)的分组的序列号;
(3)RTP_Tx_ROC(RTP代表RTP协议),是与从NMD(例如NMD101)发送给远程NMD(例如远程NMD 107)的分组相关的ROC值;以及
(4)RTCP_Tx_Index(RTCP代表RTCP协议),是与从NMD(例如NMD 101)发送给远程NMD(例如远程NMD 107)的分组相关的RTCP索引。
[0068]接收切换参数:
(5)RTP_Rx_TimeStamp(RTP代表RTP协议),是分配给由NMD(例如NMD 101)从远程NMD(例如远程NMD 107)接收的分组的时戳;
(6)RTP_Rx_SEQ(RTP代表RTP协议),是(分配给)由NMD(例如NMD 101)从远程NMD(例如远程NMD 107)接收的分组的序列号;
(7)RTP_Rx_ROC(RTP代表RTP协议),是与由NMD(例如NMD101)从远程NMD(例如远程NMD 107)接收的分组相关的ROC值;以及
(8)RTCP_Rx_Index(RTCP代表RTCP协议),是与由NMD(例如NMD 101)从远程NMD(例如远程NMD 107)接收的分组相关的RTCP索引。
[0069]当术语“当前”在本文中与具体切换参数结合使用时,就是指切换参数的初始值,该切换参数是在切换完成后被冗余NMD(例如冗余NMD 102)所使用的切换参数。当术语“最近”在本文中与具体切换参数结合使用时,就是指在最近的切换更新期间或由最近的切换更新导致的最近被复制到冗余NMD的切换参数的值。
[0070]如上所述,由于接收媒体设备使用SRTP来弥补215个丢失分组和215个失序分组,发送切换参数和接收切换参数是以不同的方式计算的,如随后所述的。当NMD 101无法给远程NMD提供服务时,冗余NMD 102可以使用在最近的切换更新期间发送给它的切换参数来计算/估计发送和接收切换参数。如上所述,由于切换更新例如每213个分组完成一次,而在两个连续的切换更新之间最有可能需要切换,冗余NMD 102不能为了发送分组给远程NMD 107而使用发送给冗余NMD 102的最近切换参数,因为每次发送分组时切换参数都会改变。因此,使用最近、不相关的切换参数尝试从(例如)冗余NMD 102给(例如)远程NMD 107发送分组将导致冗余NMD 107忽视或丢弃该分组。因此,根据本发明的某些实施例,冗余NMD 102可以使用切换参数最近已知的值来估计发送切换参数的当前(实际)值,如下所示:
[0071]1)当前RTP_Tx_TimeStamp=最近RTP_Tx_TimeStamp+ΔT。其中最近RTP_Tx_TimeStamp是在最近切换更新期间发送给冗余NMD的RTP_Tx_TimeStamp值,而ΔT是最近更新时间和切换时间之间的时间差。因此,当前RTP_Tx_TimeStamp是由冗余NMD 102(在这个例子中)分配给其发送的第一分组的初始时戳。
[0072]2)当前RTP_Tx_SEQ=最近RTP_Tx_SEQ+213+ΔSEQ。其中,最近RTP_Tx_SEQ是在最近切换更新期间发送给冗余NMD102的RTP_Tx_SEQ值,213是切换分组更新速率的示例性数目。增加值213(例如)和使用ΔSEQ提供了安全边界或偏移,这确保了在由冗余NMD 102发送分组到由NMD 101发送但由冗余NMD 107接收的最近分组之间,远程NMD 107中基本上不出现冲突。ΔSEQ的示例值可以是500(分组)。远程网络媒体设备(例如远程NMD 107)能够成功地处理这样的偏移值(213+ΔSEQ),因为SRTP协议能够应对至多丢失215个分组。
[0073]3)当前RTP_Tx_ROC=最近RTP_Tx_ROC。其中,最近RTP_Tx_ROC是在最近切换更新期间发送给冗余NMD102的RTP_Tx_ROC值。需要注意的是,某些时候,在增加213和△SEQ到最近RTP_Tx_ROC之后,条件(3)可以被满足,这意味着当前RTP_Tx_ROC溢出(绕回或循环),以及因此,在这样的情况,当前RTP_Tx_ROC的值递增1(当前ROC=当前ROC+1)来与远程NMD(例如远程NMD 107)同步。
当前RTP_Tx_SEQ<最近RTP_Tx_SEQ (3)
[0074]4)当前RTCP_Tx_Index=最近RTCP_Tx_Index+ΔT/(Mean_RTCP_Interval)+Δindex。
其中,Mean_RTCP_Interval是将两个连续RTCP分组从NMD 101发送到远程NMD 107之间的平均消耗时间。因此,ΔT/(Mean_RTCP_Interval)给出了到实际切换时刻为止从最近切换更新发送的RTCP分组的平均数目。例如,如果最近切换更新发生在时间t0而实际切换发送在300秒之后(t0+300秒),那么ΔT=300秒。接着,如果Mean_RTCP_Interval=5秒,那么这意味着在切换发生之前,NMD 101已经(向冗余NMD 107)发送60(300/5)个RTCP分组。由于RTCP_Tx_Index的值随着每个发送的RTCP分组单调递增,最近RTCP_Tx_Index增加了在ΔT期间发送的RTCP分组的平均数目。
[0075]如上所述,接收媒体设备能够成功地处置至多215个丢失分组和215个失序分组。因此,与必须估计发送切换参数不同,冗余NMD107不需要估计接收切换参数的当前值,而是可以直接获得这些值:
[0076]5)当前RTP_Rx_SEQ=最近RTP_Rx_SEQ。
其中,最近RTP_Rx_SEQ是在最近切换更新期间发送给冗余NMD102的RTP_Rx_SEQ值;
[0077]6)当前RTP_Rx_ROC=最近RTP_Rx_ROC。
其中,最近RTP_Rx_ROC是在最近切换更新期间发送给冗余NMD102的RTP_Rx_ROC值;
[0078]7)当前RTCP_Rx_Index=最近RTCP_Rx_Index。
其中,最近RTCP_Rx_Index是在最近切换更新期间发送给冗余NMD102的RTCP_Rx_Index值;
PacketCable
[0079]由于PacketCable使用RTP分组,活动NMD(例如NMD 101)和冗余NMD(例如冗余NMD 102)之间的切换可以与在SRTP(SRTP切换)中类似的方法来实现,作为例外,PacketCable切换使用分组的时戳不同于在SRTP切换中使用分组的序列号(SEQ),而在SRTP中使用的ROC在PacketCable中被称为Nwrap的等价参数所代替。类似于SRTP,PacketCable也提供防止重放攻击的保护。
时戳容忍检查
[0080]在分组被NMD例如NMD 101接收和处理之前,NMD必须对每个RTP头中的时戳值执行健全测试。健全测试是对计算机程序或其他产品的主要功能进行简短地贯通运行测试。健全测试在进行彻底完整测试之前给出了系统预期工作的信用测量。
[0081]作为PacketCable方法的一部分,健全测试典型地包括下面的步骤:
1.开始于分配给从发送方在新通信会话中接收的第一分组的RTP时戳,基于与在相同通信会话中预先接收到的分组相关的时戳的推断,接收方计算发送方下一个RTP分组的时戳的期望值;以及
2.如果与下一个接收到的分组相关的时戳值处于计算出的期望值的合理容忍范围之外,则不对该分组进行处理而将其丢弃。没有推断与丢弃的分组相关的时戳来估计或预测未来的分组的时戳。“合理容忍”是指时戳容忍范围,该范围足够小以确保无效时戳值不能偏离接收方的状态太多,以至于接收方不能很快地恢复解密有效进入的分组。另外,时戳容忍范围必须被选择,从而使期望的和接收的时戳值之间的已知差异被考虑进来,因为这样的差异可能会出现在呼叫启动和编解码器的切换中,并且由于发送方/接收方的时钟漂移,在特定情况下这可以导致它们不同步。
[0082]如果相对较长的连续RTP分组序列具有的时戳的值超过了可接受的范围,则接收媒体设备(例如NMD 101)终止或放弃该通信会话。否则,在接收到每个(合法)分组的同时,接收媒体设备(例如NMD 101)调整或偏移它的时间,从而与分组的发送方(例如远程NMD 107)同步;即,在估计的时戳的可接受容忍范围之内。
[0083]虽然如后面所述的,序列号和ROC值(用于SRTP)在PacketCable中分别被时戳和Nwrap所代替,PacketCable切换涉及以类似于SRTP中的方法发送切换更新给冗余设备(例如给冗余NMD102)。如同在SRTP切换中,PacketCable切换也涉及将(在这种情况下三种类型的)发送和接收切换参数复制到冗余NMD。
[0084]发送切换参数:
1)RTP_Tx_TimeStamp,是从NMD发送的分组的时戳;
2)RTP_Tx_Nwrap,是与从NMD发送的分组相关的Nwrap;以及
3)RTCP_Tx_SequenceNumber,是从NMD发送的分组的序列号。
[0085]接收切换参数:
4)RTP_Rx_TimeStamp,是在NMD接收的分组的时戳;
5)RTP_Rx_Nwrap,是与在NMD接收的分组相关的Nwrap;以及
6)RTCP_Rx_SequenceNumber,是在NMD接收的分组的序列号。
[0086]类似于在SRTP切换中,由于类似的原因,下面的发送切换参数的值必须通过冗余NMD来估计,以获取透明的切换参数:当前RTP_Tx_TimeStamp、当前RTP_Tx_Nwrap和当前RTCP_Tx_SequenceNumber。因此,冗余NMD 102(例如)可以使用切换参数的最近已知值来估计发送切换参数的当前(实际)值,如下所示:
[0087]1)当前RTP_Tx_TimeStamp=最近RTP_Tx_TimeStamp+ΔT。
其中,最近RTP_Tx_TimeStamp是在最近切换更新期间发送给冗余NMD的RTP_Tx_TimeStamp值,而ΔT是最近更新时间和切换时间之间的时间差。因此,当前RTP_Tx_TimeStamp是分配给由冗余NMD102(在这个例子中)发送的第一分组的初始时戳。
[0088]2)当前RTP_Tx_Nwrap=最近RTP_Tx_Nwrap。
其中,最近RTP_Tx_Nwrap是在最近切换更新期间发送给冗余NMD的RTP_Tx_Nwrap值。需要注意的是,有时下面的条件(4)可以被满足,这意味着当前RTP_Tx_TimeStamp绕回,以及因此,在这样的情况下,Nwrap的值递增1(Nwrap=Nwrap+1)来与远程NMD(例如远程NMD 107)保持同步。
当前RTP_Tx_TimeStamp<最近RTP_Tx_TimeStamp (4)
[0089]3)当前RTCP_Tx_SequenceNumber=最近RTCP_Tx_SequenceNumber+ΔT/(Mean_RTCP_Interval)+ΔSEQ。其中,Mean_RTCP_Interval是将两个连续RTCP分组从NMD 101(例如)发送到远程NMD 107(例如)之间的平均消耗时间。因此,表达式ΔT/(Mean_RTCP_Interval)给出了到实际切换时刻为止从最近切换更新发送的RTCP分组的平均数目。例如,如果最近切换更新发生在时间t0而另一个切换发生在300秒之后,即在时间t1(t1=t0+300秒),那么ΔT=300秒。接着,如果Mean_RTCP_Interval等于5秒,那么这意味着在切换发生之前,NMD 101已经(向冗余NMD 107)成功发送60(300/5)个RTCP分组。由于RTCP_Tx_SequenceNumber的值随着每个发送的RTCP分组单调递增,因此最近RTCP_Tx_SequenceNumber增加了在ΔT期间发送的RTCP分组的平均数目。
[0090]由于上述结合SRTP切换解释的原因,冗余NMD例如冗余NMD 107不用必须估计接收切换参数的当前值,因为这些值可以通过以下的方式直接获得:
4)当前RTP_Rx_TimeStamp=最近RTP_Rx_TimeStamp;
5)当前RTP_Rx_Nwrap=最近RTP_Rx_Nwrap;
6)当前RTCP_Rx_SequenceNumber=最近RTCP_Rx_SequenceNumber。
换句话说,(相应地)将在最近的切换更新期间冗余NMD获取的最近RTP_Rx_TimeStamp、最近RTP_Rx_Nwrap和最近RTCP_Rx_SequenceNumber(这些参数被复制到冗余NMD)分配给当前RTP_Rx_TimeStamp、当前RTP_Rx_Nwrap和当前RTCP_Rx_SequenceNumber。
[0091]参考图2,描述了“N+1”冗余系统的示例性的一般布局和功能(如在200中所示)。由于根据这个例子,系统200包括多个主要网络媒体设备,定义为201/1,201/2,201/3和201/4,每个的功能基本上相同于图1的NMD 101,但并不推荐类似于在图1中的通信路径103上完成的直接切换更新那样的直接切换更新,这是因为网络媒体设备,例如NMD 201/1可能出现故障而失败。NMD 201/1(例如)失败的结果,就是需要切换到次要NMD例如冗余NMD 202。然而,另一个网络媒体设备,例如NMD 201/4,可能尝试在切换期间更新冗余NMD 202,这将干预切换过程。因此,不使用NMD和冗余NMD之间的直接通信路径(例如图1的103所示的直接通信路径),而使用中央设备例如中央网络设备205。NMD 201/1到201/4中的每一个可以以各自的切换参数来更新(如204所示)中央网络设备205。更新速率可以类似于用于一个网络媒体设备的更新速率(即,在每2x个分组的发送或接收之后)。网络设备205可以在存储器存储阵列211中保存从与之连接的每个NMD传递给它的最近切换参数(如204所示)。如果NMD 201/1到201/4中的一个无法(经由数据网络208)提供服务给远程NMD 207,则,通过监视NMD 201/1到201/4,中央网络设备205可以识别出出现故障的NMD并仅仅将与出现故障的NMD相关的切换参数传递(如206所示)给冗余NMD 202。冗余NMD 202通过使用从中央网络设备205传递给它的切换参数来代替出现故障NMD,而在通信路径210和数据网络208上与远程NMD207通信。
[0092]根据某些实施例,中央网络设备205可以在中央存储器存储阵列例如存储器存储阵列211中保存与NMD 201/1到201/4相关的切换参数。根据这些实施例,当中央网络设备205识别到出现故障的NMD时,中央网络设备205可以位于存储器存储阵列211,从那里收集仅与故障NMD相关的切换参数并将其发送到冗余NMD。可选的,中央网络设备205可以在不同的存储器存储阵列中保存与不同NMD相关的切换参数。
[0093]参考图3,其示出了确定RTP切换更新何时应该发生的示例性方法的流程图。图3结合图1来描述。假设先前的切换更新已经在一段时间之前发生,而现在需要确定下一次切换更新的时间。两个变量可以被使用:(1)NOPT(例如从NMD 101发送到远程NMD 107的分组的数目),和(2)NOPR(例如从远程NMD 107发送,并在例如NMD 101接收的分组的数目)。发送和接收的分组的数目可以通过使用分组序列号(SEQ)来获得,因为每个分组被分配有唯一的序列号。
[0094]当先前的切换更新发生时,或紧接着在其后,初始化NOPT和NOPR,例如通过将它们的值设置为零(步骤301)。先前的切换更新完成之后,或与其同时,应用就可以正常运行;即,NMD 101(例如)可以持续与例如远程NMD 107发送和接收分组。每当NMD 101(例如)发送一个分组(如302处所示的“是”)给远程NMD 107(例如),变量NOPT递增1(如303所示),来对自从最近(先前)切换更新以来,从NMD 101(例如)发送的分组进行计数。在最近的增加之后,只要NMD 101不发送额外的分组,则NOPT的值保持不变(如302处的“否”所示)。同样,每当NMD 101从NMD 107(例如)接收一个分组(例如304处的“是”)时,变量NOPR递增1(如305所示),来对自从最近(先前)切换更新以来,在NMD 101(例如)接收的分组进行计数。
[0095]根据本发明的某些实施例,如果NOPT或NOPR的值达到2X(如306处的“是”所示,其中X=13(例如),这是允许在每两个连续切换更新之间的被传输的分组的预定最大预定数目),则另一个切换更新发生(如307所示),以及变量NOPT和NOPR被初始化(如在301所示)。如果变量NOPT和NOPR中没有一个满足达到值2X的标准(如306处的“否”所示),则应用可以继续正常运行;即,NMD 101(例如)可以继续与远程NMD 107(例如)发送和接收分组,这使得NOPT和NOPR根据发送和接收的分组数目递增。图3的流程图能够类似地应用到任何“1+N”系统结构,例如图2所示的示例“1+N”系统(其中,在这个例子中N=4)。再次参考图2,存储器存储阵列211被NMD201/i(在这个例子中i=1到4)中的每一个单独更新(如图3的307所示)。
[0096]图3的流程可以用于SRTP切换和PacketCable切换中,即使SRTP切换和PacketCable切换涉及将不同类型的切换参数复制到冗余NMD中。在涉及非安全数据通信的情况下,图1的存储器存储阵列111和图2的存储器存储阵列211可以在每次通信会话时被更新一次(而不是每发送/接收预定数目(2X)的分组进行一次)。
[0097]虽然本文说明和描述了本发明的某些具体特征,但本领域技术人员可以对其进行各种各样的修改、替换、变更和等同变化。因此,可以理解的是,所附的权利要求涵盖落入本发明实质精神范围内的所有的这些修改和变更。
Claims (48)
1.一种通信方法,包括:
将主要和次要网络媒体设备保持在基本上相同的加密状态,其中,所述次要网络媒体设备是冗余网络媒体设备。
2.根据权利要求1的方法,其中,所述保持包括:
将接收和发送切换参数从所述主要网络媒体设备复制到所述冗余网络媒体设备。
3.根据权利要求2的方法,其中,所述主要网络媒体设备每发送或接收2x个分组,复制就至少进行一次。
4.根据权利要求3的方法,其中,X=13。
5.根据权利要求2的方法,其中,所述冗余网络媒体设备通过利用复制的接收切换参数来接收分组。
6.根据权利要求2的方法,其中,所述冗余网络媒体设备通过估计当前的发送切换参数来发送分组。
7.根据权利要求6的方法,其中,基于复制的发送切换参数来估计所述当前发送切换参数。
8.根据权利要求2的方法,其中,所述切换参数与SRTP相关。
9.根据权利要求2的方法,其中,所述接收和发送切换参数与PacketCable协议相关。
10.根据权利要求2的方法,其中,切换参数包括以下各项中的一项或多项:
分组时戳、分组序列号、轮转计数器以及RTCP索引。
11.根据权利要求2的方法,其中,切换参数包括以下各项中的一项或多项:
分组时戳、Nwrap以及RTCP序列号。
12.根据权利要求1的方法,其中,所述冗余网络媒体设备备份多个主要网络媒体设备。
13.根据权利要求12的方法,其中,将切换参数从网络媒体设备复制到中央网络设备,以及将与出现故障的主要网络媒体设备相关的切换参数从所述中央网络设备复制到所述冗余网络媒体设备。
14.一种通信系统,包括:
主要网络媒体设备;以及
次要网络媒体设备,其中,所述次要网络媒体设备是冗余网络媒体设备;
其中,将所述主要和次要网络媒体设备保持在基本上相同的加密状态。
15.根据权利要求14的通信系统,其中,所述保持包括:
将接收和发送切换参数从所述主要网络媒体设备复制到所述冗余网络媒体设备。
16.根据权利要求15的通信系统,其中,所述主要网络媒体设备每发送或接收2x个分组,复制就进行一次。
17.根据权利要求16的通信系统,其中,X=13。
18.根据权利要求15的通信系统,其中,所述冗余网络媒体设备通过利用复制的接收切换参数来接收分组,以及通过估计当前的发送切换参数来发送分组。
19.根据权利要求18的通信系统,其中,所述冗余网络媒体设备基于复制的发送切换参数来估计所述当前发送切换参数。
20.根据权利要求15的通信系统,其中,所述接收和发送切换参数与SRTP相关。
21.根据权利要求15的通信系统,其中,所述接收和发送切换参数与PacketCable协议相关。
22.根据权利要求15的通信系统,其中,切换参数包括以下各项中的一项或多项:
分组时戳、分组序列号、轮转计数器以及RTCP索引。
23.根据权利要求15的通信系统,其中,切换参数包括以下各项中的一项或多项:
分组时戳、Nwrap以及RTCP序列号。
24.根据权利要求14的通信系统,其中,所述冗余网络媒体设备备份多个主要网络媒体设备。
25.根据权利要求24的通信系统,还包括中央网络设备,将切换参数从每一主要网络媒体设备复制到所述中央网络设备,其中,所述中央网络设备将与出现故障的主要网络媒体设备相关的切换参数复制到所述冗余网络媒体设备。
26.根据权利要求25的通信系统,其中,所述中央网络设备包括存储阵列,用于存储与所述各个主要网络媒体设备相关的切换参数。
27.一种主要网络媒体设备,用于将用作冗余网络媒体设备的次要网络媒体设备保持在基本上相同的加密状态。
28.根据权利要求27的主要网络设备,其中,所述主要网络媒体设备通过将接收和发送切换参数复制到所述冗余网络媒体设备来将所述冗余网络媒体设备保持在基本上相同的加密状态。
29.根据权利要求28的主要网络设备,其中,所述主要网络媒体设备每发送或接收2x个分组,复制就进行一次。
30.根据权利要求29的主要网络媒体设备,其中,X=13。
31.根据权利要求28的主要网络媒体设备,其中,所述接收和发送切换参数与SRTP相关。
32.根据权利要求28的主要网络媒体设备,其中,所述接收和发送切换参数与PacketCable协议相关。
33.根据权利要求28的主要网络媒体设备,其中,切换参数包括以下各项中的一项或多项:
分组时戳、分组序列号、轮转计数器以及RTCP索引。
34.根据权利要求28的主要网络媒体设备,其中,切换参数包括以下各项中的一项或多项:
分组时戳、Nwrap以及RTCP序列号。
35.根据权利要求27的主要网络媒体设备,还包括中央网络设备,所述主要网络媒体设备将切换参数复制到所述中央网络设备,其中,当所述主要网络媒体设备无法提供服务时,所述中央网络设备将所述切换参数复制到所述冗余网络媒体设备。
36.一种冗余网络媒体设备,保持在与主要网络媒体设备基本上相同的加密状态。
37.根据权利要求36的冗余网络媒体设备,其中,所述保持包括:
将接收和发送切换参数从所述主要网络媒体设备复制到所述冗余网络媒体设备。
38.根据权利要求36的冗余网络媒体设备,其中,所述主要网络媒体设备每发送或接收2x个分组,复制就进行一次。
39.根据权利要求37的冗余网络媒体设备,其中,X=13。
40.根据权利要求37的冗余网络媒体设备,其中,所述冗余网络媒体设备通过利用复制的接收切换参数来接收分组。
41.根据权利要求37的冗余网络媒体设备,其中,所述冗余网络媒体设备通过估计当前的发送切换参数来发送分组。
42.根据权利要求37的冗余网络媒体设备,其中,所述冗余网络媒体设备基于复制的发送切换参数来估计所述当前的发送切换参数。
43.根据权利要求37的冗余网络媒体设备,其中,所述接收和发送切换参数与SRTP相关。
44.根据权利要求37的冗余网络媒体设备,其中,所述接收和发送切换参数与PacketCable协议相关。
45.根据权利要求37的冗余网络媒体设备,其中,切换参数包括以下各项中的一项或多项:
分组时戳、分组序列号、轮转计数器以及RTCP索引。
46.根据权利要求37的冗余网络媒体设备,其中,切换参数包括以下各项中的一项或多项:
分组时戳、Nwrap以及RTCP序列号。
47.根据权利要求37的冗余网络媒体设备,其中,所述冗余网络媒体设备备份多个主要网络媒体设备。
48.根据权利要求47的冗余网络媒体设备,还包括中央网络设备,将切换参数从主要网络媒体设备复制到所述中央网络设备,其中,所述中央网络设备将与出现故障的主要网络媒体设备相关的切换参数复制到所述冗余网络媒体设备。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/429,931 US7944814B2 (en) | 2006-05-08 | 2006-05-08 | Switching between secured media devices |
US11/429,931 | 2006-05-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101114942A true CN101114942A (zh) | 2008-01-30 |
Family
ID=38434418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101281021A Pending CN101114942A (zh) | 2006-05-08 | 2007-05-08 | 安全媒体设备之间的切换 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7944814B2 (zh) |
EP (1) | EP1855447A1 (zh) |
JP (1) | JP2007306562A (zh) |
KR (1) | KR20070108825A (zh) |
CN (1) | CN101114942A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102754370A (zh) * | 2010-02-10 | 2012-10-24 | 阿尔卡特朗讯公司 | 用于检测透明时钟的同步失效的方法及相关的保护机制 |
CN102891850A (zh) * | 2012-09-25 | 2013-01-23 | 汉柏科技有限公司 | IPSec隧道更新防重放参数的方法 |
CN101714916B (zh) * | 2009-11-26 | 2013-06-05 | 华为数字技术(成都)有限公司 | 一种备份方法、设备和系统 |
CN107438981A (zh) * | 2015-04-29 | 2017-12-05 | 安移通网络公司 | 跨控制器故障切换和负荷平衡的无线客户端业务连续性 |
CN112492340A (zh) * | 2020-11-27 | 2021-03-12 | 努比亚技术有限公司 | 直播音频采集方法、移动终端及计算机可读存储介质 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101132347A (zh) * | 2006-08-24 | 2008-02-27 | 华为技术有限公司 | 一种实现tcp连接备份的系统及方法 |
KR20080082830A (ko) * | 2007-03-09 | 2008-09-12 | 삼성전자주식회사 | 스패닝 트리 프로토콜을 이용하는 네트워크에서 스위칭장치의 플러싱 처리 장치 및 방법 |
US8705348B2 (en) * | 2007-04-18 | 2014-04-22 | Cisco Technology, Inc. | Use of metadata for time based anti-replay |
FI120284B (fi) * | 2007-07-20 | 2009-08-31 | Tellabs Oy | Huojuntapuskurin täyttöasteen säätö |
US7778166B2 (en) * | 2007-11-28 | 2010-08-17 | Intel Corporation | Synchronizing sequence numbers among peers in a network |
US9214004B2 (en) | 2008-12-18 | 2015-12-15 | Vmware, Inc. | Watermarking and scalability techniques for a virtual desktop planning tool |
US8788079B2 (en) | 2010-11-09 | 2014-07-22 | Vmware, Inc. | Monitoring audio fidelity and audio-video synchronization |
US9674562B1 (en) * | 2008-12-18 | 2017-06-06 | Vmware, Inc. | Quality evaluation of multimedia delivery in cloud environments |
JP5392034B2 (ja) * | 2009-12-01 | 2014-01-22 | 富士通株式会社 | 通信装置および通信方法 |
US8656170B2 (en) * | 2010-05-28 | 2014-02-18 | Cisco Technology, Inc. | Protection of control plane traffic against replayed and delayed packet attack |
DE102012208836A1 (de) * | 2012-05-25 | 2013-11-28 | Siemens Aktiengesellschaft | Verfahren und Vorrichtung zur Erzeugung kryptographisch geschützter redundanter Datenpakete |
US8831001B2 (en) * | 2012-06-24 | 2014-09-09 | Audiocodes Ltd. | Device, system, and method of voice-over-IP communication |
CN103414637B (zh) * | 2013-07-29 | 2016-03-30 | 北京华为数字技术有限公司 | 一种流量转发的方法及相关装置 |
US9288810B2 (en) * | 2013-12-05 | 2016-03-15 | Qualcomm Incorporated | Wireless media sharing from multiple sources to a single sink |
US9961054B2 (en) * | 2014-01-29 | 2018-05-01 | Honeywell International Inc. | Apparatus and method for establishing secure communication with redundant device after switchover |
US9729574B2 (en) | 2014-02-14 | 2017-08-08 | Alcatel Lucent | Seamless switchover for anti-replay connections in multiple network processor systems |
US9600432B2 (en) * | 2014-04-17 | 2017-03-21 | International Business Machines Corporation | Verifying runtime switch-over between multiple I/O protocols on shared I/O connection |
US9722976B1 (en) * | 2015-02-26 | 2017-08-01 | Sonus Networks, Inc. | Methods and apparatus for synchronizing decryption state with remote encryption state |
CN112929324B (zh) * | 2019-12-06 | 2023-02-21 | 中兴通讯股份有限公司 | 一种加密与非加密的切换方法、装置、设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6966003B1 (en) * | 2001-01-12 | 2005-11-15 | 3Com Corporation | System and method for switching security associations |
US7305450B2 (en) | 2001-03-29 | 2007-12-04 | Nokia Corporation | Method and apparatus for clustered SSL accelerator |
US20050102497A1 (en) * | 2002-12-05 | 2005-05-12 | Buer Mark L. | Security processor mirroring |
US7529898B2 (en) * | 2004-07-09 | 2009-05-05 | International Business Machines Corporation | Method for backing up and restoring data |
-
2006
- 2006-05-08 US US11/429,931 patent/US7944814B2/en not_active Expired - Fee Related
-
2007
- 2007-05-04 EP EP07107545A patent/EP1855447A1/en not_active Withdrawn
- 2007-05-08 CN CNA2007101281021A patent/CN101114942A/zh active Pending
- 2007-05-08 KR KR1020070044523A patent/KR20070108825A/ko not_active Application Discontinuation
- 2007-05-08 JP JP2007123041A patent/JP2007306562A/ja active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101714916B (zh) * | 2009-11-26 | 2013-06-05 | 华为数字技术(成都)有限公司 | 一种备份方法、设备和系统 |
US9253094B2 (en) | 2009-11-26 | 2016-02-02 | Huawei Digital Technologies (Cheng Du) Co., Ltd. | Method, device and system for backup |
CN102754370A (zh) * | 2010-02-10 | 2012-10-24 | 阿尔卡特朗讯公司 | 用于检测透明时钟的同步失效的方法及相关的保护机制 |
US9300422B2 (en) | 2010-02-10 | 2016-03-29 | Alcatel Lucent | Method for detecting a synchronization failure of a transparent clock and related protection schemes |
CN102891850A (zh) * | 2012-09-25 | 2013-01-23 | 汉柏科技有限公司 | IPSec隧道更新防重放参数的方法 |
CN107438981A (zh) * | 2015-04-29 | 2017-12-05 | 安移通网络公司 | 跨控制器故障切换和负荷平衡的无线客户端业务连续性 |
CN112492340A (zh) * | 2020-11-27 | 2021-03-12 | 努比亚技术有限公司 | 直播音频采集方法、移动终端及计算机可读存储介质 |
CN112492340B (zh) * | 2020-11-27 | 2023-08-11 | 努比亚技术有限公司 | 直播音频采集方法、移动终端及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US7944814B2 (en) | 2011-05-17 |
KR20070108825A (ko) | 2007-11-13 |
US20070260870A1 (en) | 2007-11-08 |
JP2007306562A (ja) | 2007-11-22 |
EP1855447A1 (en) | 2007-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101114942A (zh) | 安全媒体设备之间的切换 | |
JP3825258B2 (ja) | 傍受方法及びシステム | |
EP1427162B1 (en) | Security processor mirroring | |
US9900291B2 (en) | Methods and apparatus for synchronizing decryption state with remote encryption state | |
JP4734244B2 (ja) | 無線ローカルエリアネットワークのための鍵同期メカニズム | |
CN108810887B (zh) | 多个管理器或接入点在无线网络中的不相交安全 | |
TW200849920A (en) | Methods, systems and devices for securing supervisory control and data acquisition (SCADA) communications | |
GB2353676A (en) | Robust encryption and decryption of packetised data transferred across communications networks | |
WO2003107626A2 (en) | Method for establishing secure network communications | |
CN102111349A (zh) | 安全认证网关 | |
EP2499779A1 (en) | System and method for encryption rekeying | |
US20180053009A1 (en) | Method for secure data management in a computer network | |
EP4270867A1 (en) | Secure communication method, apparatus, and system for dc interconnection | |
US10158651B1 (en) | Verifying secure transactions through distributed nodes | |
US11606346B2 (en) | Method and apparatus for managing reception of secure data packets | |
CN111049648B (zh) | 一种MACSec加密业务数据平面主动更新密钥保证可靠传输的方法 | |
US6880088B1 (en) | Secure maintenance messaging in a digital communications network | |
WO2008012759A2 (en) | A network management method based on snmp | |
KR101040543B1 (ko) | 에스에스에이취 통신환경의 암호화된 데이터 탐지시스템과 탐지방법 | |
CN100596350C (zh) | 工业控制数据的加密解密方法 | |
CZ301928B6 (cs) | Zpusob a zarízení pro zajištení integrity a pravosti souboru dat | |
CN100403673C (zh) | 基于保密通信的无缝换钥技术 | |
JP2004328563A (ja) | 暗号通信装置および暗号通信システム | |
Wagner et al. | Retrofitting Integrity Protection into Unused Header Fields of Legacy Industrial Protocols | |
CN100414875C (zh) | 一种多播/广播中信息完整性保护的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |