Building Ext Building Extensible Ne Building Ext Building - - PowerPoint PPT Presentation

building ext building extensible ne building ext building
SMART_READER_LITE
LIVE PREVIEW

Building Ext Building Extensible Ne Building Ext Building - - PowerPoint PPT Presentation

Building Ext Building Extensible Ne Building Ext Building Extensible Ne nsible Netw nsible Netw twor twor orks with orks with ks with ks with Rule-Based F le-Based Forwar arding ding Lucian Popa Norbert Egi Sylvia Ratnasamy Ion


slide-1
SLIDE 1

Building Ext Building Extensible Ne nsible Netw twor

  • rks with

ks with Building Ext Building Extensible Ne nsible Netw twor

  • rks with

ks with Rule-Based F le-Based Forwar arding ding

Lucian Popa Norbert Egi Sylvia Ratnasamy Ion Stoica

UC Berkeley/ICSI Lancaster Univ. Intel Labs Berkeley UC Berkeley y y y

slide-2
SLIDE 2

Making Internet forwarding flexible Making Internet forwarding flexible

A network’s core functionality is to forward packets

“Power” of a network flexibility of its forwarding plane

A long-held goal: flexible forwarding

g g

f g

slide-3
SLIDE 3

Making Internet forwarding flexible

A long-held goal: flexible forwarding

Making Internet forwarding flexible

A long held goal: flexible forwarding

Example: Middlebox-aware forwarding Intrusion Detection System (IDS) S D

slide-4
SLIDE 4

Making Internet forwarding flexible

A long-held goal: flexible forwarding

Making Internet forwarding flexible

A long held goal: flexible forwarding

Example: Middlebox-aware forwarding Intrusion Detection System (IDS) S D Port != 80 Port = 80

slide-5
SLIDE 5

Making Internet forwarding flexible

A long-held goal: flexible forwarding

Making Internet forwarding flexible

A long held goal: flexible forwarding

Example: Middlebox-aware forwarding Intrusion Detection System (IDS) S D Port != 80 Many such examples: source routes multiple paths anycast Port = 80 Many such examples: source routes, multiple paths, anycast,

mobility, multicast, active networks, etc.

slide-6
SLIDE 6

Making Internet forwarding flexible

A long-held goal: flexible forwarding

Making Internet forwarding flexible

A long held goal: flexible forwarding

Example: Middlebox-aware forwarding Intrusion Detection System (IDS) S D Port != 80 Many such examples: source routes multiple paths anycast Port = 80 Many such examples: source routes, multiple paths, anycast,

mobility, multicast, active networks, etc.

Using general forwarding directives – instructions to the network

Using general forwarding directives instructions to the network

  • n how to forward packets
slide-7
SLIDE 7

Thesis Thesis

Flexibility alone is not enough

Can compromise network security E.g., source routing, active networks

slide-8
SLIDE 8

Thesis Thesis

Flexibility alone is not enough

Can compromise network security E.g., source routing, active networks

Flexibility must be balanced by policy support

Every forwarding directive can be constrained by policies

Policy Policy Flexibility

slide-9
SLIDE 9

Thesis Thesis

Flexibility alone is not enough

Can compromise network security E.g., source routing, active networks

Flexibility must be balanced by policy support

Every forwarding directive can be constrained by policies

“Real world” example:

1.

A car can be driven only by its owner

slide-10
SLIDE 10

Thesis Thesis

Flexibility alone is not enough

Can compromise network security E.g., source routing, active networks

Flexibility must be balanced by policy support

Every forwarding directive can be constrained by policies

“Real world” example:

1.

A car can be driven only by its owner d

2.

Anyone can drive any car

slide-11
SLIDE 11

Thesis Thesis

Flexibility alone is not enough

Can compromise network security E.g., source routing, active networks

Flexibility must be balanced by policy support

Every forwarding directive can be constrained by policies

“Real world” example:

1.

A car can be driven only by its owner d

2.

Anyone can drive any car

3.

Can only drive a car with the approval of its owner

slide-12
SLIDE 12

Thesis Thesis

Flexibility alone is not enough

Can compromise network security E.g., source routing, active networks

Flexibility must be balanced by policy support

Every forwarding directive can be constrained by policies

Every entity that explicitly appears in a forwarding directive

can refuse that directive

slide-13
SLIDE 13

Constrain forwarding directives Constrain forwarding directives

Every entity that explicitly appears in a forwarding directive

y y p y pp g can refuse that directive

slide-14
SLIDE 14

Constrain forwarding directives Constrain forwarding directives

Every entity that explicitly appears in a forwarding directive

y y p y pp g can refuse that directive

Example: apply thesis to current Internet

Forwarding directive = Send to destination D

g

Policy of D = No packets from S Not respected in the current Internet

S D

slide-15
SLIDE 15

Constrain forwarding directives Constrain forwarding directives

Every entity that explicitly appears in a forwarding directive

y y p y pp g can refuse that directive

Example: IP source routing

Option available with current IP spec

p p

Not supported by ISPs since there is no way to constrain it Desirable: ISPs get to approve source routes

S D

slide-16
SLIDE 16

Constrain forwarding directives Constrain forwarding directives

Every entity that explicitly appears in a forwarding directive

y y p y pp g can refuse that directive

Example: Middlebox-aware forwarding

Allows use of in-network processing

p g

Policy of M: only process S-D traffic

S D M

slide-17
SLIDE 17

Constrain forwarding directives Constrain forwarding directives

Every entity that explicitly appears in a forwarding directive

=

y y p y pp g can refuse that directive

Policy-compliance

=

y p

slide-18
SLIDE 18

Goal Goal

Flexible and Policy-Compliant architecture

Flexible: path control use in network functionality and state Flexible: path control, use in-network functionality and state Policy-compliant: all stakeholders’ policies are respected

Flexibility Policy Compliance

slide-19
SLIDE 19

Idea: Packet Ru Rule Idea: Packet Ru Rule

Forwarding directives carried in packet Current Internet – packet sent to destination Rule Based Forwarding – packet sent to rule

Rule Packet

slide-20
SLIDE 20

Idea: Packet Ru Rule Idea: Packet Ru Rule

Forwarding directives carried in packet

Rule: if(packet.dest_port == 80) sendto D else sendto M

D M

S D Port = 80 Port != 80

slide-21
SLIDE 21

Idea: Packet Ru Rule Idea: Packet Ru Rule

Forwarding directives carried in packet

Rules tell network how to forward packets

slide-22
SLIDE 22

Idea: Packet Ru Rule Idea: Packet Ru Rule

Forwarding directives carried in packet

All rule participants authorize (sign) the rule

p p ( g )

slide-23
SLIDE 23

Idea: Packet Ru Rule Idea: Packet Ru Rule

Forwarding directives carried in packet

All rule participants authorize (sign) the rule

p p ( g )

D M Rule Rule Port = 80 Port != 80 S D

slide-24
SLIDE 24

Idea: Packet Ru Rule Idea: Packet Ru Rule

Forwarding directives carried in packet

All rule participants authorize (sign) the rule

p p ( g )

All packets carry rules

slide-25
SLIDE 25

Idea: Packet Ru Rule Idea: Packet Ru Rule

Forwarding directives carried in packet

All rule participants authorize (sign) the rule

p p ( g )

All packets carry rules

R l t ll t k hi h k t b f d d Rules tell network which packets can be forwarded

slide-26
SLIDE 26

Idea: Packet Ru Rule Idea: Packet Ru Rule

Forwarding directives carried in packet

Rules tell network how to forward packets Rules tell network which packets can be forwarded

slide-27
SLIDE 27

Idea: Packet Ru Rule Idea: Packet Ru Rule

Rules naturally tie in flexibility and policy-compliance Rule

slide-28
SLIDE 28

Idea: Packet Ru Rule Idea: Packet Ru Rule

Rules naturally tie in flexibility and policy-compliance

Specifies flexible directives

Rule

slide-29
SLIDE 29

Idea: Packet Ru Rule Idea: Packet Ru Rule

Rules naturally tie in flexibility and policy-compliance

Specifies flexible directives

Rule

Policies approve/disapprove rule

slide-30
SLIDE 30

Idea: Packet Ru Rule Idea: Packet Ru Rule

Rules naturally tie in flexibility and policy-compliance

Specifies flexible directives

Rule

Encapsulates proof of policy-compliance Policies approve/disapprove rule

slide-31
SLIDE 31

Idea: Packet Ru Rule Idea: Packet Ru Rule

Rules naturally tie in flexibility and policy-compliance

Specifies flexible directives

Rule

Encapsulates proof of policy-compliance Policies approve/disapprove rule Routers only need information in packet (rule) to:

  • Forward the packet

Forward the packet

  • Verify that it complies with policies of all parties
slide-32
SLIDE 32

Outline Outline

Motivation & Solution Overview Rule-Based Forwarding Architecture – Overview Rule Forwarding Mechanism & Examples Evaluation

slide-33
SLIDE 33

R l B d F di (RBF) A hit t Rule-Based Forwarding (RBF) Architecture

Destinations own rules

Senders Destinations Routers

slide-34
SLIDE 34

R l B d F di (RBF) A hit t Rule-Based Forwarding (RBF) Architecture

RCE RCE

For policy-compliance, rules are certified by trusted entities – l ifi i i i

D

Rule Certification Entities (RCEs)

Senders Destinations Routers

slide-35
SLIDE 35

R l B d F di (RBF) A hit t Rule-Based Forwarding (RBF) Architecture

RCE

All entities named in the rule (destination

RCE

All entities named in the rule (destination, middleboxes, routers) must authorize the rule

M Rule Rule M D Senders Destinations Routers

slide-36
SLIDE 36

R l B d F di (RBF) A hit t Rule-Based Forwarding (RBF) Architecture

RCE RCE R_D D Senders Destinations Routers

slide-37
SLIDE 37

R l B d F di (RBF) A hit t Rule-Based Forwarding (RBF) Architecture

RCE DNS RCE

I t l i t DNS Extended DNS: returns rule instead of address

R_D

Insert rules into DNS

D Senders Destinations Routers

slide-38
SLIDE 38

R l B d F di (RBF) A hit t Rule-Based Forwarding (RBF) Architecture

RCE DNS R D RCE

Sources obtain rules

R_D D S Senders Destinations Routers

slide-39
SLIDE 39

R l B d F di (RBF) A hit t Rule-Based Forwarding (RBF) Architecture

RCE DNS RCE

I t th i k t Insert them in packets

D R_D Payload S Senders Destinations Routers

slide-40
SLIDE 40

R l B d F di (RBF) A hit t Rule-Based Forwarding (RBF) Architecture

RCE DNS RCE

Routers

  • Verify rule signature

D R_D Payload

y g

  • Follow rule directives

S Senders Destinations Routers

slide-41
SLIDE 41

R l B d F di (RBF) A hit t Rule-Based Forwarding (RBF) Architecture

RCE DNS RCE

Packets may contain a return rule

D R_S Payload R_D S Senders Destinations Routers R_D Payload R_S

slide-42
SLIDE 42

R l B d F di (RBF) A hit t Rule-Based Forwarding (RBF) Architecture

Control Plane

RCE DNS RCE

Distribution Certification Data Plane

Senders Destinations Routers

slide-43
SLIDE 43

R l B d F di (RBF) A hit t Rule-Based Forwarding (RBF) Architecture

Control Plane

RCE DNS RCE

Distribution Certification Data Plane

Senders Destinations Routers

slide-44
SLIDE 44

RBF Assumptions RBF Assumptions

Anti-spoofing mechanism

Ingress filtering

f l f d d b f

Existence of Rule Certifying Entities and distribution of RCE

keys to routers

RCEs few largeVerisign-like entities or AS based

RCEs few largeVerisign like entities or AS based

Rule distribution (DNS) well provisioned against DDoS

u e st but o ( S) we p ov s o e aga st

  • S

attacks

slide-45
SLIDE 45

Outline Outline

Motivation & Solution Overview Rule-Based Forwarding Architecture – Overview Rule Forwarding Mechanism & Examples Evaluation

slide-46
SLIDE 46

RBF Mechanism Specification RBF Mechanism – Specification

Rule: sequence of actions conditioned by if-then-else

q y statements

if(<CONDITION>) ACTION1 l C O 2

Conditions: comparison operations on packet header & router state

else ACTION2

(attributes)

slide-47
SLIDE 47

RBF Mechanism Actions RBF Mechanism – Actions

Rule actions are:

1.

Modify packet header (attributes) Rule actions are:

2.

Drop packet

3

F d k t (d ti ti / t i t)

3.

Forward packet (destination / next waypoint)

4.

Invoke upper layer functionality (if available)

slide-48
SLIDE 48

Rule Forwarding Mechanism Rule Forwarding Mechanism

C Current IP routers

FIB IP IP Forwarding

slide-49
SLIDE 49

Rule Forwarding Mechanism Rule Forwarding Mechanism

RBF routers

Rule Forwarding Router Attributes RBF

New forwarding

FIB IP IP Forwarding

layer

slide-50
SLIDE 50

Rule Forwarding Mechanism Rule Forwarding Mechanism

S cast ng Specialized IDS Multic Cachin forwarding functions (optional) …

RBF routers

Rule Forwarding Router Attributes RBF

New forwarding

FIB IP IP Forwarding

layer

slide-51
SLIDE 51

Rule Forwarding Mechanism Rule Forwarding Mechanism

S cast ng

Controlled by ISPs

IDS Multic Cachin …

Controlled by ISPs and middlebox

  • wners

Rule Forwarding Router Attributes FIB IP Forwarding

slide-52
SLIDE 52

Rule Forwarding Mechanism Rule Forwarding Mechanism

S cast ng IDS Multic Cachin … Rule Forwarding Router Attributes

Examples:

  • router’s address

i

FIB IP Forwarding

  • queue size
  • availability of

specialized function

slide-53
SLIDE 53

Rule Forwarding Mechanism Rule Forwarding Mechanism

S cast ng

Rules cannot

IDS Multic Cachin …

modify router attributes

Rule Forwarding Router Attributes

Examples:

  • router’s address

i

FIB IP Forwarding

  • queue size
  • availability of

specialized function

slide-54
SLIDE 54

Rule Forwarding Mechanism Rule Forwarding Mechanism

S cast ng IDS Multic Cachin … Rule Forwarding Router Attributes FIB IP Forwarding

  • 5 tuple
  • A bit

ti

  • Arbitrary semantics

(e.g., middlebox was visited)

Rule Payload Attributes 1

slide-55
SLIDE 55

Rule Forwarding Mechanism Rule Forwarding Mechanism

S cast ng IDS Multic Cachin … Rule Forwarding Router Attributes

Rules can modify packet attributes

FIB IP Forwarding

  • 5 tuple
  • A bit

ti

  • Arbitrary semantics

(e.g., middlebox was visited)

Rule Payload Attributes 1

slide-56
SLIDE 56

Rule Forwarding Mechanism Rule Forwarding Mechanism

S cast ng IDS Multic Cachin … Rule Forwarding Router Attributes Rule Attributes 1 FIB IP Forwarding Payload

slide-57
SLIDE 57

Rule Forwarding Mechanism Rule Forwarding Mechanism

S cast ng IDS Multic Cachin …

  • 1. Modify packet

attributes Rule can:

Rule Forwarding Router Attributes Rule

attributes

Attributes 1 Attributes 2 FIB IP Forwarding Payload

slide-58
SLIDE 58

Rule Forwarding Mechanism Rule Forwarding Mechanism

S cast ng IDS Multic Cachin …

  • 1. Modify packet

attributes Rule can:

Rule Rule Forwarding Router Attributes

attributes

Attributes 2 FIB IP Forwarding Payload

if(router.congestion > pkt.max_congestion) pkt.max_congestion = router.congestion

Example:

sendto D

slide-59
SLIDE 59

Rule Forwarding Mechanism Rule Forwarding Mechanism

S cast ng IDS Multic Cachin …

  • 1. Modify packet

attributes Rule can:

Rule Rule Forwarding Router Attributes

attributes

  • 2. Drop packet

Attributes 2 FIB IP Forwarding Payload

slide-60
SLIDE 60

Rule Forwarding Mechanism Rule Forwarding Mechanism

S cast ng IDS Multic Cachin …

  • 1. Modify packet

attributes Rule can:

Rule Rule Forwarding Router Attributes

attributes

  • 2. Drop packet

Attributes 2 FIB IP Forwarding Payload

if(pkt.source != S) drop

Example:

sendto D

slide-61
SLIDE 61

Rule Forwarding Mechanism Rule Forwarding Mechanism

S cast ng IDS Multic Cachin …

  • 1. Modify packet

attributes Rule can:

Rule Rule Forwarding Router Attributes

attributes

  • 2. Drop packet

Attributes 2 FIB IP Forwarding

  • 3. Forward

Payload Rule Attributes 2 Payload

slide-62
SLIDE 62

Rule Forwarding Mechanism Rule Forwarding Mechanism

S cast ng IDS Multic Cachin …

  • 1. Modify packet

attributes Rule can:

Rule Rule Forwarding Router Attributes

attributes

  • 2. Drop packet

Attributes 2 FIB IP Forwarding

  • 3. Forward

Payload

sendto D

Example:

Rule Attributes 2 Payload

slide-63
SLIDE 63

Rule Forwarding Mechanism Rule Forwarding Mechanism

S cast ng IDS Multic Cachin …

  • 1. Modify packet

attributes Rule can:

Rule Rule Forwarding Router Attributes

attributes

  • 2. Drop packet

Attributes 2 FIB IP Forwarding

  • 3. Forward

Payload

  • 4. Invoke
slide-64
SLIDE 64

Rule Forwarding Mechanism Rule Forwarding Mechanism

S cast ng IDS Multic Cachin …

  • 1. Modify packet

attributes Rule can:

Rule Rule Forwarding Router Attributes

attributes

  • 2. Drop packet

Attributes 2 FIB IP Forwarding

  • 3. Forward

Payload

  • 4. Invoke

if(router.has_caching == TRUE) invoke CachingFunc

Example:

sendto D

slide-65
SLIDE 65

RBF Mechanism Rule Lease RBF Mechanism – Rule Lease

Each rule has an associated lease period Routers drop expired rules

slide-66
SLIDE 66

Examples Waypoint Examples – Waypoint

R_D: “Go to R1 before reaching D” Go to R1 before reaching D

R1 S D

slide-67
SLIDE 67

Examples Waypoint Examples – Waypoint

R_D: if(packet been to R1 == 0) if(packet.been_to_R1 == 0) if(router.address != R1) sendto R1 else packet.been to R1 = 1 else packet.been_to_R1 1 if(packet.been_to_R1 == 1) sendto D

R1 S D

slide-68
SLIDE 68

Examples Waypoint Examples – Waypoint

R_D: if(packet been to R1 == 0)

Packet attribute indicating h h k h i i d R1

if(packet.been_to_R1 == 0) if(router.address != R1) sendto R1 else packet.been to R1 = 1

whether packet has visited R1

else packet.been_to_R1 1 if(packet.been_to_R1 == 1) sendto D

R1 R_D been_to_R1 = 0 S D

slide-69
SLIDE 69

Examples Waypoint

R_D: if(packet been to R1 == 0)

Examples – Waypoint

Before waypoint R1

if(packet.been_to_R1 == 0) if(router.address != R1) sendto R1 else packet.been to R1 = 1 else packet.been_to_R1 1 if(packet.been_to_R1 == 1) sendto D

R1 R_D been_to_R1 = 0 S D

slide-70
SLIDE 70

Examples Waypoint

R_D: if(packet been to R1 == 0)

Examples – Waypoint

if(packet.been_to_R1 == 0) if(router.address != R1) sendto R1 else packet.been to R1 = 1

At the waypoint

else packet.been_to_R1 1 if(packet.been_to_R1 == 1) sendto D

R_D been_to_R1 = 1 R1 S D

slide-71
SLIDE 71

Examples Waypoint

R_D: if(packet been to R1 == 0)

Examples – Waypoint

if(packet.been_to_R1 == 0) if(router.address != R1) sendto R1 else packet.been to R1 = 1

After the waypoint

else packet.been_to_R1 1 if(packet.been_to_R1 == 1) sendto D

After the waypoint

R1 R_D been_to_R1 = 1 S D

slide-72
SLIDE 72

Examples Middlebox

R_D: if(packet been to R1 == 0)

Examples – Middlebox

if(packet.been_to_R1 == 0) if(router.address != R1) sendto R1 else else packet.been_to_R1 = 1 invoke IDS_func if(packet.been_to_R1 == 1)

Addition to the waypoint rule

(p _ _ ) sendto D

R1 – IDS functionality S D

slide-73
SLIDE 73

Examples Secure Middlebox

R_D: if(packet been to R1 == 0)

Examples – Secure Middlebox

if(packet.been_to_R1 == 0) if(router.address != R1) sendto R1 else

Malicious user could set the packet attributes

else packet.been_to_R1 = 1 invoke IDS_func if(packet.been_to_R1 == 1)

the packet attributes so that packet appears to have visited the middlebox

(p _ _ ) sendto D

R1 S R_D been_to_R1 = 1 D _ _ _

slide-74
SLIDE 74

Examples Secure Middlebox (1) Examples – Secure Middlebox (1)

R_D: if(packet been to R1 == 0) if(packet.been_to_R1 == 0) if(router.address != R1) sendto R1 else else packet.been_to_R1 = 1 packet.source = R1 invoke IDS_func

Allow only packets from R1 when state equals 1

_ if(packet.been_to_R1 == 1) if(packet.source == R1) sendto D

Anti-spoofing does not allow spoofing the source attribute

slide-75
SLIDE 75

Examples Secure Middlebox (2) Examples – Secure Middlebox (2)

R_D: if(packet been to R1 == 0) if(packet.been_to_R1 == 0) if(router.address != R1) sendto R1 else

Invoke functionality to (cryptographically) prove

else packet.been_to_R1 = 1 invoke Crypto_proof if(packet.been_to_R1 == 1)

(cryptographically) prove packet visited middlebox

(p _ _ )

  • packet. been_to_R1 = 2

invoke IDS_func if(packet.been_to_R1 == 2)

Invoke functionality to verify the middlebox proofs at D

if(router.address != D) sendto D else i k V if d D li

p

invoke Verify_and_Deliver

slide-76
SLIDE 76

Examples Conditioned Middlebox Examples – Conditioned Middlebox

R_D: if(packet dest port == 80) if(packet.dest_port == 80) sendto D else //Middlebox rule

Use the Middlebox

  • nly for packets not

//Middlebox rule ...

  • nly for packets not

destined to port 80

IDS P ! 80 S D Port = 80 Port != 80

slide-77
SLIDE 77

Examples DoS protection Examples – DoS protection

Create “capability-like rules”, e.g., for a client with address S

R_S_D: if(packet.source != S) drop drop sendto D

slide-78
SLIDE 78

Examples DoS protection Examples – DoS protection

Create “capability-like rules”, e.g., for a client with address S

R_S_D: if(packet.source != S) drop

D can control number of simultaneous clients by controlling

drop sendto D

y g number of authorized rules (a rule for each client)

slide-79
SLIDE 79

Examples DoS protection Examples – DoS protection

Create “capability-like rules”, e.g., for a client with address S

R_S_D: if(packet.source != S) drop

D can control number of simultaneous clients by controlling

drop sendto D

y g number of authorized rules (a rule for each client)

Need to grant rules on demand

Need to grant rules on demand

Dynamic (vs. static DNS) Provision this service against DDoS (denial of rule)

g

DNS redirects to third parties providing this service

slide-80
SLIDE 80

RBF Examples RBF Examples

Filter ports/prefixes – only receive specific traffic P t t

i t D S tt k

Protect against DoS attacks Mobility Middleboxes Secure loose path forwarding – select provider, reliability Multiple paths Anycast Anycast Record path state – network probing, ECN, path identifier On-path redirection – Delay Tolerant Networks Use on-path router functions deployed by ISPs – Multicast, caching,

WAN optimizers, content-routing, energy efficiency

...

slide-81
SLIDE 81

Rule Properties Rule Properties

1.

Flexible

slide-82
SLIDE 82

Rule Properties Rule Properties

1.

Flexible

Rules enable endpoints to:

a)

Block unwanted packets in the network

b)

Control path selection using waypoints

)

p g yp

c)

Use router state in forwarding decisions and record this state

d)

Use specialized functions at middleboxes and routers, if available

slide-83
SLIDE 83

Rule Properties Rule Properties

1.

Flexible

2.

Policy Compliant

slide-84
SLIDE 84

Rule Properties Rule Properties

1.

Flexible

2.

Policy Compliant

Rules are certified by trusted entities – Rule Certifying Entities

(RCEs) (RCEs)

Rules are above routing-controlled layer – IP

Route discovery and computation fully controlled by ISPs

slide-85
SLIDE 85

Rule Properties Rule Properties

1.

Flexible

2.

Policy Compliant

3.

Safe

slide-86
SLIDE 86

Rule Properties Rule Properties

1.

Flexible

2.

Policy Compliant

3.

Safe

Bounded forwarding time

No loops, only comparison operations, cannot modify payload

Cannot modify router state

Cannot modify router state

Cannot amplify traffic

No network loops (static analysis), cannot replicate packets

Invoked functions are fully controlled by ISPs/Mbox owners

Resource isolation and access control to prevent attacks Rules merely offer a (policy compliant) mechanism to use them

y (p y p )

slide-87
SLIDE 87

Related Work Related Work

1.

Flexibility

2.

Policy-Compliance

3.

Some of each

slide-88
SLIDE 88

Related Work Related Work

1.

Flexibility

Active Networks, ESP

, Overlays (e.g., i3, DOA), Loose path forwarding, DTN, Mobility (e.g., Mobile IP , HIP), Multiple paths (e.g., MIRO), etc. p ( g , O),

Rules vs. Active Networks:

Forwarding directives vs. programs Safe and statically analyzable Policy-compliance for multiple-parties Allow invoking ISP deployed functions for processing

slide-89
SLIDE 89

Related Work Related Work

1.

Flexibility

2.

Policy-Compliance

In-network filters (PushBack, AITF, StopIt, PredicateRouting,

Off by default) Network Capabilities (TVA SIFF) Off-by-default), Network Capabilities (TVA, SIFF)

RBF:

Adds flexibility Adds multi-party policy compliance

slide-90
SLIDE 90

Related Work Related Work

1.

Flexibility

2.

Policy-Compliance

3.

Some of each

E.g. Platypus, NUTSS, ICING enable policy-compliant source

routing

RBF:

RBF:

Generalizes flexibility Enables richer policies based on entire forwarding behavior

slide-91
SLIDE 91

Outline Outline

Motivation & Solution Overview Rule-Based Forwarding Architecture – Overview Rule Forwarding Mechanism & Examples Evaluation

slide-92
SLIDE 92

Evaluation Questions Evaluation – Questions

Size overhead of rules Forwarding overhead

Fast path (no rule verification)

p ( )

Slow path (involves rule verification)

P f

i l ti b t i k d f ti d f di

Performance isolation between invoked functions and forwarding Load on RCEs Security analysis

slide-93
SLIDE 93

Evaluation Questions Evaluation – Questions

Size overhead of rules Forwarding overhead

Fast path (no rule verification)

p ( )

Slow path (involves rule verification)

P f

i l ti b t i k d f ti d f di

Performance isolation between invoked functions and forwarding Load on RCEs Security analysis

slide-94
SLIDE 94

Evaluation Rule Sizes Evaluation – Rule Sizes

140 Rule Encoding Control Signature 80 100 120 es Rule Encoding Control Signature 20 40 60 Byte 20

slide-95
SLIDE 95

Evaluation Rule Sizes Evaluation – Rule Sizes

140 Rule Encoding Control Signature 80 100 120 es Rule Encoding Control Signature 20 40 60 Byte

O h d f l i ~60 140 b t

20

Overhead of one rule is ~60-140 bytes

slide-96
SLIDE 96

Evaluation Rule Sizes Evaluation – Rule Sizes

140 Rule Encoding Control Signature 80 100 120 es Rule Encoding Control Signature 20 40 60 Byte

A 85 b t 13% I t t k t (630B)

20

Average 85 bytes: 13% average Internet packet (630B)

slide-97
SLIDE 97

Evaluation Rule Sizes Evaluation – Rule Sizes

140 Rule Encoding Control Signature 80 100 120 es Rule Encoding Control Signature 20 40 60 Byte

A 85 b t 13% I t t k t (630B)

20

Average 85 bytes: 13% average Internet packet (630B) 27% if using RSA signatures

slide-98
SLIDE 98

Evaluation Prototype RBF Router Evaluation – Prototype RBF Router

Software router on top of RouteBricks [SOSP 2009] 8 core Nehalem ser er 2 dual port NICs 8 core Nehalem server, 2 dual-port NICs Example router setup:

Kernel Kernel User level IP IP IP IP ast all ast all ng ng RBF + I RBF + I RBF + I RBF + I Multica Firewa Multica Firewa Cachin IDS Cacnin IDS Memory controller Memory controller Cache Cache Socket 0 Socket 1 CPU Cores Cache Cache

slide-99
SLIDE 99

Evaluation Forwarding Using Rules Evaluation – Forwarding Using Rules

No signature verification, using all 8 cores

30 35 40 ps RBF over RouteBricks RouteBricks alone 10 15 20 25 Gbp 5

slide-100
SLIDE 100

Evaluation Forwarding Using Rules Evaluation – Forwarding Using Rules

30 35 40 ps RBF over RouteBricks RouteBricks alone 10 15 20 25 Gbp 5

Rule forwarding incurs little overhead on Routebricks

slide-101
SLIDE 101

Evaluation Forwarding Using Rules Evaluation – Forwarding Using Rules

30 35 40 ps RBF over RouteBricks RouteBricks alone 10 15 20 25 Gbp 5

No overhead for packets > 500B

slide-102
SLIDE 102

Evaluation Forwarding Using Rules Evaluation – Forwarding Using Rules

30 35 40 ps RBF over RouteBricks RouteBricks alone 10 15 20 25 Gbp 5

Soft router RBF can forward 35Gbps real traffic

slide-103
SLIDE 103

Evaluation Signature Verification Evaluation – Signature Verification

Only at trust boundary routers (lower traffic than core) Result can be cached

Cache is small (e.g., 19 bytes/rule) and exact match lookup Packets from new flows represent 1% of backbone link capacity

  • n average, worst case 5% of packets
  • n average, worst case 5% of packets

Doable with existing hardware (crypto processors, ASICs) 10% slow down on prototype router with RSA signatures & real traffic

Can be parallelized!

slide-104
SLIDE 104

Summary Summary

RBF – flexible and policy compliant architecture

Packets carry rules

Rule – contains forwarding directives

Flexible: if-then-else conditions on packet & router

b d f k h d d k attributes, modify packet header and use in-network functions

Policy-compliant: signed by third parties – RCEs Policy-compliant: signed by third parties RCEs Safe: cannot corrupt routers or amplify traffic