发送流量的方法以及装置与流程

文档序号:32516852发布日期:2022-12-13 16:13阅读:40来源:国知局
发送流量的方法以及装置与流程

1.本技术涉及通信领域,具体的涉及一种发送流量的方法以及装置。


背景技术:

2.路由器又称网关设备,是用于连接多个逻辑上分开的网络,即当数据需要从一个网络发送至另一个网络时,可通过路由表的信息,选择一条最佳的路径,实现数据转发。
3.在基于路由表的信息进行数据转发的过程中,如果最佳路径的所有出接口均故障,需要切换至其他备选的路径进行数据传输。在相关的技术方案中,无法快速感知部分接口故障,导致收敛时间较长,影响收敛性能。


技术实现要素:

4.本技术提供一种发送流量的方法和装置,该方法可以快速感知关联的ebgp邻居的状态,从而提高收敛性能。
5.第一方面,提供了一种发送流量的方法,包括:第一网络设备接收第二网络设备发送的第一报文,所述第一报文携带第一外部边界网关协议ebgp邻居状态,所述第一ebgp邻居为所述第二网络设备和第三网络设备之间的ebgp邻居;
6.所述第一网络设备根据所述第一信息确定流量发送的路径。
7.上述技术方案中,可以通过第一报文快速感知关联的ebgp邻居的状态,避免流量在网络设备之间形成环回,从而提高收敛性能。
8.结合第一方面,在第一方面的某些实现方式中,所述第一信息指示第一ebgp邻居状态为故障,第二ebgp邻居状态为正常,所述第二ebgp邻居为所述第一网络设备和第三网络设备之间建立的ebgp邻居,所述第一网络设备通过所述第二ebgp邻居将所述流量发送给所述第三网络设备。
9.结合第一方面,在第一方面的某些实现方式中,所述方法还包括:所述第一网络设备将本地保存的逃生路径升级为备路径,所述逃生路径为所述第一网络设备和第四网络设备之间建立的第三ebgp邻居。
10.结合第一方面,在第一方面的某些实现方式中,所述方法还包括:所述第一网络设备确定和所述第三网络设备之间的第二ebgp邻居状态为正常。
11.结合第一方面,在第一方面的某些实现方式中,所述第一信息指示第一ebgp邻居状态为故障,第二ebgp邻居状态为故障,所述第一网络设备通过本地保存的逃生路径将所述流量发送给第四网络设备。
12.结合第一方面,在第一方面的某些实现方式中,所述第一报文包括type code字段,所述type code字段的值用于指示所述第一ebgp邻居状态。
13.第二方面,提供了一种发送流量的装置,所述装置应用于第一网络设备中,包括:接收模块,处理模块,
14.接收模块,用于接收第二网络设备发送的第一报文,所述第一报文携带第一外部
边界网关协议ebgp邻居状态,所述第一ebgp邻居为所述第二网络设备和第三网络设备之间的ebgp邻居;
15.处理模块,用于根据所述第一信息确定流量发送的路径。
16.结合第二方面,在第二方面的某些实现方式中,所述第一信息指示第一ebgp邻居状态为故障,第二ebgp邻居状态为正常,所述第二ebgp邻居为所述第一网络设备和第三网络设备之间建立的ebgp邻居,所述处理模块具体用于:通过所述第二ebgp邻居将所述流量发送给所述第三网络设备。
17.结合第二方面,在第二方面的某些实现方式中,所述处理模块还用于:将本地保存的逃生路径升级为备路径,所述逃生路径为所述第一网络设备和第四网络设备之间建立的第三ebgp邻居。
18.结合第二方面,在第二方面的某些实现方式中,所述处理模块还用于:确定和所述第三网络设备之间的第二ebgp邻居状态为正常。
19.结合第二方面,在第二方面的某些实现方式中,所述第一信息指示第一ebgp邻居状态为故障,第二ebgp邻居状态为故障,所述处理模块具体用于:通过本地保存的逃生路径将所述流量发送给第四网络设备。
20.结合第二方面,在第二方面的某些实现方式中,所述第一报文包括type code字段,所述type code字段的值用于指示所述第一ebgp邻居状态。
21.第三方面,提供了一种第一网络设备,包括输入输出接口、处理器和存储器,其中所述处理器用于控制所述输入输出接口收发信息,所述存储器用于存储计算机程序,所述处理器用于从存储器中调用并运行该计算机程序,使得所述第一网络设备执行第一方面或第一方面任意一种可能的实现方式中所述的方法。
22.可选地,该处理器可以是通用处理器,可以通过硬件来实现也可以通过软件来实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
23.第四方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或第一方面任意一种可能的实现方式中所述的方法。
24.第五方面,提供了一种计算机可读介质,所述计算机可读介质存储有程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述第一方面或第一方面任意一种可能的实现方式中所述的方法。
附图说明
25.图1是应用于本技术实施例的一种场景示意图。
26.图2是本技术实施例提供的一种计算设备100的架构示意图。
27.图3是本技术实施例提供的一种发送流量的方法的示意性流程图。
28.图4是本技术实施例提供的一种表项示意图。
29.图5是本技术实施例提供的另一种表项示意图。
30.图6是本技术实施例提供的一种发送流量的装置600的示意性框图。
具体实施方式
31.下面将结合附图,对本技术中的技术方案进行描述。
32.本技术将围绕包括多个设备、组件、模块等的系统来呈现各个方面、实施例或特征。应当理解和明白的是,各个系统可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。
33.另外,在本技术实施例中,“示例的”、“例如”等词用于表示作例子、例证或说明。本技术中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
34.本技术实施例中,“相应的(corresponding,relevant)”和“对应的(corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
35.本技术实施例描述的网络架构以及业务场景是为了更加清楚地说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
36.在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
37.本技术中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:包括单独存在a,同时存在a和b,以及单独存在b的情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
38.图1是应用于本技术实施例的一种场景示意图。如图1所示,该场景中可以包括路由器110、路由器120、路由器130、路由器140,下面分别对上述各个路由进行详细描述。
39.一个示例,路由器110和路由器120位于一个自治系统(autonomous system,as)域,因此,路由器110和路由器120之间可以建立内部边界网关协议(internal border gateway protocol,ibgp)邻居。路由器110和路由器120也可以称为ibgp对等体,用不在同一个as域内交换路由信息。应理解,上述两者之间不必要通过直连建立邻居关系,只需要逻辑连接即可。例如,路由器110和路由器120可以通过回环(lookback)地址建立ibgp邻居关系。
40.另一个示例,以路由器110为例,路由器110和路由器130、路由器140位于不同的as域,因此,路由器110和路由器130、路由器140之间可以分别建立外部边界网关协议(external border gateway protocol,ebgp)邻居。例如,路由器110和路由器130之间可以通过直连的方式建立ebgp1,用于交换路由器110和路由器130之间交换路由信息。又如,路
由器110和路由器140之间可以通过直连的方式建立ebgp3,用于交换路由器110和路由器140之间的路由信息。
41.应理解,路由器110通过上述建立的邻居关系,可以收到三条路由信息。具体的,路由器110通过ibgp接收到路由器120发送的路由,通过ebgp1接收到路由器130发送的路由,通过ebgp3接收到路由器140发送的路由。这样,路由器110可以根据路由信息分别向路由器130、路由器140发送流量。也就是说,路由器130和路由器140可以分别作为路由器110发送流量的出口设备,路由器110可以通过ebgp1向路由器130发送流量,或者也可以通过ibgp邻居将流量先发送至路由器120,再由路由器120通过ebgp2向路由器130发送流量,或者也可以通过ebgp3向路由器140发送流量。
42.还应理解,根据选路规则,上述三条路由之间有一定的优先级,例如,第一优选路由是路由器130,第二优选路由是路由器120,第三优选路由是路由器140。也就是说,路由器110向出口设备发送流量时,不同的路径也会有不同的优先级。例如,第一优选路由是路由器130,第二优选路由是路由器120,第三优选路由是路由器140。路由器110在发送流量时,优先通过ebgp1向路由器130发送;在ebgp1故障后,通过ibgp将流量发送至路由器120,再由路由器120通过ebgp2向路由器130发送流量;在路由器130的所有接口均故障(例如,ebgp1和ebgp2均故障)的情况下,路由器110需要切换到通过ebgp3向路由器140发送流量。
43.另一个示例,以路由器120为例,路由器120和路由器130、路由器140位于不同的as域,因此,路由器120也和路由器130、路由器140之间可以分别建立ebgp邻居。例如,路由器120和路由器130之间可以通过直连的方式建立ebgp2,用于交换路由器120和路由器130之间的路由信息。又如,路由器120和路由器140之间可以通过直连的方式建立ebgp4,用于交换路由器120和路由器140之间交换路由信息。
44.应理解,路由器120通过上述建立的邻居关系,也可以收到三条路由信息。具体的,路由器120通过ibgp接收到路由器110发送的路由,通过ebgp2接收到路由器130发送的路由,通过ebgp4接收到路由器140发送的路由。这样,路由器120可以根据路由信息分别向路由器130、路由器140发送流量。也就是说,路由器130和路由器140可以分别作为路由器120发送流量的出口设备,路由器120可以通过ebgp2向路由器130发送流量,或者也可以通过ibgp邻居将流量先发送至路由器110,再由路由器110通过ebgp1向路由器130发送流量,或者也可以通过ebgp4向路由器140发送流量。
45.还应理解,根据选路规则,上述三条路由之间有一定的优先级,例如,第一优选路由是路由器130,第二优选路由是路由器110,第三优选路由是路由器140。也就是说,路由器120向出口设备发送流量时,不同的路径也会有不同的优先级。例如,第一优选路由是路由器130,第二优选路由是路由器110,第三优选路由是路由器140。路由器120在发送流量时,优先通过ebgp2向路由器130发送;在ebgp2故障后,通过ibgp将流量发送至路由器110,再由路由器110通过ebgp1向路由器130发送流量;在路由器130的所有接口均故障(例如,ebgp1和ebgp2均故障)的情况下,路由器120需要切换到通过ebgp4向路由器140发送流量。
46.以路由器110发送流量为例,在路由器130的所有接口均故障(例如,ebgp1和ebgp2均故障)的情况下,路由器110需要切换到通过ebgp3向路由器140发送流量时。相关的技术方案中,一方面,路由器110需要等待重新下发通过ebgp3向路由器140发送流量的转发表项,导致收敛时间较长;另一方面,路由器110没有和路由器130直连,无法快速感知ebgp2故
障,导致流量会在路由器110和路由器120之间形成环回,降低了收敛性能。
47.有鉴于此,本技术实施例提供了一种发送流量的方法,该方法快速感知关联的ebgp邻居的状态,避免流量在网络设备之间形成环回,从而提高收敛性能。
48.本技术实施例提供的发送流量的方法可应用于计算设备,计算设备也可以被称为计算系统,包括硬件层、运行在硬件层之上的操作系统层,以及运行在操作系统层上的应用层。该硬件层包括处理单元、内存和内存控制单元等硬件,随后对该硬件的功能和结构进行详细说明。该操作系统是任意一种或多种通过进程(process)实现业务处理的计算机操作系统,例如,linux操作系统、unix操作系统、android操作系统、ios操作系统或windows操作系统等。该应用层包含浏览器、通讯录、文字处理软件、即时通信软件等应用程序。并且,可选地,该计算系统是智能手机等手持设备,或个人计算机等终端设备,本技术并未特别限定,只要能够通过本技术实施例提供的方法即可。本技术实施例提供的发送流量的方法的执行主体可以是计算系统,或者,也可以是计算系统中能够调用程序并执行程序的功能模块。
49.下面结合图2,对本技术实施例提供的一种计算设备进行详细描述。
50.图2是本技术实施例提供的一种计算设备100的架构示意图。该计算设备100可以是服务器或者计算机或者其他具有计算能力的设备。图2所示的计算设备100包括:至少一个处理器110和内存120。
51.处理器110执行内存120中的指令,使得计算设备100实现本技术提供的发送流量的方法。或者,处理器110执行内存120中的指令,使得计算设备100实现本技术提供的发送流量的装置,例如实现发送流量的装置包括的各功能模块。
52.可选地,计算设备100还包括系统总线,其中,处理器110和内存120分别与系统总线连接。处理器110能够通过系统总线访问内存120,例如,处理器110能够通过系统总线在内存120中进行数据读写或代码执行。该系统总线是快捷外设部件互连标准(peripheral component interconnect express,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。所述系统总线分为地址总线、数据总线、控制总线等。为便于表示,图2中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
53.一种可能的实现方式,处理器110的功能主要是解释计算机程序的指令(或者说,代码)以及处理计算机软件中的数据。其中,该计算机程序的指令以及计算机软件中的数据能够保存在内存120或者缓存116中。
54.可选地,处理器110可能是集成电路芯片,具有信号的处理能力。作为示例而非限定,处理器110是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其中,通用处理器是微处理器等。例如,该处理器110是中央处理单元(central processing unit,cpu)。
55.可选地,每个处理器110包括至少一个处理单元112和内存控制单元114。
56.可选地,处理单元112也称为核心(core)或内核,是处理器最重要的组成部分。处理单元112是由单晶硅以一定的生产工艺制造出来的,处理器所有的计算、接受命令、存储命令、处理数据都由核心执行。处理单元分别独立地运行程序指令,利用并行计算的能力加
快程序的运行速度。各种处理单元都具有固定的逻辑结构,例如,处理单元包括例如,一级缓存、二级缓存、执行单元、指令级单元和总线接口等逻辑单元。
57.一种实现举例,内存控制单元114用于控制内存120与处理单元112之间的数据交互。具体地说,内存控制单元114从处理单元112接收内存访问请求,并基于该内存访问请求控制针对内存的访问。作为示例而非限定,内存控制单元是内存管理单元(memory management unit,mmu)等器件。
58.一种实现举例,各内存控制单元114通过系统总线进行针对内存120的寻址。并且在系统总线中配置仲裁器(图中未示出),该仲裁器负责处理和协调多个处理单元112的竞争访问。
59.一种实现举例,处理单元112和内存控制单元114通过芯片内部的连接线,例如地址线,通信连接,从而实现处理单元112和内存控制单元114之间的通信。
60.可选地,每个处理器110还包括缓存116,其中,缓存是数据交换的缓冲区(称作cache)。当处理单元112要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找。由于缓存的运行速度比内存快得多,故缓存的作用就是帮助处理单元112更快地运行。
61.内存(memory)120能够为计算设备100中的进程提供运行空间,例如,内存120中保存用于生成进程的计算机程序(具体地说,是程序的代码)。计算机程序被处理器运行而生成进程后,处理器在内存120中为该进程分配对应的存储空间。进一步的,上述存储空间进一步包括文本段、初始化数据段、位初始化数据段、栈段、堆段等等。内存120在上述进程对应的存储空间中保存进程运行期间产生的数据,例如,中间数据,或过程数据等等。
62.可选地,内存也称为内存储器,其作用是用于暂时存放处理器110中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中,处理器110就会把需要运算的数据调到内存中进行运算,当运算完成后处理单元112再将结果传送出来。
63.作为示例而非限定,内存120是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。应注意,本文描述的系统和方法的内存120旨在包括但不限于这些和任意其它适合类型的存储器。
64.以上列举的计算设备100的结构仅为示例性说明,本技术并未限定于此,计算设备100包括现有技术中计算系统中的各种硬件,例如,计算设备100还包括除内存120以外的其他存储器,例如,磁盘存储器等。本领域的技术人员应当理解,计算设备100还可以包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,上述计算
设备100还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,上述计算设备100也可仅仅包括实现本技术实施例所必须的器件,而不必包括图2中所示的全部器件。
65.下面结合图3,对本技术实施例提供的一种发送流量的方法进行详细描述。
66.图3是本技术实施例提供的一种发送流量的方法的示意性流程图。如图3所示,该方法可以包括步骤310-320,下面分别对步骤310-320进行详细描述。
67.步骤310:第一网络设备向第二网络设备发送第一报文,所述第一报文中携带所述第二网络设备和与其关联的第三网络设备之间的ebgp邻居状态。
68.应理解,以图1所示的场景为例,第一网络设备可以对应于上文中的路由器110,第二网络设备可以对应于上文中的路由器120,第一网络设备和第二网络设备之间可以建立ibgp邻居。以第二网络设备关联的ebgp邻居为第三网络设备为例,该第三网络设备可以对应于上文中的路由器130,第二网络设备和第三网络设备之间建立ebgp2邻居关系,第一网络设备和第三网络设备之间建立ebgp1邻居关系。
69.第二网络设备可以感知与其关联的第三网络设备之间的ebgp2的状态,如果ebgp2故障,第二网络设备可以向第一网络设备发送第一报文,所述第一报文中携带第二网络设备和与其关联的第三网络设备之间的ebgp2的状态。这样,第一网络设备通过ebgp1向第三网络设备发送流量时,可以快速感知ebgp2的状态,防止在ebgp2故障时,第一网络设备无法快速感知,还将流量通过第二网络设备发送给第三网络设备,导致流量在第一网络设备和第二网络设备之间环回。
70.作为示例,该第一报文例如可以是update报文,第二网络设备可以通过update报文的path attributes字段中type code字段表示与第二网络设备关联的ebgp2的状态。例如,如下表1所示,如果与第二网络设备关联的ebgp2的状态为up,可以将update报文的type code字段的取值设置为0。如果与第二网络设备关联的ebgp2的状态为down,可以将update报文的type code字段的取值设置为1。
71.表1与第二网络设备关联的ebgp邻居状态
72.0关联的ebgp邻居状态为up1关联的ebgp邻居状态为down
73.举例说明,以图1所示的场景为例,如果与第二网络设备关联的ebgp2的状态为down,第二网络设备可以向第一网络设备发送update报文,该update报文的type code字段的取值为1。第一网络设备可以根据type code字段的取值为1确定与第二网络设备关联的ebgp2的状态为down。
74.步骤320:第一网络设备根据与第二网络设备关联的ebgp邻居状态,确定流量发送的路径。
75.作为示例,第一网络设备可以通过第三网络设备发送流量,例如,第一网络设备可以通过ebgp1向第三网络设备发送流量,又如,第一网络设备还可以通过ibgp将流量先发送至第二网络设备,再由第二网络设备通过ebgp2向第三网络设备发送流量。第一网络设备还可以通过第四网络设备发送流量。应理解,以图1所示的场景为例,第四网络设备对应于上文中的路由器140,第四网络设备和第一网络设备之间可以建立ebgp3邻居关系,用于传递路由信息。
76.举例说明,各个发送流量的传输路径之间也可以有一定的优先级。例如,第一优先级是第一网络设备通过ebgp1向第三网络设备发送流量,该条流量转发路径可以称为主路径;第二优先级是第一网络设备还可以通过ibgp将流量先发送至第二网络设备,再由第二网络设备通过ebgp2向第三网络设备发送流量,该条流量转发路径可以称为备路径;第三优先级是第一网络设备通过ebgp3向第四网络设备发送流量,该条流量转发路径可以称为逃生路径。
77.本技术实施例中,第一网络设备上可以保存上述各个路径的转发表项。具体的,一个示例,如图4所示,第一网络设备上可以保存一个三级表项,包括主路径,备路径,逃生路径,其中,主路径对应的第三网络设备的接口,备路径对应的第二网络设备的接口,逃生路径对应的第四网络设备的接口。如图4所示,上述各个路径的优先级依次从高到低,也就是说,在主路径没有故障的情况下,优先通过主路径发送流量;在主路径故障的情况下,优先通过备路径发送流量;在主路径和备路径均故障的情况下,通过逃生路径发送流量。另一个示例,如图5所示,第一网络设备上可以保存两个两级表项,也就是说,可以继续沿用主备表项,再多保存一个包括备路径和逃生路径的表项,并在两个两级表项之间建立关联关系,这样可以继续沿用主备表项,其可靠性较高。如图5所示,在主路径没有故障的情况下,优先通过主路径发送流量;在主路径故障的情况下,优先通过备路径发送流量;在主路径和备路径均故障的情况下,通过备路径找到与其关联的逃生路径,并通过逃生路径发送流量。
78.第一网络设备可以本地保存关联的ebgp状态,并根据ebgp状态确定转发流量的路径。具体的,以图1所示的场景为例,第一网络设备本地关联的ebgp状态如下表2所示,ebgp2表示第二网络设备和与其关联的第三网络设备之间的ebgp邻居,ebgp1表示第一网络设备和与其关联的第三网络设备之间的ebgp邻居。
79.表2第一网络设备本地关联的ebgp状态
80.ebgp1ebgp2第一网络设备的路由行为updown逃生路径升级为备选路径downdown切换到逃生路径
81.如表2所示,一个示例,如果ebgp1的状态为up,ebgp2的状态为down,说明第二网络设备和与其关联的第三网络设备之间的ebgp2故障,第一网络设备和与其关联的第三网络设备之间的ebgp1没有故障,第一网络设备可以通过ebgp1向与其关联的第三网络设备发送流量。第一网络设备还可以将与其关联的第四网络设备之间的ebgp3逃生路径升级为备选路径,这样,在第一网络设备和与其关联的第三网络设备之间的ebgp1故障情况下,不需要等待新的转发路径表项的下发,而是可以直接通过备选路径发送流量。
82.另一个示例,如果ebgp1的状态为down,ebgp2的状态为down,说明第二网络设备和与其关联的第三网络设备之间的ebgp2故障,第一网络设备和与其关联的第三网络设备之间的ebgp1也发生了故障,第一网络设备可以切换到与其关联的第四网络设备之间的ebgp3逃生路径,通过该逃生路径将流量发送给第四网络设备。这样,在第三网络设备的所有出口均故障的情况下,第一网络设备不需要等待新的转发路径表项的下发,而是可以直接通过逃生路径发送流量。
83.举例说明,第一网络设备根据第二网络设备发送的第一报文确定ebgp2故障,如果ebgp1没有故障,第一网络设备可以通过ebgp1向与其关联的第三网络设备发送流量,还可
以将与其关联的第四网络设备之间的ebgp3逃生路径升级为备选路径。如果ebgp1故障,第一网络设备可以直接切换到ebgp3逃生路径,通过该逃生路径将流量发送给第四网络设备。
84.在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
85.上文结合图1至图5,详细描述了本技术实施例中发送流量的方法,下面将结合图6,详细描述本技术的装置实施例。
86.图6是本技术实施例提供的一种发送流量的装置600的示意性框图。所述装置600应用于第一网络设备中,能够执行图3所示的方法中第一网络设备执行的各个步骤,为了避免重复,此处不再详述。发送流量的装置600包括:接收模块610,处理模块620,
87.接收模块610,用于接收第二网络设备发送的第一报文,所述第一报文携带第一外部边界网关协议ebgp邻居状态,所述第一ebgp邻居为所述第二网络设备和第三网络设备之间的ebgp邻居;
88.处理模块620,用于根据所述第一信息确定流量发送的路径。
89.可选地,所述第一信息指示第一ebgp邻居状态为故障,第二ebgp邻居状态为正常,所述第二ebgp邻居为所述第一网络设备和第三网络设备之间建立的ebgp邻居,所述处理模块具体用于:通过所述第二ebgp邻居将所述流量发送给所述第三网络设备。
90.可选地,所述处理模块620还用于:将本地保存的逃生路径升级为备路径,所述逃生路径为所述第一网络设备和第四网络设备之间建立的第三ebgp邻居。
91.可选地,所述处理模块620还用于:确定和所述第三网络设备之间的第二ebgp邻居状态为正常。
92.可选地,所述第一信息指示第一ebgp邻居状态为故障,第二ebgp邻居状态为故障,所述处理模块620具体用于:通过本地保存的逃生路径将所述流量发送给第四网络设备。
93.可选地,所述第一报文包括type code字段,所述type code字段的值用于指示所述第一ebgp邻居状态。
94.上述描述的各示例的模块,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
95.这里的发送流量的装置600可以以功能模块的形式体现。这里的术语“模块”可以通过软件和/或硬件形式实现,对此不作具体限定。
96.例如,“模块”可以是实现上述功能的软件程序、硬件电路或二者结合。所述硬件电路可能包括应用特有集成电路(application specific integrated circuit,asic)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
97.本技术实施例还提供一种芯片,该芯片获取指令并执行该指令来实现上述的方法。
98.可选地,作为一种实现方式,该芯片包括处理器与数据接口,该处理器通过该数据接口读取存储器上存储的指令,执行上述方法。
99.可选地,作为一种实现方式,该芯片还可以包括存储器,该存储器中存储有指令,该处理器用于执行该存储器上存储的指令,当该指令被执行时,该处理器用于执行上述方法。
100.本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有指令,该指令用于上述方法实施例中的方法。
101.本技术实施例还提供一种包含指令的计算机程序产品,该指令用于实现上述方法实施例中的方法。
102.一种实现举例,处理器可以为中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
103.一种实现举例,存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,ram)可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。
104.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
105.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
106.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
107.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
108.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
109.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
110.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1