Internet DRAFT - draft-zhu-srpof-ehdt

draft-zhu-srpof-ehdt



 



INTERNET-DRAFT                                                Zuqing Zhu
Intended Status: Informational               Univ. Sci. & Tech. of China
Expires: Feb 14 , 2019                                      Aug 14, 2018


           Source Routing with Protocol-oblivious Forwarding 
              to Enable Efficient e-Health Data Transfer 
                        draft-zhu-srpof-ehdt-00


Abstract

   It has already been confirmed that software-defined networking (SDN)
   can make the networks more programmable, adaptive and application
   aware. However, due to the large-scale and geographically-distributed
   nature of wide-area networks (WAN), the scalability could become a
   critical issue if we incorporate SDN for WANs (i.e., realizing SD-
   WANs). In this paper, we design and implement a novel network system
   that can leverage source routing with the protocol-oblivious
   forwarding (POF) to facilitate efficient e-Health data transfers with
   low setup latency. We develop the POF-based source routing protocol
   to realize a pipeline based packet processing procedure, which can
   replace the table-lookup based approach in traditional SDN networks
   and make the forwarding plane more efficient. The proposed scheme is
   demonstrated experimentally, and the results verify that with it, the
   flow-tables installed in each core switches in a POF-controlled SD-
   WAN can be minimized and the path setup latency of traffic flows can
   be reduced significantly as well.


Status of this Memo

   This Internet-Draft is submitted to IETF in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as
   Internet-Drafts.

   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."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/1id-abstracts.html

 


Zuqing Zhu                Expires Feb 14, 2019                  [Page 1]

INTERNET DRAFT          draft-zhu-srpof-ehdt-00             Aug 14, 2018


   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html


Copyright and License Notice

   Copyright (c) 2018 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
   (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  . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1  Terminology . . . . . . . . . . . . . . . . . . . . . . . .  4
   2.  POF-Based Source Routing in SD-WANs  . . . . . . . . . . . . .  5
     2.1 Packet Design for source Routing . . . . . . . . . . . . . .  6
     2.2 Procedure for Source Routing based Packet Processing . . . .  7
   3 Example  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
   4  Security Considerations . . . . . . . . . . . . . . . . . . . . 11
   5  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 11
   6  Conclusion  . . . . . . . . . . . . . . . . . . . . . . . . . . 11
   7  References  . . . . . . . . . . . . . . . . . . . . . . . . . . 11
     7.1  Normative References  . . . . . . . . . . . . . . . . . . . 11
     7.2  Informative References  . . . . . . . . . . . . . . . . . . 11
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11












 


Zuqing Zhu                Expires Feb 14, 2019                  [Page 2]

INTERNET DRAFT          draft-zhu-srpof-ehdt-00             Aug 14, 2018


1  Introduction

   Nowadays, the fast development of data-intensive applications, such
   as e-Health, e-Science, e-commerce, etc, has brought us into the Big
   Data era. It is known that certain Big Data applications may generate
   huge volumes of data, which needs to be transferred over wide-area
   networks (WANs) for timely processing. For instance, in a
   telemedicine network, the health-monitoring devices worn by a large
   population of subscribers can contribute a fair amount of traffic for
   real-time processing . As the subscribers usually locate in a
   geographically dispersed manner, it would be challenging to transfer
   the data to the processing module(s) with low latency. Hence, both
   flexible architecture and efficient protocols are required to achieve
   flexible traffic engineering in WANs, especially when cloud-based
   data gathering and processing are needed. Today's WAN architecture
   uses distributed traffic engineering mechanisms to reduce bandwidth
   congestion, but it has been proven to be inefficient due to the close
   coupling of the control and forwarding planes of the network. In
   order to support Big Data applications more efficiently, WANs also
   need a more programmable and adaptive architecture with effective
   network control and management (NC&M), which is similar to the
   innovation trends in other types of networks. Recently, software-
   defined networking (SDN)[RFC7149] has been proposed as a break-
   through technology that is promising for the next-generation Internet
   due to the fact that it decouples control and forwarding planes of a
   network and leverages centralized NC&M to make it more programmable,
   adaptive and application-aware. Thanks to the advances on SDN, the
   Big Data related traffic can be managed more efficiently in WANs.
   However, due to the large-scale and geographically distributed nature
   of WANs, the scalability could become a critical issue when
   incorporating SDN for WANs. Specifically, when the traffic volume
   increases, more and more flow-tables will be installed in the
   switches, which can use up their memory, make the table look-up and
   traffic scheduling increasingly complex, and increase the
   communication overhead significantly.

   Unfortunately, the aforementioned issue cannot be addressed properly
   with the initial implementation of SDN, i.e., OpenFlow [RFC7426].
   This is because OpenFlow defines protocol dependent flow-matching
   rules, which can lead to repeated flow-table installations and look-
   ups in the forwarding plane. In an OpenFlow-controlled WAN, the
   interactions between the switches and OpenFlow controller need to
   bear a relatively long communication latency, which is due to the
   physical distance between them and intrinsic. Hence, when setting up
   a flow by configuring the flow-table on each switch along the path,
   the hop-by-hop operation can cause a long setup delay. Note that,
   this is especially unwanted for the delay-sensitive e-Health data
   transfers that usually operate as mice flows. On the other hand, the
 


Zuqing Zhu                Expires Feb 14, 2019                  [Page 3]

INTERNET DRAFT          draft-zhu-srpof-ehdt-00             Aug 14, 2018


   increasing volume of flow-tables could be another killing factor for
   the software-defined WANs (SD-WANs). Specifically, due to its user
   population, an OpenFlow-controlled SD-WAN usually needs to deploy a
   huge number of flows, each of which may require to install a flow-
   table on all the switches along the routing path. Consequently, the
   switches' memory space for flow-tables can vanish quickly. Further
   more, most of the commercially-available OpenFlow-enabled switches
   cannot achieve a processing throughput of more than 500 FlowMods per
   second. In order to address the issues of OpenFlow mentioned above,
   recent researches have considered to enhance the programmability and
   flexibility of SDN forwarding plane, with the protocol-oblivious
   forwarding (POF) technology  or the programming protocol-independent
   packet processors (P4). The basic ideas behind POF and P4 are
   similar, i.e., trying to decouple network protocols from the
   forwarding procedure in SDN-enabled switches and make the forwarding
   plane reconfigurable, programmable and future-proof. More
   specifically, POF develops a protocol-independent instruction set
   that allows to express much more flexible packet processing than the
   current OpenFlow specifications , while P4 mainly focuses on
   designing a high-level network programming language for protocol
   innovations. Note that both approaches have attracted noticeable
   interests from the open networking foundation (ONF), and are
   considered in its project on protocol-independent forwarding (PIF).

   The memo describes a novel network system that can leverage source
   routing with POF to facilitate efficient e-Health data transfers with
   low setup latency. The memo also contains demonstration examples.

1.1  Terminology
   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 RFC 2119 [RFC2119].

   Software-Defined Networking (SDN) - A programmable networks approach
   that supports the separation of control and forwarding planes via
   standardized interfaces.

   Protocol Oblivious Forwarding (POF) - The protocol that is proposed
   by Huawei to provide a new way to develop SDN. 

   Match Fields - POF simply defines the search key of a matching field
   as a tuple <offset, length>. Here, offset indicates the start-
   location of the field in a packet, length tells the field's length in
   bits

   POF-FIS - All the instructions in POF-FIS utilize the tuple <offset,
   length> to locate the data that they need to operate on. This
   provides us the freedom to manipulate any bit(s) in packets at will,
 


Zuqing Zhu                Expires Feb 14, 2019                  [Page 4]

INTERNET DRAFT          draft-zhu-srpof-ehdt-00             Aug 14, 2018


   which is far more flexible than the scheme in OpenFlow. For instance,
   in the latest OpenFlow switch specifications, the push action is
   still protocol-specific and multiple actions have to be defined for
   each legacy protocol. However, all these push actions can be realized
   with one generic instruction in POF, which is add-field.
   Specifically, by using add-field, we can insert any field at any
   position in a packet. POF-FIS even includes a calculatefield
   instruction to provide the support on arithmetic and logical
   operations

   Flow Tables - The flow tables stored in a POF-enabled switch can be
   classified into four types, i.e., the maskedmatch (MM) table, the
   longest-prefix-match (LPM) table, the extract-match (EM) table, and
   the direct table (DT). These types of tables occupy different memory
   sizes and can be searched with various table lookup algorithms. Note
   that, a flow entry in all the tables consists of both matching
   field(s) and related instruction(s), except for DT, whose flow
   entries only include instructions. By leveraging these tables, the
   forwarding procedure in a POF-enabled switch can be abstracted as a
   data-path pipeline, and hence the network programmability and
   flexibility can be improved significantly.

   Metadata Memory -  When a switch needs to handle multiple tables in
   packet forwarding, it uses metadata memory to store the flow
   information that the current table processing generated for the next.
   POF-FIS defines three metadata-related instructions.


2.  POF-Based Source Routing in SD-WANs

   In this section, the memo explain the proposed POF-based source
   routing for SD-WANs, and describe both the network architecture and
   the forwarding procedure used by the POF enabled switches.The
   following figure shows the network architecture of a POF-based SD-
   WAN, which consist of a centralized POF controller, and core and edge
   switches. Note that, the edge switches work as the gateways to peer
   networks, while the core switches focus on packet forwarding inside
   the SD-WAN.










 


Zuqing Zhu                Expires Feb 14, 2019                  [Page 5]

INTERNET DRAFT          draft-zhu-srpof-ehdt-00             Aug 14, 2018


   +-------------------------------------------------+
   |                                                 |
   |                  POF Controller                 |
   |                                                 |
   +-------+----------------+----------------+-------+
           |                |                |
           |                |                | Data Plane
   +-------V----------------V----------------V-------+
   |                                                 |
   |                   +-----------+                 |
   |                   |core switch|                 |
   |                   +-----------+                 |
   |  +-----------+                    +-----------+ |
   |  |edge switch|                    |edge switch| |
   |  +-----------+                    +-----------+ |
   +-------------------------------------------------+ 

2.1 Packet Design for source Routing 

   Thanks to the protocol-independent nature of POF, there is no need to
   reuse the header fields in legacy protocols(e.g., VLAN and MPLS). 
   Basically, the packet fields can be tailored specially to enable
   efficient source routing. Here, the fields are still designed to
   store the path information, and the following figure describes the
   proposed packet format for POFbased source routing. Specifically, the
   source routing related header fields are inserted in between Ethernet
   header and IP header. Moreover, after inserting the new fields, we
   modify the type field in Ethernet header to "0x0908" to indicate that
   the Ethernet frame contains a POF-based source routing packet. The
   detailed descriptions on the new fields are as follows.

   +-----------+---------------------+----------+------------//--+
   | Ethernet  |Source Routing Header|   IP     |     Data       |
   +-----------+---------------------+----------+-----------//---+
               /                      \
              /                        \
             /                          \
            +---+-----+-----+-----+------+
            |TTL|Port1|Port2| ... |PortN |
            +---+-----+-----+-----+------+
            0   8     40    72    
   Time-to-Live (TTL): This field occupies 8 bits and indicates the
   remaining hops for the packet to travel to its destination in the
   POF-based SD-WAN. Therefore, the value of this field will be set at
   the ingress edge switch, and in each subsequent switch, its value is
   decreased by 1. When the packet is about to leave the POF-based
   SDWAN, the egress edge switch remove it by applying the del-field
   instruction.
 


Zuqing Zhu                Expires Feb 14, 2019                  [Page 6]

INTERNET DRAFT          draft-zhu-srpof-ehdt-00             Aug 14, 2018


   Port: This field occupies 32 bits , and its value identifies an
   output port on a POF-enabled switch. Note that, a source routing
   packet can contain multiple Port fields to represent the forwarding
   path, and all the fields form a Port stack. Each switch pops the
   first Port field (i.e., with <offset=120 bits, length=32 bits>) from
   the Port stack to find the output port for the packet. This is done
   by writing the value of the Port field to the metadata memory and
   removing the field from the packet, i.e., with the writedata-from-
   packet and del-field instructions, respectively.

2.2 Procedure for Source Routing based Packet Processing

   The following two figures show the principle and detailed procedure
   of POF-based source routing, respectively.

                |
                |
   +------------|------------------------------------+
   |            |                                    |
   |            |                                    |
   |      +-----V------+   Table miss                |
   |      |Table Lookup|---------+                   |
   |      +-----|------+         |                   |
   |            | Match          |                   |
   |            |                |                   |
   |      +-----V------+  +------V------+            | 
   |      |Push source |  |Send         |            |  
   |      |routing     |  |Packet-in to |            |
   |      |header      |  |Controller   |            |
   |      +-----|------+  +-------------+            |
   |            |                                    |
   |            |                                    |
   |      +-----V------+                             |
   |      |Output      |                             |
   |      +-----|------+                             |
   |            |                 Edge Switch        |
   |            |                                    |
   +------------|------------------------------------+
                V









 


Zuqing Zhu                Expires Feb 14, 2019                  [Page 7]

INTERNET DRAFT          draft-zhu-srpof-ehdt-00             Aug 14, 2018


                |
                |
   +------------|-------------------------------------+
   |            |                                     |
   |    +-------V--------+    No                      |
   |    |EtherType=0x0908|-------------+              |
   |    +-------|--------+             |              |
   |            |Yes                   |              |
   |    +-------V--------+    +--------V--------+     |       
   |    |Write PortId to |    |Other packet     |     |
   |    |Metadata        |    |processing       |     |
   |    +-------|--------+    +-----------------+     |
   |            |                                     |
   |    +-------V--------+    Yes                     |
   |    |    TTL=1       |------------+               |
   |    +-------|--------+            |               |
   |            |No                   |               |
   |    +-------V--------+    +-------V--------+      |
   |    |Pop port field  |    |Pop source      |      |
   |    +-------|--------+    |routing header  |      |
   |            |             +-------|--------+      |
   |    +-------V--------+            |               |
   |    |Send to output  |            |               |
   |    |Port            |<-----------+               |
   |    +-------|--------+                            |
   |            |                         Core Switch |
   +------------|-------------------------------------+
                V
   When the first packet of a flow arrives at an ingress edge switch, it
   triggers a PacketIn message to be sent to the POF controller, since
   there is no flow entries to match against. Upon receiving the Packet-
   In message, the controller calculates a routing path for the flow,
   and sends a Flow-Mod message to the ingress edge switch, which
   encodes the designated output port to use on each switch along the
   path. The ingress edge switch stores the output ports in its metadata
   memory, and will insert them into every packet of the flow by using
   POF-FIS. The subsequent core switches use a pre-installed pipeline-
   like matching rule that consists of multiple flow tables to process
   the packets. Note that, since the forwarding path is encoded in each
   packet, the core switches do not need to have any interactions with
   the controller, and hence the setup latency is reduced significantly.

   The following figure shows the proposed procedure used to process the
   flow tables in a core switch for source routing. We use three flow
   tables, including two MM tables and one DT table, to realize the
   overall source routing functionality as follows


 


Zuqing Zhu                Expires Feb 14, 2019                  [Page 8]

INTERNET DRAFT          draft-zhu-srpof-ehdt-00             Aug 14, 2018


                         |
   +---------------------|------------------------------------------+
   |    +----------------V---------------+                          |
   |    |       Table 0 (MM)             |            POF Switch    |
   |    +--------------------------------+                          | 
   |    |   Match        | Instructions  |                          |
   |    +--------------------------------+                          |
   |    |{96b,26b}=0x0908|goto-table1    |--------+                 | 
   |    +--------------------------------+        |                 |
   |                                              |                 |
   |                       +----------------------+                 |
   |                       |                                        |
   |    +------------------V-------------+                          | 
   |    |           Instructions         |                          | 
   |    +--------------------------------+                          | 
   |    |write-metadata-from-packet      |                          |
   |    |{0b,32b}=={120b,32b}            |---------------+          |
   |    |   goto-table:table2            |---+           |          |
   |    +--------------------------------+   | +---------V---------+|
   |                                         | |Metadata Memory    || 
   |                    +--------------------+ +-------------------+| 
   |                    |                      |Port Buffer{0b,32b}|| 
   |                    |                      +-------------------+| 
   |    +---------------V-------------------+                       |  
   |    |         Table 2 (MM)              |                       |  
   |    +---------------|-------------------+                       |   
   |    |   Match       | Instructions      |                       |  
   |    +-----------------------------------+                       |  
   |    |               |mod-field{96b,16b} |                       |  
   |    |               |output:port{0b,32b}|                       |  
   |    +-----------------------------------+                       |   
   |    | {112b,8b}==*  |del-field{120b,32b}|                       |  
   |    |               |output:port{0b,32b}|                       |
   |    +-----------------------------------+                       |
   |                                                                |
   +----------------------------------------------------------------+ 
   The source routing packet arrives at the switch first goes to Table
   0, which includes an entry to check the type field in its Ethernet
   header, i.e., with <offset, length> equals <96 bits, 16 bits>. If its
   value equals 0x0908, we determines that it is a source routing packet
   and should be sent to Table 1.

   Table 1 is a DT, and the entries in it only include instructions, as
   shown in the figure. Here, the switch executes the write-metadata-
   from-packet instruction to copy the value at <120 bits, 32 bits>
   (i.e., the Port field to encode the output port for this hop) to its
   metadata memory.

 


Zuqing Zhu                Expires Feb 14, 2019                  [Page 9]

INTERNET DRAFT          draft-zhu-srpof-ehdt-00             Aug 14, 2018


   Table 2 includes two entries that are used to determine whether the
   switch is the packet's last hop. Specifically, it checks the TTL
   field (i.e., <112 bits, 8 bits>). If the value of the TTL field
   equals 1, the switch is the last hop of this packet and it invokes
   the del-field instruction to delete the whole source routing related
   fields in the packet and restore the type field in the Ethernet
   header to its original value (e.g., 0x0800 for an IPv4 packet).
   Otherwise, the switch only removes the Port field for this hop. The
   output instruction is then used to forward the packet to its
   designated output port

3 Example
   The following example is to verify the functionality of the proposed
   POF-based source routing scheme. The figure shows the testbed, it
   consists of several software-based POFenabled switches and a
   controller.

                            +---------------+
                     +------| POF Controller|------+
                     |      +-------|-------+      |
                     |              |              |
                     |              |              |
                     |              |              |
   +-------+     +--------+     +--------+     +--------+    +------+
   | Host  |-----| Switch |-----| Switch |-----| Switch |----| Host |
   +-------+     +--------+     +--------+     +--------+    +------+



   An ICMP Request packet first arrives at edge switch S1, where it
   finds that there is no match rules configured for it. Then, S1 sends
   a Packet-In message to the POF controller to ask for the forwarding
   policy. The POF controller handles the Packet-In message, calculates
   a path together with the output ports on each hop along it, and
   instructs edge switch S1 to convert the packets to source routing
   ones by encoding the output port information in them.












 


Zuqing Zhu                Expires Feb 14, 2019                 [Page 10]

INTERNET DRAFT          draft-zhu-srpof-ehdt-00             Aug 14, 2018


4  Security Considerations
   The mechanism described in this document does not raise any new
   security issues for the PCEP protocols.


5  IANA Considerations

   This document includes no request to IANA.

6  Conclusion

   In this memo, designed and implemented a novel network system that
   could leverage source routing with POF to facilitate efficient e-
   Health data transfers with low setup latency. We developed the POF-
   based source routing protocol to realize a pipeline based packet
   processing procedure, which could replace the table-lookup based
   approach in traditional SDN networks and make the forwarding plane
   more efficient. The proposed scheme was demonstrated experimentally,
   and the results verified that with it, the flow-tables installed in
   each core switches in a POF-controlled SD-WAN could be minimized and
   the path setup latency of traffic flows could be reduced
   significantly as well. convert the packets to source routing ones by
   encoding the output port information in them.

7  References

7.1  Normative References

      [RFC7149]  Boucadair, M., "Software-Defined Networking: A         
                 Perspective from within a Service Provider             
                 Environment", RFC 7149, March 2014.

      [RFC7426]  E. Haleplidis, Ed., "Software-Defined Networking (SDN):
                 Layers and Architecture Terminology", RFC 7426,January 
                 2015. 


7.2  Informative References



Authors' Addresses


   Zuqing Zhu
   University of Science and Technology of China, 
   96 Jinzhai Rd., Hefei, Anhui, 230026, China.

 


Zuqing Zhu                Expires Feb 14, 2019                 [Page 11]

INTERNET DRAFT          draft-zhu-srpof-ehdt-00             Aug 14, 2018


   EMail: zqzhu@ustc.edu.cn


















































Zuqing Zhu                Expires Feb 14, 2019                 [Page 12]