Contenu connexe
Similaire à Open Flow Tutorial Series - Set 1 (20)
Open Flow Tutorial Series - Set 1
- 2. Traditional Switch Components
Control Plane
Data Plane
Packet In Packet Out
© 2013 Radhika Hirannaiah
MAC Address Table
MAC
Address
Port VLAN
ID
0x0A 2 3
0x0B 5 22
0x0C 9 7
CPURoute
Cache
- 3. OpenFlow
• Technically, OpenFlow is a wire protocol for
communication between a Control and Data Plane
• OpenFlow based technology also implies that Control and
Data planes don’t have to be on the same hardware –
they just have to be IP visible to each other.
• Control Plane software is referred to as “Controller”
• Data Plane software is referred to as “OpenFlow
Datapath” or “OpenFlow Switch”
© 2013 Radhika Hirannaiah
- 5. Advantages of Open Flow
• Controller controls how packets are forwarded
• Make deployed networks programmable not just
configurable
• Advocates a separation of the data and control palne for
the flow network.
• Allows for programming of “flows” (traffic type) rather than
just source/destination MAC/IP
• Allows for switching at different network layers to be
combined.
• Allows granularity and layering to be at the discretion of
the owner/operator and suited to the user/application.
• Not limited by the platform or be enforced by the
protocols.
© 2013 Radhika Hirannaiah
- 8. OpenFlow’s Flow Identification Fields
© 2013 Radhika Hirannaiah
Considered by OpenFlow Match fields – for
Ethernet traffic
Considered by OpenFlow Match fields – for IP Traffic
Wildcard
Wildcard
- 9. Main components of Flow table entry
• Match Criteria
1. Layer 1/2
1. Ingress Port
2. Ethernet Source
3. Ethernet Destination
4. VLAN ID
5. VLAN Priority
6. MPLS Label
2. Layer 3
1. IP Source
2. IP Destination
• Instructions
1. Go To Table
2. Metadata
3. Action Set
1. Forward
2. Apply QoS
3. Drop
4. Apply to Group
© 2013 Radhika Hirannaiah
Match Fields Priority Counters Instructions Timeouts Cookie
- 12. Example of flow forwarding in an
OpenFlow Switch
OpenFlow Data Path
© 2013 Radhika Hirannaiah
Group
Table
Flow
Table
Flow
Table
OpenFlow
Channel
X
Y
Host A
Host B
Flow Table
Match Action
Src Port X Fwd to port Y
Src Port Y Fwd to port X
- 13. Example of Packet Processing Table 0
© 2013 Radhika Hirannaiah
Match Fields Priority Counters Instructions Timeouts Cookie
Ingress Port +
Metadata +
Pkt headers
99 Goto Table 2
… 10 Out Port X
… 50 Goto Group
ID 5
… 1 Goto Group
ID 15
… 76 Drop Packet
- 14. Components of Group Table
© 2013 Radhika Hirannaiah
Group
Identifier
Group Type Counters Action Buckets
5 Out port x,y
15 Out port a
6 Group ID 5
7 Out port m, Group ID 15
9 Drop Packet
• Group Type – All, Select, Indirect, Fast Failover
• Counters – Updated when packets are matched
- 15. Packet Processing w/ Group Table
Controller
OpenFlow Data Path
Packet In Packet Out
© 2013 Radhika Hirannaiah
OpenFlow
Channel
GROUP TABLE
Group
Identifier
Group
Type
Counters Action Buckets
5 Out port x,y
6 Group ID 5
7 Out port m,
Group ID 5
9 Drop Packet