示例:启用 QFX5100 和 EX4600 交换机上的 OpenFlow
OpenFlow 是一种开放标准,允许您沿路径在每个设备中创建、删除和修改流量,从而控制网络中的流量路径。此示例说明如何在 QFX5100 和 EX4600 交换机上配置 OpenFlow 支持。
要隔离和控制交换机上的 OpenFlow 流量,请配置虚拟交换机。您还可以在虚拟交换机与远程 OpenFlow 控制器之间配置安全套接字层 (SSL) 或 TCP/IP 连接。使用此连接,OpenFlow 控制器可以访问虚拟交换机中的流。
要求
此示例使用以下硬件和软件组件:
运行 Junos OS 14.1X53-D10 或更高版本的 QFX5100 交换机或运行 Junos OS 17.1R1 或更高版本的 EX4600 交换机。
交换机上安装了 OpenFlow 软件包,此软件包的版本与交换机上运行的 Junos OS 版本匹配。
交换机与 OpenFlow 控制器之间的 TCP 连接。
交换机的管理接口 (em0 或 em1) 与管理网络之间的连接。
概述
在此示例中,您可在瞻博网络交换机上配置 OpenFlow 支持。交换机具有三个专门处理 OpenFlow 流量的接口:xe-0/0/10.0、xe-0/0/11.0 和 xe-0/0/12.0。请注意,在这些交换机上,您只能使用每个 OpenFlow 接口的逻辑单元号 0 来配置一个逻辑接口。
在 OpenFlow 拓扑中,虚拟交换机用于隔离和控制 OpenFlow 流量。您可在 [edit protocols openflow]
层次结构级别配置 OpenFlow 虚拟交换机和 OpenFlow 协议语句。
虚拟交换机 100 还通过 IP 地址 10.51.100.174 上的 TCP 连接连接到 OpenFlow 控制器。虚拟交换机配置必须包含参与 OpenFlow 的所有逻辑接口;OpenFlow 流量仅通过这些接口进出。
流条目包括一个匹配条件,与进入 OpenFlow 接口的数据包进行比较,以及应用于与条件匹配的数据包的操作。每个 OpenFlow 接口都可以有一个或多个流条目。 default-action
OpenFlow 配置中的语句表示交换机适用于没有匹配流条目的数据包的操作。此示例使用 drop
选项,其中指定丢弃与流条目不匹配的数据包。
此示例还会配置 OpenFlow 追踪功能以及 flag all
捕获和记录所有 OpenFlow 事件的语句。此示例不会为日志文件配置特定文件名。因此,OpenFlow 事件会记录在默认的 OpenFlow 日志目录 /var/log/ofd 中。
配置
CLI 快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,移除任何换行符,更改与网络配置匹配所需的任何详细信息,将命令复制并粘贴到层级的 CLI 中 [edit]
,然后从配置模式进入 commit
。
set interfaces xe-0/0/10 unit 0 family ethernet-switching set interfaces xe-0/0/11 unit 0 family ethernet-switching set interfaces xe-0/0/12 unit 0 family ethernet-switching set protocols openflow switch 100 controller address 10.51.100.174 set protocols openflow switch 100 controller protocol tcp set protocols openflow switch 100 interfaces xe-0/0/10.0 set protocols openflow switch 100 interfaces xe-0/0/11.0 set protocols openflow switch 100 interfaces xe-0/0/12.0 set protocols openflow switch 100 default-action drop set protocols openflow traceoptions flag all
程序
逐步过程
要配置对 OpenFlow 的支持,请访问:
将 OpenFlow 接口配置为第 2 层接口。
[edit interfaces] user@switch# set xe-0/0/10 unit 0 family ethernet-switching user@switch# set xe-0/0/11 unit 0 family ethernet-switching user@switch# set xe-0/0/12 unit 0 family ethernet-switching
配置名为 100 的 OpenFlow 虚拟交换机。
[edit protocols openflow] user@switch# set switch 100
配置 OpenFlow 控制器 IP 地址和连接协议。
[edit protocols openflow switch 100] user@switch# set controller address 10.51.100.174 user@switch# set controller protocol tcp
在此参与 OpenFlow 的虚拟交换机中配置逻辑接口。
[edit protocols openflow switch 100] user@switch# set interfaces xe-0/0/10.0 user@switch# set interfaces xe-0/0/11.0 user@switch# set interfaces xe-0/0/12.0
为没有匹配流条目的数据包配置默认操作。
[edit protocols openflow switch 100] user@switch# set default-action drop
配置 OpenFlow 追踪配置。
[edit protocols openflow] user@switch# set traceoptions flag all
提交配置。
[edit] user@switch# commit
结果
在操作模式下,输入 show configuration interfaces
和 show configuration protocols openflow
命令以确认您的配置。
user@switch> show configuration interfaces xe-0/0/10 { unit 0 { family ethernet-switching; } } xe-0/0/11 { unit 0 { family ethernet-switching; } } xe-0/0/12 { unit 0 { family ethernet-switching; } }
user@switch> show configuration protocols openflow switch 100 { default-action { drop; } interfaces { xe-0/0/10.0; xe-0/0/11.0; xe-0/0/12.0; } controller { protocol { tcp { } address 10.51.100.174; } } traceoptions { flag all; }
验证
确认配置工作正常。
验证 OpenFlow 控制器连接是否正常
目的
验证 OpenFlow 控制器连接是否已打开。
行动
show openflow controller
发出操作模式命令,验证控制器连接状态是否为 up
。由于虚拟交换机配置只有一个控制器,因此在您提交配置之后,虚拟交换机会自动启动与控制器的连接。
user@switch> show openflow controller Openflowd controller information: Controller socket: 12 Controller IP address: 10.51.100.174 Controller protocol: tcp Controller port: 6633 Controller connection state: up Number of connection attempt: 4 Controller role: equal Negotiated version: 4
意义
输出显示,除了有关控制器的其他信息之外,OpenFlow 控制器的连接状态也为 up
。
验证 OpenFlow 接口是否开启
目的
验证 OpenFlow 接口是否开启。
行动
show openflow interfaces
发出操作模式命令,验证每个 OpenFlow 接口的状态是否为 Up
。
user@switch> show openflow interfaces Switch name: 100 Interface Name: xe-0/0/10.0 Interface port number: 41507 Interface Hardware Address: 00:00:5e:00:53:00 Interface speed: 10Gb Full-duplex Interface Auto-Negotiation: Disabled Interface media type: Fiber Interface state: Up Switch name: 100 Interface Name: xe-0/0/11.0 Interface port number: 44538 Interface Hardware Address: 00:00:5e:00:53:01 Interface speed: 10Gb Full-duplex Interface Auto-Negotiation: Disabled Interface media type: Fiber Interface state: Up Switch name: 100 Interface Name: xe-0/0/12.0 Interface port number: 45549 Interface Hardware Address: 00:00:5e:00:53:02 Interface speed: 10Gb Full-duplex Interface Auto-Negotiation: Disabled Interface media type: Fiber Interface state: Up
意义
输出显示,除了有关接口的其他信息外,每个 OpenFlow 接口的状态均 Up
为 。