FLOW-BASED CONTROL
Over the last 30 years (since the standardization
of the first Ethernet standard), disk and memory
sizes have grown exponentially using Moore’s
law, and so have the file sizes. The packet size,
however, has remained the same (approximately
1518-byte Ethernet frames). Therefore, much of
the traffic today consists of a sequence of packets
rather than a single packet. For example, a
large file may require transmission of hundreds
of packets. Streaming media generally consists of
a stream of packets exchanged over a long period
of time. In such cases, if a control decision is
made for the first packet of the flow, it can be
reused for all subsequent packets. Thus, flowbased
control significantly reduces the traffic
between the controller and the forwarding element.
The control information is requested by
the forwarding element when the first packet of
a flow is received and is used for all subsequent
packets of the flow. A flow can be defined by
any mask on the packet headers and the input
port from which the packet was received. A typical
flow table entry is shown in Fig. 5. The control
table entry specifies how to handle the packets with the matching header. It also contains
instructions about which statistics to collect
about the matching flows.