MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG SDN-Like: A Network-as-a-Service Publish/Subscribe Model IBM F2C2, July 29-30th 2013 Kaiwen Zhang Collaborators: Reza Sherafat Young Yoon Hans-Arno Jacobsen msrg.org/papers/sdnlike Content-Based Publish/Subscribe match & publisher forward MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG broker subscriber name name = = `IBM’ ‘IBM’ name = `IBM’ price = $40 (topic-based) subscriber Advertisement path Subscription path Publication path name = `IBM’ price > $30 (content-based) 2 Software-Defined Networking MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG 3 Overview MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG Virtualized Publish/Subscribe Network-as-a-Service SDN-Like Publish/Subscribe Content-based Publish/Subscribe Cross-layer Content-based Publish/Subscribe SDN Data/Control Decoupling in Publish/Subscribe 4 Publish/Subscribe-as-a-Service Customer base MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG Elastisticity, QoS, Migration... Customer 1 Customer 2 Customer 3 P B1 S3 Virtual B0 P/S network S P P S2 S Telecommunication Companies S 5 SDN-Driven Publish/Subscribe MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG Advertise: Publish: Subscribe: name = ‘IBM’ name = ‘IBM’ 6 Channelization Forwarding MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG OpenFlow switch Flow table Flow pattern Flow pattern Action Action Statistics Statistics - Identify publication flows by packet header (eg. IP, MPLS) - Flow created per subscription group - Forward to next hops of destination set - Modify header to match downstream flows 7 Pros and Cons MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG SDN-driven over broker-based: Can achieve line-speed rate, offload computation from hosts Space limitation? - |Flow entries| - |Address range| Ground layers: brokers and clients Incremental deployment? Water layers: - How to handle IP multicast switches and routers in non-SDN routers? Amphibious Publish/Subscribe MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG [Sherafat et al.] B1 S3 B0 Ingress datacenter selection for broker VM deployment S2 Cost model considers: - Broker VM deployment, bandwidth - Switch entry, bandwidth General topology? - Multi-switches path - Virtual switches Frequent and large subscription groups (FLSGs): maximize gain of flow entries Multitenancy? No home assets: - QoS in cost model Direct forwarding - Customer pricing - Flow isolation - Client churn Publish/Subscribe Decoupling Properties MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG S1 P Publish/Subscribe Service S2 ??? S3 Space decoupling Time decoupling Synchronization decoupling ??? Data/Control Decoupling - Advertisement control - Publication control Ad IM Advertiser MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG Policy-based: - Metadata Control - Current state Plane - Application Interest Manager C S1 Pr P Publish/Subscribe Service C S2 C S3 Producer Production decoupling Consumption decoupling Consumer Data Plane Example Use Cases Functionality Use case MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG Application Scenario Advertisement control Spam filter Social news digest Publication control Translation Service interoperability Subscription control Parametric subscriptions Intrusion detection Conclusions MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG Virtualized Publish/Subscribe Network-as-a-Service SDN-Like Publish/Subscribe Content-based Publish/Subscribe Cross-layer Content-based Publish/Subscribe SDN Data/Control Decoupling in Publish/Subscribe 1 3 MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG Thank you! Questions? padres.msrg.org msrg.org/papers/sdnlike 1 4 Channelization Forwarding MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG OpenFlow switch S1 S2 S3 F1 Flow table Flow pattern Flow pattern S4 S1 S2 F2 S3 S4 Action Action Statistics Statistics - Identify publication flows by packet header - Flow created per subscription group - Forward to next hops of destination set - Modify header to match downstream flows 1 5 IP Multicast Flow Matching MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG [Koldehofe et al.] IPfix ∘ Bitstring Limit to multicast range: IPv4 – 224.0.0.0/8 IPv6 – ff0e::/8 - Craft publication IP address - IP flow corresponds to subscription destination set - Encode pubs and subs using spatial indexing - Establish paths to covered subscribers 1 10 010* R1 P p = “0110” 0* R0 011* R2 1011 0101* S 0 0101* S1 011* S 2 0110* S3 MPLS-Based Flow Matching MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG ip-payload ip-header mpls-header dstip : IPsw pkt = label1 : SG p i label2 : SGj mpls-payload p Unwrap MPLS header: IP of Limit replication factor: Compute destination IPs dispatch switch Multi-switches MPLS - Replicate and forward Frequent and Large Subscription Groups MIDDLEWARE SYSTEMS RESEARCH GROUP MSRG.ORG SG1 : {S1, S2, S4} AllSGsp = {SG1}, residualSet = {S3} S2 S1 S3 Support for false positive groups: Broker-assisted filtering Topology-aware group management S4