CN117411819A - 一种路由发布方法、通信方法及装置 - Google Patents

一种路由发布方法、通信方法及装置 Download PDF

Info

Publication number
CN117411819A
CN117411819A CN202210837807.5A CN202210837807A CN117411819A CN 117411819 A CN117411819 A CN 117411819A CN 202210837807 A CN202210837807 A CN 202210837807A CN 117411819 A CN117411819 A CN 117411819A
Authority
CN
China
Prior art keywords
srv
sid
communication device
message
address
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
Application number
CN202210837807.5A
Other languages
English (en)
Inventor
陈新隽
王海波
谢经荣
董杰
周敏
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to PCT/CN2023/096476 priority Critical patent/WO2024007762A1/zh
Publication of CN117411819A publication Critical patent/CN117411819A/zh
Pending legal-status Critical Current

Links

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/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables

Landscapes

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

Abstract

本申请实施例公开了一种路由发布方法,第二通信装置可以向第三通信装置发送第一BGP消息,第一BGP消息包括第一路由前缀,第一下一跳地址和第一color属性,用于通告包括第一路由前缀和第一下一跳地址的第一BGP路由。第一路由前缀的地址段为第二通信装置的第一地址段,第一color属性指示第一业务意图,第二通信装置还可以向第一通信装置通告第一SRv6业务路由,第一SRv6业务路由包括第一SRv6 SID,第一SRv6 SID为第一地址段内的地址;其中,第二通信装置和第一通信装置属于不同的域。利用本方案,可以在SRv6跨域场景中,基于业务意图在域内迭代不同的目标路径,并且,报文封装开销小。

Description

一种路由发布方法、通信方法及装置
本申请要求于2022年07月07日提交的申请号为202210804062.2、发明名称为 “一种报文处理方法、通信方法、路由发布方法及装置”的中国专利申请的优先权,其全 部内容通过引用结合在本申请中。
技术领域
本申请涉及通信领域,尤其涉及一种路由发布方法、通信方法及装置。
背景技术
随着段路由(segment routing,SR)技术的推广,引入了color属性。网络中的网络节 点可以基于color属性迭代对应的路径,基于该路径传输业务数据,从而保障业务的服务 水平承诺(service level agreement,SLA)。
网络例如承载网络可以包括多个网络域。当所述业务的传输路径跨越多个网络域时, 若要基于color属性迭代对应的路径,则需要部署对应前述color属性的、跨越多个网络域 的端到端路径。若未部署前述对应color属性的、跨越多个网络域的端到端路径,则无法基 于所述color属性迭代路径,从而导致业务的SLA无法得到保障。
因此,急需一种方案,能够解决上述问题。
发明内容
本申请实施例提供了一种路由发布方法、通信方法及装置,可以在未部署对应color属 性的、跨越多个网络域的端到端路径的情况下,也能够基于color属性迭代路径,从而保障 业务的SLA。
第一方面,本申请实施例提供了一种路由发布方法,该方法可以由第二通信装置执行。 在一个示例中,第二通信装置可以向第三通信装置发送第一边界网关协议(BorderGateway Protocol,BGP)消息,所述第一BGP消息包括第一路由前缀,第一下一跳地址和第一颜 色(color)属性,用于通告第一BGP路由,所述第一BGP路由包括所述第一路由前缀和所述第一下一跳地址。通过携带color属性的BGP消息所通告的BGP路由也可以称之为 BGP意图路由。其中,所述第一路由前缀的地址段为第二通信装置的第一地址段,所述第 一color属性指示第一业务意图,例如,所述第一color属性可以携带用于指示所述第一业 务意图的color值。示例性地,关于color属性,可以参考请求评论(request for comments,RFC)9012中关于颜色扩展团体(color extended commnity)的相关描述部分。另外,第二通信装置还可以向第一通信装置通告第一因特网协议第6版段路由(Segment RoutingInternet Protocol Version 6,SRv6)业务路由,所述第一SRv6业务路由包括第一SRv6段标识(Segment identifier,SID),所述第一SRv6 SID为所述第一地址段内的地址;其中,所述第二通信装置和所述第一通信装置属于不同的域。由于所述第一BGP消息包括第一 路由前缀,第一下一跳地址和第一color属性,因此,第三通信装置可以基于所述第一下一 跳地址和第一color属性,将所述第一BGP路由迭代到第一目标路径。进一步地,由于所 述第一SRv6 SID为所述第一地址段内的地址,因此,所述第一SRv6 SID可以匹配所述第 一地址段,相应的,所述第一SRv6 SID可以迭代到所述第一BGP路由,进一步地,可以 确定由所述第一BGP路由迭代的第一目标路径的第一转发信息,并基于所述第一转发信 息转发业务报文。由此可见,在一个示例中,利用本方案,无需部署传递VPN业务报文或 者SFC业务报文的端到端路径,第一通信装置可以基于第一SRv6 SID,迭代到第一BGP 路由,从而确定在某一网络域中的传输路径,从而充分利用该域内的第一目标路径来传输 VPN业务报文或者业务功能链(ervice function chaining,SFC)业务报文。而且,利用本 方案,在对业务报文进行封装时,无需封装多个SRv6头部,封装一个SRv6头部用于携带 前述第一转发信息和第一SRv6 SID即可,报文封装的开销较小,而且,该SRv6头部符合 SRv6基础规范。
在一种可能的实现方式中,本申请实施例中提及的网络域,或者区域,可以对应自治 系统(autonomous system,AS),也可以对应内部网关协议(Interior GatewayProtocol,IGP) 域。
在一种可能的实现方式中,若所述第二通信装置部署有VPN业务,则所述第一SRv6业务路由可以为第一SRv6 VPN路由,相应的,所述第一SRv6 SID为第一SRv6 VPN SID。
在一种可能的实现方式中,所述第二通信装置还向所述第三通信装置发送第二BGP消 息,所述第二BGP消息包括第二路由前缀,第二下一跳地址和第二color属性,其中,所 述第二路由前缀的地址段为第二通信装置的第二地址段,所述第二color属性指示第二业务 意图;另外,所述第二通信装置还向所述第一通信装置通告第二SRv6业务路由,所述第二 SRv6业务路由包括第二SRv6 SID,所述第二SRv6 SID为所述第二地址段内的地址。由于 所述第二BGP消息包括第二路由前缀,第二下一跳地址和第二color属性,因此,第三通信装置可以基于所述第二下一跳地址和第二color属性,将所述第二BGP路由迭代到第二目标路径。进一步地,由于所述第二SRv6 SID为所述第二地址段内的地址,因此,所述第 二SRv6 SID可以匹配所述第二地址段,相应的,所述第二SRv6 SID可以迭代到所述第二 BGP路由,进一步地,可以确定由所述第二BGP路由迭代的第二目标路径的第二转发信 息,并基于所述第二转发信息转发业务报文。由此可见,在一个示例中,利用本方案,无 需部署传递VPN业务报文或者SFC业务报文的端到端路径,第一通信装置可以基于第二 SRv6 SID,迭代到第二BGP路由,从而确定在某一网络域中的传输路径,从而充分利用该 域内的第二目标路径来传输VPN业务报文或者SFC业务报文。而且,利用本方案,在对 业务报文进行封装时,无需封装多个SRv6头部,封装一个SRv6头部用于携带前述第二转 发信息和第二SRv6 SID即可,报文封装的开销较小,而且,该SRv6头部符合SRv6基础 规范。
在一种可能的实现方式中,所述第二SRv6业务路由为第二SRv6 VPN路由,所述第二SRv6 SID为第二SRv6 VPN SID。
在一种可能的实现方式中,可以所述第二通信装置的第一SRv6 locator地址段进行划 分,划分为多个不同子地址段,所述多个不同子地址段包括所述第一地址段。在一个示例 中,所述多个子地址段还可以包括所述第二地址段。例如,可以按照业务意图,对所述第 一SRv6 locator地址段进行划分,一个业务意图对应一个子地址段。
在一种可能的实现方式中,可以为所述第二通信装置配置至少一个SRv6 locator地址 段,所述第一地址段为所述第二通信装置的第一SRv6 locator地址段。在一个示例中,所 述第二地址段为所述第二通信装置的第二SRv6 locator地址段。
在一种可能的实现方式中,所述第一通信装置属于第一域,所述第二通信装置和所述 第三通信装置均属于第二域,所述第一通信装置通过第三通信装置连接所述第二通信装置。 即:第二通信装置可以向与其属于同一域的第三通信装置发布BGP消息(例如第一BGP 消息或者第二BGP消息),第二通信装置可以向与其属于不同域的第一通信装置发布SRv6 业务路由(例如第一SRv6业务路由或者第二SRv6业务路由),从而实现按照各个域内的 路径规划传输对应的业务报文。
在一个示例中,本申请所提及的SRv6 SID为SRv6 service SID,用于关联分配该SID 的通信装置的特定业务行为。例如,SRv6 SID可以是SRv6虚拟专用网(virtualprivate network,VPN)SID、SRv6服务(service)segment SID或SRv6绑定(binding)SID。其中,SRv6 VPN SID用于关联VPN业务的相关操作。作为示例,SRv6 VPN SID的类型 例如可以是END.D类型,例如RFC8986中所定义的End.DX4,End.DT4,End.DX6,End.DT6, End.DX2,End.DX2V,End.DT2U,End.DT2M等。SRv6 service segment SID用于关联业务链 相关操作。作为一个示例,SRv6 service segment SID的类型例如可以是END.A类型,例如 Internet工程任务组(Internet Engineering Task Force,IETF)草案draft-ietf-spring-sr-service- programming所描述的END.AN等。SRv6 binding SID用于关联隧道绑定等相关操作。作 为一个示例,上述的SRv6 binding SID,例如是END.B类型的SID,例如RFC8986中所定义 的End.BM、END.B6。
在一个示例中,所述第一SRv6 SID可以是第二通信装置的第一SRv6 VPN SID、第一 SRv6 service segment SID或第一SRv6 binding SID。例如,当第一报文为VPN业务报文时, 所述第一SRv6 SID是第二通信装置的第一SRv6 VPN SID。
第二方面,本申请实施例提供了一种通信方法,该方法可以由第一通信装置执行,在 一个示例中,所述第一通信装置可以接收第一BGP消息,所述第一BGP消息包括第一路由前缀、第一下一跳地址和第一color属性,其中,所述第一路由前缀的地址段为第二通信装置的第一地址段,所述第一color属性指示第一业务意图。第一通信装置接收到所述第一BGP消息之后,可以根据所述第一BGP消息,生成第一BGP路由。所述第一BGP路由 包括所述第一路由前缀和第一下一跳地址。所述第一通信装置基于所述第一color属性和 基于所述第一下一跳地址,将所述第一BGP路由迭代到第一目标路径,所述第一目标路径 用于转发携带所述第二通信装置的第一SRv6 SID的报文,其中,所述第一SRv6 SID为所 述第一地址段内的地址。由此可见,利用本方案,第一通信装置接收到第一BGP消息之 后,可以基于所述第一BGP消息所携带的第一color属性和第一下一跳地址将所述第一 BGP路由迭代到第一目标路径。这样一来,当第一通信装置接收到业务报文之后,确定业 务报文对应所述第一SRv6 SID,则由于所述第一SRv6 SID为所述第一地址段内的地址, 因此,所述第一SRv6VPN SID可以匹配所述第一路由前缀,从而根据所述第一SRv6 SID 确定所述第一目标路径的第一转发信息,并基于所述第一转发信息转发业务报文。即可以 将业务报文引流到基于第一业务意图所创建的第一目标路径中。
基于本申请所提供的方案,在面对无法部署端到端满足color意图隧道(例如端到端 的SRv6 Policy)的SRv6跨域场景中,支持各域按照color值迭代域内隧道,由此,可以充分利用域内的差异化路径和隧道,提升转发效率。基于本申请的方案,不仅能够支持公网业务在各域中按照color值迭代域内隧道,也支持VPN等私网业务在各域中按照color值 迭代域内隧道,提升了私网业务的传输质量。另外,基于本申请所提供的方案,在数据面 封装时,仅需要一层SRv6头封装即可解决,兼容当前的SRv6封装标准,在对业务报文进 行封装时,无需封装多个SRv6头部,封装一个SRv6头部用于携带前述第一转发信息和第 一SRv6SID即可,报文封装的开销较小,而且,该SRv6头部符合SRv6基础规范。
在一种可能的实现方式中,所述第一SRv6 SID为第一SRv6 VPN SID,对于这种情况, 可以基于第一目标路径传输VPN业务对应的业务报文。
在一种可能的实现方式中,若所述第一通信装置为跨域转发的头节点,则所述第一通 信装置还可以接收第二通信装置发布的第一SRv6业务路由,所述第一SRV6业务路由包 括所述第一SRv6 SID。第一通信装置接收到所述第一SRV6业务路由之后,由于所述第一SRv6 SID为第一地址段内的地址,因此,所述第一SRv6 SID可以迭代到所述第一BGP路 由,而由于所述第一BGP路由迭代到第一目标路径,因此,所述第一SRv6 SID迭代所述 第一BGP路由之后,所述第一通信装置可以获得所述第一目标路径的第一转发信息,在报 文转发阶段,所述第一通信装置可以基于所述SRv6 SID确定所述第一转发信息,从而进 一步封装得到包括第一SRv6 SID和所述第一转发信息的报文。
在一种可能的实现方式中,若所述第一通信装置为跨域转发的头节点,则所述第一通 信装置还可以接收控制器发送的第一信息,所述第一信息包括所述第一SRv6 SID。第一通 信装置接收到所述第一信息之后,由于所述第一SRv6 SID为第一地址段内的地址,因此, 所述第一SRv6 SID可以迭代到所述第一BGP路由,而由于所述第一BGP路由迭代到第一目标路径,因此,所述第一SRv6 SID迭代所述第一BGP路由之后,所述第一通信装置 可以获得所述第一目标路径的第一转发信息。在报文转发阶段,所述第一通信装置可以基 于所述SRv6 SID确定所述第一转发信息,从而进一步封装得到包括第一SRv6 SID和所述 第一转发信息的报文。
在一种可能的实现方式中,第一通信装置接收到第一BGP消息之后,可以基于所述第 一BGP消息,得到第二BGP消息,所述第二BGP消息用于通告第二BGP路由,并将所 述第二BGP消息发送给第三通信装置。在一个示例中,第二BGP消息中的下一跳信息被 修改为第一通信装置自身的信息。在一个具体的示例中,第一通信装置可以对第一下一跳 进行修改,将所述第一下一跳修改为第二下一跳,第二下一跳为所述第一通信装置的IP地 址。在又一个示例中,考虑到对于不同的域而言,对应相同业务意图的color值不同,因 此,所述第一通信装置还可以将第一color属性修改为第二color属性,第二color属性用 于在所述第三通信装置所述的域内指示所述第一业务意图。
在一种可能的实现方式中,所述第二BGP消息可以用于指示所述第三通信装置根据 所述第二color属性和所述第二下一跳地址,将所述第二BGP路由迭代到第二目标路径,所述第二目标路径用于转发携带所述第一SRv6 SID的报文。对于这种情况,对于携带第 一SRv6 SID的报文而言,其在两个不同域的边界节点之间,例如在第三通信装置和第一 通信装置之间,也可以基于与第二color属性匹配的第二目标路径转发,从而有效保证业 务报文在不同域的边界节点之间转发时,也能使得业务意图得到满足。
在一种可能的实现方式中,所述第一通信装置还可以接收第三BGP消息,所述第三BGP消息包括第二路由前缀,第三下一跳地址和第三color属性,其中,所述第二路由前 缀的地址段为所述第二通信装置的第二地址段,所述第三color属性指示第二业务意图; 根据所述第三BGP消息,生成第三BGP路由,所述第三BGP路由包括所述第二路由前缀 和所述第三下一跳地址;基于所述第三color属性和基于所述第三下一跳地址,将所述第 三BGP路由迭代到第三目标路径,所述第三目标路径用于转发携带所述第二通信装置的 第二SRv6SID的报文,其中,所述第二SRv6 SID为所述第二地址段内的地址。这样一来, 当第二通信装置配置有对应不同业务意图的业务时,可以对第二通信装置进行地址段的划 分,第一业务意图对应第一地址段,第二业务意图对应第二地址段。这样一来,第一通信 装置可以通过第一目标路径转发第一业务意图对应的业务数据,通过第三目标路径转发第 二业务意图对应的业务数据。
在一种可能的实现方式中,所述第二SRv6 SID为第二SRv6 VPN SID。
在一种可能的实现方式中,若所述第一通信装置为跨域转发的头节点,则所述第一通 信装置还可以接收所述第二通信装置通告的第二SRv6 VPN路由,所述第二SRv6 VPN路 由包括所述第二SRv6 VPN SID,根据第二SRv6 VPN SID迭代所述第三BGP路由,获取 所述第三目标路径的第二转发信息。在报文转发阶段,所述第一通信装置可以基于所述第 二SRv6 SID确定第二转发信息,从而进一步封装包括第二SRv6 SID和所述第二转发信息 的报文,以实现通过第三目标路径转发包括所述第二SRv6 SID的报文。
在一种可能的实现方式中,若所述第一通信装置为跨域转发的头节点,则所述第一通 信装置还可以接收控制器发送的第二信息,所述第二信息包括所述第二SRv6 SID。第一通 信装置接收到所述第二信息之后,由于所述第二SRv6 SID为第二地址段内的地址,因此, 所述第二SRv6 SID可以迭代到所述第三BGP路由,而由于所述第三BGP路由迭代到第三目标路径,因此,所述第二SRv6 SID迭代所述第三BGP路由之后,所述第一通信装置 可以获得所述第三目标路径的第二转发信息。在报文转发阶段,所述第一通信装置可以基 于所述第二SRv6 SID确定第二转发信息,从而进一步封装包括第二SRv6 SID和所述第二 转发信息的报文,以实现通过第三目标路径转发包括所述第二SRv6 SID的报文。
在一种可能的实现方式中,所述第二SRv6 SID为第二SRv6 VPN SID,所述第二SRv6 SID为第二SRv6服务service段segment SID或所述第二SRv6 SID为第二SRv6绑定binding SID。
在一种可能的实现方式中,第一通信装置接收到第三BGP消息之后,可以基于所述第 三BGP消息,得到第四BGP消息,所述第四BGP消息用于通告第四BGP路由,并将所 述第四BGP消息发送给第三通信装置。在一个示例中,第四BGP消息中的下一跳信息被 修改为第一通信装置自身的信息。在一个具体的示例中,第一通信装置可以对第三下一跳 进行修改,将所述第三下一跳修改为第四下一跳,第四下一跳为所述第一通信装置的IP地 址。在又一个示例中,考虑到对于不同的域而言,对应相同业务意图的color值不同,因 此,所述第一通信装置还可以将第三color属性修改为第四color属性,第四color属性用 于在所述第三通信装置所述的域内指示所述第二业务意图。
在一种可能的实现方式中,所述第四BGP消息可以用于指示所述第三通信装置根据 所述第四color属性和所述第四下一跳地址,将所述第四BGP路由迭代到第四目标路径,所述第四目标路径用于转发携带所述第二SRv6 SID的报文。对于这种情况,对于携带第 二SRv6 SID的报文而言,其在两个不同域的边界节点之间,即在第三通信装置和第一通 信装置之间,也可以基于与第四color属性匹配的第四目标路径转发,从而有效保证业务 报文在不同域的边界节点之间转发时,也能使得业务意图得到满足。
在一种可能的实现方式中,所述第二路由前缀的地址段为所述第二通信装置根据所述 第二业务意图分配的地址段,所述第二SRv6 SID为所述第二通信装置根据所述第二业务 意图分配的SID,对于这种请情况,可以根据业务意图对第二通信装置进行地址段的分配, 并基于业务意图分配SRv6 SID,从而实现将不同业务意图的业务数据通过与该业务意图对 应的路径转发。
在一种可能的实现方式中,所述第二通信装置的第一SRv6 locator地址段包括多个不 同子地址段,所述多个不同子地址段包括所述第一地址段和所述第二地址段。
在一种可能的实现方式中,所述第一地址段为所述第二通信装置的第一SRv6locator 地址段,所述第二地址段为所述第二通信装置的第二SRv6 locator地址段。
在一种可能的实现方式中,所述第一目标路径为以下一种:SRSRv6策略(policy);SRv6灵活算法(flexible algorithm,flex-algo)路径;资源预留协议流量工程(ResourceReSerVation Protocol traffic engineering,RSVP-TE)隧道;SR多协议标签交换(Multi-Protocol Label Switching,MPLS)policy;SR flex-algo路径;虚拟扩展局域网(virtualextensible local area network,VxLAN)隧道,或,MPLS-TE隧道。采用这种方式,可以根据各个域内的 路径规划,传输对应的业务报文。
在一种可能的实现方式中,所述第一路由前缀的地址段为所述第二通信装置根据所述 第一业务意图分配的地址段,所述第一SRv6 SID为所述第二通信装置根据所述第一业务 意图分配的SID。
在一种可能的实现方式中,所述第二通信装置的SRv6 locator地址段包括多个不同子 地址段,所述多个不同子地址段包括所述第一地址段。
在一种可能的实现方式中,所述第一地址段为所述第二通信装置的第一SRv6locator 地址段。
在一种可能的实现方式中,所述第一通信装置还可以接收第一报文,并根据第一报文, 确定第一SRv6 SID。确定第一SRv6 SID之后,可以基于所述第一SRv6 SID确定第一目 标路径的第一转发信息。确定所述第一转发信息之后,可以基于所述第一SRv6 SID和所述第一转发信息对所述第一报文进行处理,得到报文头中携带所述第一SRv6 SID和所述第一转发信息的第二报文。所述第一通信装置根据第一报文得到第二报文之后,可以通过所述第一目标路径,发送所述第二报文。在一个示例中,第一目标路径可以是传递VPN业 务报文或者SFC业务报文的端到端路径中的部分路径,例如,是某一个网络域中的传输路 径。由此可见,在本申请实施例中,无需部署传递VPN业务报文或者SFC业务报文的端 到端路径,第一通信装置可以基于由第一报文的目的地址确定的第一SRv6 SID,确定在某 一网络域中的传输路径,从而充分利用该域内的第一目标路径来传输VPN业务报文或者 SFC业务报文。而且,利用本方案,在对第一报文进行封装时,无需封装多个SRv6头部, 封装一个SRv6头部携带前述第一SRv6 SID和所述第一转发信息即可,报文封装的开销较 小,而且,SRv6头部的封装符合SRv6基础规范。
在一种可能的实现方式中,若所述第一通信装置为跨域转发的头节点,对于这种情况, 在一个示例中,若所述第一报文为VPN业务对应的报文,则所述第一通信装置可以通过与 VPN业务对应的接口接收所述第一报文,接收所述第一报文之后,所述第一通信装置可以 查找与接收第一报文的接口对应的第一VRF表,从而得到所述第一SRv6 SID。
在又一个示例中,若所述第一通信装置为跨域转发的中间节点,对于这种情况,所述 第一报文的目的地址,可以是所述第一SRv6 SID,此时所述第一通信装置可以直接将所述 目的地址确定为所述SRv6 SID。
在一种可能的实现方式中,所述第一通信装置在获得所述第一SRv6 SID的同时,可 以直接获取到所述第一转发信息。
在又一种可能的实现方式中,所述第一通信装置在获得所述第一SRv6 SID之后,可 以进一步查找转发表项,从而获得所述第一转发信息。
在一种可能的实现方式中,所述第一通信装置还可以接收第三报文,并根据所述第三 报文,确定所述第二SRv6 SID;进一步地,根据第二SRv6 SID,确定与所述第二SRv6SID 对应的第三目标路径的第二转发信息;根据所述第三报文得到第四报文,所述第四报文的 报文头包括所述第二SRv6 SID和所述第二转发信息;通过所述第三目标路径,向所述第 二通信装置发送第四报文。对于这种情况,在本申请实施例中,可以利用第一目标路径,传输第一业务意图对应的业务报文,利用第三目标路径,传输第二业务意图对应的业务报文。
在一种可能的实现方式中,所述第二SRv6 SID为第二SRv6 VPN SID,所述根据所述第三报文,确定第二SRv6 SID,包括:基于所述第三报文的目的地址,查找第二虚拟路 由转发VRF表,确定所述第二VPN SRv6 SID。
在一种可能的实现方式中,所述第三报文的目的地址为所述第二SRv6 SID。
在一种可能的实现方式中,所述第一通信装置属于第一域,所述第二通信装置属于第 二域,所述第一通信装置通过第三通信装置连接所述第二通信装置。第一通信装置通过第 一目标路径转发第二报文时,例如可以是将所述第二报文转发给第三通信装置,也就是说, 所述第一目标路径,可以是所述第一通信装置所属的域内的组转发路径,所述第一通信装 置和所述第三通信装置分别为所述第一目标路径的首节点和尾节点。采用这种方式,可以 充分利用第一通信装置所属的域内的第一目标路径来传输业务报文。
在一种可能的实现方式中,所述第一通信装置还可以接收第五报文;根据所述第五报 文,确定所述第三SRv6 SID,所述第三SRv6 SID是第四通信装置的SRv6 SID,所述第三 SRv6 SID为所述第一地址段内的地址,其中,所述第四通信装置和所述第二通信装置属于 同一个域;根据所述第三SRv6 SID,确定与所述第三SRv6 SID对应的所述第一目标路径的所述第一转发信息;根据所述第五报文得到第六报文,所述第六报文的报文头包括所述第三SRv6 SID和所述第一转发信息;通过所述第一目标路径,发送所述第六报文。对于这种情况,该第一地址段,可以是匹配所述第二通信装置所在的域内的地址段。在一个示例中,所述第一目标路径的尾节点可以是所述第二通信装置所在的域内的边界节点。第六报文被转发给所述第二通信装置所在的域内的边界节点之后,所述边界节点可以继续采用该域内对应的转发路径,将第六报文转发给第四通信装置。
第三方面,本申请实施例提供了一种报文处理方法,该方法可以由第一通信装置执行。 在一个示例中,第一通信装置可以接收第一报文,并根据第一报文确定第一SRv6SID。确 定第一SRv6 SID之后,可以基于所述第一SRv6 SID确定与第一目标路径的第一转发信 息。确定所述第一转发信息之后,可以基于所述第一SRv6 SID和所述第一转发信息对所 述第一报文进行处理,得到报文头中携带所述第一SRv6 SID和所述第一转发信息的第二 报文。所述第一通信装置根据第一报文得到第二报文之后,可以通过所述第一目标路径, 发送所述第二报文。在一个示例中,第一目标路径可以是传递VPN业务报文或者SFC业务报文的端到端路径中的部分路径,例如,是某一个网络域中的传输路径。由此可见,在 本申请实施例中,无需部署传递VPN业务报文或者SFC业务报文的端到端路径,第一通 信装置可以基于由第一报文的目的地址确定的第一SRv6 SID,确定在某一网络域中的传输 路径,从而充分利用该域内的第一目标路径来传输VPN业务报文或者SFC业务报文。而 且,利用本方案,在对第一报文进行封装时,无需封装多个SRv6头部,封装一个SRv6头 部携带前述第一SRv6 SID和所述第一转发信息即可,报文封装的开销较小。
在一种可能的实现方式中,所述第一SRv6 SID是所述第二通信装置的第一SRv6VPN SID。
在一种可能的实现方式中,所述根据第一报文确定第一SRv6 SID,包括:基于所述第 一报文的目的地址,查找第一虚拟路由转发VRF表,确定所述第一SRv6 VPN SID。
在一种可能的实现方式中,所述第一报文的目的地址为所述第一SRv6 SID。
在一种可能的实现方式中,所述第二通信装置的SRv6 locator地址段包括多个不同的 子地址段,所述多个不同的子地址段包括所述第一地址段。
在一种可能的实现方式中,所述第一地址段为所述第二通信装置的第一SRv6locator 地址段。
在一种可能的实现方式中,所述方法还包括:接收第三报文;根据所述第三报文,确 定第二SRv6 SID,其中,所述第二SRv6 SID是所述第二通信装置的SRv6 SID;根据第二SRv6 SID,确定与所述第二SRv6 SID对应的第二目标路径的第二转发信息;根据所述第 三报文得到第四报文,所述第四报文的报文头包括所述第二SRv6 SID和所述第二转发信 息;通过所述第二目标路径,向所述第二通信装置发送第四报文。
在一种可能的实现方式中,所述第二SRv6 SID是所述第二通信装置的第二SRv6VPN SID。
在一种可能的实现方式中,所述根据所述第三报文,确定第二SRv6 SID,包括:基于 所述第三报文的目的地址,查找第二虚拟路由转发VRF表,确定所述第二SRv6 SID。
在一种可能的实现方式中,所述第三报文的目的地址为所述第二SRv6 SID。
在一种可能的实现方式中,所述第二通信装置的SRv6 locator地址段包括多个不同的 子地址段,所述多个不同的子地址段包括所述第二地址段和所述第一地址段。
在一种可能的实现方式中,所述第二地址段为所述第二通信装置的第二SRv6locator 地址段,所述第一地址段为所述第二通信装置的第一SRv6 locator地址段。
在一种可能的实现方式中,所述第二BGP路由为第二边界网关协议因特网协议第6版 单播BGP IPv6 unicast路由。
在一种可能的实现方式中,所述方法还包括:在接收所述第三报文之前,接收第三BGP 消息,所述第三BGP消息包括第二路由前缀,第三下一跳地址和第三color属性,其中,所述第二路由前缀的地址段为所述第二通信装置的第二地址段,所述第三color属性指示第二业务意图;根据所述第三BGP消息,生成第三BGP路由,所述第三BGP路由包括所 述第二路由前缀和所述第三下一跳地址;基于所述第三color属性和基于所述第三下一跳 地址,将所述第三BGP路由迭代到第三目标路径,所述第三目标路径用于转发携带所述第 二通信装置的第二SRv6 SID的报文,其中,所述第二SRv6 SID为所述第二地址段内的地 址在一种可能的实现方式中,所述第一通信装置属于第一域,所述第二通信装置属于第二 域,所述第一通信装置通过第三通信装置连接所述第二通信装置,所述第一通信装置和所 述第三通信装置分别为所述第一目标路径的首节点和尾节点。
在一种可能的实现方式中,所述方法还包括:接收第五报文;根据所述第五报文,确 定第三SRv6 SID,所述第三SRv6 SID是第四通信装置的SRv6 SID,所述第三SRv6 SID为所述第一地址段内的地址,其中,所述第四通信装置和所述第二通信装置属于同一个域;根据所述第三SRv6 SID,确定与所述第三SRv6 SID对应的所述第一目标路径的所述第一转发信息;根据所述第五报文得到第六报文,所述第六报文的报文头包括所述第三SRv6SID和所述第一转发信息;通过所述第一目标路径,发送所述第六报文。
在一种可能的实现方式中,所述第三SRv6 SID是第四通信装置的第三SRv6 VPNSID。
在一种可能的实现方式中,所述方法还包括:在接收所述第一报文之前,接收第一BGP 消息,所述第一BGP消息包括所述第一路由前缀,第一下一跳地址以及第一颜色color属 性,所述第一color属性指示第一业务意图;根据所述第一BGP消息,生成所述第一BGP路由;基于所述第一color属性和所述第一下一跳地址,将所述第一BGP路由迭代到所述 第一目标路径。
在一种可能的实现方式中,所述第一color属性包括第一指示信息,所述第一指示信 息指示所述第一通信装置根据所述第一BGP路由自动迭代到所述第一目标路径。
在一种可能的实现方式中,所述第一BGP路由为第一边界网关协议因特网协议第6版 单播BGP IPv6 unicast路由。
在一种可能的实现方式中,所述第一通信装置和所述第二通信装置属于同一个域,所 述方法还包括:向第三通信装置发送第二BGP消息,用于通告第二BGP路由,所述第二BGP消息包括所述第一路由前缀,第二下一跳地址以及第二color属性,所述第二下一跳 地址为所述第一通信装置的IP地址,所述第二color属性指示所述第一业务意图。
在一种可能的实现方式中,所述第一SRv6 SID为根据第一业务意图所分配的SID。
第四方面,本申请实施例提供了一种第二通信装置,所述装置包括:收发单元和处理 单元;所述收发单元,用于执行以上第一方面任意一项所述的由第二通信装置执行的接收 和/或发送操作;所述处理单元用于执行以上第一方面任意一项所述的由第二通信装置执行 的接收和/或发送操作之外的操作。
在一个具体的示例中,所述第二通信装置包括发送单元,用于向第三通信装置发送第 一边界网关协议BGP消息,所述第一BGP消息包括第一路由前缀,第一下一跳地址和第一颜色color属性,其中,所述第一路由前缀的地址段为第二通信装置的第一地址段,所述第一color属性指示第一业务意图;所述发送单元,还用于向第一通信装置通告第一因特网协议第6版段路由SRv6业务路由,所述第一SRv6业务路由包括所述第二通信装置的第 一SRv6段标识SID,所述第一SRv6 SID为所述第一地址段内的地址;其中,所述第二通 信装置和所述第一通信装置属于不同的域。
在一种可能的实现方式中,所述第一SRv6业务路由为第一SRv6虚拟专用网VPN路由,所述第一SRv6 SID为第一SRv6 VPN SID。
在一种可能的实现方式中,所述发送单元,还用于:向所述第三通信装置发送第二BGP 消息,所述第二BGP消息包括第二路由前缀,第二下一跳地址和第二color属性,其中,所述第二路由前缀的地址段为第二通信装置的第二地址段,所述第二color属性指示第二业 务意图;向所述第一通信装置通告第二SRv6业务路由,所述第二SRv6业务路由包括第二SRv6 SID,所述第二SRv6 SID为所述第二地址段内的地址。
在一种可能的实现方式中,所述第二SRv6业务路由为第二SRv6 VPN路由,所述第二SRv6 SID为第二SRv6 VPN SID。
在一种可能的实现方式中,所述第二通信装置的第一SRv6 locator地址段包括多个不 同子地址段,所述多个不同子地址段包括所述第一地址段和所述第二地址段。
在一种可能的实现方式中,所述第一地址段为所述第二通信装置的第一SRv6locator 地址段,所述第二地址段为所述第二通信装置的第二SRv6 locator地址段。
在一种可能的实现方式中,所述第二通信装置的SRv6 locator地址段包括多个不同子 地址段,所述多个不同子地址段包括所述第一地址段。
在一种可能的实现方式中,所述第一地址段为所述第二通信装置的第一SRv6locator 地址段。
在一种可能的实现方式中,所述第一通信装置属于第一域,所述第二通信装置和所述 第三通信装置均属于第二域,所述第一通信装置通过第三通信装置连接所述第二通信装置。
第五方面,本申请实施例提供了一种第一通信装置,所述装置包括:收发单元和处理 单元;所述收发单元,用于执行以上第二方面所述的由第一通信装置执行的接收和/或发送 操作;所述处理单元用于执行以上第二方面所述的由第一通信装置执行的接收和/或发送操 作之外的操作;或者,所述收发单元,用于执行以上第三方面所述的由第一通信装置执行 的接收和/或发送操作;所述处理单元用于执行以上第三方面所述的由第一通信装置执行的 接收和/或发送操作之外的操作。
在一个具体的示例中,所述第一通信装置包括:接收单元和处理单元。
所述接收单元,用于接收第一边界网关协议BGP消息,所述第一BGP消息包括第一路由前缀,第一下一跳地址和第一颜色color属性,其中,所述第一路由前缀的地址段为第二通信装置的第一地址段,所述第一color属性指示第一业务意图;处理单元,用于根据所述第一BGP消息,生成第一BGP路由,所述第一BGP路由包括所述第一路由前缀和所述 第一下一跳地址;所述处理单元,还用于基于所述第一color属性和所述第一下一跳地址, 将所述第一BGP路由迭代到第一目标路径,所述第一目标路径用于转发携带所述第二通 信装置的第一因特网协议第六版段路由SRv6段标识SID的报文,其中,所述第一SRv6 SID为所述第一地址段内的地址。
在一种可能的实现方式中,所述第一SRv6 SID为第一SRv6虚拟专用网络VPN SID。
在一种可能的实现方式中,所述接收单元还用于:接收第一SRv6业务路由,所述第一SRv6业务路由包括所述第一SRv6 SID;所述处理单元,还用于根据第一SRv6 SID迭代 所述第一BGP路由,获取所述第一目标路径的第一转发信息。
在一种可能的实现方式中,所述接收单元还用于:接收控制器发送的第一信息,所述 第一信息包括所述第一SRv6 SID;所述处理单元,还用于根据第一SRv6 SID迭代所述第一BGP路由,获取所述第一目标路径的第一转发信息。
在一种可能的实现方式中,所述第一SRv6 SID为第一SRv6 VPN SID,所述第一SRv6 SID为第一SRv6服务service段segment SID或所述第一SRv6 SID为第一SRv6绑定binding SID。
在一种可能的实现方式中,所述装置还包括:发送单元,用于向第三通信装置发送第 二BGP消息,用于通告第二BGP路由,所述第二BGP消息包括所述第一路由前缀,第二 下一跳地址以及第二color属性,所述第二下一跳地址为所述第一通信装置的IP地址,所 述第二color属性指示所述第一业务意图。
在一种可能的实现方式中,所述第二BGP消息用于指示所述第三通信装置根据所述 第二color属性和所述第二下一跳地址,将所述第二BGP路由迭代到第二目标路径,所述第二目标路径用于转发携带所述第一SRv6 SID的报文。
在一种可能的实现方式中,所述接收单元,还用于:接收第三BGP消息,所述第三BGP消息包括第二路由前缀,第三下一跳地址和第三color属性,其中,所述第二路由前 缀的地址段为所述第二通信装置的第二地址段,所述第三color属性指示第二业务意图; 所述处理单元,还用于根据所述第三BGP消息,生成第三BGP路由,所述第三BGP路由 包括所述第二路由前缀和所述第三下一跳地址;所述处理单元,还用于基于所述第三color 属性和基于所述第三下一跳地址,将所述第三BGP路由迭代到第三目标路径,所述第三目 标路径用于转发携带所述第二通信装置的第二SRv6 SID的报文,其中,所述第二SRv6 SID 为所述第二地址段内的地址。
在一种可能的实现方式中,所述第二SRv6 SID为第二SRv6 VPN SID。
在一种可能的实现方式中,所述接收单元,还用于:接收所述第二通信装置通告的第 二SRv6 VPN路由,所述第二SRv6 VPN路由包括所述第二SRv6 VPN SID;所述处理单 元,还用于根据第二SRv6 VPN SID迭代所述第三BGP路由,获取所述第三目标路径的第 二转发信息。
在一种可能的实现方式中,所述接收单元还用于:接收控制器发送的第二信息,所述 第二信息包括所述第二SRv6 SID;所述处理单元,还用于根据第二SRv6 SID迭代所述第三BGP路由,获取所述第三目标路径的第二转发信息。
在一种可能的实现方式中,所述第二SRv6 SID为第二SRv6 VPN SID,所述第二SRv6 SID为第二SRv6服务service段segment SID或所述第二SRv6 SID为第二SRv6绑定binding SID。
在一种可能的实现方式中,所述装置还包括:发送单元,用于向第三通信装置发送第 四BGP消息,用于通告第四BGP路由,所述第四BGP消息包括所述第二路由前缀,第四 下一跳地址以及第四color属性,所述第四下一跳地址为所述第一通信装置的IP地址,所 述第四color属性指示所述第二业务意图。
在一种可能的实现方式中,所述第四BGP消息用于指示所述第三通信装置根据所述 第四color属性和所述第四下一跳地址,将所述第四BGP路由迭代到第四目标路径,所述第四目标路径用于转发携带所述第二SRv6 SID的报文。
在一种可能的实现方式中,所述第二路由前缀的地址段为所述第二通信装置根据所述 第二业务意图分配的地址段,所述第二SRv6 SID为所述第二通信装置根据所述第二业务 意图分配的SID。
在一种可能的实现方式中,所述第二通信装置的第一SRv6 locator地址段包括多个不 同子地址段,所述多个不同子地址段包括所述第一地址段和所述第二地址段。
在一种可能的实现方式中,所述第一地址段为所述第二通信装置的第一SRv6locator 地址段,所述第二地址段为所述第二通信装置的第二SRv6 locator地址段。
在一种可能的实现方式中,所述第一目标路径为以下一种:SR互联网协议第6版段路 由策略SRv6 policy;互联网协议第6版段路由灵活算法SRv6 flex-algo路径;资源预留协 议流量工程RSVP-TE隧道;段路由多协议标签交换策略SR MPLS policy;SR flex-algo路 径;虚拟扩展局域网VxLAN隧道,或,多协议标签交换流量工程MPLS-TE隧道。
在一种可能的实现方式中,所述第一路由前缀的地址段为所述第二通信装置根据所述 第一业务意图分配的地址段,所述第一SRv6 SID为所述第二通信装置根据所述第一业务 意图分配的SID。
在一种可能的实现方式中,所述第二通信装置的SRv6 locator地址段包括多个不同子 地址段,所述多个不同子地址段包括所述第一地址段。
在一种可能的实现方式中,所述第一地址段为所述第二通信装置的第一SRv6locator 地址段。
在一种可能的实现方式中,所述接收单元,还用于接收第一报文;所述处理单元,还 用于根据所述第一报文,确定所述第一SRv6 SID;根据所述第一SRv6 SID确定第一目标路径的第一转发信息;根据所述第一报文得到第二报文,所述第二报文的报文头包括所述第一SRv6 SID和所述第一转发信息;所述装置包括的发送单元,用于通过所述第一目标 路径,发送所述第二报文。
在一种可能的实现方式中,所述第一SRv6 SID为第一SRv6 VPN SID,根据所述第一报文,确定第一互联网协议第6版段路由段标识SRv6 SID,包括:基于所述第一报文的 目的地址,查找第一虚拟路由转发VRF表,确定所述第一SRv6 VPN SID。
在一种可能的实现方式中,所述第一报文的目的地址为所述第一SRv6 SID。
在一种可能的实现方式中,所述接收单元,还用于接收第三报文;所述处理单元,还 用于根据所述第三报文,确定所述第二SRv6 SID;根据第二SRv6 SID,确定与所述第二SRv6 SID对应的第三目标路径的第二转发信息;根据所述第三报文得到第四报文,所述第四报文的报文头包括所述第二SRv6 SID和所述第二转发信息;所述装置包括的发送单元,用于通过所述第三目标路径,向所述第二通信装置发送第四报文。
在一种可能的实现方式中,所述第二SRv6 SID为第二SRv6 VPN SID,所述根据所述 第三报文,确定第二SRv6 SID,包括:基于所述第三报文的目的地址,查找第二虚拟路由转发VRF表,确定所述第二VPN SRv6 SID。
在一种可能的实现方式中,所述第三报文的目的地址为所述第二SRv6 SID。
在一种可能的实现方式中,所述第一通信装置属于第一域,所述第二通信装置属于第 二域,所述第一通信装置通过第三通信装置连接所述第二通信装置,所述第一通信装置和 所述第三通信装置分别为所述第一目标路径的首节点和尾节点。
在一种可能的实现方式中,所述接收单元,用于接收第五报文;所述处理单元,用于 根据所述第五报文,确定所述第三SRv6 SID,所述第三SRv6 SID是第四通信装置的SRv6SID,所述第三SRv6 SID为所述第一地址段内的地址,其中,所述第四通信装置和所述第 二通信装置属于同一个域;根据所述第三SRv6 SID,确定与所述第三SRv6 SID对应的所 述第一目标路径的所述第一转发信息;根据所述第五报文得到第六报文,所述第六报文的 报文头包括所述第三SRv6 SID和所述第一转发信息;所述装置包括的发送单元,用于通 过所述第一目标路径,发送所述第六报文。
在又一个具体的示例中,所述第一通信装置包括:接收单元、处理单元和发送单元。
接收单元,用于接收第一报文;处理单元,用于根据所述第一报文,确定所述第一SRv6 SID;根据所述第一SRv6 SID确定第一目标路径的第一转发信息;根据所述第一报文得到 第二报文,所述第二报文的报文头包括所述第一SRv6 SID和所述第一转发信息;发送单 元,用于通过所述第一目标路径,发送所述第二报文。
在一种可能的实现方式中,所述第一SRv6 SID是所述第二通信装置的第一SRv6VPN SID。
在一种可能的实现方式中,所述根据第一报文确定第一SRv6 SID,包括:基于所述第 一报文的目的地址,查找第一虚拟路由转发VRF表,确定所述第一SRv6 VPN SID。
在一种可能的实现方式中,所述第一报文的目的地址为所述第一SRv6 SID。
在一种可能的实现方式中,所述第二通信装置的SRv6 locator地址段包括多个不同的 子地址段,所述多个不同的子地址段包括所述第一地址段。
在一种可能的实现方式中,所述第一地址段为所述第二通信装置的第一SRv6locator 地址段。
在一种可能的实现方式中,接收单元,还用于接收第三报文;所述处理单元,还用于 根据所述第三报文,确定第二SRv6 SID,其中,所述第二SRv6 SID是所述第二通信装置的SRv6 SID;根据第二SRv6 SID,确定与所述第二SRv6 SID对应的第二目标路径的第二 转发信息;根据所述第三报文得到第四报文,所述第四报文的报文头包括所述第二SRv6 SID和所述第二转发信息;所述发送单元,还用于通过所述第二目标路径,向所述第二通 信装置发送第四报文。
在一种可能的实现方式中,所述第二SRv6 SID是所述第二通信装置的第二SRv6VPN SID。
在一种可能的实现方式中,所述根据所述第三报文,确定第二SRv6 SID,包括:基于 所述第三报文的目的地址,查找第二虚拟路由转发VRF表,确定所述第二SRv6 SID。
在一种可能的实现方式中,所述第三报文的目的地址为所述第二SRv6 SID。
在一种可能的实现方式中,所述第二通信装置的SRv6 locator地址段包括多个不同的 子地址段,所述多个不同的子地址段包括所述第二地址段和所述第一地址段。
在一种可能的实现方式中,所述第二地址段为所述第二通信装置的第二SRv6locator 地址段,所述第一地址段为所述第二通信装置的第一SRv6 locator地址段。
在一种可能的实现方式中,所述第二BGP路由为第二边界网关协议因特网协议第6版 单播BGP IPv6 unicast路由。
在一种可能的实现方式中,所述接收单元,还用于在接收所述第三报文之前,接收第 三BGP消息,所述第三BGP消息包括第二路由前缀,第三下一跳地址和第三color属性,其中,所述第二路由前缀的地址段为所述第二通信装置的第二地址段,所述第三color属性指示第二业务意图;所述处理单元,还用于根据所述第三BGP消息,生成第三BGP路 由,所述第三BGP路由包括所述第二路由前缀和所述第三下一跳地址;基于所述第三color 属性和基于所述第三下一跳地址,将所述第三BGP路由迭代到第三目标路径,所述第三目 标路径用于转发携带所述第二通信装置的第二SRv6 SID的报文,其中,所述第二SRv6 SID 为所述第二地址段内的地址。
在一种可能的实现方式中,所述第一通信装置属于第一域,所述第二通信装置属于第 二域,所述第一通信装置通过第三通信装置连接所述第二通信装置,所述第一通信装置和 所述第三通信装置分别为所述第一目标路径的首节点和尾节点。
在一种可能的实现方式中,所述接收单元,还用于接收第五报文;所述处理单元,还 用于根据所述第五报文,确定第三SRv6 SID,所述第三SRv6 SID是第四通信装置的SRv6SID,所述第三SRv6 SID为所述第一地址段内的地址,其中,所述第四通信装置和所述第 二通信装置属于同一个域;根据所述第三SRv6 SID,确定与所述第三SRv6 SID对应的所 述第一目标路径的所述第一转发信息;根据所述第五报文得到第六报文,所述第六报文的 报文头包括所述第三SRv6 SID和所述第一转发信息;所述发送单元,还用于通过所述第 一目标路径,发送所述第六报文。
在一种可能的实现方式中,所述第三SRv6 SID是第四通信装置的第三SRv6 VPNSID。
在一种可能的实现方式中,所述接收单元还用于:在接收所述第一报文之前,接收第 一BGP消息,所述第一BGP消息包括所述第一路由前缀,第一下一跳地址以及第一颜色color属性,所述第一color属性指示第一业务意图;所述处理单元,还用于根据所述第一BGP消息,生成所述第一BGP路由;基于所述第一color属性和所述第一下一跳地址,将 所述第一BGP路由迭代到所述第一目标路径。
在一种可能的实现方式中,所述第一color属性包括第一指示信息,所述第一指示信 息指示所述第一通信装置根据所述第一BGP路由自动迭代到所述第一目标路径。
在一种可能的实现方式中,所述第一BGP路由为第一边界网关协议因特网协议第6版 单播BGP IPv6 unicast路由。
在一种可能的实现方式中,所述第一通信装置和所述第二通信装置属于同一个域,所 述发送单元,还用于:向第三通信装置发送第二BGP消息,用于通告第二BGP路由,所述第二BGP消息包括所述第一路由前缀,第二下一跳地址以及第二color属性,所述第二 下一跳地址为所述第一通信装置的IP地址,所述第二color属性指示所述第一业务意图。
在一种可能的实现方式中,所述第一SRv6 SID为根据第一业务意图所分配的SID。
第六方面,本申请实施例提供了一种通信装置,其特征在于,包括:处理器和存储器;
所述存储器,用于存储指令;所述处理器,用于执行所述指令,使得所述通信装置执 行以上第一方面任意一项、或者以上第二方面或者以上第三方面所述的方法。
第七方面,本申请实施例提供了一种计算机可读存储介质,包括指令或计算机程序, 当其在计算机上运行时,使得计算机执行以上第一方面任意一项、或者以上第二方面或者 以上第三方面所述的方法。
第八方面,本申请实施例提供了一种计算机程序产品,包括计算机程序产品,当其在 处理器上运行时,执行以上第一方面以及第一方面任意一项所述的方法,或者执行以上第 二方面以及第二方面任意一项所述的方法,或者执行以上第三方面以及第三方面任意一项 所述的方法。
第九方面,本申请实施例提供了一种通信系统,所述通信系统包括:执行以上第一方 面以及以上第一方面任意一项所述的方法的第二通信装置以及执行以上第二方面以及以 上第二方面任意一项所述的方法的第一通信装置,或者,执行以上第一方面以及以上第一 方面任意一项所述的方法的第二通信装置以及执行以上第三方面以及以上第三方面任意 一项所述的方法的第一通信装置。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技 术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请 中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还 可以根据这些附图获得其他的附图。
图1a为本申请实施例提供的一种示例性应用场景示意图;
图1b为本申请实施例提供的又一种示例性应用场景示意图
图2a为本申请实施例提供的一种示例性应用场景示意图;
图2b为本申请实施例提供的又一种示例性应用场景示意图;
图3为本申请实施例提供的一种路由发布方法的流程示意图;
图4为本申请实施例提供的又一种路由发布方法的流程示意图;
图5为本申请实施例提供的一种通信方法的流程示意图;
图6为本申请实施例提供的一种color属性的结构示意图;
图7为本申请实施例提供的一种报文转发方法的流程示意图;
图8为本申请实施例提供的一种示例性应用场景示意图;
图9为本申请实施例提供的又一种通信方法的流程示意图;
图10为本申请实施例提供的一种报文处理方法的流程示意图;
图11为本申请实施例提供的又一种报文处理方法的流程示意图;
图12a为本申请实施例提供的一种示例性应用场景示意图;
图12b为本申请实施例提供的又一种示例性应用场景示意图;
图13为本申请实施例提供的一种第一通信装置的结构示意图;
图14为本申请实施例提供的一种通信装置的结构示意图;
图15为本申请实施例提供的一种通信装置的结构示意图。
具体实施方式
本申请实施例提供了一种路由发布方法、通信方法、报文转发方法及装置,可以在未 建立对应color属性的、跨越多个网络域的端到端路径的情况下,也能够基于color属性迭 代路径,从而保障业务的SLA。
为方便理解,首先对本申请实施例可能的应用场景进行介绍。
参见图1a,图1a为本申请实施例提供的一种示例性应用场景示意图。
可参见图1a所示,用户边缘设备(customer edge,CE)1可以通过区域1、区域2以及区域3与CE2进行通信。其中:
区域1包括接入节点ACC1、汇聚节点AGG1、AGG2、城域核心节点MC1和MC2, 区域2包括运营商边缘设备(provider edge,PE)1、PE2、PE3、PE4以及P1和P2。区域3 包括MC3、MC4、AGG3、AGG4以及ACC2。
在一个示例中,区域1、区域2、区域3可以对应3个自治系统(autonomous system,AS)。
在一个示例中,区域1可以包括两个IGP域,其中一个IGP域包括ACC1、AGG1和AGG2;另外一个IGP域包括AGG1、AGG2以及MC1和MC2。AGG1和AGG2是这两 个IGP域的跨域设备。
在一个示例中,区域3可以包括两个IGP域,其中一个IGP域包括MC3、MC4、 AGG3和AGG4;另外一个IGP域包括AGG3、AGG4以及ACC2。AGG3和AGG4是这 两个IGP域的跨域设备。
在一个示例中,ACC2可以向ACC1发布VPN路由。该VPN路由可以包括:路由前 缀、下一跳、VPN SID和color属性。例如:在图1a所示的场景中,ACC2可以通过RR1 将该VPN路由发布给MC3,MC3进一步将该VPN路由发布给PE3。PE3接收到该VPN 路由之后,通过RR2将该VPN路由发布给PE1,PE1进一步将该VPN路由发布给MC1。 MCI可以进一步通过RR3将该VPN路由发布给所述ACC1。在该VPN路由发布的过程 中,中间节点(例如MC3、PE3、PE1以及MC1)均不对该VPN路由进行修改,也不基 于该VPN路由执行其它操作,而是直接将该VPN路由发布出去。
ACC1接收到ACC2发布的VPN路由之后,可以基于该VPN路由中的color属性和 下一跳,迭代获得到达该下一跳的、与该color属性匹配的流量工程(traffic engineering,TE)隧道。相应的,ACC1接收到来自CE1的业务报文时,基于业务报文的目的IP地址 查找虚拟路由转发(virtual routing and forwarding,VRF)表,得到对应的VPN SID,并基 于该VPN SID对应的TE隧道封装SRv6报文,并将该SRv6报文转发给ACC2。从而实现 基于color属性对应的TE隧道转发VPN业务的业务报文。
但是,上述方案能够被执行的前提是:需要部署ACC1和ACC2之间的端到端TE隧道。不难理解的是,如图1a所示,ACC1和ACC2之间跨越多个网络域,对于这种情况, 部署跨越多个网络越的端到端TE路径的成本较高。
为了解决上述问题,本申请的发明人发现,可以在ACC2发布的公网路由中携带color 属性。例如,在图1a所示的场景中:ACC2可以向ACC1发布携带color属性的公网路由。例如:ACC2可以首先将该公网路由发布给MC3,MC3接收到ACC2发布的公网路由之 后,可以基于该公网路由中的color属性和下一跳,迭代获得达该下一跳的TE路径。另外, MC3还可以修改该公网路由的下一跳的相关信息,具体地,MC3可以将该公网路由的下 一跳修改为MC3自身的地址。进一步地,MC3可以将修改后的公网路由发布给PE3。PE3 接收到公网路由之后,执行与MC3类似的操作,直至携带color属性的公网路由被发布至 ACC1。对于这种情况:
ACC1接收到来自CE1的业务报文时,查找对应的转发表项获得由ACC1到达MC1 的TE隧道,并对报文进行封装,并将封装后的报文转发给MC1。MC1将报文转发给PE1 之后,PE1可以查找对应的转发表项获得由PE1到达PE3的TE隧道,并对报文进行封装, 并将封装后的报文转发给PE3,以此类推,直至将报文转发给CE2。
但是,采用上述方案,虽然无需部署由ACC1到ACC2的端到端的TE隧道,但是上 述方案只支持处理公网IPv6业务,不支持当前应用较为广泛的VPN业务,也不支持SFC 业务。
为了解决上述问题,本申请的发明人还发现,在又一个示例中,可以扩展新的BGP地 址族,ACC2利用该新的BGP地址族向ACC1发布携带color属性的BGP路由(以下简称 新BGP路由),该新BGP路由还包括与该新BGP路由对应的SRv6 SID,从而形成由ACC1 到ACC2的端到端的新的BGP隧道。在所述新BGP路由发布的过程中,各个区域的边缘 节点(例如MC3、PE3、PE1以及MC1)可以基于接收到的新BGP路由的下一跳和color 属性,迭代获得到达对应下一跳的隧道。另外,ACC2还可以向ACC1发布VPN路由,关 于该VPN路由的发布方式,可以参考上文的相关描述,此次不再重复描述。
对于这种情况:现结合图1b,介绍ACC1将报文转发给ACC2的流程。
ACC1接收到来自CE1的业务报文时,可以基于业务报文的目的IP地址查找VRF表获得对应的VPN SID,并进一步基于VPN SID匹配到ACC2向ACC1发布的VPN路由, 相应的,可以基于所述VPN路由的下一跳和color属性,匹配到前述新BGP路由对应的、 在区域1内的TE隧道。进一步地,ACC1可以对业务报文进行封装,其中,在对业务报文 进行封装时,要封装以下信息:VPN SID,由ACC1到ACC2的端到端的新的BGP隧道的 相关信息,以及该报文在区域1内转发的隧道的相关信息。
在一个示例中,可以封装两个SRv6头部,一个SRv6头部用于携带由ACC1到ACC2 的端到端的新的BGP隧道的相关信息,该信息例如可以包括VPN SID和前述新BGP路由 对应的SRv6 SID。例如,可参见图1b所示,在封装模式下,ACC1可以在接收到的净荷 (payload)的基础上,封装两个SRv6头部,其中一个SRv6头部102携带由ACC1到 ACC2的端到端的新的BGP隧道的相关信息。而且,在SRv6头部102中,包括ACC2的 两个SID,SRv6头部102中的ACC2,是基于color属性确定的前述新的BGP隧道相关的 SID,SRv6头部102中的ACC2.DT,可以是ACC2的VPN SID。另外一个SRv6头部包括 该报文在区域1内转发的隧道的相关信息。例如,可参见图1b所示,SRv6头部101携带 在区域一内进行转发的路径的信息,如图1b所示,SRv6头部101指示在区域一内转发的 路径为:ACC1-AGG1-MC1。
ACC1将报文转发给MC1之后,MC1将SRv6头部101剥离,并将报文转发给PE1, PE1接收到MC1发送的报文之后,可以继续对报文进行封装,并将封装后的报文转发给 PE3。PE1对报文进行封装的方式,与ACC1对报文进行封装的方式类似,此次不再重复 说明。
PE3接收到报文之后,进一步将携带区域二内的转发路径信息的SRv6头部剥离,并将报文转发给MC3。MC3接收到PE3发送的报文之后,可以继续对报文进行封装,并将 封装后的报文转发给ACC2。MC3对报文进行封装的方式,与ACC1对报文进行封装的方 式类似,此处不再重复说明。
此次提及的SRv6头部,包括IPv6基础头和分段路由头(segment routing header,SRH)。
在又一个示例中,可以将上述两个SRv6头部压缩成一个SRv6头部,例如,可以将携带区域1内转发的隧道的相关信息的SRH插入到另一个SRv6头部,即:采用一个IPv6 基础头和两个SRH对业务报文进行封装。例如,可参见图1b所示,在插入模式下,ACC1 可以在接收到的净荷(payload)的基础上,封装一个SRv6头部,该SRv6头部包括两个 SRH,SRH1携带区域一内的转发路径的信息和ACC2,SRH2携带ACC2的VPN SID。
ACC1将报文转发给MC1之后,MC1将SRH剥离,并将报文的目的地址修改为SRH1 中的最后一个SID(即ACC2),从而将报文转发给PE1,PE1接收到MC1发送的报文之 后,可以继续对报文进行封装,并将封装后的报文转发给PE3。PE1对报文进行封装的方 式,与ACC1对报文进行封装的方式类似,此处不再重复说明。
PE3接收到报文之后,进一步将携带区域二内的转发路径信息的SRv6头部剥离,并将报文的目的地址修改为ACC2,并将报文转发给MC3。MC3接收到PE3发送的报文之 后,可以继续对报文进行封装,并将封装后的报文转发给ACC2。MC3对报文进行封装的 方式,与ACC1对报文进行封装的方式类似,此次不再重复说明。
采用上述方式,虽然无需部署由ACC1到ACC2的端到端的TE路径,利用各个区域 内的隧道,即可将业务报文转发给ACC2。但是,采用上述方式,在封装模式下,在报文 转发过程中需要封装2个SRv6头部,报文封装的开销较大。在插入模式下,采用一个IPv6 基础头和两个SRH对业务报文进行封装,不符合SRv6的基础规范。
鉴于此,本申请实施例提供了一种路由发布方法及通信方法,接下来,结合附图介绍 本申请实施例提供的路由发布方法及通信方法进行介绍。
需要说明的是,图1a只是为了方便理解本方案而示出,其并不构成对本申请实施例 的限定。作为一个示例,CE1和CE2之间跨越的区域不限于图1a所示的3个区域,例如,CE1和CE2之间跨越的区域为区域1,又如,CE1和CE2之间跨越的区域包括区域1和区 域2。作为又一个示例,通过ACC1与区域1相连的CE设备不限于图1a所示的CE1,通 过ACC2域区域2相连的CE设备不限于图1a所示的CE2。例如,ACC1还可以与CE3相 连,ACC2还可以与CE4相连,CE3可以通过区域1、区域2以及区域3与CE4进行通 信。
需要说明的是,本申请实施例中提及的通信装置,可以是交换机、路由器等网络设备, 也可以是网络设备上的一部分组件,例如是网络设备上的单板,线卡,还可以是网络设备 上的一个功能模块,还可以是用于实现本申请方法的芯片,本申请实施例不做具体限定。 通信装置之间例如可以但不限于通过以太网线或光缆直接连接。
在介绍本申请实施例提供的方法之前,首先对本申请实施例中可能涉及的概念进行介 绍。
首先,对SRv6 policy进行介绍。
SRv6 policy又可以被称为SRv6 TE Policy。SRv6 TE Policy是在SRv6技术基础上发 展的一种新的隧道引流技术。相应的,SRv6 TE Policy对应的转发信息可以表示为指定路 径的段列表(segment list),segment list也可以被称为SID List。每个SID List是从源到目 的地的端到端路径,并指示网络中的设备遵循指定的路径。如果数据包被导入SRv6 TE Policy中,SID列表由头节点添加到数据包上,网络的其余节点基于SID列表所指示的路 径转发该数据包。
示例性的,SRv6 TE Policy包括以下三个部分:
头端:SRv6 TE Policy生成的节点。
color:SRv6 TE Policy携带的扩展团体属性,携带相同color属性的BGP路由可以使 用该SRv6 TE Policy。
尾端(End Point):SRv6 TE Policy的目的地址。
其中,color和End Point信息可通过配置添加到SRv6 TE Policy,业务网络头端通过 路由携带的color属性和下一跳信息来匹配对应的SRv6 TE Policy实现业务流量转发。color 属性定义了应用级的网络SLA策略,可基于特定的业务意图(例如特定业务SLA)规划网 络路径。
SRv6 TE Policy的模型和SR-MPLS TE Policy类似。一个SRv6 TE Policy可以包含多 个候选路径(Candidate Path)。候选路径携带优先级属性(Preference)。优先级最高的有效 候选路径做为SRv6 TE Policy的主路径。一个候选路径可以包含多个SegmentList,每个 Segment List携带Weight属性。每个Segment List都是一个显式SID栈,Segment List可以 指示网络设备转发报文。多个Segment List之间可以形成负载分担。
SRv6 TE Policy可以在转发器上静态配置,也可以由控制器上动态生成然后传递给转 发器。相对来说,动态方式更利于网络自动化部署。存在多个方式产生的相同SRv6 TEPolicy时,转发器按照与SR-MPLS TE Policy相同的原则选择SRv6 TE Policy。SRv6 TEPolicy创建时可以使用End SID,End.X SID,Anycast SID或者Binding SID等进行组合。用户可以通过CLI/Netconf静态配置SRv6 TE Policy,也可以通过控制器下发SRv6 TEPolicy。 其中静态配置SRv6 TE Policy时,需要配置Endpoint、color、候选路径的Preference和 Segment List等。Segment List第一跳SID支持End SID和End.X SID,不支持Binding SID。
示例性的,控制器下发SRv6 TE Policy主要过程如下:
控制器通过BGP-连接状态(link state,LS)收集网络拓扑和SID信息。
控制器与头端转发器之间建立IPv6 SR Policy地址族的BGP邻居。
控制器计算SRv6 TE Policy,然后通过BGP邻居下发给头端。头端生成SRv6 TEPolicy 表项。
下面以图1a所示的区域1为例,示例性例性介绍控制器下发的SRv6 TE Policy,参见 图2a,图2a为本申请实施例提供的一种示例性应用场景示意图。
如图2a所示,控制器下发给头端ACC1的SRv6 TE Policy包括如下信息:
color:123
Endpoint:2001:db8::1
Bind SID:1:b100
Preference:100
Candidate path
Segment list 1:<AGG1,B>
Segment list 2:<AGG2,MC2,MC1>
其中:
color:123指示该SRv6 TE Policy所携带的color属性的color值为123;
Endpoint:2001:db8::1指示该SRv6 TE Policy的尾端,2001:db8::1为MC1的地址;
Preference:100指示优先级属性的属性值为100;
Segment list 1:<AGG1,MC1>用于指示路径ACC1-AGG1-MC1;
Segment list 2:<AGG2,MC2,MC1>用于指示路径ACC1-AGG2-MC2-MC1。
下面示例性介绍基于color引流的过程。
首先介绍与color引流相关的概念。
路由颜色:是指通过路由策略对路由增加扩展团体属性color,携带color属性的路由 可以根据color与下一跳地址迭代SRv6 TE Policy。
路由颜色的过程如下:
配置路由策略,匹配特定路由,设置特定的color属性。
将路由策略应用到BGP邻居,或者应用到整个VPN实例,可以作为入口策略,也可以作为出口策略。
color引流:
SRv6 TE Policy可以基于路由color属性引流。color引流是直接基于路由的扩展团体 属性color和目的地址迭代到SRv6 TE Policy。
下面结合图2b对color引流的整个过程进行示例性说明,图2b为本申请实施例提供 的又一种示例性应用场景示意图。
控制器向头端设备ACC1下发SRv6 TE Policy,SRv6 TE Policy包括的信息如图2b所 示,SRv6 TE Policy的color属性对应的color值是123,EndPoint是设备MC1的地址2001:db8::1。
在设备MC1上配置BGP出口策略或者VPN出口策略(也可以在设备ACC1上配置 BGP入口策略或者VPN入口策略),为路由前缀2001:db8::/96设置扩展团体属性color 123, 路由下一跳是设备MC1的地址2001:db8::1。然后路由通过BGP邻居发送给设备ACC1。
在头端设备ACC1上配置隧道策略,然后当设备ACC1接收到BGP路由2001:db8::/96后,根据路由的扩展团体属性123和下一跳2001:db8::1迭代到SRv6 TE Policy。转发时,为到2001:db8::/96的报文添加一个具体的SID List<AGG1,MC1>。
接下来,首先从控制面的角度,对本申请实施例提供的方案进行介绍。
参见图3,该图为本申请实施例提供的一种路由发布方法的流程示意图。
在一个示例中,图3所示的方法100,可以由第二通信装置执行。
关于本申请实施例中提及的第一通信装置、第二通信装置和第三通信装置,需要说明 的是:
在一个示例中,若所述第一通信装置为跨域转发路径的头节点,则所述第一通信装置 可以是某个网络域的边源节点,例如可以是入口PE。
在一个示例中,所述第二通信装置,可以是某个网络域的边缘节点,又如可以是出口 PE。
在一个示例中,若所述第一通信装置为跨域转发路径的中间节点,则所述第一通信装 置,例如可以是某个网络域的边界节点,即:所述第一通信装置可以是区域边界路由器(area border router,ABR)。此处提及的网络域,可以是IGP域,也可以是自治系统AS域。当 所述网络域为AS域时,所述第一通信装置例如可以是自治系统边界路由器(AutonomousSystem Boundary Router,ASBR)。
在一个示例中,所述方法100中的第一通信装置属于第一域,所述第二通信装置和所 述第三通信装置均属于第二域,所述第一通信装置通过第三通信装置连接所述第二通信装 置。例如,在图1a所示的场景中:所述第二通信装置,可以对应图1a所示的ACC2。方 法100中的第一通信装置,可以对应图1a所示的ACC1。方法100中的第三通信装置,例 如可以对应图1a所示的MC3。图3所示的路由发布方法100,例如可以包括如下S101- S102。
S101:第二通信装置向第三通信装置发送第一BGP消息,所述第一BGP消息包括第一路由前缀,第一下一跳地址和第一color属性,其中,所述第一路由前缀的地址段为第二通信装置的第一地址段,所述第一color属性指示第一业务意图SRv6业务路由。
S102:所述第二通信装置向第一通信装置通告第一SRv6业务路由,所述第一SRV6业 务路由包括第一SRv6 SID,所述第一SRv6 SID为所述第一地址段内的地址;其中,所述第二通信装置和所述第一通信装置属于不同的域。
在一个示例中,所述第二通信装置例如可以通过RR向所述第一通信装置通告所述第 一SRv6业务路由。
本申请的业务意图例如可以是对SLA的需求,例如对时延的需求,对丢包的需求,和 /或对带宽的需求等等。
在一个示例中,可以基于所述第一业务意图,配置所述第一地址段,进一步地,在所 述第一地址段内分配所述第一SRv6 SID。
在一个示例中,若所述第二通信装置上配置有VPN业务,则所述第一SRv6业务路由, 可以是第一SRv6 VPN路由。
在一个示例中,可以将所述第二通信装置的SRv6 locator地址段划分为多个不同的地 址段,所述第一地址段,可以是所述多个地址段中的任意一个地址段。例如,可以按照业 务意图,将所述第二通信装置的SRv6 locator地址段划分为多个不同的地址段,一个业务 意图对应一个地址段,所述第一地址段,可以是第一业务意图对应的地址段。
在又一个示例中,所述第二通信装置可以包括至少一个SRv6 locator地址段,所述第 一地址段,可以是所述第二通信装置的第一SRv6 locator地址段。例如,可以按照业务意 图,为所述第二通信装置配置多个SRv6 locator地址段,一个业务意图对应一个SRv6locator 地址段,所述第一地址段,可以是第一业务意图对应的第一SRv6 locator地址段。
在一个示例中,所述第一通信装置将所述第一BGP消息发送给第三通信装置之后,所 述第三通信装置例如可以执行以下步骤A1-A3。
A1:接收所述第一BGP消息,所述第一BGP消息包括第一路由前缀,第一下一跳地址和第一color属性,其中,所述第一路由前缀的地址段为第二通信装置的第一地址段,所述第一color属性指示第一业务意图。
A2:根据所述第一BGP消息,生成第一BGP路由。
在一个示例中,所述第一BGP路由,可以是第一BGP IPv6 unicast路由。换言之,所述第一BGP路由,可以是基于IPv6 unicast地址族发布的路由。在又一个示例中,所述第 一BGP路由,也可以是基于其它地址族发布的路由,例如,扩展新的地址族来发布所述第 一BGP路由。
A3:基于所述第一color属性和基于所述第一下一跳地址,将所述第一BGP路由迭代 到第一目标路径,所述第一目标路径用于转发携带所述第二通信装置的第一SRv6 SID的 报文,其中,所述第一SRv6 SID为所述第一地址段内的地址。
关于A2-A3,需要说明的是,第三通信装置接收到第一BGP消息之后,可以生成包括第一路由前缀,第一下一跳地址的第一BGP路由,并基于所述第一color属性和所述第一 下一跳地址,迭代得到第一目标路径,从而将所述第一BGP路由迭代到所述第一目标路 径。其中,所述第一目标路径,可以是SRv6 policy、SRv6 flex-algo路径、RSVP-TE隧道、 SR MPLSpolicy、SR flex-algo路径、MPLS-TE隧道或者VxLAN隧道中的任意一种,本申 请对所述第一目标路径的具体类型不做具体限定。以所述第一目标路径为SRv6 policy为 例,如上对于SRv6 policy的描述可知,SRv6 policy包括尾端的地址、以及color属性,因 此,第三通信装置在所述第一color属性与所述SRv6 policy中的color属性相匹配,且所 述第一下一跳地址和所述SRv6 policy中的尾端的地址相匹配的情况下,将所述第一BGP 路由迭代到所述第一目标路径,从而获得第一目标路径的第一转发信息。所述第三通信装 置获得到所述第一转发信息之后,可以在报文转发阶段,转发包括所述第一SRv6 SID的 报文。在一个示例中,所述第三通信装置可以将所述第一BGP路由和所述第一转发信息的 对应关系下发到转发面,以便于在报文转发阶段,当第一SRv6 SID匹配到所述第一BGP 路由时,基于所述第一转发信息转发包括所述第一SRv6 SID的报文。
此处提及的第一转发信息,可以是用于指示所述第一目标路径的信息,例如,当所述 第一目标路径为SRv6 policy时,所述第一转发信息,可以是指示所述第一目标路径的SID list。
另外,第二通信装置除了可以执行方法100之外,还可以执行图4所示的方法200,图4为本申请实施例提供的又一种路由发布方法的流程示意图。图4所示的方法200,可 以包括如下S201-S202。
S201:第二通信装置向所述第三通信装置发送第二BGP消息,所述第二BGP消息包括第二路由前缀,第二下一跳地址和第二color属性,其中,所述第二路由前缀的地址段为第二通信装置的第二地址段,所述第二color属性指示第二业务意图。
S202:所述第二通信装置向所述第一通信装置通告第二SRv6业务路由,所述第二SRv6业务路由包括第二SRv6 SID,所述第二SRv6 SID为所述第二地址段内的地址。
在一个示例中,若所述第二通信装置上配置有VPN业务,所述第二SRv6业务路由可以是第二SRv6 VPN路由。
在一个示例中,可以基于所述第一业务意图,配置所述第一地址段,进一步地,在所 述第一地址段内分配所述第一SRv6 SID。
在一个示例中,可以将所述第二通信装置的SRv6 locator地址段划分为多个不同的子 地址段,所述第一地址段和所述第二地址段,可以是所述多个地址段中的任意一两个不同 的子地址段。例如,可以按照业务意图,将所述第二通信装置的SRv6 locator地址段划分 为多个不同的子地址段,一个业务意图对应一个子地址段,所述第一地址段,可以是第一 业务意图对应的子地址段,所述第二地址段,可以是第二业务意图对应的子地址段。下表 为该示例的一个具体示例:
在又一个示例中,所述第二通信装置可以包括多个SRv6 locator地址段,所述第一地 址段和所述第二地址段,可以是所述第二通信装置的两个不同的SRv6 locator地址段。例 如,可以按照业务意图,为所述第二通信装置配置多个SRv6 locator地址段,一个业务意 图对应一个SRv6 locator地址段,所述第一地址段,可以是第一业务意图对应的第一SRv6 locator地址段;所述第二地址段,可以是第二业务意图对应的第二SRv6 locator地址段。 在该示例中,节点标识在业务意图的标识之前,也可以在业务意图的标识之后。
在一个示例中,节点标识可以在业务意图的标识之前,如示例1:
在又一个示例中,一个区域的多个节点的节点标识可以在业务意图的标识之后。如示 例2:
以图1为例,在示例2所示方式下,ACC2向MC3发布color1的路由时,携带的路由前缀可以为2001:db8:1:0001::/64,而MC3向PE3发布color1的路由时,可以将本区域的、 对应color1的多个节点的路由聚合为一个路由前缀2001:db8:1::/48发布。同理,针对color2, ACC2向MC3发布的路由前缀为2001:db8:2:0001::/64,而MC3向PE3发布的路由前缀为 2001:db8:2::/48。
本申请实施例还提供了一种通信方法,接下来,对该通信方法进行介绍。
参见图5,该图为本申请实施例提供的一种通信方法的流程示意图。图5所示的通信 方法300,可以由第一通信装置执行,所述第一通信装置可以是图1a所示的ACC1,也可以是图1a所示的AGG1,PE1,MC3,MC1,PE3或者AGG3,本申请实施例不做具体限 定。
在一个示例中,图5所示的方法300,例如可以包括如下S301-S303。
S301:接收第一BGP消息,所述第一BGP消息包括第一路由前缀,第一下一跳地址和第一color属性,其中,所述第一路由前缀的地址段为第二通信装置的第一地址段,所述第一color属性指示第一业务意图。
S302:根据所述第一BGP消息,生成第一BGP路由,所述第一BGP路由包括所述 第一路由前缀和所述第一下一跳地址。
S303:基于所述第一color属性和基于所述第一下一跳地址,将所述第一BGP路由迭 代到第一目标路径,所述第一目标路径用于转发携带所述第二通信装置的第一SRv6SID 的报文,其中,所述第一SRv6 SID为所述第一地址段内的地址。
在一个示例中,所述第一SRv6 SID为第一SRv6 VPN SID,例如,第二通信装置上配置有VPN业务,则所述第一SRv6 SID为第一SRv6 VPN SID。关于所述方法300,其具体 实现可以参考上文对于步骤A1-A3的描述部分,此处不做详细描述。
在一个示例中,若所述第一通信装置对应图1a所示的ACC1,则所述第一通信装置还 可以接收第二通信装置发布的第一SRv6业务路由,所述第一SRV6业务路由包括所述第一SRv6 SID。第一通信装置接收到所述第一SRV6业务路由之后,由于所述第一SRv6 SID 为第一地址段内的地址,因此,所述第一SRv6 SID可以迭代到所述第一BGP路由,而由 于所述第一BGP路由迭代到第一目标路径,因此,所述第一SRv6 SID迭代所述第一BGP 路由之后,所述第一通信装置可以获得所述第一目标路径的第一转发信息。在一个示例中, 所述第一通信装置可以存储所述第一转发信息,例如,将所述第一转发信息和所述第一 SRv6 SID的第一对应关系下发至转发面进行存储。在报文转发阶段,所述第一通信装置可 以基于第一对应关系,确定第一SRv6 SID对应的所述第一转发信息,从而进一步封装包 括第一SRv6SID和所述第一转发信息的报文。
此处提及的第一转发信息,可以是用于指示所述第一目标路径的信息,例如,当所述 第一目标路径为SRv6 policy时,所述第一转发信息,可以是指示所述第一目标路径的SID list。
在一个示例中,若所述第二通信装置上配置有VPN业务,则所述第一SRv6业务路由可以是第一SRV6 VPN路由。
在一个示例中,所述第一通信装置上可以预先配置第一指示信息,该第一指示信息用 于指示所述第一通信装置根据所述第一BGP路由迭代到所述第一目标路径。
在又一个示例中,所述第一BGP消息中可以包括所述第一指示信息,该第一指示信息 用于指示第一通信装置根据所述第一BGP路由迭代到所述第一目标路径。对于这种情况, 所述第一通信装置可以直接基于所述第一指示信息,将所述第一BGP路由迭代到所述第 一目标路径,无需额外在所述第一通信装置上配置所述第一指示信息。
作为一个示例,可以对传统的BGP路由消息进行扩展,扩展新的BGP路由属性以携带所述第一指示信息。也就是说,在一个示例中,所述第一BGP消息中可以包括新扩展的BGP路由属性,该新扩展的BGP路由属性中携带所述第一指示信息。作为又一个示例, 可以对所述color属性进行扩展,从而通过所述color属性携带所述第一指示信息。对于这 种情况,所述第一BGP消息中的第一color属性,用于指示所述第一通信装置将所述第一 BGP路由迭代到第一目标路径。可参见图6进行理解,图6为本申请实施例提供的一种 color属性的结构示意图。如图6所示,所述color属性包括标识(flags)字段,在一个示 例中,可以通过所述flags字段携带前述第一指示信息。
在又一个示例中,若所述第一通信装置对应图1a所示的ACC1,则所述第一通信装置 还可以接收控制器发送的第一信息,所述第一信息包括所述第一SRv6 SID。第一通信装置 接收到所述第一信息之后,由于所述第一SRv6 SID为第一地址段内的地址,因此,所述第 一SRv6 SID可以迭代到所述第一BGP路由,而由于所述第一BGP路由迭代到第一目标 路径,因此,所述第一SRv6 SID迭代所述第一BGP路由之后,所述第一通信装置可以获 得所述第一目标路径的第一转发信息。在一个示例中,所述第一通信装置可以存储所述第 一转发信息,例如,将所述第一转发信息和所述第一SRv6 SID的第一对应关系下发至转 发面进行存储。在报文转发阶段,所述第一通信装置可以基于第一对应关系,确定第一SRv6 SID对应的所述第一转发信息,从而进一步封装包括第一SRv6 SID和所述第一转发信息 的报文。
在一个示例中,所述第一信息中包括的第一SRv6 SID,可以是第一SRv6 VPN SID,也可以是第一SRv6 service segment SID,还可以是所述第一SRv6 binding SID。当所述第 一SRv6 SID为第一SRv6 VPN SID时,所述第一信息例如可以是SRv6 VPN路由;当所述第一SRv6 SID为第一SRv6 service segment SID或者第一SRv6 binding SID时,所述第一信息中除了可以包括第一SRv6 SID之外,还可以包括其它SID,所述第一SRv6 SID可以 是所述第一信息中的第一个SID。
在一些实施例中,当所述第一SRv6 SID为第一SRv6 service segment SID或第一SRv6 binding SID时,第二通信装置在配置所述第一SRv6 SID之后,可以将所述第一SRv6SID 和与第一SRv6 SID相关的信息发送给控制器。相应的,控制器可以基于接收到的第一SRv6 SID和与第一SRv6 SID相关的信息,确定第一信息,并将第一信息发送给第一通信装置。
其中,当所述第一SRv6 SID为第一SRv6 service segment SID时,与第一SRv6SID 相关的信息,例如可以是业务属性信息,当所述第一SRv6 SID为第一SRv6 bindingSID 时,与第一SRv6 SID相关的信息,例如可以是与该binding SID绑定的隧道的信息。
在一个示例中,第二通信装置例如可以利用路径计算单元通信协议(PathComputation Element Communication Protocol,PCEP)或者BGP LS协议,将所述第一SRv6SID发送给 控制器。控制器例如可以利用BGP SR Policy或者PCEP将包括所述第一SRv6SID的第一 信息发送给所述第一通信装置。
在一个示例中,第一通信装置接收到第一BGP消息之后,可以基于所述第一BGP消息,得到第二BGP消息,所述第二BGP消息用于通告第二BGP路由,并将所述第二BGP 消息发送给第三通信装置。在一个示例中,第二BGP消息中的下一跳信息被修改为第一通 信装置自身的信息。在一个具体的示例中,第一通信装置可以对第一下一跳进行修改,将 所述第一下一跳修改为第二下一跳,第二下一跳为所述第一通信装置的IP地址。在又一个 示例中,考虑到对于不同的域而言,对应相同业务意图的color值不同,因此,所述第一通 信装置还可以将第一color属性修改为第二color属性,第二color属性用于在所述第三通 信装置所述的域内指示所述第一业务意图。关于所述第一通信装置和第三通信装置,现举 例说明:第一通信装置对应图1a所示的MC3,第三通信装置可以对应图1a所示的PE3。 即:ACC2向MC3发送第一BGP消息,MC3基于第一BGP消息得到第二BGP消息,并 将第二BGP消息发送给PE3。
关于所述第一下一跳地址,需要说明的是:
在一个示例中,若第一通信装置和第二通信装置属于同一个域,则所述第一BGP消息,可以是所述第二通信装置向所述第一通信装置发送的消息。对于这种情况,该第一下一跳地址可以是第二通信装置的IP地址。例如,第一通信装置对应图1a所示的MC3,则 所述第一BGP消息,可以是ACC2向所述MC3发送的消息,相应的,所述第一BGP消 息中携带的第一下一跳地址,可以是所述第二通信装置(ACC2)的IP地址。
在又一个示例中,所述第一通信装置为第一域的边界节点,所述第二通信装置属于不 同于第一域的第二域。所述第一通信装置可以通过所述第三通信装置连接所述第二通信装 置,第三通信装置可以是所述第一域的另一个边界节点。对于这种情况,所述第一下一跳 地址,可以是第三通信装置的IP地址。例如,第一通信装置为ACC1,第二通信装置为ACC2,第三通信装置为MC1,则第一BGP消息可以是MC1发送给ACC1的消息,相应 的,所述第一BGP消息中携带的第一下一跳地址,可以是所述第三通信装置(MC1)的IP 地址。又如,第一通信装置为PE1,第二通信装置为ACC2,第三通信装置为PE3,则第一 BGP消息可以是PE3发送给PE1的消息,相应的,所述第一BGP消息中携带的第一下一 跳地址,可以是所述第三通信装置(PE3)的IP地址。
在一个示例中,所述第二BGP消息可以用于指示所述第三通信装置根据所述第二color 属性和所述第二下一跳地址,将所述第二BGP路由迭代到第二目标路径,所述第二目标路 径用于转发携带所述第一SRv6 SID的报文。对于这种情况,对于携带第一SRv6 SID的报 文而言,其在两个不同域的边界节点之间,即在第三通信装置和第一通信装置之间(例如 PE3和MC3之间),也可以基于与第二color属性匹配的第二目标路径转发,从而有效保证业务报文在不同域的边界节点之间转发时,也能使得业务意图得到满足。例如,PE3可 以基于所述第二color属性和所述第二下一跳地址,将所述第二BGP路由迭代至PE3和 MC3之间的SRv6 policy。
与第一目标路径类似,所述第二目标路径,也可以是SRv6 policy、SRv6 flex-algo路 径、RSVP-TE隧道、SR MPLS policy、SR flex-algo路径、MPLS-TE隧道或者VxLAN隧道中的任意一种,本申请对所述第二目标路径的具体类型不做具体限定。
在一个示例中,所述第二BGP消息可以包括第二指示信息,该第二指示信息用于指示 所述第三通信装置根据所述第二color属性和所述第二下一跳地址,将所述第二BGP路由 迭代到第二目标路径。
作为一个示例,可以对传统的BGP路由消息进行扩展,扩展新的BGP路由属性以携带所述第二指示信息。也就是说,在一个示例中,所述第二BGP消息中可以包括新扩展的BGP路由属性,该新扩展的BGP路由属性中携带所述第二指示信息。
作为又一个示例,可以对所述color属性进行扩展,从而通过所述color属性携带所述 第二指示信息。对于这种情况,所述第二BGP消息中的第二color属性,用于指示所述第 三通信装置根据所述第二color属性和所述第二下一跳地址,将所述第二BGP路由迭代到 第二目标路径。关于携带第二指示信息的第二color属性,其结构可以参考图6理解,此次不做重复说明。
当然,在另一个示例中,若所述第二BGP消息并未指示所述第三通信装置根据所述第 二color属性和所述第二下一跳地址,将所述第二BGP路由迭代到第二目标路径,则对于携带第一SRv6 SID的报文而言,其在两个不同域的边界节点之间,即在第三通信装置和 第一通信装置之间(例如PE3和MC3之间),可以基于普通IPv6转发。
关于“第三通信装置根据所述第二color属性和所述第二下一跳地址,将所述第二BGP 路由迭代到第二目标路径”可以参考上文对于步骤A3的描述部分,此次不做详细描述。
接下来,从报文转发角度,介绍第一通信装置如何基于第一目标路径转发报文。
参见图7,该图为本申请实施例提供的一种报文转发方法的流程示意图。图7所示的 报文转发方法400,例如可以包括如下S401-S405。
S401:接收第一报文。
在一个示例中,若所述第一通信装置对应图1a所示的ACC1,则所述第一报文可以为IPv4报文,也可以为IPv6报文,本申请实施例不做具体限定。对于这种情况,所述第 一报文的目的IP地址,可以是CE2的IP地址。
在一个示例中,若所述第一通信装置对应图1a所示的AGG1、PE1、MC3或者AGG3, 则所述第一报文可以是IPv6报文,其中,该第一报文的目的地址,可以是第二通信装置的 第一SRv6 SID。
在一个示例中,若所述第一报文为VPN业务对应的报文,则所述第一SRv6 SID,可以是第二通信装置的第一SRv6 VPN SID。
若所述第一报文为SFC业务对应的报文,则所述第一SRv6 SID可以是第一SRv6service segment SID,第一SRv6 service segment SID用于关联业务链相关操作。
第一SRv6 SID还可以是第一SRv6 binding SID,用于隧道绑定。
S402:根据所述第一报文,确定第二通信装置的第一SRv6 SID。
如上所述,若所述第一通信装置对应图1a所示的ACC1,则所述第一报文的目的地址,可以是CE2的IP地址,对于这种情况,在一个示例中,若所述第一报文为VPN业务 对应的报文,则所述第一通信装置可以通过与VPN业务对应的接口接收所述第一报文,接 收所述第一报文之后,所述第一通信装置可以查找与接收第一报文的接口对应的第一VRF 表,从而得到所述第一SRv6 SID。
在一个示例,所述第一VRF表中,例如可以包括所述第一报文的目的地址和所述第一SRv6 SID的对应关系,对于这种情况,所述第一通信装置以所述第一报文的目的地址 作为索引查找所述第一VRF表,即可获得所述第一SRv6 SID。
在又一个示例中,所述第一VRF表中,可以包括所述第一SRv6 SID和与所述第一报文的目的地址匹配的前缀的对应关系,对于这种情况,所述第一通信装置以所述第一报文的目的地址作为索引查找所述第一VRF表,确定所述目的地址与所述第一VRF表中的前 缀相匹配之后,即可获得所述第一SRv6 SID。
在另一个示例中,当所述第一SRv6 SID为第一SRv6 service segment SID或第一SRv6 binding SID时,所述第一通信装置可以基于流匹配规则,确定所述包括所述第一SRv6 SID 的第一信息,从而获得所述第一信息中包括的第一SRv6 SID。其中,所述流匹配规则可以 预先配置在所述第一通信装置上,也可以通过控制下发给所述第一通信装置。
如上所述,若所述第一通信装置对应图1a所示的AGG1、PE1、MC3或者AGG3, 则所述第一报文的目的地址为所述第一SRv6 SID。对于这种情况,第一通信装置可以直接 将所述第一报文的目的地址确定为所述第一SRv6 SID。
S403:根据所述第一SRv6 SID确定第一目标路径的第一转发信息。
在一个示例中,当所述第一通信装置为ACC1时,如前所述,第一通信装置接收到第一SRv6业务路由之后,可以基于第一SRv6 SID迭代所述第一BGP路由,获取所述第一 目标路径的第一转发信息。因此,第一通信装置在确定第一SRv6 SID之后,可以获得所述 第一转发信息。
在又一个示例中,当所述第一通信装置为AGG1、PE1、MC3或者AGG3时,由于所 述第一通信装置中存储有第一BGP路由,所述第一BGP路由包括第一路由前缀,所述第 一路由前缀的地址段为第一地址段。所述第一SRv6 SID为所述第一地址段内的地址。因 此,基于第一SRv6 SID进行路由匹配时,可以匹配到所述第一BGP路由。也就是说,第 一SRv6 SID可以迭代第一BGP路由,进一步地,获取到由第一BGP路由迭代获得的第 一目标路径的第一转发信息。
在一个示例中,所述第一SRv6 SID可以是基于第一业务意图分配的SRv6 SID。例如,可以基于所述第一业务意图,确定所述第一地址段,而后,在所述第一地址段中配置 所述第一SRv6 SID,从而实现基于第一业务意图,配置所述第一SRv6 SID。
关于所述第一地址段,可以参考以上对于第一地址段的描述部分,此次不做重复描述。
S404:根据所述第一报文得到第二报文,所述第二报文的报文头包括所述第一SRv6 SID和所述第一转发信息。
得到所述第一SRv6 SID和所述第一转发信息之后,可以基于所述第一SRv6 SID和所述第一转发信息,对所述第一报文进行封装,从而得到第二报文。在一个示例中,可以 将所述第一SRv6 SID和所述第一转发信息,封装至报文头中,从而得到报文头中包括所 述第一SRv6 SID和所述第一转发信息的第二报文。
在一个示例中,当所述第一目标路径为SRv6 policy时,所述第一SRv6 SID和所述第 一转发信息,可以位于所述第二报文的SRH中。
在一个示例中,当所述第一SRv6 SID为第一SRv6 service segment SID或第一SRv6 binding SID时,所述第一SRv6 SID,例如可以是所述第二报文的目的地址。
S405:通过所述第一目标路径,发送所述第二报文。
第一通信装置获取所述第二报文之后,可以通过所述第一目标路径,发送所述第二报 文。
关于所述第一目标路径,需要说明的是,所述第一目标路径的头节点为所述第一通信 装置。在一个示例中,所述第一通信装置为第一域的边界节点,所述第二通信装置属于不 同于第一域的第二域。对于这种情况,所述第一目标路径的尾节点可以为所述第一域的另 一个边界节点,例如,所述第一目标路径的尾节点为第一域的第三通信装置。所述第一通 信装置可以通过所述第三通信装置连接所述第二通信装置。对于这种情况,第一通信装置 可以通过其所在的第一域内的第一目标路径,转发所述第二报文。
关于以上方法400,现以所述第一目标路径为SRv6 policy为例进行说明。
参见图8,图8为本申请实施例提供的一种示例性应用场景示意图。
如图8所示,ACC1接收到来自CE1的payload之后,确定ACC2的VPN SID1(对应 图8所示的ACC2.C1.DT),进一步地,ACC1基于VPN SID1确定区域一内的路径ACC1- AGG1-MC1的转发信息,例如,确定指示路径ACC1-AGG1-MC1的SID list。
在封装模式中:ACC1基于指示路径ACC1-AGG1-MC1的SID list和VPN SID1,封装后的报文,其SRv6头部包括前述指示路径ACC1-AGG1-MC1的SID list,其IPv6基础头 中包括的目的地址为VPN SID1。
ACC1将报文转发给MC1之后,MC1将SRv6头部剥离,将报文进一步转发给PE1。 PE1接收到报文之后,基于目的地址VPN SID1获得在区域二内的转发路径的转发信息, 进一步地,基于所述在区域二内的转发路径的转发信息对报文进行封装,得到包括所述 VPN SID1和在区域二内的转发路径的转发信息的报文,并将报文发送给PE3。其中,PE1 对报文进行封装的方式,与ACC1对报文进行封装的方式类似,此处不做详细说明。
PE1将报文转发给PE3之后,PE3将报文中的SRv6头部剥离,将报文进一步转发给MC3。MC3接收到报文之后,基于目的地址VPN SID1获得在区域三内的转发路径的转发 信息,进一步地,基于所述在区域三内的转发路径的转发信息对报文进行封装,得到包括 所述VPN SID1和在区域三内的转发路径的转发信息的报文,并将报文发送给ACC2。其 中,MC3对报文进行封装的方式,与ACC1对报文进行封装的方式类似,此处不做详细说 明。
对比图8所示的封装模式和图1b所示的封装模式,可知,利用本方案,无需封装两个 SRv6头部,报文封装更加简单。而且,利用本方案,无需封装两个ACC2的SID,封装 ACC2的一个SID(即:ACC2.C1.DT)即可。
在插入模式中:ACC1基于指示路径ACC1-AGG1-MC1的SID list和VPN SID1,封装后的报文,其SRv6头部的SRH中既包括前述指示路径ACC1-AGG1-MC1的SID list,也 包括VPN SID1(对应图8中的ACC2.C1.DT,ACC2.C1.DT是ACC2基于业务意图分配的 VPN SID)。
ACC1将报文转发给MC1之后,MC1将SRH剥离,将报文的目的地址修改为SRH中 的最后一个SID(即ACC2.C1.DT),将报文进一步转发给PE1。PE1接收到报文之后,基 于目的地址ACC2.C1.DT获得在区域二内的转发路径的转发信息,进一步地,基于所述在 区域二内的转发路径的转发信息对报文进行封装,得到包括所述VPN SID1和在区域二内 的转发路径的转发信息的报文,并将报文发送给PE3。其中,PE1对报文进行封装的方式, 与ACC1对报文进行封装的方式类似,此处不做详细说明。
PE1将报文转发给PE3之后,PE3将报文中的SRH剥离,将报文进一步转发给MC3。MC3接收到报文之后,基于目的地址ACC2.C1.DT获得在区域三内的转发路径的转发信 息,进一步地,基于所述在区域三内的转发路径的转发信息对报文进行封装,得到包括所 述VPN SID1和在区域三内的转发路径的转发信息的报文,并将报文发送给ACC2。其中, MC3对报文进行封装的方式,与ACC1对报文进行封装的方式类似,此处不做详细说明。
对比图8所示的插入模式和图1b所示的插入模式可知,利用本方案,可以采用“一个 IPv6基础头+一个SRH”这种符合SRv6基础规范的封装方式对报文进行封装。
在一个示例中,在图8所示的场景中,第一通信装置例如可以对应ACC1,对于这种情况,第一目标路径可以对应区域一内的转发路径ACC1-AGG1-MC1;
在又一个示例中,在图8所示的场景中,第一通信装置例如可以对应PE1,对于这种情况,第一目标路径可以对应区域二内的转发路径PE1-P1-PE3;
在另一个示例中,在图8所示的场景中,第一通信装置例如可以对应MC3,对于这种情况,第一目标路径可以对应区域三内的转发路径MC3-AGG3-ACC2。
在一个示例中,在路由发布与路由处理阶段,所述第一通信装置还可以执行图9所示 的方法500。图9为本申请实施例提供的又一种通信方法的流程示意图。
在一个示例中,所述方法500,例如可以包括如下步骤S501-S503。
S501:接收第三BGP消息,所述第三BGP消息包括第二路由前缀,第三下一跳地址和第三color属性,其中,所述第二路由前缀的地址段为所述第二通信装置的第二地址段,所述第三color属性指示第二业务意图。
S502:根据所述第三BGP消息,生成第三BGP路由,所述第三BGP路由包括所述第 二路由前缀和所述第三下一跳地址。
S503:基于所述第三color属性和所述第三下一跳地址,将所述第三BGP路由迭代到第 三目标路径,所述第三目标路径用于转发携带所述第二通信装置的第二SRv6 SID的报文, 其中,所述第二SRv6 SID为所述第二地址段内的地址。
在一个示例中,所述第二SRv6 SID为第二SRv6 VPN SID。
在一个示例中,所述第二地址段为所述第二通信装置根据所述第二业务意图分配的地 址段,所述第二SRv6 SID为所述第二通信装置根据所述第二业务意图分配的SID。
在一个示例中,所述第二通信装置的SRv6 locator地址段划分为多个不同的子地址段, 所述多个不同的子地址段包括所述第一地址段和所述第二地址段。
在一个示例中,所述第一地址段为所述第二通信装置的第一SRv6 locator地址段,所 述第二地址段为所述第二通信装置的第二SRv6 locator地址段。
利用方法300和方法500,当第二通信装置配置有对应不同业务意图的业务时,可以 对第二通信装置进行地址段的划分,第一业务意图对应第一地址段,第二业务意图对应第 二地址段。这样一来,第一通信装置可以通过第一目标路径转发第一业务意图对应的业务 数据,通过第三目标路径转发第二业务意图对应的业务数据。
在一个示例中,若所述第一通信装置对应图1a所示的ACC1,所述第一通信装置还可 以接收第二通信装置发布的第二SRv6业务路由,所述第二SRV6业务路由包括所述第二SRv6 SID。第一通信装置接收到所述第二SRV6业务路由之后,由于所述第二SRv6 SID为 第二地址段内的地址,因此,所述第二SRv6 SID可以迭代到所述第三BGP路由,而由于 所述第三BGP路由迭代到第三目标路径,因此,所述第二SRv6 SID迭代所述第三BGP路 由之后,所述第一通信装置可以获得所述第三目标路径的第二转发信息。例如,将所述第 二转发信息和所述第二SRv6 SID的第二对应关系下发至转发面进行存储。在报文转发阶 段,所述第一通信装置可以基于第二对应关系,确定第二SRv6 SID对应的所述第二转发 信息,从而进一步封装包括第二SRv6 SID和所述第二转发信息的报文。
此次提及的第二转发信息,可以是用于指示所述第三目标路径的信息,例如,当所述 第三目标路径为SRv6 policy时,所述第一转发信息,可以是指示所述第三目标路径的SID list。
在一个示例中,所述第二SRv6业务路由可以是第二SRv6 VPN路由。
在又一个示例中,若所述第一通信装置对应图1a所示的ACC1,则所述第一通信装置 还可以接收控制器发送的第二信息,所述第二信息包括所述第二SRv6 SID。第一通信装置 接收到所述第二信息之后,由于所述第二SRv6 SID为第二地址段内的地址,因此,所述第 二SRv6 SID可以迭代到所述第三BGP路由,而由于所述第三BGP路由迭代到第三目标 路径,因此,所述第二SRv6 SID迭代所述第三BGP路由之后,所述第一通信装置可以获 得所述第三目标路径的第二转发信息。在一个示例中,所述第一通信装置可以存储所述第 二转发信息,例如,将所述第二转发信息和所述第二SRv6 SID的第二对应关系下发至转 发面进行存储。在报文转发阶段,所述第一通信装置可以基于第二对应关系,确定第二SRv6 SID对应的所述第二转发信息,从而进一步封装包括第二SRv6 SID和所述第二转发信息 的报文。
在一个示例中,所述第二信息中包括的第二SRv6 SID,可以是第二SRv6 VPN SID,也可以是第二SRv6 service segment SID,还可以是所述第二SRv6 binding SID。当所述第 二SRv6 SID为第二SRv6 VPN SID时,所述第二信息例如可以是SRv6 VPN路由;当所述第二SRv6 SID为第二SRv6 service segment SID或者第二SRv6 binding SID时,所述第二信息中除了可以包括第二SRv6 SID之外,还可以包括其它SID,所述第二SRv6 SID可以 是所述第二信息中的第一个SID。
在一些实施例中,当所述第二SRv6 SID为第二SRv6 service segment SID或第二SRv6 binding SID时,第二通信装置在配置所述第二SRv6 SID之后,可以将所述第二SRv6SID 和与第二SRv6 SID相关的信息发送给控制器。相应的,控制器可以基于接收到的第二SRv6 SID和与第二SRv6 SID相关的信息,确定第二信息,并将第二信息发送给第一通信装置。
其中,当所述第二SRv6 SID为第二SRv6 service segment SID时,与第二SRv6SID 相关的信息,例如可以是业务属性信息,当所述第二SRv6 SID为第二SRv6 bindingSID 时,与第二SRv6 SID相关的信息,例如可以是与该binding SID绑定的隧道的信息。
在一个示例中,第一通信装置接收到第三BGP消息之后,可以基于所述第三BGP消息,得到第四BGP消息,所述第四BGP消息用于通告第四BGP路由,并将所述第四BGP 消息发送给第三通信装置。在一个示例中,第四BGP消息中的下一跳信息被修改为第一通 信装置自身的信息。在一个具体的示例中,第一通信装置可以对第三下一跳进行修改,将 所述第三下一跳修改为第四下一跳,第四下一跳为所述第一通信装置的IP地址。在又一个 示例中,考虑到对于不同的域而言,对应相同业务意图的color值不同,因此,所述第一通 信装置还可以将第三color属性修改为第四color属性,第四color属性用于在所述第三通 信装置所述的域内指示所述第二业务意图。关于所述第一通信装置和第三通信装置,现举 例说明:第一通信装置对应图1a所示的MC3,第三通信装置可以对应图1a所示的PE3。 即:ACC2向MC3发送第三BGP消息,MC3基于第三BGP消息得到第四BGP消息,并 将第四BGP消息发送给PE3。
在一个示例中,所述第四BGP消息可以用于指示所述第三通信装置根据所述第四color属性和所述第四下一跳地址,将所述第四BGP路由迭代到第四目标路径,所述第四 目标路径用于转发携带所述第二SRv6 SID的报文。对于这种情况,对于携带第二SRv6 SID 的报文而言,其在两个不同域的边界节点之间,即在第三通信装置和第一通信装置之间(例如PE3和MC3之间),也可以基于与第四color属性匹配的第四目标路径转发,从而有效 保证业务报文在不同域的边界节点之间转发时,也能使得业务意图得到满足。
在一个示例中,所述第四BGP消息可以包括第三指示信息,该第三指示信息用于指示 所述第三通信装置根据所述第四color属性和所述第四下一跳地址,将所述第四BGP路由 迭代到第四目标路径。
作为一个示例,可以对传统的BGP路由消息进行扩展,扩展新的BGP路由属性以携带所述第三指示信息。也就是说,在一个示例中,所述第四BGP消息中可以包括新扩展的BGP路由属性,该新扩展的BGP路由属性中携带所述第三指示信息。
作为又一个示例,可以对所述color属性进行扩展,从而通过所述color属性携带所述 第三指示信息。对于这种情况,所述第四BGP消息中的第四color属性,用于指示所述第 三通信装置根据所述第四color属性和所述第四下一跳地址,将所述第四BGP路由迭代到 第四目标路径。关于携带第三指示信息的第四color属性,其结构可以参考图6理解,此次不做重复说明。
接下来,从报文转发角度,介绍第一通信装置如何基于第三目标路径转发报文。
参见图10,该图为本申请实施例提供的一种报文转发方法的流程示意图。图10所示 的报文转发方法600,例如可以包括如下S601-S605。
在一个示例中,所述方法600,例如可以包括如下S601-S605。
S601:接收第三报文。
在一个示例中,所述第一通信装置对应图1a所示的ACC1,则所述第三报文可以为IPv4报文,也可以为IPv6报文,本申请实施例不做具体限定。对于这种情况,所述第三报 文的目的IP地址,可以是CE4(图1a未示出)的IP地址。
在一个示例中,所述第一通信装置对应图1a所示的AGG1、PE1、MC3或者AGG3, 则所述第三报文可以是IPv6报文,其中,该第三报文的目的地址,可以是第二通信装置的 第二SRv6 SID。
在一个示例中,若所述第三报文为VPN业务对应的报文,则所述第二SRv6 SID,可以是第二通信装置的第二SRv6 VPN SID。
若所述第三报文为SFC业务对应的报文,则所述第二SRv6 SID可以是第二SRv6service segment SID,第二SRv6 service segment SID用于关联业务链相关操作。
第二SRv6 SID还可以是第二SRv6 binding SID,用于隧道绑定。
S602:根据所述第三报文,确定所述第二SRv6 SID。
如上所述,若所述第一通信装置对应图1a所示的ACC1,则所述第三报文的目的地址,可以是CE4的IP地址,对于这种情况,在一个示例中,若所述第三报文为VPN业务 对应的报文,则所述第一通信装置可以通过与VPN业务对应的接口接收所述第三报文,接 收所述第三报文之后,所述第一通信装置可以查找与接收第三报文的接口对应的第二VRF 表,从而得到所述第二SRv6 SID。
在一个示例,所述第二VRF表中,例如可以包括所述第三报文的目的地址和所述第二SRv6 SID的对应关系,对于这种情况,所述第一通信装置以所述第三报文的目的地址 作为索引查找所述第二VRF表,即可获得所述第二SRv6 SID。
在又一个示例中,所述第二VRF表中,可以包括所述第二SRv6 SID和与所述第三报文的目的地址匹配的前缀的对应关系,对于这种情况,所述第一通信装置以所述第三报文的目的地址作为索引查找所述第二VRF表,确定所述目的地址与所述第二VRF表中的前 缀相匹配之后,即可获得所述第二SRv6 SID。
在另一个示例中,当所述第二SRv6 SID为第二SRv6 service segment SID或第二SRv6 binding SID时,所述第一通信装置可以基于流匹配规则,确定所述包括所述第二SRv6 SID 的第二信息,从而获得所述第二信息中包括的第二SRv6 SID。其中,所述流匹配规则可以 预先配置在所述第一通信装置上,也可以通过控制下发给所述第一通信装置。
如上所述,若所述第一通信装置对应图1a所示的AGG1、PE1、MC3或者AGG3, 则所述第三报文的目的地址为所述第二SRv6 SID。对于这种情况,第一通信装置可以直接 将所述第三报文的目的地址确定为所述第二SRv6 SID。
S603:根据第二SRv6 SID,确定与所述第二SRv6 SID对应的第三目标路径的第二转 发信息。
在一个示例中,当所述第一通信装置为ACC1时,如前所述,第一通信装置接收到第二SRv6业务路由之后,可以基于第二SRv6 SID迭代所述第三BGP路由,获取所述第三 目标路径的第二转发信息。因此,第一通信装置在确定第二SRv6 SID之后,可以获得所述 第二转发信息。
在又一个示例中,当所述第一通信装置为AGG1、PE1、MC3或者AGG3时,由于所 述第一通信装置中存储有第三BGP路由,所述第三BGP路由包括第二路由前缀,所述第 二路由前缀的地址段为第二地址段。所述第二SRv6 SID为所述第二地址段内的地址。因 此,基于第二SRv6 SID进行路由匹配时,可以匹配到所述第三BGP路由。也就是说,第 二SRv6 SID可以迭代第三BGP路由,进一步地,获取到由第三BGP路由迭代获得的第 三目标路径的第二转发信息。
在一个示例中,所述第二SRv6 SID可以是基于第二业务意图分配的SRv6 SID。例如,可以基于所述第二业务意图,确定所述第二地址段,而后,在所述第二地址段中配置 所述第二SRv6 SID,从而实现基于第二业务意图,配置所述第二SRv6 SID。
关于所述第二地址段,可以参考上文对于第二地址段的描述部分,此次不做重复描述。
S604:根据所述第三报文得到第四报文,所述第四报文的报文头包括所述第二SRv6 SID和所述第二转发信息。
得到所述第二SRv6 SID和所述第二转发信息之后,可以基于所述第二SRv6 SID和所述第二转发信息,对所述第三报文进行封装,从而得到第四报文。在一个示例中,可以 将所述第二SRv6 SID和所述第二转发信息,封装至报文头中,从而得到报文头中包括所 述第二SRv6 SID和所述第二转发信息的第四报文。
在一个示例中,当所述第三目标路径为SRv6 policy时,所述第二SRv6 SID和所述第 二转发信息,可以位于所述第四报文的SRH中。
在一个示例中,当所述第二SRv6 SID为第二SRv6 service segment SID或第二SRv6 binding SID时,所述第二SRv6 SID,例如可以是所述第四报文的目的地址。
S605:通过所述第二目标路径,向所述第二通信装置发送第四报文。
第一通信装置获取所述第四报文之后,可以通过所述第二目标路径,发送所述第四报 文。
关于方法600的具体实现,可以参考图8对于方法400的举例说明部分,此处不再重复说明。
通过以上描述可知,利用本申请实施例的方案,可以按照业务意图,对第二通信装置 进行地址段划分,一个地址段对应一个业务意图,相应的,在业务意图对应的地址段下为 该业务配置SRv6 SID,从而使得不同业务意图的VPN业务的业务报文,能够通过不同的路径转发,例如,第一业务意图的第二报文,通过第一目标路径转发,第二业务意图的第 四报文,通过第三目标路径转发,从而满足各种业务的业务意图。
在一个示例中,所述第一通信装置还可以执行图11所示的方法700,图11为本申请实施例提供的又一种报文处理方法的流程示意图。图11所示的方法700,例如可以包括如下S701-S705。
S701:接收第五报文。
S702:根据所述第五报文,确定所述第三SRv6 SID,所述第三SRv6 SID是第四通信装置的SRv6 SID,所述第三SRv6 SID为所述第一地址段内的地址,其中,所述第四通信 装置和所述第二通信装置属于同一个域。
S703:根据所述第三SRv6 SID,确定与所述第三SRv6 SID对应的所述第一目标路径 的所述第一转发信息。
S704:对所述第五报文进行封装得到第六报文,所述第六报文的报文头包括所述第三 SRv6 SID和所述第一转发信息。
S705:通过所述第一目标路径,发送所述第六报文。
在一个示例中,若所述第五报文为VPN业务报文,则所述第三SRv6 SID,可以是第四通信装置的第三SRv6 SID。
若所述第五报文为SFC业务对应的报文,则所述第三SRv6 SID可以是第三SRv6service segment SID,第三SRv6 service segment SID用于关联业务链相关操作。
第三SRv6 SID还可以是第三SRv6 binding SID,用于隧道绑定。
关于方法700,需要说明的是,其实现原理和方法400类似,故而方法700的具体实现部分,可以参考方法400的相关描述,此次不做重复描述。
方法7700与方法400的区别在于,虽然第三SRv6 SID是第四通信装置的SRv6 SID,但是该第三SRv6 SID也在第一地址段内的地址,其中,第四通信装置和第二通信装置位 于同一域内。此时,该第一地址段,可以是匹配所述第二通信装置所在的域内的地址段。 对于这种情况,在一个示例中,所述第一目标路径的尾节点可以是所述第二通信装置所在 的域内的边界节点。第六报文被转发给所述第二通信装置所在的域内的边界节点之后,所 述边界节点可以继续采用该域内对应的转发路径,将第六报文转发给第四通信装置。
现结合图1a所示的场景,以VPN业务为例介绍本申请实施例提供的方案。
在一个示例中,可结合图12a进行理解,图12a为本申请实施例提供的一种示例性应 用场景示意图。
在图12a所示的场景中:
区域3中预先创建了对应业务意图1的SRv6 policy,该SRv6 policy对应的路径1为: MC3-AGG3-ACC2;
区域2中预先创建了对应业务意图1的flex-algo路径3:PE1-P1-PE3;
区域1中预先创建了对应业务意图1的SRv6 policy,该SRv6 policy对应的路径5为: ACC1-AGG1-MC1。
在路由发布阶段:
ACC2可以向MC3发布BGP消息1,BGP消息1包括路由前缀1、下一跳1和color 属性1,其中,color属性1对应业务意图1,下一跳1对应ACC2。
MC3接收到BGP消息1之后,生成BGP路由1,BGP路由1包括:路由前缀1和下 一跳1。并基于color属性1和下一跳1,迭代到路径1,从而将BGP路由1迭代至路径 1。
MC3还可以基于BGP消息1得到BGP消息2,并将BGP消息2发送给PE3。BGP消 息2包括路由前缀1、下一跳2和color属性2,其中,color属性2对应业务意图1,下一 跳2对应MC3。
在一个示例中,PE3接收到BGP消息2之后,生成BGP路由2,BGP路由2包括: 路由前缀1和下一跳2。
PE3还可以基于BGP消息2得到BGP消息3,并将BGP消息3发送给PE1。BGP消 息3包括路由前缀1、下一跳3和color属性2,其中,color属性2对应业务意图1,下一 跳3对应PE3。
PE1接收到BGP消息3之后,生成BGP路由3,BGP路由3包括:路由前缀1、下 一跳3。并基于color属性2和下一跳3,迭代到路径3,从而将BGP路由3迭代至路径 3。
PE1还可以基于BGP消息3得到BGP消息4,并将BGP消息4发送给MC1。BGP消 息4包括路由前缀1、下一跳4和color属性3,其中,color属性3对应业务意图1,下一 跳4对应PE1。
在一个示例中,MC1接收到BGP消息4之后,生成BGP路由4,BGP路由4包括: 路由前缀1和下一跳4。
MC1还可以基于BGP消息4得到BGP消息5,并将BGP消息5发送给ACC1。BGP 消息5包括路由前缀1、下一跳5和color属性3,其中,color属性3对应业务意图1,下 一跳5对应MC1。
ACC1接收到BGP消息5之后,生成BGP路由5,BGP路由5包括:路由前缀1和 下一跳5。并基于color属性3和下一跳5,迭代至路径5,从而将BGP路由5迭代至路径 5。
另外,ACC2还可以向ACC1发布VPN路由1,该VPN路由1包括SRv6 VPN SID1, SRv6VPN SID1为在前缀1对应的地址段下的地址。
ACC1接收到VPN路由1之后,可以基于SRv6 VPN SID1迭代到BGP路由5,相应 的,获取SRv6 VPN SID1和路径5的对应关系。
在报文转发阶段:
ACC1收到来自CE1的报文,查找VRF表,获得SRv6 VPN SID1,基于SRv6 VPN SID1和路径5,进行报文封装,从而通过路径5,将报文转发给MC1。关于ACC1对报文 进行封装,可以参考上文对于图8的描述部分,此次不做详述。
MC1基于接收到的报文中的SRv6 VPN SID1(目的地址),按照普通IPv6转发的方式,将报文转发给PE1,例如,通过路径4将报文转发给PE1。
PE1接收到报文之后,基于接收到的报文中的SRv6 VPN SID1(目的地址),迭代到BGP路由3,从而获得路径3,PE1基于SRv6 VPN SID1和路径3的转发信息,进行报文 封装,从而通过路径3,将报文转发给PE3。
PE3接收到报文之后,按照普通IPv6转发的方式,将报文转发给MC3,例如,通过 路径2将报文转发给MC3。
MC3接收到报文之后,基于接收到的报文中的SRv6 VPN SID1(目的地址),迭代到BGP路由1,从而获得路径1,PE3基于SRv6 VPN SID1和路径1的转发信息,进行报文 封装,从而通过路径1,将报文转发给ACC2。
在一个示例中,若所述PE3和MC3之间预先创建了与业务意图1对应的路径(例如对应VXLAN隧道的路径2),则在路由发布阶段,PE3接收到BGP消息2之后,可以基 于color属性2和下一跳2,将BGP路由2迭代至路径2。相应的,在报文转发阶段,PE3 接收到报文之后,基于报文的目的地址(SRv6 VPN SID1),迭代到BGP路由2,从而获得 路径2的转发信息,并基于路径2的转发信息对报文进行封装,从而通过与业务意图1对 应的路径2,将报文转发给MC3。
在又一个示例中,若所述MC1和PE1之间预先创建了与业务意图1对应的路径(例如对应VXLAN隧道的路径4),则在路由发布阶段,MC1接收到BGP消息4之后,可以 基于color属性3和下一跳4,将BGP路由4迭代至路径4。相应的,在报文转发阶段, MC1接收到报文之后,基于报文的目的地址(SRv6 VPN SID1),迭代到BGP路由4,从 而获得路径4的转发信息,并基于路径4的转发信息对报文进行封装,从而通过与业务意 图1对应的路径4,将报文转发给PE1。
在又一个示例中,可结合图12b进行理解,图12b为本申请实施例提供的又一种示例 性应用场景示意图。
在图12b所示的场景中:
区域3中预先创建了对应业务意图1的SRv6 policy,该SRv6 policy对应的路径1为: MC3-AGG3-ACC2;
区域2中预先创建了对应业务意图1的flex-algo路径3:PE1-P1-PE3;
区域1中预先创建了对应业务意图1的SRv6 policy,该SRv6 policy对应的路径5为: ACC1-AGG1-MC1。
另外:
区域3中预先创建了对应业务意图2的flex-algo路径1,该SRv6 policy对应的路径1 例如可以为:MC3-MC4-AGG4-ACC2;
区域2中预先创建了对应业务意图2的SRv6 policy。
在路由发布阶段:
除了可以执行图12a中的路由发布流程之外:
ACC2还可以向MC3发布BGP消息1’,BGP消息1’包括路由前缀1’、下一跳1’ 和color属性1’,其中,color属性1’对应业务意图2,下一跳1’对应ACC2。
MC3接收到BGP消息1’之后,生成BGP路由1’,BGP路由1’包括:路由前缀1’ 和下一跳1’。并基于color属性1’和下一跳1’,迭代到路径1’,从而将BGP路由1’迭 代至路径1’。
MC3还可以基于BGP消息1’得到BGP消息2’,并将BGP消息2’发送给PE3。 BGP消息2’包括路由前缀1、下一跳2’和color属性2’,其中,color属性2’对应业务 意图2,下一跳2’对应MC3。
在一个示例中,PE3接收到BGP消息2’之后,生成BGP路由2’,BGP路由2’包 括:路由前缀1’和下一跳2’。
PE3还可以基于BGP消息2’得到BGP消息3’,并将BGP消息3’发送给PE1。BGP 消息3’包括路由前缀1’、下一跳3’和color属性2’,其中,color属性2’对应业务意 图2,下一跳3’对应PE3。
PE1接收到BGP消息3’之后,生成BGP路由3’,BGP路由3’包括:路由前缀1’、 下一跳3’。并基于color属性2’和下一跳3’,迭代到路径3’,从而将BGP路由3’迭代 至路径3’。
PE1还可以基于BGP消息3’得到BGP消息4’,并将BGP消息4’发送给MC1。 BGP消息4’包括路由前缀1’、下一跳4’和color属性3’,其中,color属性3’对应业 务意图2,下一跳4’对应PE1。
在一个示例中,MC1接收到BGP消息4’之后,生成BGP路由4’,BGP路由4’包 括:路由前缀1’和下一跳4’。
MC1还可以基于BGP消息4’得到BGP消息5’,并将BGP消息5’发送给ACC1。 BGP消息5’包括路由前缀1’、下一跳5’和color属性3’,其中,color属性3’对应业 务意图2,下一跳5’对应MC1。
ACC1接收到BGP消息5’之后,生成BGP路由5’,BGP路由5’包括:路由前缀 1’和下一跳5’。
另外,ACC2还可以向ACC1发布VPN路由2,该VPN路由2包括SRv6 VPN SID2, SRv6VPN SID2为在前缀1’对应的地址段下的地址。
在报文转发阶段:
除了可以执行图12a中的报文转发流程之外:
ACC1还可以接收对应VPN2的报文,接收到对应VPN2的报文之后查找VRF表,获 得SRv6 VPN SID2,基于SRv6 VPN SID1进行报文封装,其中,所述SRv6 VPN SID2作 为封装后的报文的目的地址,并通过普通IPv6转发的方式,将报文转发给MC1。
MC1基于接收到的报文中的SRv6 VPN SID2(目的地址),按照普通IPv6转发的方式,将报文转发给PE1,例如,通过路径4将报文转发给PE1。
PE1接收到报文之后,基于接收到的报文中的SRv6 VPN SID2(目的地址),迭代到BGP路由3’,从而获得路径3’,PE1基于SRv6 VPN SID2和路径3’的转发信息,进行 报文封装,从而通过路径3’,将报文转发给PE3。
PE3接收到报文之后,按照普通IPv6转发的方式,将报文转发给MC3,例如,通过 路径2将报文转发给MC3。
MC3接收到报文之后,基于接收到的报文中的SRv6 VPN SID2(目的地址),迭代到BGP路由1’,从而获得路径1’,PE3基于SRv6 VPN SID2和路径1’的转发信息,进行 报文封装,从而通过路径1’,将报文转发给ACC2。
关于所述前缀1和前缀1’,在图12b中以前缀1为1000:1::1,前缀1’为1000:1::2为例进行说明,其中,1000:1::1和1000:1::2可以是ACC2的locator中的两个地址段。
在其它示例中,前缀1和前缀1’也可以是ACC2的两个不同的locator,例如,前缀 1为1000:1::1,前缀1’为1001:1::1。
其可以参考前文对于第一地址段和第二地址段的描述部分,例如,前缀1可以对应第 一地址段,前缀2可以对应第二地址段,此处不做详细说明。
通过图12a和图12b可知,利用本申请实施例的方案,对于不同业务意图的VPN业务,在各个区域内,可以根据业务意图和区域内的路径规划,传输VPN业务的报文。
另外,在又一个示例中,假设所述区域3中还包括ACC3,ACC3上部署有对应业务 意图1的VPN业务。对于这种情况,与ACC2相同,ACC2也可以执行图12a所述的、由 ACC2执行路由发布流程。此时,ACC3向ACC1发布的VPN路由中包括的VPN SID, 也可以是前缀1对应的地址段内的SID。相应的,在报文转发阶段,在一个示例中,ACC1 也可以通过区域1内的SRv6policy(路径5)将报文转发给MC1,类似的,在区域2内, PE1也可以通过区域2内的flex-algo路径3将报文转发给PE3。对于这种情况,前述前缀 1,例如可以对应区域级别(例如区域3)的地址段。
本申请实施例提供了一种第二通信装置,所述第二通信装置包括:收发单元和处理单 元;所述收发单元,用于执行以上方法实施例任意一项所述的由第二通信装置执行的接收 和/或发送操作;所述处理单元用于执行以上方法实施例任意一项所述的由第二通信装置执 行的接收和/或发送操作之外的操作。
在一个具体的示例中:所述第二通信装置包括:
发送单元,用于向第三通信装置发送第一边界网关协议BGP消息,所述第一BGP消息包括第一路由前缀,第一下一跳地址和第一颜色color属性,其中,所述第一路由前缀的地址段为第二通信装置的第一地址段,所述第一color属性指示第一业务意图;
所述发送单元,还用于向第一通信装置通告第一因特网协议第6版段路由SRv6业务 路由,所述第一SRv6业务路由包括所述第二通信装置的第一SRv6段标识SID,所述第一SRv6 SID为所述第一地址段内的地址;其中,所述第二通信装置和所述第一通信装置属于不同的域。
在一种可能的实现方式中,所述第一SRv6业务路由为第一SRv6虚拟专用网VPN路由,所述第一SRv6 SID为第一SRv6 VPN SID。
在一种可能的实现方式中,所述发送单元,还用于:
向所述第三通信装置发送第二BGP消息,所述第二BGP消息包括第二路由前缀,第二下一跳地址和第二color属性,其中,所述第二路由前缀的地址段为第二通信装置的第二地址段,所述第二color属性指示第二业务意图;
向所述第一通信装置通告第二SRv6业务路由,所述第二SRv6业务路由包括第二SRv6 SID,所述第二SRv6 SID为所述第二地址段内的地址。
在一种可能的实现方式中,所述第二SRv6业务路由为第二SRv6 VPN路由,所述第二SRv6 SID为第二SRv6 VPN SID。
在一种可能的实现方式中,所述第二通信装置的第一SRv6 locator地址段包括多个不 同子地址段,所述多个不同子地址段包括所述第一地址段和所述第二地址段。
在一种可能的实现方式中,所述第一地址段为所述第二通信装置的第一SRv6locator 地址段,所述第二地址段为所述第二通信装置的第二SRv6 locator地址段。
在一种可能的实现方式中,所述第二通信装置的SRv6 locator地址段包括多个不同子 地址段,所述多个不同子地址段包括所述第一地址段。
在一种可能的实现方式中,所述第一地址段为所述第二通信装置的第一SRv6locator 地址段。
在一种可能的实现方式中,所述第一通信装置属于第一域,所述第二通信装置和所述 第三通信装置均属于第二域,所述第一通信装置通过第三通信装置连接所述第二通信装置, 所述第二通信装置和所述第三通信装置分别为所述第二域的边界节点,所述第一通信装置 是所述第一域的边界节点。
本申请实施例提供了一种第一通信装置,所述装置包括:收发单元和处理单元;所述 收发单元,用于执行以上方法实施例所述的由第一通信装置执行的接收和/或发送操作;所 述处理单元用于执行以上方法实施例所述的由第一通信装置执行的接收和/或发送操作之 外的操作。
在一个具体的示例中,可参见图13进行理解,图13为本申请实施例提供的一种第一 通信装置的结构示意图。如图13所示,所述第一通信装置1300包括:接收单元1301和处理单元1302。
接收单元1301,用于接收第一边界网关协议BGP消息,所述第一BGP消息包括第一路由前缀,第一下一跳地址和第一颜色color属性,其中,所述第一路由前缀的地址段为第二通信装置的第一地址段,所述第一color属性指示第一业务意图;
处理单元1302,用于根据所述第一BGP消息,生成第一BGP路由,所述第一BGP路 由包括所述第一路由前缀和所述第一下一跳地址;
所述处理单元1302,还用于基于所述第一color属性和所述第一下一跳地址,将所述 第一BGP路由迭代到第一目标路径,所述第一目标路径用于转发携带所述第二通信装置的第一因特网协议第六版段路由SRv6段标识SID的报文,其中,所述第一SRv6 SID为 所述第一地址段内的地址。
在一种可能的实现方式中,所述第一SRv6 SID为第一SRv6虚拟专用网络VPN SID。
在一种可能的实现方式中,所述接收单元1301还用于:接收第一SRv6业务路由,所述第一SRv6业务路由包括所述第一SRv6 SID;所述处理单元1302,还用于根据第一SRv6SID迭代所述第一BGP路由,获取所述第一目标路径的第一转发信息。
在一种可能的实现方式中,所述接收单元1301还用于:接收控制器发送的第一信息, 所述第一信息包括所述第一SRv6 SID;所述处理单元1302,还用于根据第一SRv6 SID迭 代所述第一BGP路由,获取所述第一目标路径的第一转发信息。
在一种可能的实现方式中,所述第一SRv6 SID为第一SRv6 VPN SID,所述第一SRv6 SID为第一SRv6服务service段segment SID或所述第一SRv6 SID为第一SRv6绑定binding SID。
在一种可能的实现方式中,所述装置还包括:发送单元,用于向第三通信装置发送第 二BGP消息,用于通告第二BGP路由,所述第二BGP消息包括所述第一路由前缀,第二 下一跳地址以及第二color属性,所述第二下一跳地址为所述第一通信装置的IP地址,所 述第二color属性指示所述第一业务意图。
在一种可能的实现方式中,所述第二BGP消息用于指示所述第三通信装置根据所述 第二color属性和所述第二下一跳地址,将所述第二BGP路由迭代到第二目标路径,所述第二目标路径用于转发携带所述第一SRv6 SID的报文。
在一种可能的实现方式中,所述接收单元1301,还用于:接收第三BGP消息,所述第三BGP消息包括第二路由前缀,第三下一跳地址和第三color属性,其中,所述第二路 由前缀的地址段为所述第二通信装置的第二地址段,所述第三color属性指示第二业务意图;所述处理单元1302,还用于根据所述第三BGP消息,生成第三BGP路由,所述第三 BGP路由包括所述第二路由前缀和所述第三下一跳地址;所述处理单元1302,还用于基于 所述第三color属性和基于所述第三下一跳地址,将所述第三BGP路由迭代到第三目标路 径,所述第三目标路径用于转发携带所述第二通信装置的第二SRv6 SID的报文,其中,所 述第二SRv6 SID为所述第二地址段内的地址。
在一种可能的实现方式中,所述第二SRv6 SID为第二SRv6 VPN SID。
在一种可能的实现方式中,所述接收单元1301,还用于:接收所述第二通信装置通告 的第二SRv6 VPN路由,所述第二SRv6 VPN路由包括所述第二SRv6 VPN SID;
所述处理单元1302,还用于根据第二SRv6 VPN SID迭代所述第三BGP路由,获取所述第三目标路径的第二转发信息。
在一种可能的实现方式中,所述接收单元1301还用于:接收控制器发送的第二信息, 所述第二信息包括所述第二SRv6 SID;所述处理单元1302,还用于根据第二SRv6 SID迭 代所述第三BGP路由,获取所述第三目标路径的第二转发信息。
在一种可能的实现方式中,所述第二SRv6 SID为第二SRv6 VPN SID,所述第二SRv6 SID为第二SRv6服务service段segment SID或所述第二SRv6 SID为第二SRv6绑定binding SID。
在一种可能的实现方式中,所述装置还包括:发送单元,用于向第三通信装置发送第 四BGP消息,用于通告第四BGP路由,所述第四BGP消息包括所述第二路由前缀,第四 下一跳地址以及第四color属性,所述第四下一跳地址为所述第一通信装置的IP地址,所 述第四color属性指示所述第二业务意图。
在一种可能的实现方式中,所述第四BGP消息用于指示所述第三通信装置根据所述 第四color属性和所述第四下一跳地址,将所述第四BGP路由迭代到第四目标路径,所述第四目标路径用于转发携带所述第二SRv6 SID的报文。
在一种可能的实现方式中,所述第二路由前缀的地址段为所述第二通信装置根据所述 第二业务意图分配的地址段,所述第二SRv6 SID为所述第二通信装置根据所述第二业务 意图分配的SID。
在一种可能的实现方式中,所述第二通信装置的第一SRv6 locator地址段包括多个不 同子地址段,所述多个不同子地址段包括所述第一地址段和所述第二地址段。
在一种可能的实现方式中,所述第一地址段为所述第二通信装置的第一SRv6locator 地址段,所述第二地址段为所述第二通信装置的第二SRv6 locator地址段。
在一种可能的实现方式中,所述第一目标路径为以下一种:SR互联网协议第6版段路 由策略SRv6 policy;互联网协议第6版段路由灵活算法SRv6 flex-algo路径;资源预留协 议流量工程RSVP-TE隧道;段路由多协议标签交换策略SR MPLS policy;SR flex-algo路 径;虚拟扩展局域网VxLAN隧道,或,多协议标签交换流量工程MPLS-TE隧道。
在一种可能的实现方式中,所述第一路由前缀的地址段为所述第二通信装置根据所述 第一业务意图分配的地址段,所述第一SRv6 SID为所述第二通信装置根据所述第一业务 意图分配的SID。
在一种可能的实现方式中,所述第二通信装置的SRv6 locator地址段包括多个不同子 地址段,所述多个不同子地址段包括所述第一地址段。
在一种可能的实现方式中,所述第一地址段为所述第二通信装置的第一SRv6locator 地址段。
在一种可能的实现方式中,所述接收单元1301,还用于接收第一报文;所述处理单元 1302,还用于根据所述第一报文,确定所述第一SRv6 SID;根据所述第一SRv6 SID确定第一目标路径的第一转发信息;根据所述第一报文得到第二报文,所述第二报文的报文头包括所述第一SRv6 SID和所述第一转发信息;所述装置包括的发送单元,用于通过所述 第一目标路径,发送所述第二报文。
在一种可能的实现方式中,所述第一SRv6 SID为第一SRv6 VPN SID,根据所述第一报文,确定第一互联网协议第6版段路由段标识SRv6 SID,包括:基于所述第一报文的 目的地址,查找第一虚拟路由转发VRF表,确定所述第一SRv6 VPN SID。
在一种可能的实现方式中,所述第一报文的目的地址为所述第一SRv6 SID。
在一种可能的实现方式中,所述接收单元1301,还用于接收第三报文;所述处理单元 1302,还用于根据所述第三报文,确定所述第二SRv6 SID;根据第二SRv6 SID,确定与所述第二SRv6 SID对应的第三目标路径的第二转发信息;根据所述第三报文得到第四报文,所述第四报文的报文头包括所述第二SRv6 SID和所述第二转发信息;所述装置包括 的发送单元,用于通过所述第三目标路径,向所述第二通信装置发送第四报文。
在一种可能的实现方式中,所述第二SRv6 SID为第二SRv6 VPN SID,所述根据所述 第三报文,确定第二SRv6 SID,包括:基于所述第三报文的目的地址,查找第二虚拟路由转发VRF表,确定所述第二VPN SRv6 SID。
在一种可能的实现方式中,所述第三报文的目的地址为所述第二SRv6 SID。
在一种可能的实现方式中,所述第一通信装置属于第一域,所述第二通信装置属于第 二域,所述第一通信装置通过第三通信装置连接所述第二通信装置,所述第一通信装置和 所述第三通信装置分别为所述第一域的边界节点,所述第二通信装置是所述第二域的边界 节点,所述第一通信装置和所述第三通信装置分别为所述第一目标路径的首节点和尾节点。
在一种可能的实现方式中,所述接收单元1301,用于接收第五报文;所述处理单元1302, 用于根据所述第五报文,确定所述第三SRv6 SID,所述第三SRv6 SID是第四通信装置的 SRv6 SID,所述第三SRv6 SID为所述第一地址段内的地址,其中,所述第四通信装置和 所述第二通信装置属于同一个域;根据所述第三SRv6 SID,确定与所述第三SRv6 SID对应的所述第一目标路径的所述第一转发信息;根据所述第五报文得到第六报文,所述第六报文的报文头包括所述第三SRv6 SID和所述第一转发信息;所述装置包括的发送单元, 用于通过所述第一目标路径,发送所述第六报文。
此外,本申请实施例还提供了一种通信装置1400,参见图14所示,图14为本申请实施例提供的一种通信装置的结构示意图。该通信装置1400包括通信接口1401和与通信接口1401连接的处理器1402。该通信装置1400可以用于执行以上实施例中的方法100、方 法200、方法300、方法400、方法500、方法600或者方法700。
在一个示例中,所述通信装置1400可以执行以上实施例中的方法100,当通信装置1400用于执行以上实施例中的方法100时,通信装置1400相当于方法100中的第二通信 装置。通信接口1401用于执行方法100中第二通信装置执行的收发操作。处理器1402用 于执行方法100中第二通信装置执行的除收发操作之外的操作。例如:通信接口1401用 于向第三通信装置发送第一BGP消息,所述第一BGP消息包括第一路由前缀,第一下一 跳地址和第一color属性,其中,所述第一路由前缀的地址段为第二通信装置的第一地址 段,所述第一color属性指示第一业务意图,以及向第一通信装置通告第一SRv6业务路由 所述第一SRV6业务路由包括第一SRv6 SID,所述第一SRv6 SID为所述第一地址段内的 地址;其中,所述第二通信装置和所述第一通信装置属于不同的域。处理器1402用于获得 所述第一SRv6业务路由。
在一个示例中,所述通信装置1400可以执行以上实施例中的方法200,当通信装置1400用于执行以上实施例中的方法200时,通信装置1400相当于方法200中的第二通信 装置。通信接口1401用于执行方法200中第二通信装置执行的收发操作。处理器1402用 于执行方法200中第二通信装置执行的除收发操作之外的操作。例如:通信接口1401用 于向所述第三通信装置发送第二BGP消息,所述第二BGP消息包括第二路由前缀,第二 下一跳地址和第二color属性,其中,所述第二路由前缀的地址段为第二通信装置的第二 地址段,所述第二color属性指示第二业务意图,以及向所述第一通信装置通告第二SRv6业 务路由,所述第二SRv6业务路由包括第二SRv6 SID,所述第二SRv6 SID为所述第二地 址段内的地址;处理器1402用于获得所述第二SRv6业务路由。
在一个示例中,所述通信装置1400可以执行以上实施例中的方法300,当通信装置1400用于执行以上实施例中的方法300时,通信装置1400相当于方法300中的第一通信 装置。通信接口1401用于执行方法300中第一通信装置执行的收发操作。处理器1402用 于执行方法300中第一通信装置执行的除收发操作之外的操作。例如:通信接口1401用 于接收第一BGP消息,所述第一BGP消息包括第一路由前缀,第一下一跳地址和第一 color属性,其中,所述第一路由前缀的地址段为第二通信装置的第一地址段,所述第一color 属性指示第一业务意图;处理器1402用于根据所述第一BGP消息,生成第一BGP路由, 所述第一BGP路由包括所述第一路由前缀和所述第一下一跳地址,基于所述第一color属 性和基于所述第一下一跳地址,将所述第一BGP路由迭代到第一目标路径,所述第一目标 路径用于转发携带所述第二通信装置的第一SRv6 SID的报文,其中,所述第一SRv6 SID 为所述第一地址段内的地址。
在一个示例中,所述通信装置1400可以执行以上实施例中的方法400,当通信装置1400用于执行以上实施例中的方法400时,通信装置1400相当于方法400中的第一通信 装置。通信接口1401用于执行方法400中第一通信装置执行的收发操作。处理器1402用 于执行方法400中第一通信装置执行的除收发操作之外的操作。例如:通信接口1401用 于接收第一报文;处理器1402用于根据所述第一报文,确定第二通信装置的第一SRv6 SID, 根据所述第一SRv6 SID确定第一目标路径的第一转发信息,根据所述第一报文得到第二 报文,所述第二报文的报文头包括所述第一SRv6 SID和所述第一转发信息;通信接口1401 还用于通过所述第一目标路径,发送所述第二报文。
在一个示例中,所述通信装置1400可以执行以上实施例中的方法500,当通信装置1400用于执行以上实施例中的方法500时,通信装置1400相当于方法500中的第一通信 装置。通信接口1401用于执行方法500中第一通信装置执行的收发操作。处理器1402用 于执行方法500中第一通信装置执行的除收发操作之外的操作。例如:通信接口1401用 于接收第三BGP消息,所述第三BGP消息包括第二路由前缀,第三下一跳地址和第三 color属性,其中,所述第二路由前缀的地址段为所述第二通信装置的第二地址段,所述第 三color属性指示第二业务意图;处理器1402用于根据所述第三BGP消息,生成第三BGP 路由,所述第三BGP路由包括所述第二路由前缀和所述第三下一跳地址,基于所述第三 color属性和所述第三下一跳地址,将所述第三BGP路由迭代到第三目标路径,所述第三 目标路径用于转发携带所述第二通信装置的第二SRv6 SID的报文,其中,所述第二SRv6 SID为所述第二地址段内的地址。
在一个示例中,所述通信装置1400可以执行以上实施例中的方法600,当通信装置1400用于执行以上实施例中的方法600时,通信装置1400相当于方法600中的第一通信 装置。通信接口1401用于执行方法600中第一通信装置执行的收发操作。处理器1402用 于执行方法600中第一通信装置执行的除收发操作之外的操作。例如:通信接口1401用 于接收第三报文;处理器1402用于根据所述第三报文,确定所述第二SRv6 SID,根据第 二SRv6SID,确定与所述第二SRv6 SID对应的第三目标路径的第二转发信息,根据所述 第三报文得到第四报文,所述第四报文的报文头包括所述第二SRv6 SID和所述第二转发 信息;通信接口1401还用于通过所述第二目标路径,向所述第二通信装置发送第四报文。
在一个示例中,所述通信装置1400可以执行以上实施例中的方法700,当通信装置1400用于执行以上实施例中的方法700时,通信装置1400相当于方法700中的第一通信 装置。通信接口1401用于执行方法700中第一通信装置执行的收发操作。处理器1402用 于执行方法700中第一通信装置执行的除收发操作之外的操作。例如:通信接口1401用 于接收第五报文;处理器1402用于根据所述第五报文,确定所述第三SRv6 SID,所述第 三SRv6SID是第四通信装置的SRv6 SID,所述第三SRv6 SID为所述第一地址段内的地 址,其中,所述第四通信装置和所述第二通信装置属于同一个域,根据所述第三SRv6 SID, 确定与所述第三SRv6 SID对应的所述第一目标路径的所述第一转发信息,对所述第五报 文进行封装得到第六报文,所述第六报文的报文头包括所述第三SRv6 SID和所述第一转 发信息;通信接口1401还用于通过所述第一目标路径,发送所述第六报文。
此外,本申请实施例还提供了一种通信装置1500,参见图15所示,图15为本申请实施例提供的一种通信装置的结构示意图。该通信装置1500可以用于执行以上实施例中的方法100、方法200、方法300、方法400、方法500、方法600或者方法700。
如图15所示,通信装置1500可以包括处理器1510,与所述处理器1510耦合连接的存储器1520,收发器1530。收发器1530例如可以是通信接口,光模块等。处理器1510可 以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:networkprocessor,缩写:NP)或者CPU和NP的组合。处理器还可以是专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic arraylogic,缩写:GAL)或其任 意组合。处理器1510可以是指一个处理器,也可以包括多个处理器。存储器1520可以包 括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory), 例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flash memory), 硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写: SSD);存储器1520还可以包括上述种类的存储器的组合。存储器1520可以是指一个存储 器,也可以包括多个存储器。在一个实施方式中,存储器1520中存储有计算机可读指令, 所述计算机可读指令包括多个软件模块,例如发送模块1521,处理模块1522和接收模块1523。处理器1510执行各个软件模块后可以按照各个软件模块的指示进行相应的操作。在 本实施例中,一个软件模块所执行的操作实际上是指处理器1510根据所述软件模块的指 示而执行的操作。
在一个示例中,所述通信装置1500可以执行以上实施例中的方法100,当通信装置1500用于执行以上实施例中的方法100时,通信装置1500相当于方法100中的第二通信 装置。收发器1530用于执行方法100中第二通信装置执行的收发操作。处理器1510用于 执行方法100中第二通信装置执行的除收发操作之外的操作。例如:收发器1530用于向 第三通信装置发送第一BGP消息,所述第一BGP消息包括第一路由前缀,第一下一跳地 址和第一color属性,其中,所述第一路由前缀的地址段为第二通信装置的第一地址段,所 述第一color属性指示第一业务意图,以及向第一通信装置通告第一SRv6业务路由所述第 一SRV6业务路由包括第一SRv6 SID,所述第一SRv6 SID为所述第一地址段内的地址; 其中,所述第二通信装置和所述第一通信装置属于不同的域。处理器1510用于获得所述第 一SRv6业务路由。
在一个示例中,所述通信装置1500可以执行以上实施例中的方法200,当通信装置1500用于执行以上实施例中的方法200时,通信装置1500相当于方法200中的第二通信 装置。收发器1530用于执行方法200中第二通信装置执行的收发操作。处理器1510用于 执行方法200中第二通信装置执行的除收发操作之外的操作。例如:收发器1530用于向 所述第三通信装置发送第二BGP消息,所述第二BGP消息包括第二路由前缀,第二下一 跳地址和第二color属性,其中,所述第二路由前缀的地址段为第二通信装置的第二地址 段,所述第二color属性指示第二业务意图,以及向所述第一通信装置通告第二SRv6业务 路由,所述第二SRv6业务路由包括第二SRv6 SID,所述第二SRv6 SID为所述第二地址 段内的地址;处理器1510用于获得所述第二SRv6业务路由。
在一个示例中,所述通信装置1500可以执行以上实施例中的方法300,当通信装置1500用于执行以上实施例中的方法300时,通信装置1500相当于方法300中的第一通信 装置。收发器1530用于执行方法300中第一通信装置执行的收发操作。处理器1510用于 执行方法300中第一通信装置执行的除收发操作之外的操作。例如:收发器1530用于接 收第一BGP消息,所述第一BGP消息包括第一路由前缀,第一下一跳地址和第一color属 性,其中,所述第一路由前缀的地址段为第二通信装置的第一地址段,所述第一color属性 指示第一业务意图;处理器1510用于根据所述第一BGP消息,生成第一BGP路由,所述 第一BGP路由包括所述第一路由前缀和所述第一下一跳地址,基于所述第一color属性和 基于所述第一下一跳地址,将所述第一BGP路由迭代到第一目标路径,所述第一目标路径 用于转发携带所述第二通信装置的第一SRv6 SID的报文,其中,所述第一SRv6 SID为所 述第一地址段内的地址。
在一个示例中,所述通信装置1500可以执行以上实施例中的方法400,当通信装置1500用于执行以上实施例中的方法400时,通信装置1500相当于方法400中的第一通信 装置。收发器1530用于执行方法400中第一通信装置执行的收发操作。处理器1510用于 执行方法400中第一通信装置执行的除收发操作之外的操作。例如:收发器1530用于接 收第一报文;处理器1510用于根据所述第一报文,确定第二通信装置的第一SRv6 SID, 根据所述第一SRv6 SID确定第一目标路径的第一转发信息,根据所述第一报文得到第二 报文,所述第二报文的报文头包括所述第一SRv6 SID和所述第一转发信息;收发器1530 还用于通过所述第一目标路径,发送所述第二报文。
在一个示例中,所述通信装置1500可以执行以上实施例中的方法500,当通信装置1500用于执行以上实施例中的方法500时,通信装置1500相当于方法500中的第一通信 装置。收发器1530用于执行方法500中第一通信装置执行的收发操作。处理器1510用于 执行方法500中第一通信装置执行的除收发操作之外的操作。例如:收发器1530用于接 收第三BGP消息,所述第三BGP消息包括第二路由前缀,第三下一跳地址和第三color属 性,其中,所述第二路由前缀的地址段为所述第二通信装置的第二地址段,所述第三color 属性指示第二业务意图;处理器1510用于根据所述第三BGP消息,生成第三BGP路由, 所述第三BGP路由包括所述第二路由前缀和所述第三下一跳地址,基于所述第三color属 性和所述第三下一跳地址,将所述第三BGP路由迭代到第三目标路径,所述第三目标路径 用于转发携带所述第二通信装置的第二SRv6 SID的报文,其中,所述第二SRv6 SID为所 述第二地址段内的地址。
在一个示例中,所述通信装置1500可以执行以上实施例中的方法600,当通信装置1500用于执行以上实施例中的方法600时,通信装置1500相当于方法600中的第一通信 装置。收发器1530用于执行方法600中第一通信装置执行的收发操作。处理器1510用于 执行方法600中第一通信装置执行的除收发操作之外的操作。例如:收发器1530用于接 收第三报文;处理器1510用于根据所述第三报文,确定所述第二SRv6 SID,根据第二SRv6 SID,确定与所述第二SRv6 SID对应的第三目标路径的第二转发信息,根据所述第三报文 得到第四报文,所述第四报文的报文头包括所述第二SRv6 SID和所述第二转发信息;收 发器1530还用于通过所述第二目标路径,向所述第二通信装置发送第四报文。
在一个示例中,所述通信装置1500可以执行以上实施例中的方法700,当通信装置1500用于执行以上实施例中的方法700时,通信装置1500相当于方法700中的第一通信 装置。收发器1530用于执行方法700中第一通信装置执行的收发操作。处理器1510用于 执行方法700中第一通信装置执行的除收发操作之外的操作。例如:收发器1530用于接 收第五报文;处理器1510用于根据所述第五报文,确定所述第三SRv6 SID,所述第三SRv6 SID是第四通信装置的SRv6 SID,所述第三SRv6 SID为所述第一地址段内的地址,其中, 所述第四通信装置和所述第二通信装置属于同一个域,根据所述第三SRv6 SID,确定与所 述第三SRv6 SID对应的所述第一目标路径的所述第一转发信息,对所述第五报文进行封 装得到第六报文,所述第六报文的报文头包括所述第三SRv6 SID和所述第一转发信息; 收发器1530还用于通过所述第一目标路径,发送所述第六报文。
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令, 当其在计算机上运行时,使得所述计算机执行前述实施例中所述的方法(例如方法100、 方法200、方法300、方法400、方法500、方法600或者方法700)中任意一个或多个操作。
本申请还提供了一种计算机程序产品,包括计算机程序,当其在计算机上运行时,使 得所述计算机执行前述实施例中所述的方法(例如方法100、方法200、方法300、方法400、 方法500、方法600或者方法700)中任意一个或多个操作。
本申请还提供了一种通信系统,包括以上实施例中提及的第一通信装置和第二通信装 置。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四” 等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理 解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示 或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或 设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装 置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通 过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分, 仅仅为一种逻辑业务划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以 结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨 论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合 或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件 可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元 上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各业务单元可以集成在一个处理单元中,也可以是各 个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既 可以采用硬件的形式实现,也可以采用软件业务单元的形式实现。
集成的单元如果以软件业务单元的形式实现并作为独立的产品销售或使用时,可以存 储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对 现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来, 该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以 是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。 而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码 的介质。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的业务可 以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些业务存 储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计 算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一 个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可 用介质。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明, 所应理解的是,以上仅为本发明的具体实施方式而已。
以上,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施 例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实 施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或 者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (43)

1.一种路由发布方法,其特征在于,所述方法包括:
第二通信装置向第三通信装置发送第一边界网关协议BGP消息,所述第一BGP消息包括第一路由前缀,第一下一跳地址和第一颜色color属性,其中,所述第一路由前缀的地址段为第二通信装置的第一地址段,所述第一color属性指示第一业务意图;
所述第二通信装置向第一通信装置通告第一因特网协议第6版段路由SRv6业务路由,所述第一SRv6业务路由包括所述第二通信装置的第一SRv6段标识SID,所述第一SRv6SID为所述第一地址段内的地址;其中,所述第二通信装置和所述第一通信装置属于不同的域。
2.根据权利要求1所述的方法,其特征在于,所述第一SRv6业务路由为第一SRv6虚拟专用网VPN路由,所述第一SRv6 SID为第一SRv6 VPN SID。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述第二通信装置向所述第三通信装置发送第二BGP消息,所述第二BGP消息包括第二路由前缀,第二下一跳地址和第二color属性,其中,所述第二路由前缀的地址段为第二通信装置的第二地址段,所述第二color属性指示第二业务意图;
所述第二通信装置向所述第一通信装置通告第二SRv6业务路由,所述第二SRv6业务路由包括第二SRv6 SID,所述第二SRv6 SID为所述第二地址段内的地址。
4.根据权利要求3所述的方法,其特征在于,所述第二SRv6业务路由为第二SRv6VPN路由,所述第二SRv6 SID为第二SRv6 VPN SID。
5.根据权利要求3或4所述的方法,其特征在于,所述第二通信装置的第一SRv6locator地址段包括多个不同子地址段,所述多个不同子地址段包括所述第一地址段和所述第二地址段。
6.根据权利要求3或4所述的方法,其特征在于,所述第一地址段为所述第二通信装置的第一SRv6 locator地址段,所述第二地址段为所述第二通信装置的第二SRv6 locator地址段。
7.根据权利要求1或2所述的方法,其特征在于,所述第二通信装置的SRv6 locator地址段包括多个不同子地址段,所述多个不同子地址段包括所述第一地址段。
8.根据权利要求1或2所述的方法,其特征在于,所述第一地址段为所述第二通信装置的第一SRv6 locator地址段。
9.根据权利1-8任意一项所述的方法,其特征在于,所述第一通信装置属于第一域,所述第二通信装置和所述第三通信装置均属于第二域,所述第一通信装置通过第三通信装置连接所述第二通信装置。
10.一种通信方法,其特征在于,由第一通信装置执行,其特征在于,所述方法包括:
接收第一边界网关协议BGP消息,所述第一BGP消息包括第一路由前缀,第一下一跳地址和第一颜色color属性,其中,所述第一路由前缀的地址段为第二通信装置的第一地址段,所述第一color属性指示第一业务意图;
根据所述第一BGP消息,生成第一BGP路由,所述第一BGP路由包括所述第一路由前缀和所述第一下一跳地址;
基于所述第一color属性和所述第一下一跳地址,将所述第一BGP路由迭代到第一目标路径,所述第一目标路径用于转发携带所述第二通信装置的第一因特网协议第六版段路由SRv6段标识SID的报文,其中,所述第一SRv6 SID为所述第一地址段内的地址。
11.根据权利要求10所述的方法,其特征在于,所述第一SRv6 SID为第一SRv6虚拟专用网络VPN SID。
12.根据权利要求10所述的方法,其特征在于,所述方法还包括:
接收第一SRv6业务路由,所述第一SRv6业务路由包括所述第一SRv6 SID;
根据第一SRv6 SID迭代所述第一BGP路由,获取所述第一目标路径的第一转发信息。
13.根据权利要求10或11所述的方法,其特征在于,所述方法还包括:
接收控制器发送的第一信息,所述第一信息包括所述第一SRv6 SID;
根据第一SRv6 SID迭代所述第一BGP路由,获取所述第一目标路径的第一转发信息。
14.根据权利要求13所述的方法,其特征在于,所述第一SRv6 SID为第一SRv6 VPNSID,所述第一SRv6 SID为第一SRv6服务service段segment SID或所述第一SRv6 SID为第一SRv6绑定binding SID。
15.根据权利要求10-14任一项所述的方法,其特征在于,所述方法还包括:
向第三通信装置发送第二BGP消息,用于通告第二BGP路由,所述第二BGP消息包括所述第一路由前缀,第二下一跳地址以及第二color属性,所述第二下一跳地址为所述第一通信装置的IP地址,所述第二color属性指示所述第一业务意图。
16.根据权利要求15所述的方法,其特征在于,所述第二BGP消息用于指示所述第三通信装置根据所述第二color属性和所述第二下一跳地址,将所述第二BGP路由迭代到第二目标路径,所述第二目标路径用于转发携带所述第一SRv6 SID的报文。
17.根据权利要求10-16任一项所述的方法,其特征在于,所述方法还包括:
接收第三BGP消息,所述第三BGP消息包括第二路由前缀,第三下一跳地址和第三color属性,其中,所述第二路由前缀的地址段为所述第二通信装置的第二地址段,所述第三color属性指示第二业务意图;
根据所述第三BGP消息,生成第三BGP路由,所述第三BGP路由包括所述第二路由前缀和所述第三下一跳地址;
基于所述第三color属性和基于所述第三下一跳地址,将所述第三BGP路由迭代到第三目标路径,所述第三目标路径用于转发携带所述第二通信装置的第二SRv6 SID的报文,其中,所述第二SRv6 SID为所述第二地址段内的地址。
18.根据权利要求17所述的方法,其特征在于,所述第二SRv6 SID为第二SRv6 VPNSID。
19.根据权利要求18所述的方法,其特征在于,所述方法还包括:
接收所述第二通信装置通告的第二SRv6 VPN路由,所述第二SRv6 VPN路由包括所述第二SRv6 VPN SID;
根据所述第二SRv6 VPN SID迭代所述第三BGP路由,获取所述第三目标路径的第二转发信息。
20.根据权利要求17或18所述的方法,其特征在于,所述方法还包括:
接收控制器发送的第二信息,所述第二信息包括所述第二SRv6 SID;
根据第二SRv6 SID迭代所述第三BGP路由,获取所述第三目标路径的第二转发信息。
21.根据权利要求20所述的方法,其特征在于,所述第二SRv6 SID为第二SRv6 VPNSID,所述第二SRv6 SID为第二SRv6服务service段segment SID或所述第二SRv6 SID为第二SRv6绑定binding SID。
22.根据权利要求17-21任一项所述的方法,其特征在于,所述方法还包括:
向第三通信装置发送第四BGP消息,用于通告第四BGP路由,所述第四BGP消息包括所述第二路由前缀,第四下一跳地址以及第四color属性,所述第四下一跳地址为所述第一通信装置的IP地址,所述第四color属性指示所述第二业务意图。
23.根据权利要求22所述的方法,其特征在于,所述第四BGP消息用于指示所述第三通信装置根据所述第四color属性和所述第四下一跳地址,将所述第四BGP路由迭代到第四目标路径,所述第四目标路径用于转发携带所述第二SRv6 SID的报文。
24.根据权利要17-23任一项所述的方法,其特征在于,所述第二路由前缀的地址段为所述第二通信装置根据所述第二业务意图分配的地址段,所述第二SRv6 SID为所述第二通信装置根据所述第二业务意图分配的SID。
25.根据权利要求17-24任一项所述的方法,其特征在于,所述第二通信装置的第一SRv6 locator地址段包括多个不同子地址段,所述多个不同子地址段包括所述第一地址段和所述第二地址段。
26.根据权利要求17-24任一项所述的方法,其特征在于,所述第一地址段为所述第二通信装置的第一SRv6 locator地址段,所述第二地址段为所述第二通信装置的第二SRv6locator地址段。
27.根据权利要求10-26任一项所述的方法,其特征在于,所述第一目标路径为以下一种:
SR互联网协议第6版段路由策略SRv6 policy;
互联网协议第6版段路由灵活算法SRv6 flex-algo路径;
资源预留协议流量工程RSVP-TE隧道;
段路由多协议标签交换策略SR MPLS policy;
SR flex-algo路径;
虚拟扩展局域网VxLAN隧道,或,
多协议标签交换流量工程MPLS-TE隧道。
28.根据权利要求10-27任一项所述的方法,其特征在于,所述第一路由前缀的地址段为所述第二通信装置根据所述第一业务意图分配的地址段,所述第一SRv6 SID为所述第二通信装置根据所述第一业务意图分配的SID。
29.根据权利要求10-28任一项所述的方法,其特征在于,所述第二通信装置的SRv6locator地址段包括多个不同子地址段,所述多个不同子地址段包括所述第一地址段。
30.根据权利要求10-28任一项所述的方法,其特征在于,所述第一地址段为所述第二通信装置的第一SRv6 locator地址段。
31.根据权利要求10-30任意一项所述的方法,其特征在于,所述方法还包括:
接收第一报文;
根据所述第一报文,确定所述第一SRv6 SID;
根据所述第一SRv6 SID确定第一目标路径的第一转发信息;
根据所述第一报文得到第二报文,所述第二报文的报文头包括所述第一SRv6 SID和所述第一转发信息;
通过所述第一目标路径,发送所述第二报文。
32.根据权利要求31所述的方法,其特征在于,所述第一SRv6 SID为第一SRv6 VPNSID,根据所述第一报文,确定第一互联网协议第6版段路由段标识SRv6 SID,包括:
基于所述第一报文的目的地址,查找第一虚拟路由转发VRF表,确定所述第一SRv6VPNSID。
33.根据权利要求31所述的方法,其特征在于,所述第一报文的目的地址为所述第一SRv6 SID。
34.根据权利要求17-26任一项所述的方法,其特征在于,所述方法还包括:
接收第三报文;
根据所述第三报文,确定所述第二SRv6 SID;
根据第二SRv6 SID,确定与所述第二SRv6 SID对应的所述第三目标路径的第二转发信息;
根据所述第三报文得到第四报文,所述第四报文的报文头包括所述第二SRv6 SID和所述第二转发信息;
通过所述第三目标路径,向所述第二通信装置发送所述第四报文。
35.根据权利要求34所述的方法,其特征在于,所述第二SRv6 SID为第二SRv6 VPNSID,所述根据所述第三报文,确定第二SRv6 SID,包括:
基于所述第三报文的目的地址,查找第二虚拟路由转发VRF表,确定所述第二VPN SRv6SID。
36.根据权利要求34所述的方法,其特征在于,所述第三报文的目的地址为所述第二SRv6 SID。
37.根据权利要求10-14任一项所述的方法,其特征在于,所述第一通信装置属于第一域,所述第二通信装置属于第二域,所述第一通信装置通过第三通信装置连接所述第二通信装置,所述第一通信装置和所述第三通信装置分别为所述第一目标路径的首节点和尾节点。
38.根据权利要求37所述的方法,其特征在于,所述方法还包括:
接收第五报文;
根据所述第五报文,确定所述第三SRv6 SID,所述第三SRv6 SID是第四通信装置的SRv6 SID,所述第三SRv6 SID为所述第一地址段内的地址,其中,所述第四通信装置和所述第二通信装置属于同一个域;
根据所述第三SRv6 SID,确定与所述第三SRv6 SID对应的所述第一目标路径的所述第一转发信息;
根据所述第五报文得到第六报文,所述第六报文的报文头包括所述第三SRv6 SID和所述第一转发信息;
通过所述第一目标路径,发送所述第六报文。
39.一种第二通信装置,其特征在于,所述装置包括:
收发单元和处理单元;
所述收发单元,用于执行权利要求1-9任意一项所述的由第二通信装置执行的接收和/或发送操作;
所述处理单元用于执行权利要求1-9任意一项所述的由第二通信装置执行的接收和/或发送操作之外的操作。
40.一种第一通信装置,其特征在于,所述装置包括:
收发单元和处理单元;
所述收发单元,用于执行权利要求10-38任意一项所述的由第一通信装置执行的接收和/或发送操作;
所述处理单元用于执行权利要求10-38任意一项所述的由第一通信装置执行的接收和/或发送操作之外的操作。
41.一种通信装置,其特征在于,包括:处理器和存储器;
所述存储器,用于存储指令;
所述处理器,用于执行所述指令,使得所述通信装置执行权利要求1-38任意一项所述的方法。
42.一种计算机程序产品,其特征在于,包括计算机程序,当其在处理器上运行时,执行以上权利要求1-38任意一项所述的方法。
43.一种通信系统,其特征在于,所述通信系统包括:
执行以上权利要求1-9任意一项所述的方法的第二通信装置以及执行权利要求10-38任意一项所述的方法的第一通信装置。
CN202210837807.5A 2022-07-07 2022-07-15 一种路由发布方法、通信方法及装置 Pending CN117411819A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2023/096476 WO2024007762A1 (zh) 2022-07-07 2023-05-26 一种路由发布方法、通信方法及装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2022108040622 2022-07-07
CN202210804062 2022-07-07

Publications (1)

Publication Number Publication Date
CN117411819A true CN117411819A (zh) 2024-01-16

Family

ID=89487718

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210837807.5A Pending CN117411819A (zh) 2022-07-07 2022-07-15 一种路由发布方法、通信方法及装置

Country Status (1)

Country Link
CN (1) CN117411819A (zh)

Similar Documents

Publication Publication Date Title
EP3836490B1 (en) Vpn cross-domain implementation method, device, and border node
US11700198B2 (en) Transmission control method, node, network system and storage medium
CN111541613B (zh) 一种基于SRv6的数据处理方法及相关设备
CN108989213B (zh) 使用虚拟节点之间的所选择的结构路径传输lsp设置
JP7290732B2 (ja) データ転送方法及び関連する装置
CN105871722B (zh) 标签构造以及标签报文转发方法及装置
CN108702328B (zh) 用于穿越分段路由和mpls网络的业务的灵活路径拼接和选择的is-is扩展
CN109995634B (zh) 一种组播虚拟专用网络的承载方法和设备
EP2933958B1 (en) Segment routing - egress peer engineering (SP-EPE)
CN111385207B (zh) 一种业务数据的转发方法、网络设备及网络系统
US11743166B2 (en) Provisioning non-colored segment routing label switched paths via segment routing policies in border gateway protocol
US20230300070A1 (en) Packet Sending Method, Device, and System
CN111355661B (zh) 一种vpn的处理方法和pe设备以及系统
CN112511423A (zh) 报文处理方法、边界设备和计算机可读介质
CN114465920A (zh) 确定对应关系的方法、装置以及系统
WO2023274083A1 (zh) 路由发布和转发报文的方法、装置、设备和存储介质
WO2023045871A1 (zh) 报文处理方法、网络设备及系统
CN114205297B (zh) 流量转发处理方法及设备
US11824763B2 (en) Filtering topologies for path computation in massively scaled networks
CN117411819A (zh) 一种路由发布方法、通信方法及装置
WO2024007762A1 (zh) 一种路由发布方法、通信方法及装置
CN115277526A (zh) 一种通信方法及装置
WO2023050981A1 (zh) 虚拟专用网络业务标识的分配方法、报文处理方法及装置
WO2023050929A1 (zh) 一种路由发布方法、报文转发方法、设备及系统
CN117692384A (zh) 一种实现虚拟专用网vpn本地互访的方法以及相关装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication