示例:在交换机上配置 OpenFlow EX9200接口
在EX9200安装 OpenFlow 软件包的交换机上,您可以将支持多个逻辑接口的物理接口配置为 OpenFlow 混合接口。混合接口同时支持 OpenFlow 逻辑接口和非 OpenFlow 逻辑接口。混合接口使得 OpenFlow 和非 OpenFlow 流量能够遍历相同的物理接口,同时将流量保留在单独的 VLAN 中。
混合接口使您能够更高效地使用物理接口,特别是在具有足够数量可用物理接口的情况下。
此示例演示如何在交换机上配置 OpenFlow EX9200接口。
要求
此示例具有以下硬件和软件组件:
运行 EX9200 13.3 Junos OS更高版本的交换机。
OpenFlow 软件包安装在交换机上,软件包版本Junos OS交换机上运行的软件版本。
交换机与 OpenFlow 控制器有 TCP 连接,需要访问交换机的数据平面。
交换机通过 fxp0 接口连接到管理网络,并且从控制器 IP 地址可到达。
概述和拓扑
此示例将配置一个EX9200交换机,
一个混合接口,xe-2/1/0
一个非混合接口 xe-2/1/1,仅处理 OpenFlow 流量
一个非混合接口 xe-2/1/2,仅处理非 OpenFlow 流量
在混合接口上,逻辑接口 xe-2/1/0.0 参与 OpenFlow,逻辑接口 xe-2/1/0.1 和 xe-2/1/0.2 不参与 OpenFlow。
使用混合接口时,您可以使用 VLAN 标记来区分 OpenFlow 流量和非 OpenFlow 流量。因此,您必须在所有接口上启用 VLAN 标记,而进入接口的流量必须带有 VLAN 标记。如果不配置本机 VLAN,则进入混合接口的未标记流量将丢弃。此示例通过使用 启用 VLAN 标记并同时为接口上的所有流量支持 flexible-vlan-tagging
802.1Q VLAN 单标记和双标记帧来配置混合接口。您也可使用 配置 OpenFlow 接口 xe-2/1/1 和非 OpenFlow 接口 xe-2/1/2 ,启用 VLAN 标记,并且仅支持接口上所有流量的 vlan-tagging
802.1Q VLAN 单标记帧。
您可将混合接口封装配置为灵活的以太网服务。请注意,对于具有这种类型的封装的接口,所有 VLAN ID 都有效。从 1 到 511 的 VLAN ID 不再保留用于正常的以太网 VLAN。此示例将 VLAN 100 到 200 用于 OpenFlow 流量,而 VLAN 700 和 800 则用于非 OpenFlow 流量。
除了 xe-2/1/0.2 之外,所有逻辑接口都使用家族和接口模式配置为第 2 层中继 ethernet-switching
接口 trunk
。逻辑接口 xe-2/1/0.0 和 xe-2/1/1.0 参与 OpenFlow,使用 OpenFlow VLAN ID 100 至 200 接收和转发流量。逻辑接口 xe-2/1/0.1 和 xe-2/1/2.0 不参与 OpenFlow,并且使用非 OpenFlow VLAN ID 700 接收和转发流量。
逻辑接口 xe-2/1/0.2 是一个子接口,其 IP 地址为 198.51.100.10/24,并执行第 3 层路由。此接口不参与 OpenFlow,使用 VLAN ID 800 路由流量。
表 1 汇总了逻辑接口、流量类型和关联的 VLAN ID。
逻辑接口 |
流量类型 |
Vlan |
---|---|---|
xe-2/1/0.0 |
OpenFlow |
100 到 200 |
xe-2/1/0.1 |
非 OpenFlow |
700 |
xe-2/1/0.2 |
非 OpenFlow |
800 |
xe-2/1/1.0 |
OpenFlow |
200 |
xe-2/1/2.0 |
非 OpenFlow |
700 |
您可以在 层次结构级别配置 OpenFlow 虚拟交换机和 OpenFlow [edit protocols openflow]
协议语句。虚拟交换机 100 通过 IP 地址 198.51.100.174 上的 TCP 连接连接到 OpenFlow 控制器。虚拟交换机配置必须包含参与 OpenFlow 的所有逻辑接口,包括 xe-2/1/0.0 和 xe-2/1/1.0。
虚拟EX9200需要虚拟交换机的单独路由实例。此路由实例将 OpenFlow 流量与非 OpenFlow 流量隔离。使用混合接口时,您可为 OpenFlow 流量配置虚拟交换机路由实例,为非 OpenFlow 信息流配置另一个虚拟交换机路由实例。此示例为非 OpenFlow 流量配置 OpenFlow 流量和路由 OF
NON-OF
实例的路由实例。
路由 OF
实例包括参与 OpenFlow — xe-2/1/0.0 和 xe-2/1/1.0 的接口。在此路由实例中,您将 VLAN 配置为包含 OpenFlow VLAN 100 到 200。路由 NON-OF
实例包括不参与 OpenFlow(xe-2/1/0.1 和 xe-2/1/2.0)的 2 层接口。在此路由实例中,您将 VLAN 配置为包含非 OpenFlow VLAN 700。
要指示 OpenFlow 流量,OpenFlow 控制器必须安装流条目,这些条目将选择适当的信息流并转发至正确的 OpenFlow 接口。
配置
CLI快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以匹配网络配置,将命令复制并粘贴到 层次结构级别的 CLI 中,然后从配置模式进入 。 [edit]
commit
set interfaces xe-2/1/0 flexible-vlan-tagging set interfaces xe-2/1/0 encapsulation flexible-ethernet-services set interfaces xe-2/1/0 unit 0 family ethernet-switching interface-mode trunk set interfaces xe-2/1/0 unit 0 family ethernet-switching vlan members 100-200 set interfacesxe-2/1/0 unit 1 family ethernet-switching interface-mode trunk set interfaces xe-2/1/0 unit 1 family ethernet-switching vlan members 700 set interfaces xe-2/1/0 unit 2 vlan-id 800 set interfaces xe-2/1/0 unit 2 family inet address 198.51.100.10/24 set interfaces xe-2/1/1 vlan-tagging set interfaces xe-2/1/1 unit 0 family ethernet-switching interface-mode trunk set interfaces xe-2/1/1 unit 0 family ethernet-switching vlan members 200 set interfaces xe-2/1/2 vlan-tagging set interfaces xe-2/1/2 unit 0 family ethernet-switching interface-mode trunk set interfaces xe-2/1/2 unit 0 family ethernet-switching vlan members 700 set protocols openflow switch 100 controller address 198.51.100.174 set protocols openflow switch 100 controller protocol tcp port 6633 set protocols openflow switch 100 interfaces xe-2/1/0.0 set protocols openflow switch 100 interfaces xe-2/1/1.0 set routing-instances OF instance-type virtual-switch set routing-instances OF interface xe-2/1/0.0 set routing-instances OF interface xe-2/1/1.0 set routing-instances OF vlans OF-vlan vlan-id-list 100-200 set routing-instances NON-OF instance-type virtual-switch set routing-instances NON-OF interface xe-2/1/0.1 set routing-instances NON-OF interface xe-2/1/2.0 set routing-instances NON-OF vlans OF-vlan vlan-id-list 700
配置接口
逐步过程
要配置接口:
在混合物理接口上,启用 VLAN 标记并配置封装:
[edit interfaces xe-2/1/0] user@switch# set flexible-vlan-tagging user@switch# set encapsulation flexible-ethernet-services
将 OpenFlow 逻辑接口 xe-2/1/0.0 配置为支持 VLAN 100 到 200 的 2 层中继:
[edit interfaces xe-2/1/0] user@switch# set unit 0 family ethernet-switching interface-mode trunk user@switch# set unit 0 family ethernet-switching vlan members 100-200
将非 OpenFlow 逻辑接口 xe-2/1/0.1 配置为支持 VLAN 700 的 2 层中继:
[edit interfaces xe-2/1/0] user@switch# set unit 1 family ethernet-switching interface-mode trunk user@switch# set unit 1 family ethernet-switching vlan members 700
将非 OpenFlow 逻辑接口 xe-2/1/0.2 配置为第 3 层子接口:
[edit interfaces xe-2/1/0] user@switch# set unit 2 vlan-id 800 user@switch# set unit 2 family inet address 198.51.100.10/24
在 xe-2/1/1 上,启用 VLAN 标记,将逻辑接口配置为支持 VLAN 200 的 2 层中继:
[edit interfaces xe-2/1/1] user@switch# set vlan-tagging user@switch# set unit 0 family ethernet-switching interface-mode trunk user@switch# set unit 0 family ethernet-switching vlan members 200
在 xe-2/1/2 上,启用 VLAN 标记,将逻辑接口配置为支持 VLAN 700 的 2 层中继:
[edit interfaces xe-2/1/2] user@switch# set vlan-tagging user@switch# set unit 0 family ethernet-switching interface-mode trunk user@switch# set unit 0 family ethernet-switching vlan members 700
配置 OpenFlow
逐步过程
要配置 OpenFlow:
配置 OpenFlow 控制器 IP 地址和连接协议:
[edit protocols openflow switch 100] user@switch# set controller address 198.51.100.174 user@switch# set controller protocol tcp port 6633
在虚拟交换机 100 下指定参与 OpenFlow 的逻辑接口:
[edit protocols openflow switch 100] user@switch# set interfaces xe-2/1/0.0 user@switch# set interfaces xe-2/1/1.0
配置虚拟交换机路由实例
逐步过程
要配置路由实例:
配置 OpenFlow 流量的路由实例。
[edit] user@switch# set routing-instances OF instance-type virtual-switch user@switch# set routing-instances OF interface xe-2/1/0.0 user@switch# set routing-instances OF interface xe-2/1/1.0 user@switch# set routing-instances OF vlans OF-vlan vlan-id-list 100-200
为第 2 层接口上的非 OpenFlow 流量配置路由实例:
[edit] user@switch# set routing-instances NON-OF instance-type virtual-switch user@switch# set routing-instances NON-OF interface xe-2/1/0.1 user@switch# set routing-instances NON-OF interface xe-2/1/2.0 user@switch# set routing-instances NON-OF vlans NOF-vlan vlan-id-list 700
提交配置:
[edit] user@switch# commit
结果
在操作模式下,输入 、 和 show configuration interfaces
命令 show configuration protocols openflow
以确认您的 show configuration routing-instances
配置。如果输出未显示指定配置,请重复此示例中的配置说明,以更正配置。
user@switch> show configuration interfaces xe-2/1/0 { flexible-vlan-tagging; encapsulation flexible-ethernet-services; unit 0 { family ethernet-switching { interface-mode trunk; vlan { members 100-200; } } } unit 1 { family ethernet-switching { interface-mode trunk; vlan { members 700; } } } unit 2 { vlan-id 800; family inet { address 198.51.100.10/24; } } } xe-2/1/1 { vlan-tagging; unit 0 { family ethernet-switching { interface-mode trunk; vlan { members 200; } } } } xe-2/1/2 { vlan-tagging; unit 0 { family ethernet-switching { interface-mode trunk; vlan { members 700; } } } }
user@switch> show configuration protocols openflow switch 100 { interfaces { xe-2/1/0.0; xe-2/1/1.0; } controller { protocol tcp { port 6633; } address 198.51.100.174; } }
user@switch> show configuration routing-instances OF { instance-type virtual-switch; interface xe-2/1/0.0; interface xe-2/1/1.0; vlans { OF-vlan { vlan-id-list 100-200; } } } NON-OF { instance-type virtual-switch; interface xe-2/1/0.1; interface xe-2/1/2.0; vlans { NOF-vlan { vlan-id 700; } } }
验证
确认配置工作正常。
验证 OpenFlow 控制器连接
目的
验证 OpenFlow 控制器连接是否开启。
行动
发出 show openflow controller
操作模式命令以验证控制器连接状态是否 up
。由于虚拟交换机配置只有一个控制器,所以在您提交配置后,虚拟交换机会自动启动与控制器的连接。
user@switch> show openflow controller Openflowd controller information: Controller socket: 11 Controller IP address: 198.51.100.174 Controller protocol: tcp Controller port: 6633 Controller connection state: up Number of connection attempt: 5 Controller role: equal
意义
输出显示,除了有关控制器的其他信息之外,OpenFlow 控制器的连接状态 up
为 。
验证 OpenFlow 接口
目的
验证 OpenFlow 接口是否打开。
行动
发出 show openflow interfaces
操作模式命令,并验证每个 OpenFlow 接口的状态为 Up
。
user@switch> show openflow interfaces Switch name: 100 Interface Name: xe-2/1/0.0 Interface port number: 41500 Interface Hardware Address: 00:00:5E:00:53:cf Interface speed: 10Gb Full-duplex Interface Auto-Negotiation: Disabled Interface media type: Fiber Interface state: Up Switch name: 100 Interface Name: xe-2/1/1.0 Interface port number: 41501 Interface Hardware Address: 00:00:5E:00:53:d0 Interface speed: 10Gb Full-duplex Interface Auto-Negotiation: Disabled Interface media type: Fiber Interface state: Up
意义
除了有关这些接口的其他信息,输出还显示每个 OpenFlow 接口 Up
的状态为 。