Abstrac(ons ¡for ¡Middleboxes ¡ ¡ ¡ ¡ ¡ ¡ ¡Vyas ¡Sekar ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Sylvia ¡Ratnasamy ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Intel ¡Labs ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡UC ¡Berkeley ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ à ¡StonyBrook ¡ 1 ¡
Need ¡for ¡In-‑Network ¡Func(ons ¡ Changing ¡ ¡ applica(ons ¡ Evolving ¡ ¡ threats ¡ Policy ¡ ¡ ¡ Performance ¡ constraints ¡ ¡ Security ¡ ¡ ¡ ¡ Compliance ¡ ¡ New ¡devices ¡ 2 ¡
Middleboxes ¡Galore! ¡ Lixia ¡Zhang: ¡ ¡ ¡“any ¡intermediary ¡device ¡performing ¡func?ons ¡other ¡than ¡the ¡normal, ¡standard ¡ func?ons ¡of ¡an ¡IP ¡router ¡on ¡the ¡datagram ¡path ¡between ¡a ¡source ¡host ¡and ¡des?na?on ¡host” ¡ Type ¡of ¡appliance ¡ ¡ Number ¡ Firewalls ¡ 166 ¡ NIDS ¡ 127 ¡ Data ¡from ¡a ¡ ¡large ¡enterprise: ¡ Media ¡gateways ¡ 110 ¡ ¡ ¡>80K ¡users ¡across ¡tens ¡of ¡sites ¡ Load ¡balancers ¡ 67 ¡ Proxies ¡ 66 ¡ VPN ¡gateways ¡ 45 ¡ WAN ¡Op(mizers ¡ 44 ¡ Voice ¡gateways ¡ 11 ¡ Total ¡Middleboxes ¡ 636 ¡ Total ¡routers ¡ ~900 ¡ 3 ¡
Middleboxes ¡everywhere ¡ >100k hosts 1k-10k hosts 10k-100k hosts <1k hosts 10000 Number of devices Survey ¡across ¡ ¡ 1000 57 ¡network ¡ 100 operators ¡ 10 1 All Middleboxes L3 Routers L2 Switches Middleboxes ¡are ¡a ¡cri?cal ¡part ¡of ¡the ¡network ¡ 4 ¡
Valuable, ¡but ¡“pain ¡points” ¡for ¡everyone ¡ ¡ Network ¡ ¡ Operators ¡ Middlebox ¡ ¡ Architects ¡ • Cost, ¡Sprawl ¡ • OpEx ¡ ¡ • Inflexible ¡ ¡ • Can’t ¡mone(ze ¡ ¡ (ISP) ¡ ¡ ¡ Lack ¡high-‑level ¡ ¡ primi(ves ¡ • Opaque ¡black ¡boxes ¡ Users ¡& ¡ ¡ • Can’t ¡request ¡services ¡ Researchers ¡ 5 ¡
Evolu(on ¡of ¡the ¡Middlebox ¡Debate ¡ Denial ¡(they ¡shouldn’t ¡exist) ¡ ¡ ¡ à ¡Acceptance ¡(live ¡with/workaround ¡them) ¡ This ¡is ¡how ¡network ¡innova?on ¡occurs! ¡ How ¡can ¡we ¡learn ¡from ¡and ¡extend ¡this ¡success? ¡ What ¡abstrac(ons ¡do ¡we ¡need? ¡ For ¡Operators, ¡Users, ¡Architects ¡ ¡ à ¡Build, ¡manage ¡middleboxes? ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ à ¡Leverage ¡the ¡capabili?es? ¡ ¡ ¡ 6 ¡
Outline ¡ • Overview ¡ ¡ • Abstrac7ons ¡for ¡Operators ¡ • Abstrac(ons ¡for ¡Users ¡ ¡ • Abstrac(ons ¡for ¡Architects ¡ ¡ • Synergies ¡and ¡Discussion ¡ 7 ¡
Operator ¡View ¡Today ¡ Narrow ¡ Management ¡ Management ¡ Management ¡ management ¡ interfaces ¡ ¡ ¡ ¡ ¡ ¡ Device-‑centric ¡ abstrac(ons ¡ 8 ¡
Operator ¡View ¡Today ¡ Physical ¡boxes, ¡named ¡with ¡IP, ¡coupled ¡to ¡loca(ons ¡ IDS, ¡IP2 ¡ Firewall, ¡IP1 ¡ ¡ ¡ ¡ ¡ ¡ Firewall, ¡IP4 ¡ Proxy, ¡IP3 ¡ e.g., ¡HTTP ¡needs ¡ Firewall ¡ à ¡ IDS ¡ à ¡ Proxy ¡ -‑-‑ ¡Complex, ¡Manual, ¡“Physical” ¡coupling ¡ -‑-‑ ¡Correctness ¡is ¡hard ¡to ¡verify ¡ 9 ¡
Logical ¡view: ¡“DataFlow” ¡Abstrac(on ¡ Specify ¡“what” ¡processing, ¡not ¡where/how ¡ Extranet, ¡ Proxy ¡ Firewall ¡ IDS ¡ Web ¡ “Raw” ¡ Intranet, ¡ Traffic ¡ Web ¡ Classifier ¡ Firewall ¡ Proxy ¡ Intranet, ¡ WanOpt ¡ NFS ¡ 10 ¡
Network-‑level ¡View ¡ Each ¡loca(on ¡offers ¡some ¡middlebox ¡capability ¡ ¡ ¡ ¡ ¡ ¡ Some ¡boxes ¡may ¡offer ¡ ¡ a ¡subset ¡of ¡capabili(es ¡ 11 ¡
Tie-‑in ¡with ¡SDN ¡world ¡ Fire ¡ Proxy ¡ IDS ¡ wall ¡ Proxy ¡ Fire ¡ Logical ¡View ¡ wall ¡ Wan ¡ Opt ¡ e.g., ¡NOX, ¡4D, ¡Maestro, ¡ ¡ Network ¡Controller ¡ RCP ¡ ¡ ¡ ¡ Physical ¡View ¡ ¡ ¡ 12 ¡
Control ¡Plane ¡for ¡Middleboxes ¡ Exis(ng ¡work: ¡Homogeneous ¡rou(ng-‑like ¡workload ¡ Network-‑wide ¡ ¡ ¡ Controller ¡ Configure? ¡ Middleboxes: ¡complex, ¡heterogeneous ¡ à ¡Policy ¡constraints, ¡resource ¡management ¡ à ¡New ¡challenges ¡and ¡opportuni(es ¡ 13 ¡
Policy: ¡Coverage ¡Requirement ¡ Coverage : ¡ ¡ For ¡each ¡UDP ¡session, ¡some ¡node ¡on ¡path ¡runs ¡IDS ¡ ¡ IDS ¡ IDS ¡ IDS ¡ UDP ¡ Session1 ¡ Session2 ¡ N1 ¡ ¡ N2 ¡ ¡ N3 ¡ ¡ Session3 ¡ Session1 ¡ Session3 ¡ Session2 ¡ Opportunity: ¡Flexibility ¡in ¡“placement” ¡ 14 ¡
Policy: ¡Ordering ¡Constraints ¡ Policy ¡Ordering: ¡ For ¡each ¡HTTP ¡session, ¡ ¡run ¡IDS ¡before ¡running ¡proxy ¡ ¡ IDS(Session1) ¡ Proxy(Session1) ¡ IDS(Session1) ¡ Proxy(Session1) ¡ IDS(Session1) ¡ Proxy(Session1) ¡ HTTP ¡ Session ¡1 ¡ N1 ¡ ¡ N2 ¡ ¡ N3 ¡ ¡ 15 ¡
Resource ¡Requirements ¡and ¡Load ¡ IDS ¡ IDS ¡ Proxy ¡ Proxy ¡ HTTP ¡ IDS ¡< ¡Proxy ¡ Session ¡1 ¡ ¡ Session ¡2 ¡ ¡ N1 ¡ à ¡N3 ¡ ¡ N3 ¡ ¡ N1 ¡ ¡ N2 ¡ ¡ Session1 ¡ Session2 ¡ Load ¡depends ¡on ¡which ¡sessions/ac(ons ¡ are ¡assigned ¡to ¡each ¡node ¡ Provisioning ¡and ¡Load ¡Balancing ¡ 16 ¡
Control ¡Plane ¡for ¡Middleboxes ¡ Resource ¡ Policy ¡ ¡ Rou(ng, ¡ ¡ ¡ Requirements ¡ Constraints ¡ Traffic ¡ Network-‑wide ¡ ¡ ¡ Controller ¡ Processing ¡ responsibili(es ¡ New ¡components: ¡Packet ¡steering, ¡Provisioning, ¡Placement ¡ 17 ¡
Outline ¡ • Overview ¡ ¡ • Abstrac(ons ¡for ¡Operators ¡ • Abstrac7ons ¡for ¡Users ¡ ¡ • Abstrac(ons ¡for ¡Architects ¡ ¡ • Synergies ¡and ¡Discussion ¡ 18 ¡
State ¡of ¡the ¡world ¡ ¡ ¡ ¡ ¡ ¡ Middleboxes ¡are ¡a ¡black-‑box ¡ Almost ¡no ¡abstrac(on ¡to ¡end ¡users ¡ à Can’t ¡get ¡“on-‑demand” ¡services ¡ à ISPs ¡can’t ¡offer ¡such ¡services ¡ 19 ¡
Waypoint ¡Abstrac(on ¡ Explicitly ¡route ¡via ¡middlebox ¡IP(s) ¡ e.g., ¡i3, ¡DOA, ¡RBF, ¡PASL ¡ IDS, ¡IP2 ¡ ¡ Firewall, ¡IP1 ¡ ¡ ¡ AS2 ¡ ¡ ¡ ¡ ¡ ¡ ¡ AS1 ¡ ¡ ¡ ¡ ¡ AS3 ¡ Source ¡ ¡ ¡ Discovery? ¡ Is ¡exposing ¡internal ¡structure ¡necessary? ¡ May ¡be ¡too ¡complex ¡for ¡applica(ons? ¡ Accoun(ng? ¡ ¡ Des(na(on ¡ 20 ¡
Proposal: ¡Treat ¡as ¡“Service” ¡ ¡ Single ¡logical ¡network ¡providing ¡processing ¡service ¡ ¡ Want: ¡ ¡ Firewall ¡+ ¡IDS ¡ ¡ ¡ ¡ ¡ ¡ AS3 ¡ AS1 ¡ AS2 ¡ Source ¡ ACK/NACK ¡ Des(na(on ¡ Control ¡ Data ¡ Abstract ¡away ¡“Where ¡in ¡network” ¡this ¡processing ¡occurs ¡ 21 ¡
Service ¡Resolu(on ¡ Control ¡ I ¡know ¡AS2 ¡can ¡provide ¡IDS ¡(not ¡IP) ¡ Data ¡ I ¡have ¡firewall ¡(not ¡IP) ¡ ¡ ¡ ¡ Want: ¡ ¡ AS2 ¡ ¡ ¡ Firewall ¡+ ¡IDS ¡ ¡ ¡ ¡ ¡ AS1 ¡ ¡ ¡ ¡ Resolving ¡ ¡ ¡ ¡ ISP ¡ ¡ ¡ ¡ ¡ AS3 ¡ ¡ Source ¡ Discovery? ¡ ✓ ¡ Is ¡exposing ¡internal ¡structure ¡necessary? ¡ ✓ ¡ Des(na(on ¡ May ¡be ¡too ¡complex ¡for ¡applica(ons? ¡ ✓ ¡ Accoun(ng? ¡ ✓ ¡ ¡ 22 ¡
Tradeoffs ¡vs. ¡Waypoint ¡Abstrac(on ¡ • Pros ¡ – Accoun(ng ¡is ¡simple ¡ ¡ • User ¡only ¡pays ¡resolving ¡ISP ¡akin ¡to ¡today’s ¡world ¡ • ISPs ¡“peers” ¡with ¡each ¡other ¡ – Control/Data ¡decoupling ¡ • ¡Data ¡plane/Packet ¡formats ¡are ¡unmodified ¡ – Designed ¡for ¡par(al/incremental ¡deployment ¡ ¡ • Forces ¡apps ¡to ¡think ¡of ¡“best-‑effort” ¡ ¡ • Cons ¡ – State ¡in ¡the ¡network ¡ • E.g., ¡tunnels ¡between ¡the ¡middleboxes ¡at ¡ISPs ¡ 23 ¡
Outline ¡ • Overview ¡ ¡ • Abstrac(ons ¡for ¡Operators ¡ • Abstrac(ons ¡for ¡Users ¡ ¡ • Abstrac7ons ¡for ¡Architects ¡ ¡ • Synergies ¡and ¡Discussion ¡ 24 ¡
Recommend
More recommend