网络逻辑分层方法、装置、网络设备及存储介质与流程

文档序号:22141211发布日期:2020-09-08 13:42阅读:63来源:国知局
网络逻辑分层方法、装置、网络设备及存储介质与流程

本发明涉及通信领域,尤其涉及一种网络逻辑分层方法、装置、网络设备及存储介质。



背景技术:

rift(routinginfattree,胖树路由)作为为胖树(fattree)拓扑设计的一种路由协议,目前正在兴起阶段。胖树拓扑广泛用于数据中心网络中,并且也可以在城域网、承载网等领域使用。和传统路由协议相比,rift协议具有以下优势:天然防环、支持ztp(zerotouchprovisioning,零接触服务开通)、部署方便、支持网络自检、可以极大减少底层设备的路由表数量、支持很高程度的ecmp(equal-costmultipathrouting,等价路由)等。

目前的rift协议不支持多拓扑或多实例对网络的逻辑分层,所以,现在亟需提供一种解决方案,用以在rift协议下对网络进行逻辑分层。



技术实现要素:

本发明实施例提供的网络逻辑分层方法、装置、网络设备及计算机可读存储介质,主要解决的技术问题是:如何在rift协议下基于多拓扑实现对网络逻辑分层;如何在rift协议下基于多实例实现对网络逻辑分层。

为解决上述技术问题,本发明实施例提供一种基于rift协议的网络逻辑分层方法,包括:

向网络中的其他设备发送lie(linkinformationelement,链路信息元素)报文和tie(topologyinformationelement,拓扑信息元素)报文,并接收网络中其他设备发送的lie报文和tie报文;lie报文能够指示发送该报文的源设备所支持的至少一个拓扑的拓扑id,tie报文中包含携带目标拓扑id的邻居信息与携带目标拓扑id的metric(度量)信息,目标拓扑id为与该tie报文对应的lie报文所指示的拓扑id;

基于本设备所接收到的lie报文和tie报文进行网络逻辑分层。

本发明实施例还提供一种基于rift协议的网络逻辑分层方法,包括:

向网络中的其他设备发送lie报文和tie报文,并接收网络中其他设备发送的lie报文和tie报文;lie报文和tie报文中均包括实例id选项,实例id选项中携带有发送该报文的源设备所支持的至少一个实例的实例id;

基于本设备所接收到的lie报文和tie报文对网络进行逻辑分层。

本发明实施例还提供一种网络逻辑分层装置,包括:

第一报文收发模块,用于向网络中的其他设备发送lie报文和tie报文,并接收网络中其他设备发送的lie报文和tie报文;lie报文能够指示发送该报文的源设备所支持的至少一个拓扑的拓扑id,tie报文中包含携带目标拓扑id的邻居信息与携带目标拓扑id的metric信息,目标拓扑id为与该tie报文对应的lie报文所指示的拓扑id;

第一分层处理模块,用于基于本设备所接收到的lie报文和tie报文进行网络逻辑分层。

本发明实施例还提供一种网络逻辑分层装置,包括:

第二报文收发模块,用于向网络中的其他设备发送lie报文和tie报文,并接收网络中其他设备发送的lie报文和tie报文;lie报文和tie报文中均包括实例id选项,实例id选项中携带有发送该报文的源设备所支持的至少一个实例的实例id;

第二分层处理模块,用于基于本设备所接收到的lie报文和tie报文对网络进行逻辑分层。

本发明实施例还提供一种网络设备,该网络设备包括处理器、存储器及通信总线;

通信总线用于实现处理器和存储器之间的连接通信;

处理器用于执行存储器中存储的第一网络逻辑分层程序,以实现上述第一种基于rift协议的网络逻辑分层方法的步骤;和/或处理器用于执行存储器中存储的第一网络逻辑分层程序,以实现上述第二种基于rift协议的网络逻辑分层方法的步骤。

本发明实施例还提供一种计算机存储介质,该计算机可读存储介质存储有第一网络逻辑分层程序和第二网络逻辑分层程序中的至少一个,第一网络逻辑分层程序可被一个或者多个处理器执行,以实现上述第一种基于rift协议的网络逻辑分层方法的步骤;第二网络逻辑分层程序可被一个或者多个处理器执行,以实现上述第二种基于rift协议的网络逻辑分层方法的步骤。

本发明的有益效果是:

根据本发明实施例提供的基于rift协议的网络逻辑分层方法、装置、网络设备及计算机可读存储介质,一方面,网络设备通过向网络中的其他设备发送lie报文和tie报文,并接收网络中其他设备发送的lie报文和tie报文,然后基于本设备所接收到的lie报文和tie报文确定本设备所支持的拓扑对应的拓扑路由,实现网络逻辑分层。由于lie报文能够指示发送该报文的源设备所支持的至少一个拓扑的拓扑id,而tie报文中包含携带目标拓扑id的邻居信息与携带目标拓扑id的metric信息,目标拓扑id为与该tie报文对应的lie报文中所携带的拓扑id,所以,网络设备通过与网络中其他设备交换lie报文和tie报文,能够让网络中其他设备了解本设备所支持的拓扑,以及本设备在该拓扑下的邻居信息与metric信息,本设备也能了解网络中其他设备所支持的拓扑以及其他设备在对应拓扑下的邻居信息与metric信息,进而让本设备计算出本设备所支持的拓扑所对应的拓扑路由,同时也能让其他设备计算出其所支持的拓扑的拓扑路由。本发明实施例提供的网络逻辑分层方案中,在lie报文和tie报文中引入了拓扑id,在网络设备支持的拓扑不只一个时,可以通过拓扑id进行区分,从而实现多拓扑的网络逻辑分层,有利于实现通信资源的优化配置,提升通信资源的利用率。

另一方面,网络设备同网络中其他设备所交互的lie报文和tie报文中均包括实例id选项,该实例id选项中携带有发送该报文的源设备所支持的至少一个实例的实例id,也就是说,网络中各设备所支持的实例可以不一致。一个网络接收到其他设备发送的lie报文和tie报文之后,网络设备可以确定其他设备所支持的实例。由于不同实例的设备之间不通报文,因此基于实例的不同,网络中各设备基于接收到的lie报文和tie报文可以确定出至少两种路由表,从而基于实例的不同实现对网络的逻辑分层,提升了网络的优化配置水平。

本发明其他特征和相应的有益效果在说明书的后面部分进行阐述说明,且应当理解,至少部分有益效果从本发明说明书中的记载变的显而易见。

附图说明

图1为本发明实施例一中提供的基于rift协议的网络逻辑分层方法的一种流程图;

图2为本发明实施例一中提供的一种组网架构示意图;

图3为本发明实施例一中提供的拓扑id选项的一种结构示意图;

图4为本发明实施例一中提供的携带目标拓扑id的邻居选项的一种结构示意图;

图5为本发明实施例一中提供的metric选项的一种结构示意图;

图6为本发明实施例二中提供的基于rift协议的网络逻辑分层方法的一种流程图;

图7为本发明实施例二中提供的实例id选项的一种结构示意图;

图8为本发明实施例二中提供的网络设备基于接收到的lie报文和tie报文确定拓扑路的一种流程图;

图9为本发明实施例四中提供的网络逻辑分层装置的一种结构示意图;

图10为本发明实施例四中提供的网络逻辑分层装置的一种结构示意图;

图11为本发明实施例五中提供的网络设备的一种硬件结构示意图;

图12为本发明实施例六中提供的rift组网的一种架构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例一:

现实中一些场景,经常需要用到多拓扑。例如,网络中只有部分设备部署了组播功能,另外一些设备并不支持组播功能,所以,使用多拓扑对网络进行逻辑分层,为支持组播功能的设备创建一个组播拓扑,这样,在这些设备中就可以使用功能;又如,网络中不是所有节点都部署了ipv6(internetprotocolversion6,互联网协议第6版)功能,为了让这些部署了ipv6功能设备可以基于ipv6进行通信,则可以使用多拓扑创建一个ipv6拓扑。

多拓扑可以从逻辑上对网络进行分层,从而让不同的通信数据在不同的拓扑路由传输,从而提升通信资源的优化配置与利用率。不过,目前rift协议并不支持同一个实例多拓扑实现,所以,这降低了通信资源的利用率,不利于通信资源的优化配置,也不利于rift协议的应用。为了解决该问题,本实施例提供一种基于rift协议的网络逻辑分层方法,请参见图1示出的基于rift协议的网络逻辑分层方法的流程图:

s102:向网络中的其他设备发送lie报文和tie报文,并接收网络中其他设备发送的lie报文和tie报文。

在本实施例中,一个网络设备可以向网络中其他设备发送lie报文和tie报文,也可以接收网络中其他设备发送的lie报文和tie报文。毫无疑义的是,在本实施例中,对于一个网络设备而言,其发送lie报文、tie报文和接收其他设备所发送的lie报文、tie报文这两个过程的时序并不是固定的:在一些情景中,该网络设备可以先向其他设备发送lie报文和tie报文,然后才会接收到其他设备发送的lie报文和tie报文;在另外一些情景中,也可以是先进行报文接收,然后才进行报文的发送。当然,发送lie报文和tie报文的过程与接收lie报文和tie报文的过程也可以是同时进行的。

下面对本实施例中,网络设备之间交换的lie报文和tie报文进行介绍:

lie报文中能够指示发送该报文的源设备所支持的至少一个拓扑的拓扑id,可以理解的是,所谓源设备是指生成并发送该lie报文的网络设备,请结合图2示出的示意图:

在图2示出的网络中,网络设备a生成并向网络设备b发送了lie报文,随后,网络设备b可能会对这个来源于网络设备a的lie报文进行转发,从而发送给网络设备c,但即便网络设备b发送了该lie报文,但网络设备b并非是该lie报文的源设备。该lie报文的源设备应当是生成并发送该lie报文的网络设备a。

可以理解的是,至少网络中存在的拓扑不只一个,即可以基于多拓扑实现对网络的逻辑分层。在本实施例的一些示例中,lie报文中可以包括源设备所支持的至少一个拓扑的拓扑id,例如,在一个示例当中,源设备除支持默认拓扑以外,还支持其他拓扑,所以源设备所发送的lie报文中携带的也可以是源设备所支持的其他至少一个拓扑的拓扑id。如,一个网络设备支持拓扑标识分别为“0”、“1”的两个拓扑。其中,拓扑id为“0”的拓扑是网络中各设备默认支持的拓扑,而拓扑id为“1”的拓扑却只是该网络中部分设备支持的拓扑。在该示例当中,该网络设备发送的lie报文中可以仅包括拓扑id“1”,因为即便是在lie报文中不携带拓扑id“0”,网络中其他设备也能够了解该网络设备是支持拓扑id为“0”的拓扑的。

在本实施例的另外一些示例中,lie报文中可以包括该源设备所支持各个拓扑的拓扑id,例如,一个网络设备支持的拓扑的拓扑标识包括“0”、“1”、“3”,则在该网络设备作为源设备所发送的lie报文中可以同时包括拓扑标识包括“0”、“1”、“3”。

lie报文中携带有拓扑id选项,lie报文通过该拓扑id选项来指示源设备所支持的拓扑。图3示出了本实施例提供的一种拓扑id选项的结构示意图:

在拓扑id选项30当中包括flags字段31以及拓扑id(topologyid)字段32,其中,flags字段31可以表征后面的字段中所携带的内容是拓扑id。在本实施例中,flags字段31长一个字节(byte),可以预留部分位以便后续进行功能扩展。拓扑id字段32的长可以被配置为两个byte,其中携带源设备所支持的拓扑的拓扑id。

根据前述介绍可知,如果一个网络设备所发送的lie报文中不携带拓扑id选项,则说明该网络设备仅支持默认拓扑。

tie报文中包括邻居信息和metric信息,在本实施例中,tie报文中邻居信息和metric信息均是携带有目标拓扑id,这里所说的目标拓扑id即是对应的lie报文所指示的拓扑id。因为lie报文可以向网络中其他设备指示源设备所支持的拓扑的拓扑id,而tie报文可以向网络中的其他设备指示源设备在该拓扑id之下的邻居信息与metric信息,因此,一个网络设备作为源设备所发送的lie报文和tie报文是有相互关联的,在本实施例中,称二者相互对应。

所以,tie报文中的邻居信息与metric信息所携带的拓扑id都是对应的lie报文中所指示的拓扑id。在本实施例中,tie报文包括node(节点)tie报文与prefix(前缀)tie报文,其中,nodetie报文中包括携带目标拓扑id的邻居信息,nodetie报文和prefixtie报文中则包括携带目标拓扑id的metric信息。

tie报文中的邻居信息可以通过邻居选项携带,图4示出了一种携带目标拓扑id的邻居选项。邻居选项40包括flags字段41以及拓扑id字段42,同时邻居选项40中还包括结构体的邻居信息(neighborstructure)43,在图4示出的邻居选项40中携带有m个邻居的信息。在本实施例中,邻居选项40中的flags字段41以及拓扑id字段42与图3中相应的内容类似,这里不再赘述。

tie报文中的metric信息可以通过metric选项携带,图5示出的是一种metric选项的结构示意图:metric选项50包括flags字段51以及拓扑id字段52,且metric选项50中的flags字段51以及拓扑id字段52与图3、图4中相应的内容类似,这里不再赘述。同时,metric选项50中还包括metric字段53,该metric字段53中携带有metric信息。

在本实施例的一种示例当中,网络设备为了向网络中其他设备发送上面介绍的lie报文和tie报文,网络设备可以建立自己接口同自己所只支持的拓扑之间的映射关系,也即将接口与自己所支持的拓扑进行绑定。例如,一个网络设备支持拓扑id为“1”和“2”的两个拓扑,该网络设备可以将拓扑id为“1”的拓扑同自己的接口a绑定,将拓扑id为“2”的拓扑同接口b绑定。可以理解的是,在本实施例的其他一些示例当中,网络设备进行接口与拓扑绑定的时候,可以将一个接口同两个甚至两个以上的拓扑绑定。

通过绑定接口与拓扑,可以使得从该接口发送出的lie报文中将携带上该接口对应的拓扑的拓扑id,通过该接口发送出去的tie报文中包括携带对应拓扑id的邻居信息与metric信息。

s104:基于本设备所接收到的lie报文和tie报文进行网络逻辑分层。

在接收到网络中其他设备发送的lie报文和tie报文后,本设备可以基于接收到的这些lie报文和tie报文确定出与本设备所支持拓扑相同或部分相同的设备,然后基于获取到的携带目标拓扑id的邻居信息与携带目标拓扑id的metric信息计算确定出该目标拓扑id对应的拓扑路由。

毫无疑义的是,如果一个网络设备支持多个拓扑,则在进行路由确定的时候,该网络设备需要分别为这多个拓扑确定拓扑路由,确定出分别属于各个拓扑的拓扑路由,例如,假定网络设备支持拓扑id为“1”和“2”的两个拓扑,则该网络设备在基于从其他设备处接收到的lie报文和tie报文进行路由确定的时候,需要分别为拓扑id为“1”的拓扑计算一个拓扑路由,为拓扑id为“2”的拓扑计算一个拓扑路由。

网络设备确定出本设备所支持的各拓扑对应的拓扑路由之后,如果由数据需要由该网络设备通过某一个拓扑进行传输,则该网络设备可以基于之前确定出的对应的拓扑路由查询转发路径,实现数据传输。

本实施例提供的基于rift协议的网络逻辑分层方法可以由网络中的网络设备执行。可以理解的是,网络中的各网络设备均可以执行该基于rift协议的网络逻辑分层方法,从而确定出自身所支持的拓扑对应的拓扑路由。

本发明实施例提供的基于rift协议的网络逻辑分层方法,网络中的网络设备通过在lie报文中增设能够指示自己所支持拓扑的拓扑id,并在tie报文的邻居信息与metric信息中携带自身所支持拓扑的拓扑id,从而使得网络中其他设备了解本设备所支持的拓扑,并了解本设备在该拓扑下的邻居信息与metric信息;同时,本设备也能通过其他设备所发送的lie报文与tie报文了解其他设备所支持的拓扑,以及其他设备在对应拓扑下的邻居信息与metric信息,进而使得网络中各设备基于这些信息确定出自己所支持拓扑的拓扑路由,基于多拓扑实现对网络的逻辑分层,以优化网络通信资源的配置。

实施例二:

目前,rift协议仅支持通过不同的udp(userdatagramprotocol,用户数据报协议)端口号来区分不同实例,即先为某个实例指定特定的udp端口号,随后基于udp端口号来区分实例。

不过,udp端口号作为一种公共资源,让用户指定某实例的udp端口号容易导致为实例指令的端口号同知名端口号产生冲突,且知名端口号会随着协议发展不断变化,所以,使用udp端口号进行实例区分也不利于rift协议兼容性。对此,本实施例提供一种解决方案,以便通过rift协议实现实例的区分,请参见图6示出的基于rift协议的网络逻辑分层方法的流程图:

s602:向网络中的其他设备发送lie报文和tie报文,并接收网络中其他设备发送的lie报文和tie报文。

在本实施例中,一个网络中,各网络设备所支持的实例可以相同,在这种情况下,就只能按照实施例一的介绍,基于多拓扑对网络进行逻辑分层。不过在本实施例的其他一些实例当中,一个网络中,各网络设备所支持的实例可以不完全相同,例如其中一部分设备支持实例1,而另外一部分设备则支持实例2,在这种情况下,基于多实例也可以实现网络的逻辑分层。

为了让网络中各网络设备能够基于多实例实现对网络的逻辑分层,可以对各网络设备发送的lie报文和tie报文进行新的配置:

在本实施例中,在网络设备发送的lie报文和tie报文均携带有实例id选项,所以,各网络设备从其他设备处接收到的lie报文与tie报文中也应当携带有实例id选项。图7示出实例id选项的一种结构示意图:

实例id选项70中包括实例id(instanceid)字段71与逻辑拓扑字段72,其中实例id字段71中包括源设备所支持的至少一个实例的实例id,而逻辑拓扑字段72中可以包含源设备在该实例下的至少一个拓扑id选项,所以在逻辑拓扑字段72中可以包括至少一个如图3示出的拓扑id选项。例如,在图7示出的实例id选项70当中,就包括n个拓扑id选项。不过,在本实施例的一些示例当中,逻辑拓扑字段72中也可以不携带任何一个拓扑id选项,在这种情况下表征源设备仅支持默认拓扑。

在本实施例中,为了向网络中其他设备发送携带实例id选项的lie报文和tie报文,网络设备可以先配置自己接口同实例之间的映射关系,将接口与实例绑定,随后再通过绑定了对应实例的接口外发lie报文和tie报文,这样,发送的lie报文和tie报文中就都会携带对应的实例id选项。

s604:基于本设备所接收到的lie报文和tie报文对网络进行逻辑分层。

在接收到网络中其他设备发送的lie报文和tie报文后,网络设备可以基于这些lie报文和tie报文确定出网络中与本设备所支持实例相同的设备,以及这些网络设备在其所支持的实例下所支持的拓扑。随后,网络设备便可以基于获取到的这些信息确定出自己所支持的实例下自己所支持的各拓扑的拓扑路由。

可以理解的是,一个网络中存在至少两个实例时,就可以基于实例对网络进行逻辑分层。实例与实例之间是不通报文的,不过,有时候,一个网络设备可以同时支持不只一个实例,例如,某一网络设备同时支持实例1与实例2,在这种情况下,尽管,实例1和实例2的报文都能够被该网络设备接收到,但该网络设备在确定实例1下的拓扑路由时,不会需要来自实例2的lie报文和tie报文;同样地,在确定实例2下的拓扑路由时,也不必关心实例1中网络设备所发送的lie报文和tie报文。因此,对于支持某一实例而言,网络设备所接收到的lie报文和tie报文也并不都有用,所以,下面结合图8介绍一种确定拓扑路由的方案:

s802:对接收到的lie报文和tie报文进行筛选,保留目标lie报文和目标tie报文。

在本实施例中,目标lie报文是指所携带实例id与接收到该报文的接口所绑定实例id相同的lie报文,而目标tie报文则是指所携带的实例id与接收到该报文的接口所绑定实例id相同且由本设备在实例id下的邻居设备发送的tie报文。

例如,某一网络设备仅支持实例1,并且该网络设备将实例1同自己的接口a绑定,随后,网络设备从接口a中接收两份报文,其中一份报文中的lie报文与tie报文所携带实例id选项中的实例id均为实例1,但是另一份报文的lie报文与tie报文所携带实例id选项中的示例id为“2”,在这种情况下,该网络设备仅会将第一份报文中的lie报文作为实例1对应的目标lie报文,将第一份报文中的tie报文作为实例1对应的目标tie报文。并且,在确定第二份报文中所携带的实例id与接收到该份报文的接口a所绑定的实例id不一致的时候,网络设备可以直接丢弃这份报文,也即丢弃第二份报文中的lie报文与tie报文。

另外,在本示例中,网络设备在筛选目标tie报文时,不仅要求目标tie报文所携带的实例id与网络设备接收到该报文的接口所绑定的实例的实例id一致,同时,还要求该报文是由该网络设备的邻居发送的。也即在一些情况下,即便一个tie报文中所携带的实例id符合要求,但很可能因为该tie报文的源设备不是网络设备的邻居,因此,也会被网络设备所丢弃。

s804:基于目标lie报文和目标tie报文对网络进行逻辑分层。

筛选出目标lie报文和目标tie报文之后,网络设备可以基于这些目标lie报文与目标tie报文来确定本设备所支持实例下的各拓扑的拓扑路由。例如某一网络设备仅支持实例1,在实例1下,该网络设备支持拓扑1和拓扑2,因此,该网络设备最终需要确定的拓扑路由包括实例1下拓扑1的拓扑路由,以及实例1下拓扑2的拓扑路由。

本实施例提供的基于rift协议的网络逻辑分层方法,网络中各网络设备通过在各自发送的lie报文和tie报文中,携带实例id选项,通过实例id选项向网络中其他设备指示本设备所支持的实例,以及本设备在该实例下所支持的拓扑。各网络设备通过交换lie报文和tie报文,从而了解其他设备所支持的实例以及拓扑,进而在多实例的基础上实现对网络进行逻辑划分。

实施例三:

实施例一中提供了一种基于多拓扑实现网络逻辑分层的方案,而实施例二中则提供了一种基于多实例实现网络逻辑分层的方案,可以理解的是,在对网络进行逻辑分层的时候,可以结合实施例一与实施例二的方案进行,及同时基于多实例与多拓扑实现网络的分层:

在本实施例中,网络中的各网络设备同样会交换lie报文与tie报文,为了同时基于多实例多拓扑的网络逻辑划分,网络设备向外发送的lie报文中不仅能够指示源设备所支持的至少一个拓扑的拓扑id,同时还包括实例id选项。lie报文中包括拓扑id选项,因此,通过该lie报文告知其他设备自己接口所支持的拓扑信息。

而tie报文中,则不仅包括携带目标拓扑id的邻居信息以及携带目标拓扑id的metric信息,同时还包括实例id选项。nodetie报文中支持携带拓扑id的邻居选项,通告远端自己在某拓扑的邻居信息;nodetie报文和prefixtie报文中包括携带拓扑id的metric信息,从而通告网络中其他设备自己在对应拓扑中的metric信息。

在一种示例当中,为了向其他设备发送出符合上述介绍的lie报文与tie报文,网络设备可以先将自己支持的某一实例以及该实例下的某一拓扑同自己的一个接口绑定,这样,通过该接口发送出的lie报文就自然可以携带对应的拓扑id选项以及实例id选项,而通过该接口发送的tie报文就自然包括携带目标拓扑id的邻居信息与metric信息,以及对应的实例id。

在接收到网络中其他设备发送的lie报文与tie报文后,网络设备也可以先按照实施例二中的介绍,先对接收到的报文进行筛选,确定出对应的目标lie报文与目标tie报文,然后才基于筛选保留下的目标lie报文与目标tie报文中的信息确定本设备所支持实例下各拓扑的拓扑路由。

本实施例中所提供的基于rift协议的网络逻辑分层方法,通过在lie报文携带实例id选项,从而让报文接收者判断报文中的实例id和自己所支持的实例的实例id是否一致,不一致则丢弃,不建立邻居关系;同时,通过在tlie报文携带实例id选项,从而让报文接收者判断报文是否是自己所支持实例的邻居发送的,不是则丢弃。利用实例之间不同报文,在网络中存在两个甚至更多实例的时候,让各实例单独确定拓扑路由。

更进一步地,通过通过在lie报文中增设能够指示源设备所支持拓扑的拓扑id,并在tie报文的邻居信息与metric信息中携带自身所支持拓扑的拓扑id,从而使得网络中其他设备了解本设备所支持的拓扑,并了解本设备在该拓扑下的邻居信息与metric信息,进而基于多拓扑实现对网络的逻辑分层,以优化网络通信资源的配置。

实施例四:

本实施例提供一种网络逻辑分层装置,请参见图9示出的网络逻辑分层装置90的一种结构示意图:

网络逻辑分层装置90包括第一报文收发模块902以及第一分层处理模块904,其中,第一报文收发模块902用于向网络中的其他设备发送lie报文和tie报文,并接收网络中其他设备发送的lie报文和tie报文;lie报文能够指示发送该报文的源设备所支持的至少一个拓扑的拓扑id,tie报文中包含携带目标拓扑id的邻居信息与携带目标拓扑id的metric信息,目标拓扑id为与该tie报文对应的lie报文所指示的拓扑id。第一分层处理模块904用于基于本设备所接收到的lie报文和tie报文进行网络逻辑分层。

该网络逻辑分层装置90可以被部署在网络设备上,其中第一报文收发模块902的功能可以通过网络设备的通信单元和处理器共同实现,而第一分层处理模块904的功能则可以通过网络设备的处理器实现。该网络逻辑分层装置90可以实现实施例一以及实施例三中介绍的基于rift协议的网络逻辑分层方法,基于rift协议的网络逻辑分层方法的具体实现过程请参见前述实施例的介绍,这里不再赘述。

本实施例还提供另外一种网络逻辑分层装置,请参见图10示出的结构示意图:

网络逻辑分层装置10包括第二报文收发模块102以及第二分层处理模块104,其中,第二报文收发模块102用于向网络中的其他设备发送lie报文和tie报文,并接收网络中其他设备发送的lie报文和tie报文;lie报文和tie报文中均包括实例id选项,实例id选项中携带有发送该报文的源设备所支持的至少一个实例的实例id与该实例下的至少一个拓扑的拓扑id。第二分层处理模块104用于基于本设备所接收到的lie报文和tie报文对网络进行逻辑分层。

网络逻辑分层装置10同样也可以被部署在网络设备上,其中第二报文收发模块102的功能可以通过网络设备的通信单元和处理器共同实现,而第二分层处理模块104的功能则可以通过网络设备的处理器实现。该网络逻辑分层装置10可以实现实施例二以及实施例三中介绍的基于rift协议的网络逻辑分层方法,基于rift协议的网络逻辑分层方法的具体实现过程请参见前述实施例的介绍,这里不再赘述。

本实施例中提供的网络逻辑分层装置,通过对lie报文以及tie报文进行扩展,从而可以基于多拓扑和/或多实例实现对网络的逻辑分层,有利于通过自拓扑提升网络中通信资源的利用率,优化资源的优化配置。

实施例五:

本实施例提供一种计算机可读存储介质,该计算机可读存储介质中可以存储有一个或多个可供一个或多个处理器读取、编译并执行的计算机程序,在本实施例中,该计算机可读存储介质可以存储有第一网络逻辑分层程序和第二网络逻辑分层程序中的一个,其中,第一网络逻辑分层程序可供一个或多个处理器执行实现前述实施例一以及实施例三中介绍的任意一种基于rift协议的网络逻辑分层方法的流程。第二网络逻辑分层程序可供一个或多个处理器执行实现前述实施例二和实施例三中介绍的任意一种基于rift协议的网络逻辑分层方法的流程。

本实施例中还提供一种网络设备,如图11所示:网络设备110包括处理器111、存储器112以及用于连接处理器111与存储器112的通信总线113,其中存储器112可以为前述存储有第一网络逻辑分层程序和/或第二网络逻辑分层程序的计算机可读存储介质。处理器111可以读取第一网络逻辑分层程序,进行编译并执行实现前述实施例一以及实施例三中介绍的基于rift协议的网络逻辑分层方法的流程:

处理器111向网络中的其他设备发送lie报文和tie报文,并接收网络中其他设备发送的lie报文和tie报文。然后,基于本设备所接收到的lie报文和tie报文确定本设备所支持的拓扑对应的拓扑路由,基于拓扑实现对网络的逻辑分层。

其中,lie报文能够指示发送该报文的源设备所支持的至少一个拓扑的拓扑id,tie报文中包含携带目标拓扑id的邻居信息与携带目标拓扑id的度量metric信息,目标拓扑id为与该tie报文对应的lie报文所指示的拓扑id。

处理器111可以将本网络设备110所支持的拓扑同本设备的接口绑定,通过接口向网络中的其他设备发送lie报文和tie报文。

可选地,处理器111发送的tie报文包括nodetie报文与prefixtie报文;其中,nodetie报文中包括携带目标拓扑id的邻居信息,且nodetie报文和prefixtie报文中包括携带目标拓扑id的metric信息。

处理器111也可以读取第二网络逻辑分层程序,进行编译并执行实现前述实施例二以及实施例三中介绍的基于rift协议的网络逻辑分层方法的流程:

处理器111向网络中的其他设备发送lie报文和tie报文,并接收网络中其他设备发送的lie报文和tie报文。该lie报文和tie报文中均包括实例id选项,实例id选项中携带有源设备所支持的至少一个实例的实例id,接收到其他设备发送的lie报文和tie报文后,处理器111基于本设备所接收到的lie报文和tie报文进行网络逻辑分层。

可选地,处理器111可以将本设备所支持的实例同本设备的接口绑定,并通过接口向网络中的其他设备发送lie报文和tie报文。

另外,在处理器111基于本设备所接收到的lie报文和tie报文确定本设备所支持实例下各拓扑对应的拓扑路由时,其可以对接收到的lie报文和tie报文进行筛选,保留目标lie报文和目标tie报文,目标lie报文为所携带实例id与接收到该报文的接口所绑定实例id相同的lie报文,目标tie报文为所携带的实例id与接收到该报文的接口所绑定实例id相同且由本设备在实例id下的邻居设备发送的tie报文。筛选之后,再基于目标lie报文和目标tie报文进行网络逻辑分层。

该网络设备110的处理器111执行第一网络逻辑分层程序和第二网络逻辑分层程序中至少一个以实现基于rift协议的网络逻辑分层方法的其他细节请参见前述实施例的介绍,这里不再赘述。

实施例六:

为了使本领域技术人员更清楚前述实施例中所提供路由确定方案的优点与细节,本实施例将结合具体示例以及图12示出的rift组网架构继续对前述实施例中的路由确定方案进行介绍:

示例1——基于多拓扑实现网络的逻辑分层。

·rift协议报文扩展的说明:

针对lie报文:

在lie报文中新增拓扑id选项,拓扑id选项的结构如图3所示。在本实施例中,如果某一网络设备所发送的lie报文中不携带该拓扑id选项,则说明该网络设备仅支持默认拓扑。

针对tie报文:

可以新增携带拓扑id的邻居信息,例如通过图4示出的邻居选项携带。在图4当中,“neighborstructure”为rift协议规定的邻居结构,用于表征邻居。可以理解的是,一个tie报文中可以携带多个邻居选项。

同时,可以在tie报文中新增携带拓扑id的metric信息,例如通过图5示出的metric选项携带。同样地,一个tie报文中可以携带多个metric选项。

·报文发送的说明:

网络设备可以通过配置命令或其他方法,把本设备的某个接口绑定到特定的拓扑中。

例如,在图12所示的网络中,假设node111、node122、spine22不支持组播功能(例如ipv4组播功能),且组播拓扑的拓扑id为“1”。同时图12中所有节点都默认支持拓扑0。

对于leaf011节点,其会将自身除了同node111连接的接口以外的其他接口都绑定到拓扑1中;对于leaf012节点,其会将自身除了同node111连接的接口以外的其他接口都绑定到拓扑1中;对于leaf021节点,其会将自身除了同node122连接的接口以外的其他接口都绑定到拓扑1中;对于leaf022节点,其会将自身除了同node122连接的接口以外的其他接口都绑定到拓扑1中。

对于node112节点,其会将自身除了同spine22连接的接口以外的其他接口都绑定到拓扑1中;node121节点,其会将自身除了同spine22连接的接口以外的其他接口都绑定到拓扑1中。

对于spine11节点,其会将自身除了同node111、node122连接的接口以外的其他接口都绑定到拓扑1中。

在网络中各节点进行了接口与拓扑1的绑定之后,这些接口发送的lie报文都会携带拓扑id选项,且拓扑id选项中的拓扑id为“1”。这些接口发送的nodetie报文里包含携带拓扑id“1”的邻居选项,nodetie报文以及prefixtie报文里包含携带拓扑id“1”的metric选项。

·路由确定说明:

在本示例中,各节点均支持拓扑0这一默认拓扑,同时,部分节点支持拓扑1,所以,支持拓扑1的节点会为拓扑1单独计算拓扑路由,该拓扑1的路由用于组播选路转发,没有绑定拓扑1的接口则不参与拓扑路由计算。

示例2——基于多实例实现网络的逻辑分层。

·rift协议报文扩展的说明:

针对lie报文:

在lie报文中新增实例id选项,实例id选项的结构如图7所示。在本实施例中,如果某一网络设备所发送的lie报文中不携带该实例id选项,则默认该网络设备仅支持默认实例(实例0)。

针对tie报文:

在tie报文中也同样新增图7所示的实例id选项。

·报文发送的说明:

网络设备可以通过配置命令或其他方法,把本设备的某个接口绑定到特定的实例中。

例如,在图12所示的网络中,假如leaf011、node111、spine11、node121、leaf021这5个节点支持实例1拓扑1,因此,这几个节点可将自身同其与四个节点中任意一个相连的接口绑定到实例1拓扑1中。随后,这些接口发送的lie报文与tie报文将均会携带实例id选项,该示例id选项中所携带的实例id为“1”,拓扑id为“1”。

·报文接收的说明:

网络设备接收到lie报文后,如果确定该lie报文携带的实例id和接收该lie报文的接口绑定的实例id不一致,则将该报文丢掉。

对于接收到的tie报文,网络设备确定该报文所携带的实例id和接收该tie报文的接口绑定的实例id是否一致,并在确定一致时确定其是否是由本设备在该实例下的邻居发送的,如果判断结果为否,则将该报文丢弃。若确定该tie报文携带的实例id和接收该tie报文的接口绑定的实例id一致,且确定其是由本设备的邻居发送的,则按照tie泛洪规则向同一实例的邻居发送该tie报文。

·路由确定说明:

网络设备接收到其他设备发送的ltie报文和tie报文后,可以为自己所支持的各实例、各拓扑计算拓扑路由。

示例3——基于多拓扑多实例实现网络的逻辑分层。

·rift协议报文扩展的说明:

本示例中对于协议的扩展,结合了示例1与示例2的做法,所以,这里可以参见前述示例的介绍,这里不再赘述。

·报文发送的说明:

网络设备可以通过配置命令或其他方法,把本设备的某个接口绑定到特定的实例特定的拓扑中。

例如,在图12所示的网络中,假定leaf011将自身的所有接口均绑定到实例1下的拓扑1以及拓扑2,这里将leaf011的接口绑定关系记为“1.1+1.2”;

leaf012将自身的所有接口绑定实例2下的拓扑1以及拓扑2,这里将leaf012的接口绑定关系记为“2.1+2.2”;

node111将自身的所有接口绑定实例1下的拓扑1以及拓扑2,这里将node111的接口绑定关系记为“1.1+1.2”;

node112将自身所有接口均绑定实例2拓扑2,这里将node111的接口绑定关系记为“2.2”。

随后,各节点采用对应的接口进行lie报文以及tie报文的发送,从而使得发送的lie报文中携带对应的拓扑id选项以及实例id选项,使得发送的tie报文中包含携带对应拓扑id的邻居选项与metric选项,同时携带对应的实例id选项。

·报文接收的说明:

各网络设备从其他网络设备处接收到lie报文与tie报文后,会按照示例2中的介绍进行筛选与转发,具体过程请参见前述示例的介绍,这里不再赘述。

·路由确定说明:

在本示例中,由于leaf011和node111之间实例和拓扑完全相同,可以正常建立邻居关系,正常交换tie报文,计算出实例1的拓扑1和拓扑2两个拓扑的路由。

由于leaf011和node112之间实例不同,因此无法建立邻居关系。

同样地,因为leaf012和node111之间实例不同,所以,也无法建立邻居关系。

由于leaf012和node112之间实例相同,可以正常建立邻居关系,并交换tie报文。同时,因为这两个节点都支持拓扑2,所以,可以正常计算拓扑2的路由,但是因为node112不支持拓扑1,所以无法计算拓扑1的路由。

本申请中,各个实施例中的技术特征,在不冲突的情况下,可以组合在一个实施例中使用。

显然,本领域的技术人员应该明白,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件(可以用计算装置可执行的程序代码来实现)、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram,rom,eeprom、闪存或其他存储器技术、cd-rom,数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。所以,本发明不限制于任何特定的硬件和软件结合。

以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1