The forwarding scheme in Software-Deﬁned Networking (SDN) is usually coupled with ﬂow table management. To reduce the redundancy in the ﬂow tables of OpenFlow switches, some recent studies propose forwarding ﬂows 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 signiﬁcant transmission overhead, especially in networks with large diameters.
In this paper, we propose JumpFlow, a forwarding scheme that achieves low and balanced ﬂow table usage in an SDN by properly and reactively placing ﬂow entries on switches. To reduce the transmission overhead, JumpFlow uses the available VLAN identiﬁer (VID) in the packet header to carry routing information. Constrained by the limited space of the VID, a ﬂow¡¯s complete routing information must be divided into several sections and loaded separately at different switches on the ﬂow¡¯s forwarding route. To achieve low and balanced ﬂow table usage, we formulate and solve the reactive ﬂow entry placement problem. We evaluate JumpFlow against the per-hop conﬁguration-based forwarding of OpenFlow for both unicast and multicast scenarios in a real network topology with different traﬃc patterns. For the unicast scenario with different new ﬂow arrival rates, JumpFlow postpones the time when the ﬁrst ﬂow rejection occurs, reduces the ﬂow rejection percentage by 37.06%, and reduces the control messages for route conﬁguration 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 conﬁguration by 32.68%.