CN101124568B - 通过计算机网络的单向链路路由isis流量的系统和方法 - Google Patents

通过计算机网络的单向链路路由isis流量的系统和方法 Download PDF

Info

Publication number
CN101124568B
CN101124568B CN2006800039325A CN200680003932A CN101124568B CN 101124568 B CN101124568 B CN 101124568B CN 2006800039325 A CN2006800039325 A CN 2006800039325A CN 200680003932 A CN200680003932 A CN 200680003932A CN 101124568 B CN101124568 B CN 101124568B
Authority
CN
China
Prior art keywords
router
intermediate system
send
receives
internet protocol
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.)
Expired - Fee Related
Application number
CN2006800039325A
Other languages
English (en)
Other versions
CN101124568A (zh
Inventor
斯特凡诺·B·普雷维蒂
戴维·D·沃德
乔纳森·C·巴尔特
约翰·A·哈佩尔
伊恩·迈克尔·查尔斯·尚德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN101124568A publication Critical patent/CN101124568A/zh
Application granted granted Critical
Publication of CN101124568B publication Critical patent/CN101124568B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/026Details of "hello" or keep-alive messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/03Topology update or discovery by updating link state protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种用于在被配置为实现诸如ISIS路由协议之类的路由协议的计算机网络的单向链路上路由数据流量的系统和方法。为此,本发明扩展ISIS路由协议以动态地发现通过单向链路而连接的相邻路由器(即邻居)并且随后建立链路上的邻居之间的邻接。邻居的动态发现例如通过使用添加到ISIS Hello分组的新颖的类型/长度/值(TLV)编码格式来实现以在邻居之间传达信息。

Description

通过计算机网络的单向链路路由ISIS流量的系统和方法
技术领域
本发明一般地涉及计算机网络,更具体地涉及在计算机网络的单向链路上路由流量。
背景技术
计算机网络是用于在诸如计算机之类的节点之间传输数据的互连通信链路的地理分布集合。许多类型的计算机网络是可用的,类型从局域网(LAN)到广域网(WAN)。LAN提供互连节点之间的相对短距离的通信,而WAN允许在由公共或私人电信设施所提供的链路上的长距离通信。节点通常通过根据预定协议交换数据的离散帧或分组来进行通信。在这种上下文中,协议由一组定义节点如何彼此交互的规则组成。
计算机网络可以通过诸如路由器之类的中间节点进一步互连,以扩展每个网络的有效“大小”。因为互连计算机网络的管理可以证实是繁琐的,所以较小的计算机网络组可以被维护作为路由域。在这种上下文中,路由域被宽泛地解释为公共地址空间(例如级别、区域或者自治系统)内的互连节点的集合。路由域内的网络通常通过域内路由器耦合在一起。这些路由器管理其域内的网络之间的通信并且使用域内路由协议(或者内部网关协议,IGP)来彼此通信。诸如传统的链路状态协议之类的IGP协议定义一种方式,路由信息和网络拓扑信息在路由域中利用这种方式被交换和处理。
传统的链路状态协议的一个示例是中间系统到中间系统协议(ISIS)。ISIS路由协议是由国际标准化组织(ISO)所开发用于开放式系统互连(OSI)协议组的许多路由协议之一,如在2002年11月的Draft ofISO/IEC 10589:Second Edition中所描述的,该文献通过引用全部结合于此。ISIS协议最初被开发用于在ISO无连接网络协议(CLNP)网络中进行路由。后来创建了一个通常被称为集成ISIS的版本,其支持CLNP和因特网协议(IP)两种网络。ISIS路由协议在1990年12月的题为Use ofOSI IS-IS for Routing in TCP/IP and Dual Environments的请求注解(RFC)1195中作了详细描述,该请求注解通过引用全部结合于此。
通常,诸如ISIS之类的路由协议要求其所操作的每个链路都是双向的,以例如建立链路上的邻接(adjacency)。这里所使用的邻接是在为了交换路由信息和提取网络拓扑的目的而在所选择的相邻(neighboring)路由器(或者“邻居”)之间形成的关系。邻居是具有到网络的公共通信链路的接口的路由器,其中接口是路由器和链路之间的连接。邻接一般是通过使用传统的Hello协议而建立和保持的。也就是说,两个路由器经公共链路看到彼此的Hello分组时变成邻居。而且,Hello协议通过周期性地经接口发送Hello分组而确保邻居之间的通信是双向的。因此,使用路由协议的邻接的建立和保持通常要求双向通信,即路由器希望通过同一接口发送和接收流量。
在被配置为实现诸如ISIS之类的IGP路由协议的服务提供商网络中,经常部署单向链路。这样的单向链路部署的示例包括卫星广播,其允许发送信息到多个“下游”节点。在典型的卫星广播中,发射机(例如卫星)被配置为在一个方向上发送信息到许多接收机(例如下游节点)。卫星广播的应用包括电视(例如按需提供的(on-demand)视频流)和无线电广播。然而,单向链路只允许在一个方向上发送流量,因此,路由协议不可能建立链路上的邻接。因此,提供解决方案以使得单向链路“看起来是”双向。
考虑在单向链路上使用路由协议的一个方案被称为单向链路路由(UDLR),其包括创建(为每个单向链路)隧道。宽泛地说,隧道是逻辑路径,封装后的分组通过该路径从源端点经网络行进到目的地端点。封装通常在隧道的源端点处被执行,解封装在目的地端点处被执行。这里,封装可以包括将特定分组(有效载荷)装在附加的头部中以形成封装后的分组。附加的头部提供使得封装后的分组能够通过网络的路由信息。
可以用在诸如UDLR之类的隧道实现方式中来封装分组的协议是在RFC 1701、RFC 2784和RFC 2890中所定义的“Generic RoutingEncapsulation(通用路由封装)”(GRE)协议,RFC 1701、RFC 2784和RFC 2890中的每一个都可以从因特网工程任务组的网络工作组http://www.ietf.org得到。GRE协议通常由形成GRE隧道的源端点和目的地端点的路由器执行。根据UDLR方案,GRE隧道充当单向大容量链路的“反向信道(back channel)”,并且明显仿效用于单向链路上的单播发送的单个双向链路。UDLR截取需要在耦合到链路的只接收的接口上被发送的分组,并且将其在UDLR反向信道隧道上发送。当路由器经UDLR反向信道隧道接收到这些分组时,UDLR使分组看起来好像是在只发送的接口上接收的。
然而,UDLR方案的一个问题是可缩放性。因为UDLR方案采用单向链路以在一个方向上将信息从发送路由器发送到接收路由器,并且在相反方向上,这两个路由器使用GRE隧道,所以必须配置多个GRE隧道接口(每个单向链路一个GRE隧道接口)。也就是说,对于每个单向链路,需要一个单独的GRE隧道(起反向信道的作用)。这种方案是不希望的,因为其要求将每个接口与实现成本相关联,该实现成本包括一个或多个数据结构和相关处理资源。因而,该方案不能适当地缩放,而本发明致力于提高被配置为在单向链路上实现IGP路由协议的网络的可缩放性。
发明内容
本发明涉及一种用于在被配置为实现诸如ISIS路由协议之类的路由协议的计算机网络的单向链路上路由流量的系统和方法。为此,本发明扩展ISIS路由协议以允许动态地发现通过单向链路而连接的相邻路由器(即邻居)并且随后建立链路上的邻居之间的邻接。邻居的动态发现例如通过使用添加到ISIS Hello分组的新颖的类型/长度/值(TLV)编码格式来实现以在邻居之间传达信息。
另外,本发明扩展ISIS路由协议以允许在考虑一个或多个链路是“真正的”单向链路的情况下计算网络上的路由。这进而使得ISIS路由协议能够通过单向链路来路由流量,而不需要像先前的方案中那样通过使用反向信道隧道而出现“仿效的”双向链路。通过避免出现这样的双向链路(和反向信道隧道的相关使用),网络的可缩放性被有益地提高。
附图说明
通过参考结合附图的以下描述,本发明的上述和进一步的优点将被更好地理解,其中相似的标号表示相同或功能上类似的元件:
图1是包括在路由域内互连的多个诸如路由器之类的中间网络节点的计算机网络的示意框图;
图2是可以有益地结合本发明来使用的路由器的示意框图;
图3是示出根据本发明的路由器的各种模块之间的交互的示意框图;
图4是可以有益地结合本发明来使用的具有添加的类型/长度/值(TLV)编码格式的CLNP封装的多播中间系统到中间系统(ISIS)Hello分组的示意框图;
图5是可以有益地结合本发明来使用的IP封装的单播ISIS Hello分组的示意框图;
图6是示出了根据本发明的用于在被配置为实现ISIS路由协议的计算机网络的单向链路上建立邻接的过程的流程图;以及
图7是可以有益地结合本发明来使用的具有添加的TLV编码格式的IP封装的单播ISIS Hello分组的一个实施例的示意框图。
具体实施方式
图1是包括在路由域内互连的多个中间网络节点的计算机网络100的示意框图,计算机网络100例如是服务提供商网络。中间网络节点可以包括交换机,但是在示例性实施例中,优选地是路由器200。路由器示例性地通过诸如单向链路102和双向链路104之类的点到点的通信链路而被互连。通常通过根据诸如无连接网络协议(CLNP)和/或传输控制协议/因特网协议(TCP/IP)之类的预定协议交换离散协议数据单元或分组来实现路由器200之间的通信。路由域内的路由决定可以进一步依赖于预定的“内部”网关路由协议(IGP)。IGP的一个示例是传统的链路状态协议,例如中间系统到中间系统(ISIS)协议。本领域技术人员将会了解到,其他协议也可以有益地结合本发明来使用。
图2是可以有益地根据本发明使用的路由器200的示意框图。路由器200包括通过总线205耦合到存储器204和多个网络接口适配器210的路由处理器202。存储器204可以包括可由处理器和接口适配器寻址的存储位置,所述存储位置用于存储可以有益地结合这里所描述的发明技术一起使用的软件程序和数据结构。路由处理器202可以包括用于执行软件程序和操纵数据结构的处理元件或逻辑。本领域技术人员将会清楚,包括各种计算机可读介质的其他处理器和存储器装置可以用于存储和执行关于这里所描述的发明技术的程序指令。
路由器操作系统200的多个部分通常位于存储器204中并且由路由处理器202执行,该路由器操作系统200功能上通过调用支持在路由器上执行的软件进程的网络操作或其他途径来组织路由器。在本发明的一个实施例中,操作系统220可以被实现为具有大的存储器地址空间的单个进程,其中该进程中的多段代码提供操作系统服务,例如一个或多个路由协议。但是,在示例性实施例中,操作系统服务可以被实现为在不同的受保护的地址空间中分开调度的进程。这些软件进程或模块中的每一个都具有其自己的进程地址空间,它们在路由器上执行以管理路由器的内部资源并且在ISIS路由协议的情况下与用户交互。
图3是示出根据本发明的路由器的各种模块之间的交互的示意框图。尽管本领域技术人员将会了解到,模块可以被实现为硬件、软件、固件或者其任意组合,但是在示例性实施例中,路由器模块被实施为进程。接口模块310被适配为控制路由器200中的接口,例如单向链路接口320或者双向链路接口330。接口模块310与路由协议模块(例如ISIS协议引擎350)交互,以告知协议引擎其控制的接口(例如单向链路接口320)的类型以及路由器连接到该接口的哪一侧(例如只接收侧或者只发送侧)。配置模块340被适配为配置接口320和330上的ISIS协议。
另外,ISIS协议引擎350示例性地与两个传统传输栈交互:CLNP封装传输栈325,其被配置为封装/解封装在单向链路接口320上所发送/接收的CLNP封装的分组;和IP封装传输栈335,其被配置为封装/解封装在双向链路接口330上所发送/接收的IP封装的分组。宽泛地说,传输栈325和335包括多个层,这些层进行交互以格式化用于在网络100的链路上传送的数据。当数据经过这些层时对其执行预定服务,并且这些层通过预定协议彼此通信。
本发明涉及一种用于在被配置为实现诸如ISIS路由协议之类的路由协议的计算机网络的单向链路上路由流量的系统和方法。为此,本发明扩展ISIS路由协议以允许动态地发现通过单向链路而连接的相邻路由器(即邻居)并且随后建立链路上的邻居之间的邻接。邻居的动态发现例如通过使用添加到ISIS Hello分组的新颖的类型/长度/值(TLV)编码格式来实现以在邻居之间传达信息。
另外,本发明扩展ISIS路由协议以允许在考虑一些链路是“真正的”单向链路的情况下计算网络上的路由。这进而使得ISIS路由协议能够通过单向链路来路由流量,而不需要像先前的方案中那样通过使用反向信道隧道而出现“仿效的”双向链路。通过避免出现这样的双向链路(和反向信道隧道的相关使用),网络的可缩放性被有益地提高。
单向链路上的邻接
如所提到的,ISIS路由协议一般要求其所操作的每个链路都是双向的,以例如建立链路上的邻接。邻接是在为了交换路由信息和提取网络拓扑的目的而在所选择的相邻路由器(或者“邻居”)之间形成的关系。邻接一般是通过使用传统的Hello协议而建立和保持的,如在上面所包括的Draft of ISO/IEC 10589:Second Edition中所描述的,传统的Hello协议在ISIS的情况下通过周期性地交换传统的ISIS Hello分组而确保邻居之间的通信是双向的。
ISIS Hello分组也可以被路由器用于动态地发现耦合到其附接链路的邻居。通常,ISIS路由协议被配置为在直接连接的路由器(例如通过双向链路而连接的路由器)之间交换Hello分组。如所提到的,本发明扩展ISIS路由协议以允许使用例如多跳Hello分组动态发现通过单向链路而连接的邻居。也就是说,本发明一般允许路由器发送多跳Hello分组到其不是直接连接到的被发现的邻居。为此,ISIS Hello分组经过可替换的多跳路径而到达邻居(而不是通过直接连接的单向链路)。
假设路由器200a作为只发送的路由器(例如Rtr A)连接到单向链路102,并且希望在单向链路102上建立与只接收的路由器200b(例如RtrB)的邻接。通过使用传统的ISIS Hello协议在路由器之间交换ISIS Hello分组而建立邻接。为此,Rtr A200a的ISIS协议引擎350创建ISIS Hello消息以经其单向链路接口320发送到Rtr B,所述ISIS Hello消息被CLNP封装传输栈325封装在CLNP封装的多播ISIS Hello分组中。具体地说,Rtr A的ISIS协议引擎350产生被传送到CLNP封装传输栈325的进程消息数据结构(例如ISIS Hello消息),CLNP封装传输栈325通过将传统的CLNP头部封装到该消息上或其他途径而将该消息转换为ISIS Hello分组。
因为Rtr B被连接到单向链路102的只接收侧,所以其不能响应于分组的接收而在链路上发送类似的ISIS Hello分组到Rtr A。因此,根据本发明的一个方面,Rtr B在可替换的多跳路径110上返回ISIS Hello分组到邻居Rtr A。多跳路径110包括多个适于在路由器之间传送IP封装的分组的双向链路104。然而,传统的CLNP封装的ISIS分组不包含ISIS Hello分组经过多跳路径110到达邻居Rtr A所需要的IP地址(并且尤其是发送路由器Rtr A的源IP地址)。
根据本发明的另一方面,Rtr A200a的ISIS协议引擎350通过引入被配置为向只接收的路由器Rtr B传达信息的新的类型/长度/值(TLV)编码格式而修改ISIS Hello分组。图4是可以有益地结合本发明一起使用的具有添加的TLV编码格式450的CLNP封装的多播ISIS Hello分组400的示意框图。分组400包括预先计划用于传统的ISIS Hello消息420的传统的CLNP头部410。另外,TLV450包含IP地址,只接收的路由器Rtr B在向Rtr A发送其IP封装的多跳ISIS Hello分组时使用该IP地址。也就是说,TLV450的范围是使得只发送的路由器Rtr A能够编码到其邻居(即只接收的路由器Rtr B)的源IP地址,从而使得Rtr B能够在封装IP Hello分组以发送回只发送的路由器时使用该源地址作为“目的地”IP地址。
实际上,本发明的这个方面包括对提供用于ISIS分组的TLV450的ISIS协议的扩展。TLV编码格式是用于在诸如路由器之类的节点之间传送信息的一般方式。TLV450用于标识正在被传送(传达)的信息的类型(T)、将要传达的信息的长度(L)和所传达的实际信息的值(V)。包含在长度字段454中的长度(L)参数通常是依实现方式而定的,并且可以表示从属性450的类型字段452的开始到结束的长度。然而,该长度一般表示值(V)字段456的长度而不包括类型(T)字段或者长度(L)字段的长度。示例性地,可以为具有只发送的源IP地址458的值(V)的TLV450定义一个预定类型(T)。
响应于CLNP封装的ISIS Hello分组400的接收,只接收的路由器RtrB的CLNP封装传输栈325从分组中解封装出CLNP头部410并且将具有添加的TLV450的ISIS Hello消息420传送到Rtr B上的ISIS协议引擎350以进行处理。然后,只接收的路由器进行单向链路102上的邻接的建立。根据本发明,只接收的路由器被配置为定位被添加的TLV450并且抽取只发送的源IP地址458,只发送的源IP地址458规定了在响应于分组400时使用以建立邻接的IP地址。具体地说,只接收的路由器上的ISIS协议引擎350被配置为从TLV450中抽取只发送的源IP地址458。
然后ISIS协议引擎350与Rtr B的IP封装传输栈335合作以创建用于发送到Rtr A的IP封装的单播ISIS Hello分组。更具体地说,Rtr B的ISIS协议引擎350产生被传送到IP封装传输栈335的进程消息数据结构(例如ISIS Hello消息),IP封装传输栈335通过将传统的IP头部封装到该消息上或其他途径而将该消息转换为ISIS Hello分组。图5是可以有益地结合本发明一起使用的IP封装的单播ISIS Hello分组500的示意框图。分组500包括预先计划用于传统的ISIS Hello消息520的传统的IP头部510。值得注意的是,IP头部510包括等于只接收的单向接口地址514(例如RtrB的)的源IP地址512和等于从TLV450所抽取的只发送的源IP地址458(例如Rtr A的)的目的地IP地址516。然后,IP封装的单播ISIS Hello分组500经Rtr B的双向链路接口330被发送到网络100的多跳路径110上。例如,多跳单播Hello分组经过包括Rtr D和Rtr C的返回路径,其中该分组被Rtr A接收。
根据本发明的另一方面,只发送的路由器Rtr A将所接收的IP封装的多跳单播Hello分组500与单向链路102相关。也就是说,虽然Hello分组500经过多跳路径110,但是Rtr A被配置为通过例如检查包含在分组500中的源和目的地IP地址来确定分组属于在Rtr A和Rtr B之间所建立的邻接。如所提到的,Hello分组500封装有属于单向链路子网的源IP地址512,例如192.168.10/24,和由只接收的路由器Rtr B预先通告的目的地IP地址516。因此,Rtr A确定源IP地址512属于直接连接的单向链路102并且目的地IP地址516是其预先(通过TLV450)通告给其邻居的只发送的源IP地址458,单向链路102又属于单向链路子网。实际上,本发明的这个方面扩展了只发送的路由器上的ISIS协议引擎350的功能以识别和处理该信息。
在可替换的实施例中,在邻接建立期间,可以为配置只发送的路由器的用户(管理员)提供选择要通告的地址的选项。假设只发送的路由器具有到同一个子网内的多个(许多)单向链路的接口。在每个单向链路上,管理员可以选择在返回单向Hello分组时通告具有被编码到邻居(只接收的路由器)所使用的不同源IP地址的新的TLV的ISIS Hello分组。这是特别有益的,因为其允许管理员区分不同的被返回Hello分组,例如了解分组是从哪一个邻居返回的。
在将所接收的Hello分组500与单向链路102(更具体地说是邻居RtrB)相关之后,邻居Rtr A和Rtr B建立邻接。因为路由协议是ISIS,所以传统的ISIS邻接状态机被用于建立ISIS邻接。因此,即使耦合到单向链路102的只发送和只接收的路由器的ISIS协议引擎350的Hello分组400和500未经过完全相同的路径,它们也可以在该单向链路上建立邻接。
图6是示出了根据本发明的用于在被配置为实现诸如ISIS路由协议之类的路由协议的计算机网络的单向链路上建立邻接的过程600的流程图。过程开始于步骤605并且进行到步骤610,其中只发送的路由器Rtr A创建CLNP封装的多播ISIS Hello分组,该分组具有被配置为传达只接收的路由器Rtr B所使用的只发送的源IP地址的TLV。在步骤615中,只发送的路由器将CLNP封装的Hello分组经单向链路发送到只接收的路由器。在步骤620中,只接收的路由器从分组的TLV中抽取只发送的源IP地址,并且在步骤625中,在创建IP封装的单播ISIS Hello分组时使用该地址作为目的地IP地址。在步骤630中,只接收的路由器将IP封装的Hello分组经网络的多跳路径发送到只发送的路由器。在步骤635中,只发送的路由器将IP封装的Hello分组与单向链路相关,并且在步骤640中,在单向链路上建立与接收的路由器的邻接。然后过程在步骤645结束。
转发MAC地址
一旦邻接被建立,只发送的路由器一般就准备经单向链路102转发数据分组。在这种上下文中,数据转发表示实际的数据分组的转发,而不是ISIS路由协议分组的转发。在点到点链路、电缆或光纤的情况下,因为数据分组仅在链路(电线)的一端被转发并且被电线的另一端处的路由器接收,所以通常不需要介质访问控制(MAC)地址。然而,在卫星链路的情况下,需要接收机的身份(identity),尤其对于数据分组到接收机的单播发送。
因此,为了转发这样的数据流量,只发送的路由器需要知道其每个邻居的MAC地址。而且,因为数据转发仅发生在单向链路的一个方向上,所以本发明的这个方面仅涉及将数据转发到只接收的路由器的只发送的路由器。在单向链路的情况下,传统的地址解析协议(ARP)不起作用;因此,本发明的另一方面考虑使用上述IP封装的单播ISIS Hello分组来将MAC地址从只接收的路由器传播到只发送的路由器。
图7是可以有益地结合本发明一起使用的具有添加的TLV编码格式的IP封装的单播ISIS Hello分组700的一个实施例的示意框图。分组700包括IP封装的单播Hello分组500(图5)的IP头部510和ISIS Hello消息520,并且具有TLV 750,TLV 750由只接收的路由器Rtr B在将分组返回到只发送的路由器Rtr A之前添加。值得注意的是,TLV 750将只接收的路由器的身份传达给只发送的路由器。为此,TLV 750包含MAC地址,只发送的路由器在将流量经单向链路102转发(路由)到只接收的路由器时使用该MAC地址。根据本发明,可以为TLV 750定义一预定类型(存储在类型字段752中),TLV 750具有由值字段756的长度所确定的长度(存储在长度字段754中),利用只接收的路由器上的单向链路接口的MAC地址758对值字段756编码。如上所述,IP封装的单播ISIS Hello分组700此后经Rtr B的双向链路接口330被发送到网络100的多跳路径110上。
最短路径优先(SPF)算法计算
一旦邻接被建立并且要使用的MAC地址已知,只接收的路由器就准备计算到只发送的路由器的多跳路径。这里,重要的是只接收的路由器从不考虑将分组发送到单向链路中(因为该路由器在链路的错误侧)。因此,单向链路102的接收(RX)→发送(TX)方向不应该被包括在任何路由器拓扑中,并且指示路由器单向链路的RX→TX方向(从接收方到发送方)不应被使用。作为示例,该指示在2004年6月的题为Intermediate-System-to-Intermediate-System(IS-IS)Extensions for Traffic Engineering(TE)的RFC3784中被表示为无限大值的定义(infinite metric definition),RFC3784通过引用而被全部结合于此。
具体地说,如果被配置具有RFC3784所规定的maximum_link_metric,则单向链路的RX→TX方向不是任何路由器中的任何最短路径树的一部分。也就是说,在ISIS中所定义的无限大值(最大值)的概念表明,如果链路被通告了最大链路进制(2^24-1),则在正常的SPF计算过程中不得考虑该链路。因此,用无限大的值(例如该值的全部24位都被设置为1)配置链路确保了计算SPF的域/区域中的每个ISIS路由器都将不会使用该链路。换句话说,在整个域/区域中通告特定单向链路(或者路由)的RX→TX方向具有无限大值。此后,当对ISIS路由表的内容进行SPF计算时,在计算中不考虑具有无限大值的链路(或路由)。
下一跳的计算
下一跳的计算与传统的双向链路中所使用的计算并无不同。因为只接收的路由器从不使用单向链路接口作为下一跳接口,因此没有具体的下一跳计算。由只发送的路由器所执行的下一跳计算考虑到,只接收的路由器/邻居是可以通过单向链路并且利用在由只接收的路由器发起的Hello分组内所通告的MAC地址而到达的。只发送的路由器因而具有正确地填充其下一跳是只接收的路由器的任何路由的下一跳属性所需要的所有信息。
虽然示出并描述了用于在被配置为实现诸如ISIS路由协议之类的路由协议的计算机网络的单向链路上路由流量的系统和方法的实施例,但是应当理解,可以在本发明的精神和范围内做出其他各种适应和修改。例如,应该注意到,新颖的TLV 450和750(分别用于邻接的建立和数据的转发)不必被包括在每个ISIS Hello分组(分别由只发送的路由器和只接收的路由器所发送)上,因为所要求的只是信息被传送一次。然而,在示例性实施例中,新的TLV450和750被包括在每个Hello分组发送上。这消除了在仅通告一次该信息时将会需要的附加的处理和复杂性;换句话说,这不需要确保(i)最初、(ii)响应于配置改变和(iii)在被删除的情况下信息被接收。因此,在每次发送Hello分组时可以更高效地发送TLV。
上述描述针对的是本发明的具体实施例。然而,将会清楚的是,可以对所描述的实施例做出其他变化和修改,而获得其优点中的一些或者全部。例如,可以明显地想到,包括这里所描述的各种模块和栈的本发明的教导可以被实现为软件、硬件、固件或者其组合,所述软件包括具有在计算机上执行的程序指令的计算机可读介质。另外,要了解到这里所描述的诸如分组和TLV之类的数据结构可以包括另外的信息,同时仍在本发明的范围内。因此,本说明书仅被认为是作为示例,而不是要限制本发明的范围。因此,所附权利要求书的目的是覆盖所有这样的落在本发明的真正精神和范围内的变化和修改。

Claims (16)

1.一种用于在被配置为实现中间系统到中间系统路由协议的计算机网络的单向链路上路由流量的方法,该方法包括以下步骤:
将类型、长度和值编码格式添加到中间系统到中间系统Hello分组以在连接到所述单向链路的相邻路由器之间传达信息;
使用具有所添加的类型、长度和值编码格式的中间系统到中间系统Hello分组来动态地发现所述相邻路由器以在所述单向链路上建立所述相邻路由器之间的邻接,所述相邻路由器包括连接到所述单向链路的只接收侧的只接收的路由器和连接到所述单向链路的只发送侧的只发送的路由器;以及
在所述网络的所述单向链路上路由所述流量。
2.如权利要求1所述的方法,还包括计算从所述只接收的路由器到所述只发送的路由器的多跳路径的步骤。
3.如权利要求2所述的方法,其中所述计算步骤包括考虑所述单向链路的情况下计算所述网络上的路由的步骤。
4.如权利要求1所述的方法,其中所述添加步骤包括以下步骤:
在所述只发送的路由器处将类型、长度和值添加到无连接网络协议封装的多播中间系统到中间系统Hello分组,所述被添加的类型、长度和值被编码以包含所述只发送的路由器的只发送的因特网协议地址;以及
将具有所述被添加的类型、长度和值的所述无连接网络协议封装的多播中间系统到中间系统Hello分组发送到所述只接收的路由器。
5.如权利要求4所述的方法,还包括以下步骤:
在所述只接收的路由器处定位所述被添加的类型、长度和值;
从所述被添加的类型、长度和值中抽取所述只发送的因特网协议地址;
创建因特网协议封装的多跳单播中间系统到中间系统Hello分组,其包含作为目的地因特网协议地址的所抽取的只发送的因特网协议地址和作为源因特网协议地址的所述只接收的路由器的单向接口地址;以及
将所述因特网协议封装的多跳单播中间系统到中间系统Hello分组经所述网络的多跳路径发送到所述只发送的路由器。
6.如权利要求5所述的方法,还包括以下步骤:在所述只发送的路由器处确定所述源因特网协议地址属于直接连接到所述只发送的路由器的单向链路子网并且所述目的地因特网协议地址是预先通告给所述只接收的路由器的所述只发送的因特网协议地址。
7.如权利要求1所述的方法,其中所述添加步骤包括以下步骤:
在所述只接收的路由器处将类型、长度和值添加到因特网协议封装的多跳单播中间系统到中间系统Hello分组,所添加的类型、长度和值被编码以将所述只接收的路由器的身份传达给所述只发送的路由器;以及
将所述具有所添加的类型、长度和值的因特网协议封装的多跳单播中间系统到中间系统Hello分组发送到所述只发送的路由器。
8.如权利要求7所述的方法,其中所述只接收的路由器的身份是所述只接收的路由器上的单向链路接口的介质访问控制地址,并且其中所述路由步骤包括在所述只发送的路由器处,在将流量经所述单向链路路由到所述只接收的路由器时使用所述介质访问控制地址的步骤。
9.一种适于在被配置为实现中间系统到中间系统路由协议的计算机网络的单向链路上路由流量的设备,该设备包括:
用于将类型、长度和值编码格式添加到中间系统到中间系统Hello分组以在连接到所述单向链路的相邻路由器之间传达信息的添加装置;
用于使用具有所添加的类型、长度和值编码格式的中间系统到中间系统Hello分组来动态地发现所述相邻路由器以在所述单向链路上建立所述相邻路由器之间的邻接的装置,所述相邻路由器包括连接到所述单向链路的只接收侧的只接收的路由器和连接到所述单向链路的只发送侧的只发送的路由器;以及
用于经所述网络的所述单向链路路由所述流量的路由装置。
10.如权利要求9所述的设备,还包括用于计算从所述只接收的路由器到所述只发送的路由器的多跳路径的计算装置。
11.如权利要求10所述的设备,其中所述计算装置包括用于在考虑所述单向链路的情况下计算所述网络上的路由的装置。
12.如权利要求9所述的设备,其中所述添加装置包括:
用于在所述只发送的路由器处将类型、长度和值添加到无连接网络协议封装的多播中间系统到中间系统Hello分组的装置,所述被添加的类型、长度和值被编码以包含所述只发送的路由器的只发送的因特网协议地址;以及
用于将具有所述被添加的类型、长度和值的所述无连接网络协议封装的多播中间系统到中间系统Hello分组发送到所述只接收的路由器的装置。
13.如权利要求12所述的设备,还包括:
用于在所述只接收的路由器处定位所述被添加的类型、长度和值的装置;
用于从所述被添加的类型、长度和值中抽取所述只发送的因特网协议地址的装置;
用于创建因特网协议封装的多跳单播中间系统到中间系统Hello分组的装置,该分组包含作为目的地因特网协议地址的所抽取的只发送的因特网协议地址和作为源因特网协议地址的所述只接收的路由器的单向接口地址;以及
用于将所述因特网协议封装的多跳单播中间系统到中间系统Hello分组经所述网络的多跳路径发送到所述只发送的路由器的装置。
14.如权利要求13所述的设备,还包括:用于在所述只发送的路由器处确定所述源因特网协议地址属于直接连接到所述只发送的路由器的单向链路子网并且所述目的地因特网协议地址是预先通告给所述只接收的路由器的所述只发送的因特网协议地址的装置。
15.如权利要求9所述的设备,其中所述添加装置:
用于在所述只接收的路由器处将类型、长度和值添加到因特网协议封装的多跳单播中间系统到中间系统Hello分组的装置,所添加的类型、长度和值被编码以将所述只接收的路由器的身份传达给所述只发送的路由器;以及
用于将所述具有所添加的类型、长度和值的因特网协议封装的多跳单播中间系统到中间系统Hello分组发送到所述只发送的路由器的装置。
16.如权利要求15所述的设备,其中所述只接收的路由器的身份是所述只接收的路由器上的单向链路接口的介质访问控制地址,并且其中所述路由装置包括用于在所述只发送的路由器处,在将流量经所述单向链路路由到所述只接收的路由器时使用所述介质访问控制地址的装置。
CN2006800039325A 2005-03-18 2006-03-14 通过计算机网络的单向链路路由isis流量的系统和方法 Expired - Fee Related CN101124568B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/084,387 US7499445B2 (en) 2005-03-18 2005-03-18 System and method for routing ISIS traffic through unidirectional links of a computer network
US11/084,387 2005-03-18
PCT/US2006/009071 WO2006101823A2 (en) 2005-03-18 2006-03-14 System and method for routing isis traffic through unidirectional links of a computer network

Publications (2)

Publication Number Publication Date
CN101124568A CN101124568A (zh) 2008-02-13
CN101124568B true CN101124568B (zh) 2010-12-08

Family

ID=37010177

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800039325A Expired - Fee Related CN101124568B (zh) 2005-03-18 2006-03-14 通过计算机网络的单向链路路由isis流量的系统和方法

Country Status (4)

Country Link
US (1) US7499445B2 (zh)
EP (1) EP1859357A4 (zh)
CN (1) CN101124568B (zh)
WO (1) WO2006101823A2 (zh)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7411963B2 (en) * 2005-01-19 2008-08-12 Cisco Technology, Inc. Method for dissemination of non-routing information using the IS-IS protocol
US7792045B1 (en) * 2005-08-25 2010-09-07 Emc Corporation Method and apparatus for configuration and analysis of internal network routing protocols
US7933236B2 (en) * 2005-10-27 2011-04-26 Nortel Networks Limited Methods and systems for a wireless routing architecture and protocol
US9015299B1 (en) * 2006-01-20 2015-04-21 Cisco Technology, Inc. Link grouping for route optimization
US7633952B2 (en) * 2006-02-27 2009-12-15 Ciena Corporation Discovery of physically adjacent neighbor devices using a unidirectional in-band process coupled with an out-of-band follow-up process
US7675867B1 (en) 2006-04-19 2010-03-09 Owl Computing Technologies, Inc. One-way data transfer system with built-in data verification mechanism
US20080037419A1 (en) * 2006-08-11 2008-02-14 Cisco Technology, Inc. System for improving igp convergence in an aps environment by using multi-hop adjacency
TWI340578B (en) * 2006-12-10 2011-04-11 Cameo Communications Inc A method for anti-rogue connection in a network system
US20080262998A1 (en) * 2007-04-17 2008-10-23 Alessio Signorini Systems and methods for personalizing a newspaper
US8068415B2 (en) 2007-04-18 2011-11-29 Owl Computing Technologies, Inc. Secure one-way data transfer using communication interface circuitry
US8352450B1 (en) 2007-04-19 2013-01-08 Owl Computing Technologies, Inc. Database update through a one-way data link
US7941526B1 (en) 2007-04-19 2011-05-10 Owl Computing Technologies, Inc. Transmission of syslog messages over a one-way data link
US8139581B1 (en) 2007-04-19 2012-03-20 Owl Computing Technologies, Inc. Concurrent data transfer involving two or more transport layer protocols over a single one-way data link
US7992209B1 (en) 2007-07-19 2011-08-02 Owl Computing Technologies, Inc. Bilateral communication using multiple one-way data links
US8081620B2 (en) * 2007-11-26 2011-12-20 Alcatel Lucent System and method for supporting link aggregation and other layer-2 protocols primarily over unidirectional links
US8295204B2 (en) * 2008-02-22 2012-10-23 Fujitsu Limited Method and system for dynamic assignment of network addresses in a communications network
US9305189B2 (en) 2009-04-14 2016-04-05 Owl Computing Technologies, Inc. Ruggedized, compact and integrated one-way controlled interface to enforce confidentiality of a secure enclave
WO2012012266A2 (en) 2010-07-19 2012-01-26 Owl Computing Technologies. Inc. Secure acknowledgment device for one-way data transfer system
US8774056B2 (en) 2011-09-28 2014-07-08 Schneider Electric USA, Inc. Automated device discovery on a network
CN102413061B (zh) * 2011-12-31 2015-04-15 杭州华三通信技术有限公司 一种报文传输方法及设备
US8934490B2 (en) * 2013-01-31 2015-01-13 Telefonaktiebolaget L M Ericsson (Publ) Accelerated MAC address resolution for IPv6 traffic with IS-IS protocol
US8995667B2 (en) * 2013-02-21 2015-03-31 Telefonaktiebolaget L M Ericsson (Publ) Mechanism for co-ordinated authentication key transition for IS-IS protocol
CN103560957A (zh) * 2013-10-15 2014-02-05 华为技术有限公司 查表键值构造方法、微码下发方法、装置及系统
US10063466B2 (en) * 2014-01-30 2018-08-28 Coriant Operations, Inc. Method and apparatus for facilitating compatibility between communication networks
US9407534B2 (en) * 2014-05-27 2016-08-02 Telefonaktiebolaget L M Ericsson (Publ) Enhanced procedure to compute LFAs with IGP max metric
US9575987B2 (en) 2014-06-23 2017-02-21 Owl Computing Technologies, Inc. System and method for providing assured database updates via a one-way data link
CN104092610B (zh) * 2014-07-28 2017-09-15 新华三技术有限公司 一种开放式最短路径优先邻居建立方法和装置
US9838317B1 (en) * 2015-04-10 2017-12-05 Juniper Networks, Inc. Policy-based selective traffic reroute based on predicted traffic loss
CN107113278B (zh) * 2015-07-29 2019-10-22 华为技术有限公司 邻居建立的方法、设备和系统
US11063886B2 (en) * 2016-12-08 2021-07-13 Vado Security Technologies Ltd System and method for directing data packets by a virtual switch over a unidirectional medium
CN112968835B (zh) * 2021-02-25 2021-11-09 中国电子科技集团公司第五十四研究所 一种适用于天基网络的单播标签路由设计方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5519704A (en) * 1994-04-21 1996-05-21 Cisco Systems, Inc. Reliable transport protocol for internetwork routing
US6182147B1 (en) * 1998-07-31 2001-01-30 Cisco Technology, Inc. Multicast group routing using unidirectional links
US6240464B1 (en) * 1998-02-04 2001-05-29 3Com Corporation Method and system for managing addresses for network host interfaces in a data-over-cable system
US6553423B1 (en) * 1999-05-27 2003-04-22 Cisco Technology, Inc. Method and apparatus for dynamic exchange of capabilities between adjacent/neighboring networks nodes
CN1502076A (zh) * 2000-12-12 2004-06-02 英特尔公司 在基于推送的网络上动态装载程序代码
US6820134B1 (en) * 2000-12-28 2004-11-16 Cisco Technology, Inc. Optimizing flooding of information in link-state routing protocol

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5251205A (en) * 1990-09-04 1993-10-05 Digital Equipment Corporation Multiple protocol routing
US6243667B1 (en) * 1996-05-28 2001-06-05 Cisco Systems, Inc. Network flow switching and flow data export
US20030088699A1 (en) * 1999-11-04 2003-05-08 James V. Luciani System, device, and method for supporting virtual private networks in a label switched communication network
JP4531157B2 (ja) * 1999-06-30 2010-08-25 ソニー株式会社 通信方法
US6765877B1 (en) * 1999-08-30 2004-07-20 Cisco Technology, Inc. System and method for detecting unidirectional links
JP2003522495A (ja) * 2000-02-12 2003-07-22 エイチアールエル ラボラトリーズ,エルエルシー 移動式特別ネットワークのためのゾーンルーティングプロトコル拡張によるスケーラブル移動式単方向ルーティング
US7327683B2 (en) * 2000-03-16 2008-02-05 Sri International Method and apparatus for disseminating topology information and for discovering new neighboring nodes
WO2002045375A2 (en) * 2000-12-01 2002-06-06 Nortel Networks Limited Auto-tunnelling in a heterogenous network
US6643274B2 (en) * 2001-08-31 2003-11-04 The Boeing Company Routing IP packets to an aircraft
EP1443718B1 (en) 2003-02-03 2008-08-20 Inria Institut National de Recherche en Informatique et en Automatique Automatic filtering of routing information in a data transmission system
US8078756B2 (en) * 2003-06-03 2011-12-13 Cisco Technology, Inc. Computing a path for an open ended uni-directional path protected switched ring

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5519704A (en) * 1994-04-21 1996-05-21 Cisco Systems, Inc. Reliable transport protocol for internetwork routing
US6240464B1 (en) * 1998-02-04 2001-05-29 3Com Corporation Method and system for managing addresses for network host interfaces in a data-over-cable system
US6182147B1 (en) * 1998-07-31 2001-01-30 Cisco Technology, Inc. Multicast group routing using unidirectional links
US6553423B1 (en) * 1999-05-27 2003-04-22 Cisco Technology, Inc. Method and apparatus for dynamic exchange of capabilities between adjacent/neighboring networks nodes
CN1502076A (zh) * 2000-12-12 2004-06-02 英特尔公司 在基于推送的网络上动态装载程序代码
US6820134B1 (en) * 2000-12-28 2004-11-16 Cisco Technology, Inc. Optimizing flooding of information in link-state routing protocol

Also Published As

Publication number Publication date
US20060209719A1 (en) 2006-09-21
EP1859357A2 (en) 2007-11-28
WO2006101823A2 (en) 2006-09-28
CN101124568A (zh) 2008-02-13
US7499445B2 (en) 2009-03-03
EP1859357A4 (en) 2009-12-23
WO2006101823A3 (en) 2007-10-18

Similar Documents

Publication Publication Date Title
CN101124568B (zh) 通过计算机网络的单向链路路由isis流量的系统和方法
CN105871722B (zh) 标签构造以及标签报文转发方法及装置
EP3228123B1 (en) Efficient hybrid resource and schedule management in time slotted channel hopping networks
CN102377666B (zh) 具有平均速率和突发速率控制的基于泛洪的路由协议
US7257646B2 (en) Method and arrangement for handling information packets via user selectable relay nodes
US9392482B2 (en) Method for optimizing the capabilities of an ad hoc telecommunication network
US20090059934A1 (en) Method and device for providing a bridge in a network
CN101340356B (zh) 转发信息的方法和信息转发设备
US7684355B2 (en) Transparent wireless bridge route aggregation
JP2006319676A (ja) フレーム送信方法、トポロジー取得方法、及び無線通信システム
EP2106073B1 (en) Method and apparatus for increasing throughput in a communication network
CN112511444A (zh) 一种组播流量传输方法、装置、通信节点及存储介质
WO2006046576A1 (ja) パケット通信ネットワーク及びパケット通信方法
KR102271639B1 (ko) Avb 스트림의 모듈식 배향을 위한 방법 및 디바이스
CN104396199A (zh) 使用igp的自适应mtu大小优化
CN104301252A (zh) 一种数据发送系统及数据发送方法
CN114465920A (zh) 确定对应关系的方法、装置以及系统
JP5445593B2 (ja) 無線通信装置および無線通信プログラム
CN101119222B (zh) Hope网络实现组播的方法、装置及系统
US8243728B2 (en) Apparatus and method for transmitting packets in a packet switched network
WO2019157476A1 (en) Binding osi layer 3 ip connections to osi layer 2 for mesh networks
JP4632805B2 (ja) 複数経路マルチホップ無線lanシステム
CN113163276A (zh) 路由信息的发布方法、装置及系统
CN108934084B (zh) 无线网格网络的节点及建立无线网格网络的方法
CN114520762A (zh) BIERv6报文的发送方法以及第一网络设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101208

Termination date: 20210314