Skip to main content
Log in

OpenFlow Compatible Key-Based Routing Protocol: Adapting SDN Networks to Content/Service-Centric Paradigm

  • Published:
Journal of Network and Systems Management Aims and scope Submit manuscript

Abstract

The host-to-host/content/service communication instead of the host-to-host communication offered by traditional Internet Protocol (IP) routing solutions has been demanded in the last few years. Nowadays, getting this type of communication directly at network level is an increasing demand in the framework of new networking scenarios, such as Internet of Things and data center scenarios. Inspired by Key-Based Routing (KBR) solutions which, in conjunction with Distributed Hash Tables, have offered a way of providing content-sharing solutions in overlay networks on the top of the Internet for years now, we propose OFC-KBR (OpenFlow Compatible Key-Based Routing) solution. OFC-KBR is a key-based routing solution directly implemented at network layer that makes use of the potential of Software Defined Networking. In this solution, end-points are identified by virtual identifiers. These virtual identifiers are obtained from a descriptive textual name, whose format is not fixed and can be defined depending on the requirements of the service that is going to use the proposed OFC-KBR solution. OFC-KBR is totally compatible with the current OpenFlow standard and can co-exist with other L2/L3 protocols. The proposal has been implemented and evaluated by simulation considering real topologies.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

References

  1. Ahlgren, B., Dannewitz, C., Imbrenda, C., Kutscher, D., Ohlman, B.: A survey of information-centric networking. IEEE Commun. Mag. 50(7), 26–36 (2012)

    Article  Google Scholar 

  2. Zhang, L., Estrin, D., Burke, J., Jacobson, V., Thornton, J.D., Smetters, D.K., Zhang, B., Tsudik, G., Claffy, K., Krioukov, D., Massey, D., Papadopoulos, C., Abdelzaher, T., Wang, L., Crowley, P., Yeh, E.: Named data networking (NDN) project, PARC Technical Report NDN-0001 (2010)

  3. Trajano, A.F.R., Fernandez, M.P.: Two-phase load balancing of in-memory key-value storages using network functions virtualization (NFV). J. Netw. Comput. Appl. 69, 1–13 (2016)

    Article  Google Scholar 

  4. Yu, Y., Qian, C.: Space shuffle: a scalable, flexible, and high-performance data center network. IEEE Trans. Parallel Distrib. Syst. 27(11), 3351–3365 (2016)

    Article  Google Scholar 

  5. McKeown, N.: Software-defined networking. In: INFOCOM Keynote Talk, vol. 17, no. 2, pp. 30–32 (2009)

  6. McKeon, N., Anderson, T., Balakrishnan, H., Parulkar, G., Peterson, L., Rexford, J., Shenker, S., Turner, J.: OpenFlow: enabling innovation in campus networks. ACM SIGCOMM Comput. Commun. Rev. 38(2), 69–74 (2008)

    Article  Google Scholar 

  7. Stoica, I., Morris, R., Liben-Nowell, Karger, D.R., Kaashoek, M.F., Balakrishnan, H.: Chord: a scalable peer-to-peer lookup service for internet applications. IEEE ACM Trans. Netw. 11(1), 17–32 (2003)

    Article  Google Scholar 

  8. Rowstron, A., Druschel, P.: Pastry: scalable, distributed object location and routing for large-scale peer-to-peer systems. In: Proceedings of IFIP/ACM International Conference on Distributed Systems Platforms (Middleware), pp. 329–350 (2001)

  9. Zhao, B.Y., Huang, L., Stribling, J., Rhea, S.C., Joseph, A.D., Kubiatowicz, J.: Tapestry: a resilient global-scale overlay for service deployment. IEEE J. Sel. Areas Commun. 22(1), 41–53 (2004)

    Article  Google Scholar 

  10. Maymounkov, P., Mazires, D.: Kademlia: A peer-to-peer information system based on the XOR metric. In: Proceedings of the First International Workshop on Peer-to-Peer Systems, pp. 53-65 (2002)

  11. Dabek, F., Zhao, B., Druschel, P., Kubiatowicz, J., Stoica, I.: Towards a common API for structured peer-to-peer overlays, In: Proceedings of the 2nd International Workshop on Peer-to-Peer Systems (IPTPS03), pp. 33–44 (2003)

  12. Dabek, F., Kaashoek, M.F., Karger, D., Morris, R., Stoica, I.: Wide-area cooperative storage with CFS. In: Proceedings of the 8th ACM Symposium on Operating Systems Principles (SOSP), pp. 202–215 (2001)

  13. Hildrum, K., Kubiatowicz, J.D., Rao, S., Zhao, B.Y.: Distributed object location in a dynamic network. In: Proceedings of the 4th Annual ACM Symposium on Parallel Algorithms and Architectures (SPAA), pp. 41–52 (2002)

  14. Castro, M., Druschel, P., Kermarrec, A.M., Rowstron, A.I.T.: Scribe: a large-scale and decentralized application-level multicast infrastructure. IEEE J. Sel. Areas Commun. 20(8), 1489–1499 (2006)

    Article  Google Scholar 

  15. Dean, J., Ghemawat, S.: Mapreduce: simplified data processing on large clusters. Commun. ACM 51(1), 107–113 (2008)

    Article  Google Scholar 

  16. DeCandia, G., Hastorun, D., Jampani, M., Kakulapati, G., Lakshman, A., Pilchin, A., Sivasubramanian, S., Vosshall, P., Vogels, W.: Dynamo: Amazons highly available key-value store. ACM SIGOPS Oper. Syst. Rev. 41(6), 205–220 (2007)

    Article  Google Scholar 

  17. Isard, M., Budiu, M., Yu, Y., Birrell, A., Fetterly, D.: Dryad: distributed data-parallel programs from sequential building blocks. In: Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems, pp. 59–72 (2007)

  18. Beaver, D., Kumar, S., Li, H.C., Sobel, J., Vajgel, P.: Finding a needle in haystack: Facebooks photo storage. In: Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation, pp. 1–8 (2010)

  19. Abu-Libdeh, H., Costa, P., Rowstron, A., OShea, G., Donnelly, A.: Symbiotic routing in future data centers. ACM SIGCOMM Comput. Commun. Rev. 41(4), 51–62 (2011)

    Article  Google Scholar 

  20. Sankaran, S., Sridhar, R.: Modeling and analysis of routing in IoT networks. In: Proceedings of the International Conference on Computing and Network Communications, pp. 649–655 (2015)

  21. Rahmani, R., Rahman, H., Kanter, T.: On performance of logical-clustering of flow-sensors. Int. J. Comput. Sci. Issues 10(5), 1–13 (2013)

    Google Scholar 

  22. Xylomenos, G., Ververidis, C.N., Siris, V.A., Fotiou, N., Tsilopoulos, C., Vasilakos, X., Katsaros, V., Polyzos, G.C.: A survey of information-centric networking research. IEEE Commun. Surv. Tutor. 16(2), 1024–1049 (2014)

    Article  Google Scholar 

  23. DAmbrosio, M., Dannewitz, C., Karl, H., Vercellone, V.: MDHT: a hierarchical name resolution service for information-centric networks. In: Proceedings of ACM Workshop on Information-Centric Networking, pp. 7–12 (2011)

  24. Dumba, B., Mekky, H., Jain, S., Sun, G., Zhang, Z.L.: A virtual Id routing protocol for future dynamics networks and its implementation using the SDN paradigm. J. Netw. Syst. Manag. 24(3), 578–606 (2016)

    Article  Google Scholar 

  25. Pfaff, B., Pettit, J., Koponen, T., Jackson, E., Zhou, A., Rajahalme, J., Gross, J., Wang, A., Stringer, J., Shelar, P., Amidon, K., Casado, M.: The design and implementation of Open vSwitch. In: Proceeding of the 12th USENIX Symposium on Networked Systems Design and Implementation, pp. 117–130 (2015)

  26. Srinivasan, V., Varghese, G., Suri, S., Waldvoguel, M.: Fast and scalable layer four switching. ACM SIGCOMM Comput. Commun. Rev. 28(4), 191–202 (1998)

    Article  Google Scholar 

  27. Schiff, L., Afek, Y., Bremler-Barr, A.: ORange: Multi field OpenFlow based range classifier. In: Proceedings of the ACM/IEEE Symposium on Architectures for Networking and Communications Systems, pp. 63–73 (2015)

  28. Panigrahy, R., Sharma, S.: Sorting and searching using ternary cams. IEEE Micro 23(1), 44–53 (2003)

    Article  Google Scholar 

  29. OpenFlow switch specification: Version 1.3.5. https://www.opennetworking.org/software-defined-standards/specifications/. Accessed 24 Oct 2018

  30. Rosen, E., Viswanathan, A., Callon, R.: RFC 3031: multiprotocol label switching architecture (2001)

  31. Mininet Team. Mininet: an instant virtual network on your laptop (or other PC). http://mininet.org/. Accessed 24 Oct 2018

  32. Ryu SDN Framework Community. Build SDN agilely. https://osrg.github.io/ryu/index.html. Accessed 24 Oct 2018

  33. Knight, S., Nguyen, H.X., Falkner, N., Bowden, R., Roughan, M.: The internet topology zoo. IEEE J. Sel. Areas Commun. 29(9), 1765–1775 (2011)

    Article  Google Scholar 

  34. Linux Foundation Collaborative Projects: Open vSwitch. https://www.openvswitch.org. Accessed 24 Oct 2018

  35. Emmerich, P., Raumer, D., Gallenmller, S., Wohlfart, F., Carle, G.: Trhougput and latency of virtual switching with Open vSwitch: a quantitative analysis. J. Netw. Syst. Manag. 26(2), 314–338 (2018)

    Article  Google Scholar 

  36. Thyagaturu, A.S., Mercian, A., McGarry, M.P., Reisslein, M., Kellerer, W.: Software defined optical networks (SDONs): a comprehensive survey. IEEE Commun. Surv. Tutor. 18(4), 2738–2786 (2016)

    Article  Google Scholar 

  37. Lee, S.S.W., Li, K.Y., Wu, M.S.: Design and implementation of a GPON-based virtual OpenFlow-enabled SDN switch. J. Lightwave Technol. 34(10), 2552–2561 (2016)

    Article  Google Scholar 

Download references

Acknowledgements

This research has been supported by the AEI/FEDER, UE Project Grant TEC2016-76465-C2-1-R (AIM). Adrian Flores de la Cruz also thanks the Spanish Ministry of Economy, Industry and Competitiveness for the FPI (BES-2014-069097) pre-doctoral fellowship.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Pilar Manzanares-Lopez.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix A

Appendix A

1.1 Mathematical Model

Let us suppose a Chord network of size \(2^L\), and composed of N nodes. Without loss of generality, it is assumed that the vid assigned to one of the nodes is 0. We are interesting in calculating the probability distribution of the number of ranges obtained from the finger table of a node, assuming that the rest of the \(N-1\) nodes are randomly distributed in the vid space \([0,2^L-1]\).

By definition, the finger table of a node is made up of L entries and the predecessor. The information of the finger table can be used to obtain \(L+1\) ranges and the corresponding actions. The entry i associates the range \([2^i,2^{i+1}[\) with first node clockwise \(2^i\) in the virtual space. If more than one consecutive entries of the finger table point to the same node, these ranges can be merged into a single range. Under these assumptions, we are going to obtain the probability that the number of different ranges obtained for a node is k, where \(2\le k \le L+1\) when the total number of nodes in the network is N.

From now on, the interval \([2^i,2^{i+1}[\) defined from the finger table of node 0 (the reference node) before merging will be called the i-th interval. If the first node clockwise \(2^i\) (that is, finger table value associated to this entry) is not within the ith interval, we define this i-th the interval as an empty interval. As can be seen, an i-th interval is an empty interval if any of the existing N nodes are located within the associated interval. On the other hand, an i-th interval is a non-empty interval if one or more than one of the N nodes are located within the interval. Thus, all the consecutive empty intervals will be merged with the following non-empty interval. As a conclusion, if there are \(k-1\) non-empty intervals and the rest are empty intervals, then, the finger table will produce k different ranges. As shown in Fig. 3, the range ]predecessorn] that points to the own node will always be present.

Therefore, there will be k different ranges if the distribution of the N nodes in the virtual space allows node 0 to have \(k-1\) non-empty intervals and \(l-(k-1)\) empty intervals. However, due to the fact that each i-th interval has its own capacity \((2^i)\), not all the \(k-1\) combinations of \(k-1\) non-empty intervals are valid. In these not valid cases, the total capacity is less than \(N-1\), and it is not possible to distribute the \(N-1\) nodes among them.

As an example, consider \(l=6\), \(N=10\), and \(k=3\). There are 15 different combinations of 2 non-empty intervals and 4 empty intervals, but some of them are not valid. For example, if the non-empty intervals are the 0-th and 1-st intervals, the capacity is \(2^0+2^1=3\), not enough to locate \(N-1=9\) nodes. The same happens with the combinations 0, 2, 0, 3, 0, 4, 0, 5, and 1, 2. In the end, only 9 out of 15 combinations have enough capacity to locate N-1 nodes: 1, 3, 1, 4, 1, 5, 2, 3, 2, 4, 2, 5, 3, 4, 3, 5, and 4, 5.

Now, let us consider a valid combination of intervals of the above example (2, 3). Both intervals have the capacity to locate up to \(2^2+2^3=12\) nodes. Therefore, there are 4 possibilities to distribute the \(N-1=9\) nodes within the intervals: \(n_2=1\), \(n_3=8\), \(n_2=2\), \(n_3=7\), \(n_2=3\), \(n_3=6\) and \(n_2=4\), \(n_3=5\).

Consequently, among all the valid combinations of intervals, it should also be considered those that meet the following equation:

$$\begin{aligned} \varGamma \in {i,j,\ldots ,k} | n_i+n_j+\cdots +n_k=N-1 \end{aligned}$$
(3)

where \(n_i\) is the number of nodes in the interval i-th. Thus, the probability that the finger table of a node causes k different ranges is:

$$\begin{aligned} P(k)=\sum _\varGamma P(n_1)P(n_2)P(n_{k-1}) \end{aligned}$$
(4)

where \(P(n_i)\) is the probability that \(n_i\) of the total number of nodes \(N-1\) are located in the interval i-th (with capacity to hold up to \(l_i\) nodes).

Finally, the probability can be easily obtained using combinatorial numbers as follows:

$$\begin{aligned} P(k)=\sum _\varGamma \frac{\left( {\begin{array}{c}l_1\\ n_1\end{array}}\right) \left( {\begin{array}{c}l_2\\ \cdots \end{array}}\right) \left( {\begin{array}{c}l_{k-1}\\ n_{k-1}\end{array}}\right) }{\left( {\begin{array}{c}2^l-1\\ N-1\end{array}}\right) } \end{aligned}$$
(5)

1.2 Validation

The mathematical model has been validated using a simulation tool programmed in C language. The simulator considers the reference node (node 0) and randomly selects other \(N-1\) nodes in a virtual of \(2^L-1\) values (\(]0,2^L-1]\)). Then, the simulator calculates the number of different ranges associated to node 0 (the reference node) accordingly to the procedure proposed in OFC-KBR solution, taking into account the existing nodes. This simulation is repeated \(10^6\) times in order to reach steady state probabilities.

Fig. 12
figure 12

Virtual space=\(\left[ 0,2^6-1 \right]\) and N = 6, 12, 19, 25 and 32, corresponding to 10%, 20%, 30%, 40% and 50%. a Probability distribution of the number of ranges obtained by simulation. b Probability distribution of the number of ranges obtained using the mathematical model

Figure 12a shows the probability distribution of the number of ranges associated to a node, obtained by simulation, when \(L=6\) (that is, a virtual space = \([0,2^6-1]\), and the number of nodes is \(N=6,12,19,25\) and 32 , which corresponds to 10%, 20%, 30%, 40% and 50% of the capacity of the network.

As can be seen, as the number of nodes (N) increases, the probability distribution moves to the right. As the number of nodes increases, the probability that the ranges obtained directly from the entries of the finger table can be merged is smaller, because the entries point to different nodes. In particular, in the present study, the mean number of ranges are 3.8, 4.8, 5.4, 5.8 and 6.2 for \(N=6,12,19,25\) and 32, respectively.

On the other hand, Fig. 12b shows the probability distribution of the number of ranges associated to a node, obtained by the mathematical model. The exact match between both figures clearly validates the model.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Flores-de la Cruz, A., Manzanares-Lopez, P., Muñoz-Gea, J.P. et al. OpenFlow Compatible Key-Based Routing Protocol: Adapting SDN Networks to Content/Service-Centric Paradigm. J Netw Syst Manage 27, 730–755 (2019). https://doi.org/10.1007/s10922-018-9482-z

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10922-018-9482-z

Keywords

Navigation