当前位置:
文档之家› OpenFlow协议版本1.3.5学习总结
OpenFlow协议版本1.3.5学习总结
Table-miss
• Every flow table must support a table-miss flow entry to process table misses. • The table-miss flow entry is identified by its match and its priority, it wildcards all match fields (all fields omitted) and has the lowest priority (0). • The table-miss flow entry behaves in most ways like any other flow entry • If the table-miss flow entry does not exist, by default packets unmatched by flow entries are dropped (discarded).
Action Set
• An action set is associated with each packet. This set is empty by default. • Action set is executed after the pipeline processing is finished. • An action set contains a maximum of one action of each type. • The same type is overwritten by the later one.
Meter Table
• enable various simple QoS operations. • Any flow entry can specify a meter in its instruction set
• meter identifier: a unique 32 bit unsigned integer • meter bands: an unordered list of meter bands, where each meter band specifies the rate of the band and the way to process the packet • counters: updated when packets are processed by a meter
• Optional:
– LOCAL: switch’s local networking stack, management stack – NORMAL: forwarding using the traditional non-Openflow pipeline – FLOOD: flooding using the traditional non-Openflow pipeline
Meter Bands
• Each meter may have one or more meter bands.
•
band type: defines how packet are processed
– drop: Drop the packet. – dscp remark: increase the DSCP field in the IP header of the packet
Instruction
• Each flow entry contains one instruction of each type • Instruction type with execution order (Blue is optional):
– – – – Meter: Direct packet to the specified meter. Apply-Actions: Applies the list of action(s) immediately. Clear-Actions: Clears all the actions in the action set immediately. Write-Actions: Merges the specified set of action(s) into the current action set. – Write-Metadata: Writes the masked metadata value into the metadata field. – Goto-Table: Indicates the next table in the processing pipeline.
Action Set Type 1/2
• Action set action order (total 11, first 8):
Flow Removal
• Flow entries are removed In two ways:
– at the request of the controller – via the switch flow expiry mechanism.
• Two timeouts (both effective, which comes first) :
– hard_timeout: Timeout based on flow entry arrival time – idle_timeout: Relative timeout based on flow entry not matched
• If OFPFF_SEND_FLOW_REM flag is set:
• Physical Ports
– correspond to a hardware interface
• Logical Ports
– don’t correspond directly to a hardware – link aggregation groups, tunnels, loopback interfaces
Agenda
• OpenFlow Overview
• OpenFlow Flow Table
• OpenFlow Protocol
Pipeline Processing
Matching
Match fields: • Packet Header fields • various protocol header fields (Ethernet source address, IPv4 destination address) • the ingress port, the metadata field and other pipeline fields.
– 1.3.4
OpenFlow Switch Components
OpenFlow Ports
• Standard Ports
– – – – – can be used as ingress ports can be used as output ports can be used in groups have port counters have state and configuration
OpenFlow 1.3.5 Overview
Agenda
• OpenFlow Overview • OpenFlow Flow Table • OpenFlow Protocol
Байду номын сангаас
Agenda • OpenFlow Overview
• OpenFlow Flow Table • OpenFlow Protocol
• • • •
rate: to select the meter band burst: defines the granularity of the meter band counters: updated when packets are processed by a meter band type specific arguments: some band types’ optional arguments
OpenFlow Protocol Family
• OpenFlow Spec
– – – – 1.0.2 1.3.4, 1.3.5 1.4.1 1.5.1
• OpenFlow Table Type Patterns
– 1.0
• OF-Config
– 1.2
• OpenFlow Test Specification
Reserved Ports
• Required:
– – – – – ALL: all ports the switch can use to forward a packet CONTROLLER: control channel with OpenFlow controllers. TABLE: the start of the OpenFlow pipeline IN PORT: the packet ingress port. ANY: Special value when no port is specified
Flow Table
•
• • • • • •
match Fields: to match against packets. (ingress port, packet headers, and optionally metadata specified by a previous table) priority: matching precedence of the flow entry. counters: updated when packets are matched. instructions: to modify the action set or pipeline processing. timeouts: timeout before flow is expired by the switch. cookie: opaque data value chosen by the controller to Filter flow statistics, flow modification and flow deletion. flags: Execute all buckets in the group.