Openvswitch
Popsuper
Software Defined Network
Virtual Infrastructure
CPU Pool
Storage Pool
OpenFlow Switch Components
• OpenFlow Channel负责同Controller的交互
• Flow Table包含许多entry,每个entry是对packet
进行处理的规则
Match packets:
ingress port
•
• Headers
• metadata
Flow entries
match
packets in
priority order
对packet处理:
• 转发
• 修改
• 交给Group Table
• 交给下个Table
• Group Table:处理更复杂的转发规则
• 包含一系列Group Entry
• 每个Entry包含一系列操作集合(action buckets)
• 每个操作集合包含一系列action,以及参数
OpenFlow Packet Processing
OpenFlow Packet Processing
Actions:
• Output: 转发
• Set-Queue: QoS
• Drop
• Group
• Push/Pop tags
OpenFlow Packet Processing
• Actions:
• Output: 转发
• Set-Queue: QoS
• Drop
• Group
• Push/Pop tags
Openvswitch简介
• Openvswitch是一个virutal
switch, 支持Open Flow协议,
当然也有一些硬件Switch也支
持Open Flow协议,他们都可
以被统一的Controller管理,
从而实现物理机和虚拟机的
网络联通。
Openvswitch简介
• Match Field涵盖TCP/IP协议各层:
• Layer 1 – Tunnel ID, In Port, QoS priority, skb mark
• Layer 2 – MAC address, VLAN ID, Ethernet type
• Layer 3 – IPv4/IPv6 fields, ARP
• Layer 4 – TCP/UDP, ICMP, ND
• Action也主要包含下面的操作:
• Output to port (port range, flood, mirror)
• Discard, Resubmit to table x
• Packet Mangling (Push/Pop VLAN header, TOS, ...)
• Send to controller, Learn