SDN as generalized forwarding
Software Defined Network
In contrast with destination based addressing and its “match” and “action” sequence, generalized addressing uses the match-plus-action paradigm. The match is now made over multiples header fields associated with different protocol layers. The actions can be one of forwarding, load balancing, modifying fields (like NAT), dropping packets (like firewalls do).
Generalized forwarding still uses a match-plus-action table to index specific action according to a packet information, the action are more flexible and are computed, installed and updated by a remote controller. OpenFlow is successful standard for general forwarding and SDN in general.
Each entry in the match-plus-action, called flow table in OpenFlow contains
- set of header fields values
- set of counters
- set of actions to be taken
The packet headers that can be matched are the following (matching support wildcards)
Link layer | Network layer | Transport layer | |||||||||||||
Ingress port | src MAC | dst NAC | eth type | VLAN ID | VLAN pri | src IP | dst IP | IP prot | IP TOS | src TCP/UDP | dst TCP/UDP |