Network Coding RG B. Khasnabish Internet-Draft ZTE TX, Inc. Intended status: Informational S. Sivakumar Expires: March 25, 2015 Cisco Systems Inc. E. Haleplidis University of Patras September 21, 2014 Impact of Virtualization and SDN on Emerging Network Coding draft-khasnabish-nwcrg-impact-of-vir-and-sdn-02.txt Abstract Network Coding is a technique used to code packets and be able to recover coded packets from loses. It requires at least two participating nodes in the path of the packet, one to encode and another to decode. This document discusses the impact of virtualization and Software-Defined Networking (SDN) on the emerging network coding. This document also discusses the integration of network coding in various layers of the network stack and the APIs required from the network coding entity to program it from a controller. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on March 25, 2015. Copyright Notice Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents Khasnabish, et al. Expires March 25, 2015 [Page 1] Internet-Draft Virtualization, SDN for Network Coding September 2014 (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Abbreviations . . . . . . . . . . . . . . . . . . . . . . 3 1.3. Conventions and Definitions . . . . . . . . . . . . . . . 4 2. Separation of Control . . . . . . . . . . . . . . . . . . . . 4 2.1. Separation Fundamentals . . . . . . . . . . . . . . . . . 5 2.2. Separation of Control for Transport . . . . . . . . . . . 5 2.3. Separation of Control for network layer . . . . . . . . . 6 2.4. Separation of Control for Forwarding . . . . . . . . . . 7 3. Virtualization and its use in Network Coding . . . . . . . . 8 3.1. Virtualization of Application/Service Resources . . . . . 8 3.2. Virtualization of Computing Resources . . . . . . . . . . 8 3.3. Virtualization of Network-Level Resources . . . . . . . . 8 3.4. Virtualization for Network Coding . . . . . . . . . . . . 8 3.5. Network Coding Controller and APIs . . . . . . . . . . . 8 4. Network Coding Control and SDN . . . . . . . . . . . . . . . 8 4.1. Apps and Service Layer . . . . . . . . . . . . . . . . . 8 4.2. Control Layer . . . . . . . . . . . . . . . . . . . . . . 9 4.3. Virtualization Layer . . . . . . . . . . . . . . . . . . 9 4.4. Physical Resources Layer . . . . . . . . . . . . . . . . 9 4.5. Management and Orchestration . . . . . . . . . . . . . . 9 4.6. APIs: For Example Transport APIs . . . . . . . . . . . . 9 4.7. Generic Lifecycle Management . . . . . . . . . . . . . . 9 5. Testbed Platform . . . . . . . . . . . . . . . . . . . . . . 9 6. Reference Implementation . . . . . . . . . . . . . . . . . . 10 7. Security Considerations . . . . . . . . . . . . . . . . . . . 10 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 10 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 10.1. Normative References . . . . . . . . . . . . . . . . . . 10 10.2. Informative References . . . . . . . . . . . . . . . . . 11 1. Introduction Background: Abstraction/Virtualization of the Elements of Network: Khasnabish, et al. Expires March 25, 2015 [Page 2] Internet-Draft Virtualization, SDN for Network Coding September 2014 Control of Network Coding: APIs: 1.1. Scope The scope of this document is discussion (and standardization) of utilizing virtualization and SDN paradigm in the emerging network coding. Ongoing discussions on virtualization and SDN can be found in the following IETF and IRTF Websites: NVO3 [http://datatracker.ietf.org/wg/nvo3/], ForCES [http://datatracker.ietf.org/wg/forces/], I2RS [http://datatracker.ietf.org/wg/i2rs/], SCIM [http://datatracker.ietf.org/wg/scim/], SPRING [http://datatracker.ietf.org/wg/spring/], SFC/NSC [http://datatracker.ietf.org/wg/sfc/], and SDN-RG [http://irtf.org/ sdnrg]. Virtualization has been discussed (and deployed) widely in the Computing Industry (e.g., server) in the context of efficient utilization of server resources. Virtual resources management in the context of Cloud and Data Center (DC) environment using unified API has been discussed in [I-D.junsheng-opsawg-virtual-resource-management]. IETF ForCES Logical Function Block (LFB) Subsidiary Management (SM) for supporting virtualization of ForCES Network Element (NE) including control Element (CE) and Forwarding Element (FE) has been recently discussed in [I-D.khs-forces-lfb-subsidiary-management]. 1.2. Abbreviations o API: Application Programming Interface o CPSI: Control Plane Southbound Interface o DAL: Device and resource Abstraction Layer o DC: Data Center o NC: Network Coding o NCC: Network Coding Controller o NE: Network Element Khasnabish, et al. Expires March 25, 2015 [Page 3] Internet-Draft Virtualization, SDN for Network Coding September 2014 o PL: Protocol Layer o SCTP: Stream Control Transmission Protocol o SDN: Software-Defined Network/Networking o TCP: Transport Control Protocol o TML: Transport Mapping Layer o VCE: Virtual CE o VDC: Virtual DC o VNE: Virtual NE 1.3. Conventions and Definitions The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. The following definitions are taken from the notional Network Coding Architecture slides (http://www.ietf.org/proceedings/88/slides/ slides-88-nwcrg-6.pdf). These are repeated here for convenience. o APP -- o APP Interface -- o Network Coding Transport Protocol -- o Network coding Aware Routing Protocol -- o Link Layer / MAC -- o Others -- 2. Separation of Control There are many advantages of separating control from forwarding, routing, transport, etc. in the emerging SDNs. The ability to integrate network coding in different layers provides the abstraction and the flexibility to choose to apply the technique based on different application characteristics. Khasnabish, et al. Expires March 25, 2015 [Page 4] Internet-Draft Virtualization, SDN for Network Coding September 2014 In addition to flexibility, this also offers additional reliability and scalability with minimal additional burden on cost and performance. 2.1. Separation Fundamentals Recent work in the SDNrg have focused on the terminology and a base layered architecture, described in [I-D.irtf-sdnrg-layer-terminology]. [I-D.irtf-sdnrg-layer-terminology] provides a detailed description of the SDN layers architecture by separating SDN into distinct planes, abstraction layers and interfaces. [I-D.irtf-sdnrg-layer-terminology] describes a number of different planes. The forwarding and operational plane associated with the device, the control and management plane and the application plane. In addition [I-D.irtf-sdnrg-layer-terminology] specifies their relevant interfaces and their characteristics as well as the abstraction layers that all comprise an SDN architecture. This document is well aligned with [I-D.irtf-sdnrg-layer-terminology]. Depending on where the network coding entity is located, in the forwarding or operational plane or as a service in the control plane different abstraction layers and interfaces are involved. For example if a network coding entity is located in the forwarding plane of the device, the operations of the network coding entity are described by the Device and resource Abstraction Layer (DAL) and the Network Coding Controller, described in Figure 1 and Figure 2, is a service of the control plane and uses a Control Plane Southbound Interface (CPSI) to control the network coding entity. 2.2. Separation of Control for Transport In this section we discuss how the separation of control for transport impacts the network coding and its implementation in the emerging software-defined networks or SDNs. Khasnabish, et al. Expires March 25, 2015 [Page 5] Internet-Draft Virtualization, SDN for Network Coding September 2014 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Network Coding Controller | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | | | | | | | | | | | | | | | | | +-+-+-+-+-+-+-+-+-+ | | | | | SCTP | | | | | +-+-+-+-+-+-+-+-+-+ | | | | | | | | +-+-+-+-+-+-+-+-+-+ | | | | MP-TCP | | | | +-+-+-+-+-+-+-+-+-+ | | | | | | +-+-+-+-+-+-+-+-+-+-+ | | | TCP | | | +-+-+-+-+-+-+-+-+-+-+ | | | | +-+-+-+-+-+-+-+-+-+-+ | | UDP | | +-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+ | Other | +-+-+-+-+-+-+-+-+-+ Figure 1 The network coding can be applied for different transport protocols based on what the controller specifies, as shown in Figure 1. For example, the controller can orchestrate the network coding entity to code all the traffic on specific TCP/UDP sockets. This requires the APIs from network coding controller (NCC) to program the network coding function in the forwarding plane to intercept the interesting transport layer packets and code them. 2.3. Separation of Control for network layer In this section we discuss how the separation of control for routing impacts the network coding and its implementation in the emerging software-defined networks or SDNs. Khasnabish, et al. Expires March 25, 2015 [Page 6] Internet-Draft Virtualization, SDN for Network Coding September 2014 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Network Coding Controller | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | | | | | | | | | | | | | | | | | +-+-+-+-+-+-+-+-+-+ | | | | | IP-MPLS | | | | | +-+-+-+-+-+-+-+-+-+ | | | | | | | | +-+-+-+-+-+-+-+-+-+ | | | | MPLS-TP | | | | +-+-+-+-+-+-+-+-+-+ | | | | | | +-+-+-+-+-+-+-+-+-+-+ | | | OTN | | | +-+-+-+-+-+-+-+-+-+-+ | | | | +-+-+-+-+-+-+-+-+-+-+ | | DWDM, ROADM | | +-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+-+ | Other | +-+-+-+-+-+-+-+-+-+ Figure 2 The network coding can be applied on the originating node and/or in intermediate forwarding nodes at the Layer 3 as shown in Figure 2. The NCC can orchestrate the network coding entity running at the network layer to code packets with desired granularity. The granularity can be, for example, all the IP and MPLS packets must be coded. A more granular example, all the MPLS packets matching a certain MPLS label should be coded or a five-tuple in the IP must be matched to determine if the packet is to be coded or not. 2.4. Separation of Control for Forwarding In this section we discuss how the separation of control for forwarding impacts the network coding and its implementation in the emerging software-defined networks or SDNs. Khasnabish, et al. Expires March 25, 2015 [Page 7] Internet-Draft Virtualization, SDN for Network Coding September 2014 3. Virtualization and its use in Network Coding In this section, we discuss general virtualization of applications/ services, and computing/networking resources. We then explore the impact of virtualization on emerging networking coding (architecture, control, and services). 3.1. Virtualization of Application/Service Resources Virtualization of Application/Service resources is becoming increasingly popular with the proliferation of the APP based services in the mobile and Tablet world. 3.2. Virtualization of Computing Resources Virtualization of computing resources has been widely used in Cloud Computing [I-D.khasnabish-cloud-reference-framework] environment. 3.3. Virtualization of Network-Level Resources In this section we discuss virtualization of network resources. The network resources typically include routers, switches, and topology and routing databases, policy and security controllers, etc. 3.4. Virtualization for Network Coding In this section we discuss virtualization for network coding, its benefits and implementation and management hurdles. 3.5. Network Coding Controller and APIs In this section we discuss the features/functions of the Network Coding Controller (NCC), and possible NCC APIs. Although North- and South-bound APIs are the most important ones, East, West, etc. bound APIs may be also very useful. 4. Network Coding Control and SDN In this section we discuss a high-level architecture for network/ service function virtualization and Software-Defined Networking. 4.1. Apps and Service Layer In this section we discuss the elements and capabilities of the Application and Service layer. Khasnabish, et al. Expires March 25, 2015 [Page 8] Internet-Draft Virtualization, SDN for Network Coding September 2014 4.2. Control Layer In this section we discuss the features/functions and the capabilities of the Control layer. 4.3. Virtualization Layer In this section we discuss the details of the virtualization layer. 4.4. Physical Resources Layer In this section we discuss the elements of the physical layer. 4.5. Management and Orchestration In this section we discuss efficient management and Orchestration in virtualized multi-technology and multi-admin-domain environments. 4.6. APIs: For Example Transport APIs For the emerging Network Coding, defining an appropriate API for dynamically selecting application/service based Transport may be the most suitable option. For example, SCTP [RFC4960] may be more suitable than TCP/Multi-Path-TCP [RFC6824] or UDP [RFC0768] or any other variants for some applications/services. The added flexibility (due to using an open Transport API) will allow guided navigation of sessions/flows through a variety of network operations systems and physical/virtual infrastructure network/ service elements. This will help achieve unified and seamless user experience irrespective of what the underlying network infrastructure is. Further discussion in this area can be found in [I-D.montpetit-transport-strawman]. 4.7. Generic Lifecycle Management In this section we discuss the generic lifecycle management of virtual entities. 5. Testbed Platform Texts and diagram(s) related to Testbeds will be added in this section. Khasnabish, et al. Expires March 25, 2015 [Page 9] Internet-Draft Virtualization, SDN for Network Coding September 2014 6. Reference Implementation Texts and diagram(s) related to Reference implementation(s) will be added in this section. 7. Security Considerations Although the use virtualization and separation of control and transport (and forwarding) open up the possibility of supporting greater flexibility and scalability, these also make the network resources more vulnerable to abuse and spoofing. For example, the security considerations for virtualized resources in DC environment can be found in [I-D.karavettil-vdcs-security-framework]. 8. IANA Considerations This document introduces no additional considerations for IANA. 9. Acknowledgments The author(s) would like to thank Victor, Brian, Marie-Jose, and many others for their discussions and support. 10. References 10.1. Normative References [I-D.irtf-sdnrg-layer-terminology] Haleplidis, E., Pentikousis, K., Denazis, S., Salim, J., Meyer, D., and O. Koufopavlou, "SDN Layers and Architecture Terminology", draft-irtf-sdnrg-layer- terminology-01 (work in progress), September 2014. [I-D.junsheng-opsawg-virtual-resource-management] Chu, J., Khasnabish, B., Qing, Y., and Y. Meng, "Virtual Resource Management in Cloud", draft-junsheng-opsawg- virtual-resource-management-00 (work in progress), July 2011. [I-D.karavettil-vdcs-security-framework] Karavettil, S., Khasnabish, B., Ning, S., and W. Dong, "Security Framework for Virtualized Data Center Services", draft-karavettil-vdcs-security-framework-05 (work in progress), December 2012. Khasnabish, et al. Expires March 25, 2015 [Page 10] Internet-Draft Virtualization, SDN for Network Coding September 2014 [I-D.khasnabish-cloud-reference-framework] Khasnabish, B., Chu, J., Ma, S., Ning, S., Unbehagen, P., Morrow, M., Hasan, M., Demchenko, Y., and M. Yu, "Cloud Reference Framework", draft-khasnabish-cloud-reference- framework-06 (work in progress), January 2014. [I-D.khs-forces-lfb-subsidiary-management] Khasnabish, B., Haleplidis, E., and J. Salim, "IETF ForCES Logical Function Block (LFB) Subsidiary Management", draft-khs-forces-lfb-subsidiary-management-01 (work in progress), July 2014. [I-D.montpetit-transport-strawman] Montpetit, M., Zhovnirovsky, I., and B. Reuther, "Transport Services Strawman Architecture", draft- montpetit-transport-strawman-01 (work in progress), February 2014. [RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, August 1980. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC4960] Stewart, R., "Stream Control Transmission Protocol", RFC 4960, September 2007. [RFC6824] Ford, A., Raiciu, C., Handley, M., and O. Bonaventure, "TCP Extensions for Multipath Operation with Multiple Addresses", RFC 6824, January 2013. 10.2. Informative References [RFC3654] Khosravi, H. and T. Anderson, "Requirements for Separation of IP Control and Forwarding", RFC 3654, November 2003. [RFC3746] Yang, L., Dantu, R., Anderson, T., and R. Gopal, "Forwarding and Control Element Separation (ForCES) Framework", RFC 3746, April 2004. Authors' Addresses Khasnabish, et al. Expires March 25, 2015 [Page 11] Internet-Draft Virtualization, SDN for Network Coding September 2014 Bhumip Khasnabish ZTE TX, Inc. 55 Madison Avenue, Suite 160 Morristown, New Jersey 07960 USA Phone: +001-781-752-8003 EMail: vumip1@gmail.com, bhumip.khasnabish@ztetx.com URI: http://tinyurl.com/bhumip/ Senthil Sivakumar Cisco Systems Inc. 7100-8 Kit Creek Road Durham, North Carolina 27709 USA Phone: +001-919-392-5158 EMail: ssenthil@cisco.com Evangelos Haleplidis University of Patras Department of Electrical and Computer Engineering Patras 26500 Greece EMail: ehalep@ece.upatras.gr Khasnabish, et al. Expires March 25, 2015 [Page 12]