Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

云原生路由器接口概述

本主题提供有关 JCNR-Controller 提供的网络通信接口的信息。结构接口是从多个接口接收流量的聚合接口。不同工作负载连接到的接口称为工作负载接口。

阅读本主题可了解 JCNR-Controller 提供的网络通信接口。我们将介绍接口名称、接口连接到的内容以及接口的通信方式。以及他们提供的服务。

瞻博网络云原生路由器接口类型

瞻博网络云原生路由器支持两种类型的接口:

  • 结构接口 — 从多个接口接收流量的聚合接口。结构接口始终是物理接口。它们可以是物理函数 (PF) 或虚拟函数 (VF)。这些接口的吞吐量要求较高,因此会为其分配多个硬件队列。每个硬件队列都分配了一个专用的 CPU 内核。这些接口是使用 Deployer Helmcharts 中的相应 values.yaml 文件为云原生路由器配置的。您可以使用 dpdkinfo -c 命令查看接口映射。查看《部署指南》中的“通过 vRouter CLI 进行故障排除”主题,了解更多详细信息。您还可以使用吞吐量要求较低的交换矩阵工作负载接口。系统只会为接口分配一个硬件队列,从而节省宝贵的 CPU 资源。可以使用 Deployer Helmchart 中的相应 values.yaml 文件来配置这些接口。

  • 工作负载接口 — 不同工作负载连接到的接口。它们可以是基于软件的接口,也可以是基于硬件的接口。基于软件的接口可以是使用数据平面开发工具包 (DPDK) 轮询模式驱动程序 (PMD) 的高性能接口,也可以是使用内核驱动程序的低性能接口。通常,DPDK 接口用于数据流量,例如用于用户数据 (GTP-U) 流量的 GPRS 隧道协议,而基于内核的接口则用于控制平面数据流量,例如 TCP。内核 Pod 接口通常用于作、管理和维护 (OAM) 流量。接口配置为 veth-pair,接口的一端位于 pod 中,另一端位于主机上的 Linux 内核中。云原生路由器还通过链路绑定 PMD 支持绑定接口。可以使用 Deployer Helmchart 中的相应 values.yaml 文件来配置这些接口。

    云原生路由器支持不同类型的 VLAN 接口,包括跨交换矩阵和工作负载接口的中继接口、接入接口和子接口。

    云原生路由器接口详细信息

    下面详细介绍了不同的云原生路由器接口:

  • 代理接口

    vRouter 只有一个代理接口。代理界面支持 vRouter-agent 和 vRouter 之间的通信。发出 vif --list 命令时,在 vRouter CLI 上,代理界面如下所示:

  • DPDK VF 工作负载接口

    这些接口连接到无线电单元 (RU) 或毫米波分布单元 (毫米波-DU)。发出 vif --list 命令时,在 vRouter CLI 上,DPDK VF 工作负载界面如下所示:

  • DPDK VF 交换矩阵接口(物理中继)

    DPDK VF 交换矩阵接口与主机服务器上的物理网络接口卡 (NIC) 相关联,可接受来自多个 VLAN 的流量。

    使用 show configuration 命令的 cRPD 接口配置如下所示(为简洁起见,对输出进行了修剪):

    发出 vif --list 命令时,在 vRouter CLI 上,DPDK VF 交换矩阵接口如下所示:

  • 活动或备用绑定接口(绑定中继)

    绑定接口接受来自多个 VLAN 的流量。绑定接口在主动或备用模式(模式 0)下运行。您可以在 helm chart 配置中定义 bond 接口,如下所示:

    使用 show configuration 命令的 cRPD 接口配置如下所示(为简洁起见,对输出进行了修剪):

    发出 vif --list 命令时,在 vRouter CLI 上,绑定界面如下所示:

  • 使用 DPDK 数据平面的 Pod 接口(Virtio 中继) virtio

    中继接口仅接受已标记的数据包。任何未标记的数据包都会被丢弃。这些接口可以接受 VLAN 过滤器,以仅允许特定的 VLAN 数据包。中继接口可以是多个桥接域 (BD) 的一部分。桥接域是一组具有相同泛洪或广播特性的逻辑端口。与 VLAN 一样,桥接域跨越多个设备的一个或多个端口。Virtio 接口与在 DPDK 数据平面上使用 virtio 的 pod 接口相关联。

    使用 show configuration 命令的 cRPD 接口配置如下所示(为简洁起见,对输出进行了修剪):

    发出 vif --list 命令时,在 vRouter CLI 上,带有 DPDK 数据平面接口的 virtio 如下所示:

  • 使用内核接口的 Pod 接口

    接入接口接受已标记和未标记的数据包。未标记的数据包使用接入 VLAN 或接入 BD 进行标记。除具有访问 VLAN 的数据包外,任何已标记的数据包都会被丢弃。接入接口是单个网桥域的一部分。它没有任何父接口。

    使用 show configuration 命令的 cRPD 接口配置如下所示(为简洁起见,对输出进行了修剪):

    发出 vif --list 命令时,在 vRouter CLI 上,veth 对接口如下所示:

  • L2 VLAN 子接口

    您可以为用户 Pod 配置第 2 层 VLAN 子接口,并将其附加到云原生路由器实例。VLAN 子接口类似于物理交换机或路由器上的逻辑接口。它们仅访问与配置的 VLAN 标记匹配的标记数据包。子接口有一个父接口。父接口可以有多个子接口,每个子接口都有一个 VLAN ID。运行云原生路由器时,您必须将每个子接口与特定的 VLAN 进行关联。

    使用 show configuration 命令查看的 cRPD 接口配置如下所示(为简洁起见,对输出进行了修剪)。

    对于 L2

    虚拟路由器上的 VLAN 子接口配置如下所示:

    注意:

    要查看 vRouter 上的 VLAN 子接口,请执行命令 kubectl exec -it -n contrail contrail-vrouter-<agent container> -- bash 命令连接到 vRouter 代理,然后运行命令 vif --get

  • L3 物理接口

    cRPD 中的对应接口状态:

    L3 Bond 接口

    cRPD 中的对应接口状态:
  • L3 Pod 虚拟主机-用户界面

    cRPD 中的对应接口状态:

  • L3 内核接口

    cRPD 中的对应接口状态:
  • L3 VLAN 子接口

    从瞻博网络云原生路由器 23.2 版开始,云原生路由器支持在 L3 模式下使用 VLAN 子接口。

    cRPD 中的对应接口状态: