Abstrac(ons for Middleboxes Vyas Sekar - - PowerPoint PPT Presentation

abstrac ons for middleboxes
SMART_READER_LITE
LIVE PREVIEW

Abstrac(ons for Middleboxes Vyas Sekar - - PowerPoint PPT Presentation

Abstrac(ons for Middleboxes Vyas Sekar Sylvia Ratnasamy


slide-1
SLIDE 1

Abstrac(ons ¡for ¡Middleboxes ¡

1 ¡

¡ ¡ ¡ ¡ ¡ ¡Vyas ¡Sekar ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Sylvia ¡Ratnasamy ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Intel ¡Labs ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡UC ¡Berkeley ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡à ¡StonyBrook ¡

slide-2
SLIDE 2

Need ¡for ¡In-­‑Network ¡Func(ons ¡

2 ¡

New ¡devices ¡ Changing ¡ ¡ applica(ons ¡ Evolving ¡ ¡ threats ¡ Policy ¡ ¡ constraints ¡

¡ ¡ ¡ ¡ ¡

Performance ¡ Security ¡ ¡ Compliance ¡

slide-3
SLIDE 3

3 ¡

Type ¡of ¡appliance ¡ ¡ Number ¡ Firewalls ¡ 166 ¡ NIDS ¡ 127 ¡ Media ¡gateways ¡ 110 ¡ Load ¡balancers ¡ 67 ¡ Proxies ¡ 66 ¡ VPN ¡gateways ¡ 45 ¡ WAN ¡Op(mizers ¡ 44 ¡ Voice ¡gateways ¡ 11 ¡ Total ¡Middleboxes ¡ 636 ¡ Total ¡routers ¡ ~900 ¡

Middleboxes ¡Galore! ¡

Data ¡from ¡a ¡ ¡large ¡enterprise: ¡ ¡ ¡>80K ¡users ¡across ¡tens ¡of ¡sites ¡

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” ¡

slide-4
SLIDE 4

Middleboxes ¡everywhere ¡

4 ¡

Survey ¡across ¡ ¡ 57 ¡network ¡

  • perators ¡

1 10 100 1000 10000 All Middleboxes L3 Routers L2 Switches Number of devices >100k hosts 10k-100k hosts 1k-10k hosts <1k hosts

Middleboxes ¡are ¡a ¡cri?cal ¡part ¡of ¡the ¡network ¡

slide-5
SLIDE 5

5 ¡

Valuable, ¡but ¡“pain ¡points” ¡for ¡everyone ¡ ¡

¡ ¡ ¡ ¡ ¡

Network ¡ ¡ Operators ¡ Users ¡& ¡ ¡ Researchers ¡ Middlebox ¡ ¡ Architects ¡

  • Cost, ¡Sprawl ¡
  • OpEx ¡
  • Inflexible ¡
  • Can’t ¡mone(ze ¡

(ISP) ¡ Lack ¡high-­‑level ¡ ¡ primi(ves ¡

  • Opaque ¡black ¡boxes ¡
  • Can’t ¡request ¡services ¡
slide-6
SLIDE 6

Denial ¡(they ¡shouldn’t ¡exist) ¡ ¡ ¡à ¡Acceptance ¡(live ¡with/workaround ¡them) ¡

6 ¡

Evolu(on ¡of ¡the ¡Middlebox ¡Debate ¡

What ¡abstrac(ons ¡do ¡we ¡need? ¡ For ¡Operators, ¡Users, ¡Architects ¡ This ¡is ¡how ¡network ¡innova?on ¡occurs! ¡ How ¡can ¡we ¡learn ¡from ¡and ¡extend ¡this ¡success? ¡ ¡à ¡Build, ¡manage ¡middleboxes? ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡à ¡Leverage ¡the ¡capabili?es? ¡ ¡ ¡

slide-7
SLIDE 7

Outline ¡

  • Overview ¡

¡

  • Abstrac7ons ¡for ¡Operators ¡
  • Abstrac(ons ¡for ¡Users ¡ ¡
  • Abstrac(ons ¡for ¡Architects ¡ ¡
  • Synergies ¡and ¡Discussion ¡

7 ¡

slide-8
SLIDE 8

Operator ¡View ¡Today ¡

8 ¡

¡ ¡ ¡ ¡ ¡

Narrow ¡ management ¡ interfaces ¡ Management ¡ Management ¡ Management ¡ Device-­‑centric ¡ abstrac(ons ¡

slide-9
SLIDE 9

Operator ¡View ¡Today ¡

9 ¡

¡ ¡ ¡ ¡ ¡

Firewall, ¡IP1 ¡ IDS, ¡IP2 ¡ Proxy, ¡IP3 ¡ Firewall, ¡IP4 ¡

Physical ¡boxes, ¡named ¡with ¡IP, ¡coupled ¡to ¡loca(ons ¡

e.g., ¡HTTP ¡needs ¡Firewall ¡à ¡IDS ¡à ¡Proxy ¡

  • ­‑-­‑ ¡Complex, ¡Manual, ¡“Physical” ¡coupling ¡
  • ­‑-­‑ ¡Correctness ¡is ¡hard ¡to ¡verify ¡
slide-10
SLIDE 10

Logical ¡view: ¡“DataFlow” ¡Abstrac(on ¡

10 ¡

Firewall ¡ WanOpt ¡ Firewall ¡ IDS ¡ Proxy ¡

Classifier ¡

Proxy ¡ Extranet, ¡ Web ¡ Intranet, ¡ NFS ¡ Intranet, ¡ Web ¡ “Raw” ¡ Traffic ¡

Specify ¡“what” ¡processing, ¡not ¡where/how ¡

slide-11
SLIDE 11

Network-­‑level ¡View ¡

11 ¡

¡ ¡ ¡ ¡ ¡

Each ¡loca(on ¡offers ¡some ¡middlebox ¡capability ¡ Some ¡boxes ¡may ¡offer ¡ ¡ a ¡subset ¡of ¡capabili(es ¡

slide-12
SLIDE 12

Tie-­‑in ¡with ¡SDN ¡world ¡

12 ¡

¡ ¡ ¡ ¡ ¡

Network ¡Controller ¡

Fire ¡ wall ¡ Wan ¡ Opt ¡ Fire ¡ wall ¡ IDS ¡ Proxy ¡ Proxy ¡

Logical ¡View ¡ Physical ¡View ¡

e.g., ¡NOX, ¡4D, ¡Maestro, ¡ ¡ RCP ¡

slide-13
SLIDE 13

Network-­‑wide ¡ ¡ ¡ Controller ¡

Control ¡Plane ¡for ¡Middleboxes ¡

13 ¡

Exis(ng ¡work: ¡Homogeneous ¡rou(ng-­‑like ¡workload ¡ Middleboxes: ¡complex, ¡heterogeneous ¡ à ¡Policy ¡constraints, ¡resource ¡management ¡ à ¡New ¡challenges ¡and ¡opportuni(es ¡

Configure? ¡

slide-14
SLIDE 14

Policy: ¡Coverage ¡Requirement ¡

14 ¡

UDP ¡ Session1 ¡ Session2 ¡ Session3 ¡ Coverage: ¡ ¡For ¡each ¡UDP ¡session, ¡some ¡node ¡on ¡path ¡runs ¡IDS ¡ ¡ IDS ¡ IDS ¡ IDS ¡ Session1 ¡ Session2 ¡ Session3 ¡

N1 ¡ ¡ N2 ¡ ¡ N3 ¡ ¡

Opportunity: ¡Flexibility ¡in ¡“placement” ¡

slide-15
SLIDE 15

Policy: ¡Ordering ¡Constraints ¡

15 ¡

IDS(Session1) ¡ Proxy(Session1) ¡ HTTP ¡ Session ¡1 ¡ Policy ¡Ordering: ¡ For ¡each ¡HTTP ¡session, ¡ ¡run ¡IDS ¡before ¡running ¡proxy ¡ ¡ Proxy(Session1) ¡ IDS(Session1) ¡ IDS(Session1) ¡ Proxy(Session1) ¡

N1 ¡ ¡ N2 ¡ ¡ N3 ¡ ¡

slide-16
SLIDE 16

Resource ¡Requirements ¡and ¡Load ¡

16 ¡

HTTP ¡ IDS ¡< ¡Proxy ¡ N1 ¡à ¡N3 ¡ ¡ Session1 ¡ Session2 ¡

N1 ¡ ¡ N2 ¡ ¡ N3 ¡ ¡

IDS ¡ Proxy ¡

Session ¡1 ¡ ¡ Session ¡2 ¡ ¡

IDS ¡ Proxy ¡

Load ¡depends ¡on ¡which ¡sessions/ac(ons ¡ are ¡assigned ¡to ¡each ¡node ¡

Provisioning ¡and ¡Load ¡Balancing ¡

slide-17
SLIDE 17

Network-­‑wide ¡ ¡ ¡ Controller ¡ Processing ¡ responsibili(es ¡

Control ¡Plane ¡for ¡Middleboxes ¡

Policy ¡ ¡ Constraints ¡ Resource ¡ Requirements ¡ Rou(ng, ¡ ¡ ¡ Traffic ¡

17 ¡

New ¡components: ¡Packet ¡steering, ¡Provisioning, ¡Placement ¡

slide-18
SLIDE 18

Outline ¡

  • Overview ¡

¡

  • Abstrac(ons ¡for ¡Operators ¡
  • Abstrac7ons ¡for ¡Users ¡ ¡
  • Abstrac(ons ¡for ¡Architects ¡ ¡
  • Synergies ¡and ¡Discussion ¡

18 ¡

slide-19
SLIDE 19

State ¡of ¡the ¡world ¡

19 ¡

¡ ¡ ¡ ¡ ¡

Middleboxes ¡are ¡a ¡black-­‑box ¡ Almost ¡no ¡abstrac(on ¡to ¡end ¡users ¡ à Can’t ¡get ¡“on-­‑demand” ¡services ¡ à ISPs ¡can’t ¡offer ¡such ¡services ¡

slide-20
SLIDE 20

Waypoint ¡Abstrac(on ¡

Explicitly ¡route ¡via ¡middlebox ¡IP(s) ¡ e.g., ¡i3, ¡DOA, ¡RBF, ¡PASL ¡

20 ¡

¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ AS1 ¡ AS2 ¡ AS3 ¡ Source ¡ Des(na(on ¡

Firewall, ¡IP1 ¡ IDS, ¡IP2 ¡ Discovery? ¡ Is ¡exposing ¡internal ¡structure ¡necessary? ¡ May ¡be ¡too ¡complex ¡for ¡applica(ons? ¡ Accoun(ng? ¡ ¡

slide-21
SLIDE 21

Proposal: ¡Treat ¡as ¡“Service” ¡ ¡

21 ¡

¡ ¡ ¡ ¡ ¡ AS1 ¡ AS2 ¡ AS3 ¡

Single ¡logical ¡network ¡providing ¡processing ¡service ¡ ¡

Abstract ¡away ¡“Where ¡in ¡network” ¡this ¡processing ¡occurs ¡

ACK/NACK ¡ Source ¡ Des(na(on ¡ Want: ¡ ¡ Firewall ¡+ ¡IDS ¡ Control ¡ Data ¡

slide-22
SLIDE 22

Service ¡Resolu(on ¡

22 ¡

¡ ¡ ¡ ¡ ¡

Want: ¡ ¡ Firewall ¡+ ¡IDS ¡

Source ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ Des(na(on ¡ AS1 ¡ AS2 ¡ AS3 ¡ Resolving ¡ ISP ¡

I ¡have ¡firewall ¡(not ¡IP) ¡ I ¡know ¡AS2 ¡can ¡provide ¡IDS ¡(not ¡IP) ¡

Discovery? ¡✓ ¡ Is ¡exposing ¡internal ¡structure ¡necessary? ¡✓ ¡ May ¡be ¡too ¡complex ¡for ¡applica(ons? ¡✓ ¡ Accoun(ng? ¡✓ ¡ ¡

Control ¡ Data ¡

slide-23
SLIDE 23

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 ¡

slide-24
SLIDE 24

Outline ¡

  • Overview ¡

¡

  • Abstrac(ons ¡for ¡Operators ¡
  • Abstrac(ons ¡for ¡Users ¡ ¡
  • Abstrac7ons ¡for ¡Architects ¡ ¡
  • Synergies ¡and ¡Discussion ¡

24 ¡

slide-25
SLIDE 25

State ¡of ¡the ¡world ¡

25 ¡

Proxy ¡ ¡ Firewall ¡ IDS/IPS ¡ AppFilter ¡

Today: ¡Independent, ¡specialized ¡boxes ¡ Ver(cally ¡integrated ¡stacks ¡ Custom ¡sooware ¡and/or ¡hardware ¡ Problem: ¡Cost, ¡Sprawl, ¡Inflexible ¡

slide-26
SLIDE 26

Proposal: ¡Treat ¡as ¡“Computa(on” ¡

26 ¡

Proxy ¡ ¡ Firewall ¡ IDS/IPS ¡ AppFilter ¡

Decouple ¡ ¡ Hardware ¡and ¡ ¡ Sooware ¡ Sooware ¡modules ¡that ¡can ¡ ¡run ¡on ¡common ¡hardware ¡

Enables ¡Consolida?on, ¡Mul?plexing, ¡Extensibility ¡

slide-27
SLIDE 27

Reduces ¡CapEx ¡via ¡Mul(plexing ¡

27 ¡

0.2 0.4 0.6 0.8 1 07-09,06:00 07-09,17:00 07-10,04:00 07-10,15:00 07-11,02:00 Normalized utilization (%) Time (mm-dd,hr) WAN optimizer Proxy Load Balancer Firewall

Mul(plexing ¡benefit ¡= ¡Max_of_TotalU(liza(on ¡/ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Sum_of_MaxU(liza(ons ¡

slide-28
SLIDE 28

Extensible ¡Sooware ¡Stack ¡

28 ¡

Session ¡Management ¡ Protocol ¡Parsers ¡ VPN ¡ ¡ ¡Web ¡ ¡ ¡Mail ¡ ¡ ¡IDS ¡ ¡ ¡Proxy ¡ ¡ Firewall ¡

Contribu(on ¡of ¡reusable ¡modules: ¡ ¡30 ¡– ¡80 ¡% ¡

slide-29
SLIDE 29

Outline ¡

  • Overview ¡

¡

  • Abstrac(ons ¡for ¡Operators ¡
  • Abstrac(ons ¡for ¡Users ¡ ¡
  • Abstrac(ons ¡for ¡Architects ¡ ¡
  • Synergies ¡and ¡Discussion ¡

29 ¡

slide-30
SLIDE 30

30 ¡

¡ ¡ ¡ ¡ ¡

Operators: ¡ Dataflow ¡ Users: ¡ Service ¡ Architects: ¡ Computa?on ¡

Proposed ¡abstrac(ons ¡

slide-31
SLIDE 31

Synergy ¡between ¡abstrac(ons ¡

  • Dataflow ¡+ ¡Computa(on ¡à ¡Run ¡anywhere ¡

– More ¡flexible ¡ ¡ ¡

  • Computa(on ¡+ ¡Service ¡à ¡Anyone ¡can ¡run ¡this ¡

– Lowers ¡barrier ¡of ¡entry ¡for ¡providers ¡ – New ¡opportuni(es ¡for ¡mone(za(on ¡for ¡ISPs ¡

  • Computa(on ¡+ ¡Service ¡à ¡Economies ¡of ¡scale ¡

– Benefit ¡of ¡“cloud” ¡

31 ¡

slide-32
SLIDE 32

Discussion ¡and ¡Open ¡Issues ¡

  • Operator-­‑level: ¡

– Should ¡we ¡make ¡middleboxes ¡SDN-­‑aware? ¡ – Does ¡middlebox ¡internal ¡state ¡need ¡to ¡be ¡exposed? ¡

¡

  • User-­‑level: ¡

– Tussle ¡between ¡users ¡and ¡operators? ¡ – Applica(ons ¡vs ¡ISP ¡economic ¡tension? ¡ ¡

  • Middlebox ¡Architects: ¡

– Specialized ¡hardware: ¡Clean ¡way ¡to ¡incorporate? ¡ – Mul(plexing ¡different ¡vendors: ¡Isola(on ¡vs ¡Reuse? ¡

¡

32 ¡

slide-33
SLIDE 33

1 1.4 1.8 2.2 2.6 Abilene Geant Enterprise AS1221 AS3257 AS1239 Relative savings

Reduc(on ¡in ¡Provisioning ¡Cost ¡

33 ¡

Centralized ¡approach ¡reduces ¡provisioning ¡cost ¡1.8-­‑2.5X ¡ ¡ ProvisioningToday ¡/ProvisioningCentralized ¡ ¡

slide-34
SLIDE 34

Pain ¡points ¡for ¡Operators ¡

34 ¡

  • High ¡CapEx ¡
  • Specialized ¡solu(ons ¡
  • Custom ¡hardware ¡

¡

  • Device ¡Sprawl ¡
  • Many ¡“point” ¡solu(ons ¡

¡

  • High ¡OpEx ¡
  • Narrow ¡interfaces ¡ ¡
  • Manual ¡tuning ¡
  • Long ¡upgrade ¡cycles ¡ ¡(3-­‑-­‑5 ¡yrs) ¡
  • Can’t ¡effec(vely ¡mone(ze ¡(ISP) ¡
slide-35
SLIDE 35

Pain ¡points ¡for ¡Users ¡and ¡Researchers ¡

35 ¡

  • Opaque ¡
  • Can’t ¡predict ¡what ¡processing ¡occurs ¡
  • “Tussle” ¡vs. ¡operators ¡ ¡

¡

  • Can’t ¡request ¡services ¡on-­‑demand ¡
  • E.g., ¡Site ¡wants ¡DDoS ¡protec(on ¡ ¡
  • E.g., ¡Netlix ¡wants ¡transcoding ¡

¡

  • Research/New ¡designs: ¡
  • Undesirable ¡interac(ons ¡
  • Can’t ¡get ¡new ¡ideas ¡deployed ¡
slide-36
SLIDE 36

Pain ¡points ¡for ¡Architects ¡

36 ¡

  • Low-­‑level ¡protocol ¡details ¡
  • E.g., ¡fragmenta(on ¡
  • E.g., ¡session ¡reassembly ¡
  • E.g., ¡HTTP ¡corner ¡cases ¡
  • Performance ¡
  • Hardware-­‑specific ¡op(miza(ons ¡
  • Long ¡development ¡cycles ¡
  • Slows ¡innova(on ¡
slide-37
SLIDE 37

Some ¡open ¡ques(ons.. ¡

  • Do ¡middleboxes ¡need ¡to ¡be ¡SDN-­‑aware? ¡

– Does ¡that ¡enable ¡new ¡func(onality? ¡ – E.g., ¡dynamically ¡offload ¡to ¡other ¡loca(ons ¡

  • Can ¡we ¡handle ¡“dynamic” ¡dataflows? ¡

– E.g., ¡invoke ¡IDS ¡on ¡suspicious ¡flows ¡on-­‑demand ¡

  • How ¡much ¡middlebox ¡internal ¡state ¡does ¡the ¡

controller ¡need ¡to ¡understand? ¡

– E.g., ¡does ¡it ¡need ¡NAT ¡table ¡to ¡setup ¡forwarding? ¡

37 ¡

slide-38
SLIDE 38

Opportuni(es ¡and ¡challenges ¡

38 ¡

  • Opportuni(es ¡ ¡

– Service ¡providers ¡can ¡mone(ze ¡beyond ¡one-­‑hop ¡ – Invoke ¡services ¡on-­‑demand ¡ ¡ – Ease ¡some ¡applica(on ¡vs. ¡ISP ¡tension ¡

  • E.g., ¡Netlix ¡

– Incen(vizes ¡deployment ¡(par(al/best ¡effort) ¡

  • Challenges ¡

– Placement ¡paverns ¡

  • On-­‑path ¡vs. ¡Perimeter ¡vs. ¡Specific ¡loca(on? ¡

– Accoun(ng ¡ ¡

  • Mul(-­‑lateral ¡vs. ¡Bilateral ¡sevlements? ¡

¡

slide-39
SLIDE 39

Challenges ¡

  • Hardware ¡accelerators ¡ ¡
  • Isola(on ¡among ¡co-­‑resident ¡modules ¡

39 ¡

slide-40
SLIDE 40

What ¡does ¡this ¡enable? ¡

  • Consolida(on ¡

– Reduce ¡device ¡sprawl ¡

  • Mul(plexing ¡ ¡

– Repurpose ¡hardware ¡resources ¡more ¡efficiently ¡

¡

  • Extensibility ¡

– Reduce ¡development ¡cycles ¡

40 ¡