The forwarding scheme in Software-Defined Networking (SDN) is usually coupled with flow table management. To reduce the redundancy in the flow tables of OpenFlow switches, some recent studies propose forwarding flows using stacked MPLS labels, in which each label in the stack indicates the forwarding decision at one hop of the forwarding route. However, using multiple MPLS labels in each packet introduces significant transmission overhead, especially in networks with large diameters. In this paper, we propose JumpFlow, a forwarding scheme that achieves low and balanced flow table usage in an SDN by properly and reactively placing flow entries on switches. To reduce the transmission overhead, JumpFlow uses the available VLAN identifier (VID) in the packet header to carry routing information. Constrained by the limited space of the VID, a flow's complete routing information must be divided into several sections and loaded separately at different switches on the flow's forwarding route. To achieve low and balanced flow table usage, we formulate and solve the reactive flow entry placement problem. We evaluate JumpFlow against the per-hop configuration-based forwarding of OpenFlow for both unicast and multicast scenarios in a real network topology with different traffic patterns. For the unicast scenario with different new flow arrival rates, JumpFlow postpones the time when the first flow rejection occurs, reduces the flow rejection percentage by 37.06%, and reduces the control messages for route configuration by 53.52% on average. For the multicast scenario with a high new multicast group arrival rate, JumpFlow increases the ratio of accepted multicast groups by 83.90%, and reduces the ratio of average control messages for a multicast group configuration by 32.68%.
- Flow table management
- Software-defined networking