(12) Patent Application Publication (10) Pub. No.: US 2016/0197831 A1 DE FOY Et Al
Total Page:16
File Type:pdf, Size:1020Kb
US 2016O197831A1 (19) United States (12) Patent Application Publication (10) Pub. No.: US 2016/0197831 A1 DE FOY et al. (43) Pub. Date: Jul. 7, 2016 (54) METHOD AND APPARATUS FORNAME Related U.S. Application Data RESOLUTION IN SOFTWARE DEFINED (60) Provisional application No. 61/866.579, filed on Aug. NETWORKING 16, 2013, provisional application No. 61/969,566, filed on Mar. 24, 2014. (71) Applicant: InterDigital Patent Holdings, Inc., Wilmington, DE (US) Publication Classification (72) Inventors: Xavier DE FOY, Montreal (CA); Hang (51) Int. Cl. Liu, North Potomac, MD (US); Hao Jin, H04L 2/743 (2006.01) King of Prussia, PA (US) H04L 2/72 (2006.01) (52) U.S. Cl. CPC .......... H04L 45/7453 (2013.01); H04L 45/566 (73) Assignee: InterDigital Patent Holdings, Inc., (2013.01) Wilimington, DE (US) (57) ABSTRACT This disclosure relates enhancements to a SDN system (21) Appl. No.: 14/911,600 including the controller, Southbound interface, and Open Flow devices, to enable hash-routing, and describes SDN (22) PCT Fled: Aug. 8, 2014 applications making use of this feature. More specifically, the application relates to Software Defined Networking (e.g., (86) PCT NO.: PCT/US1.4/SO363 OpenFlow) enhancements to facilitate the deployment and S371 (c)(1), usage of Distributed Hash Tables, for example as part of (2) Date: Feb. 11, 2016 Information Centric Networking (ICN). Patent Application Publication Jul. 7, 2016 Sheet 1 of 25 US 2016/O197831 A1 Patent Application Publication Jul. 7, 2016 Sheet 2 of 25 US 2016/O197831 A1 ,ae ¿? Patent Application Publication Jul. 7, 2016 Sheet 3 of 25 US 2016/O197831 A1 G09—, 609—, Patent Application Publication Jul. 7, 2016 Sheet 4 of 25 US 2016/O197831 A1 |07 607---- soooooooooooooos assooooooosaaaappsos so epoNLHCl Patent Application Publication Jul. 7, 2016 Sheet 5 of 25 US 2016/O197831 A1 Patent Application Publication Jul. 7, 2016 Sheet 6 of 25 US 2016/O197831 A1 z (15559 \en: E / |||9— ()||9 Patent Application Publication Jul. 7, 2016 Sheet 7 of 25 US 2016/O197831 A1 N 9 90/ Patent Application Publication Jul. 7, 2016 Sheet 8 of 25 US 2016/O197831 A1 908 G09 908 Patent Application Publication Jul. 7, 2016 Sheet 9 of 25 US 2016/O197831 A1 Patent Application Publication Jul. 7, 2016 Sheet 10 of 25 US 2016/O197831 A1 NCIS Patent Application Publication Jul. 7, 2016 Sheet 11 of 25 US 2016/O197831 A1 |0|| Patent Application Publication Jul. 7, 2016 Sheet 12 of 25 US 2016/O197831 A1 1201 Client Application / Northbound Interface of a SDNApplication Hash-Routing aware SDN -- 1203 \Control Application (e.g. 3 ) using OpenFlow stack) w SDN Controller SDN Control (e.g. OpenFlow protocol) 1204 -1 enhanced for hash-routing control -- 1205 Hash-Routing aware / SDN Control (e.g. OF stack) - 1207 Hash-Routing aware Message forwarding -- 12O6 (e.g. Ethernet switching) or routing Packets in Packets Out SDN-Controlled Switch Router FIG. 12 Patent Application Publication Jul. 7, 2016 Sheet 13 of 25 US 2016/O197831 A1 Patent Application Publication Jul. 7, 2016 Sheet 15 of 25 US 2016/O197831 A1 15/25 y 1338 ls the hash values A - for this input and Match packet vs. flow hash function « (following existing non-HRC aiready cached - OpenFlow matching 1346 W ^ - M i 1348 procedure)d w x N- y ff Calculate the hash value (and populate internal hash value Cache with hash Retrieve hash function descriptor + hash input value + value from internal resulting hash value hash value Cache - 1350 Compare hash value with D range specification to determine the match y / s 1352 / x Packet No (packet does X matches not match flow) Nflow entry? / N : / N Yes (match found) y 1354 Update counters ? Execute instructions: / - update action set M - update packet/match set fields - update metadata 1356 - - Yes (instruction includes Goto Goto-Table n) Table n? - N 1358 Execute action set FIG. 13C Patent Application Publication Jul. 7, 2016 Sheet 16 of 25 US 2016/O197831 A1 1401 SDN COntroller 1411 Networking Router/ SWitch Router/ SWitch (HRC Cap) ) ) 8 × 8 × 8 Control Plane Connection Data Plane Connection 14O7 FIG. 14 Patent Application Publication Jul. 7, 2016 Sheet 17 of 25 US 2016/O197831 A1 1411 1401 1413 1403 1405 14O7 1409 A A A A A Z A - 1500 Networking SDN Content SDNRouter SDNROuter | | SDNROuter SDM Border Second Aod on UE6 Controller Source on 2 3 4 Router 5 Network p UE1 (HRC Cap) (HRC Cap) Initial SDN control connections setup and configuration of the network devices by the controller. In OFPT FEATURES REPLY, SDN Router 2 and Border Router 5 both specify OFPC HASH ROUTING CONTROL, while other devices do not. Based on initial phase, SDN controller is aware 1503 of devices capabilities, ... I and therefore knows . 1505 which device is HRC A Capable A 1507 Get Supported Hash Functions (e.g. NetConf • message) - - 1509 Get Supported Hash Function Inputs Methods (e.g. NetConfmessages) Get Supported Hash Functions (e.g. NetConf Get Supported Hash Function inputs Methods (e.g. NetConfmessages) Networking App uses North-Bound API of 1513 8 an SDN application 'A'. 'A' is designed to - 8 1511 make use of Hash-Routing Control. up hash-routing 1515 to split content traffic in both direction between routers 1405 and Controller set flows on SDNRouters 1405 and 1407. CCN packets are forwarded between Border Router 1409 and Router 1403 Enhanced Flow Entry Modify (hash function murmurshash;3 128bits, hash input is con-name, range=O-(2-1), destination = router 1405- this Flow F1 is placed in a flow table 'A' 1519 that is used for all traffic that is to be directed towards outside the network domain & b Enhanced Flow Entry Modify (similar to above, except range=2'-(2-1), destination router 1407- this is flow F2 S- - - s 1521 - - - - - Enhanced Flow Entry Modify (hash function murmurshash;3 128bits, hash input is con-name, A 1523 range=O-(2-1), destination router E. flow'F3' is placed in a flow table 'B' that is used for all traffic that is to be directed towards inside the network domain / Enhanced Flow: Entry Modify (similar to above, except range=2'-(2-1), destination e. router 1407- this is flow '4' 8 b f CCN Content Redest 1525 C 1N 1Ny Maw 1N 1n Thay FIG. 15A Patent Application Publication Jul. 7, 2016 Sheet 18 of 25 US 2016/O197831 A1 1500 1411 1401 1413 1403 1405 1407 1409 MN 1527 \, Match flow accepting this CCN Content Request inside the domain (action: process through flow table 'B') y Process flow "F3 - hash value is \ >264, no match. * Process flow F4 - same hash value leads to a match this time. Action: forward towards router-4 1533, CCN Content Request y - 1531 The content object is not found in cache. Normal CCN forwarding towards Router 2 CCN Content Request s s Normal CCN forwarding towards s 1539 s Content Source 1535 YdCN Content Request 1537 H 1541 s-CBN Content Resppnse Match flow accepting this CCN Content Response to leave the -- 1543 domain (action: process through flow table 'A') I Process flow F1 - hash walue is >2^64, no match. 1545 Process flow 'F2 - same hash - value leads to a match this time. Action: forward towards router-4 1547 CCN Content Response - a Normal CCN forwarding towards Border Router 5 (Router 4 may - 1549 also cache the content object for later use) CCN Content Respnse ^ ^ Normal CCN forwarding 1551 - upstream towards requester f ccN content Respnse 553 } $ 1555 FIG. 15B Patent Application Publication Jul. 7, 2016 Sheet 19 of 25 US 2016/O197831 A1 1411 1401 - 1413 1403 1405 1407 1409 - 1500 Networking SDM Content SDNRouter son Router SN Router SDN Border second Aodon UE6 || controller | SC 2 3 4. Router 5 Network pp UE1 (HRC Cap) (HRC Cap) Initial SDN control Connections setup and configuration of the network devices by the controller. In OFPT FEATURES REPLY, SDNRouter 2 and Border Router 5 both specify OFPC HASH ROUTING CONTROL, while other devices do not. x Based on initial phase, \ SDN Controller is - 1503 \ 1501 aware of devices - capabilities, and therefore knows which 1505 device is HRC Capable ^ GetSupported Hash Functions (e.g NetConfmessage) 1507 s. i ^ Get Supported Hash Function inputs Methods (e.g. NetConfmessages 1509 se ? GetSupported Hash Functions (e.g. NetConfmessage) / e Get Supported Hash Function inputs Methods (e.g. NetConfmessages & w e Networking App uses North-Bound API of an || - 1513 \ 1511 SDN application 'A'. 'A' is designed to make use of Hash-Routing Control. 'A' decides to set up hash-routing to split Content traffic in both direction between routers - 1515 3 and 4 (e.g. for load 1517 balancing) ? Controller set flows on SDNRouters 3 and 4: CCN packets are forwarded between Border Router 5 and Router 2 Controller configures Function ID #0 to use Murmurh Hash3-64bits with CCNX object name as input --- 1619 Controller sets (1) flow F1 matching CCN traffic leaving the domain with Apply-Action HRC-Function ID #0 to table 12, and (2) 2 flows in table 12 splitting the traffic between router #3 and #4 based on metadata value 1621 Controller configures Functioh ID #0 to use Murmurhhash3-64-bits with CCNxobject name as input is 1623 Controller sets (1) flow F2 matching CCN traffic leaving the domain with Apply-Action "HRC-Function" ID #0 totable 12, and (2) 2 flows in table 12, splitting the traffic between router #3 and #4 based on metadata value (same splitting than in Router 2: i.e. same F. is allocated to router-3 (resp. router-4) in Router 2 and Router 5) < ‘. b 1625 1N 1n 1N an 1Ny MN MN 1N FIG.