NeXtworking03 June 2325,2003, Chania, Crete, Greece - PowerPoint PPT Presentation

About This Presentation
Title:

NeXtworking03 June 2325,2003, Chania, Crete, Greece

Description:

User supplies flowspec, function params, credit card. Maintain via soft-state ... Building Multicast Services from Lightweight Processing Modules and Ephemeral ... – PowerPoint PPT presentation

Number of Views:50
Avg rating:3.0/5.0
Slides: 20
Provided by: kennethl
Category:

less

Transcript and Presenter's Notes

Title: NeXtworking03 June 2325,2003, Chania, Crete, Greece


1
Questions about Programming the InternetKen
CalvertUniversity of KentuckyUSA
Collaborators Jim Griffioen, students Su Wen,
Amit Sehgal, Billy Mullins, and Leon Poutievski
  • Why? How? What?

2
Question Why?
  • Why do we want a programmable Internet?
  • To speed evolution, overcome ossification
  • But ... stability of basic processing is crucial
    for the fast path
  • To customize processing along the network path
  • What do we need beyond forwarding, scheduling?
  • To improve scalability of group applications
  • Example Concast
  • To overcome limitations (info hiding) of the
    best-effort service abstraction
  • Example Using Ephemeral State Processing to
    identify branch points in multicast trees

3
Concast
  • Scalability through abstraction
  • Inverse of multicast
  • Single address represents an arbitrary number of
    senders.
  • Network merges messages from the group
  • According to user-supplied merge specification
    (program)
  • Benefits both receiver and network
  • Multiple sends result in a single message
    delivery
  • Reduced bandwidth requirements
  • Merging happens exactly where required
  • (on direct path to R)

S
R
Concast
Multicast
S
R
R
S
S
R
S
R
R
S
4
Question Why?
  • Why would providers want a programmable Internet?
  • Because users will pay to get it (see also
    Wakeman)
  • Why trust shared infrastructure to...
  • Forward packets to specified destinations?
  • Reserve end-to-end bandwidth/buffering for their
    packets?
  • Process user data to improve scalability?
  • Example multicast feedback aggregation/filtering
  • Process content en route from content provider?
  • Example transcoding news video for low-bandwidth
    links
  • Enforce user policies?
  • Example controlling concast group membership

5
Concast Security Policies
  • User (Receiver)
  • Concern Data integrity, authenticity,
    confidentiality
  • Application-level policy Which senders can
    participate
  • Network-level policy Which routers (domains) can
    participate in the flow (i.e. be upstream)
  • Perform merging
  • Enforce policies!
  • Provider (Router)
  • Concern Only paying customers get access to the
    service
  • Network-level policy Which entities can
    participate as senders/receivers
  • Network-level policy Which routers (domains) can
    be downstream/upstream

6
Policy Monotonicity Requirements
R0 Sender Policy R0 Downstream Policy R0 Upstream
Policy
Sender
Domain Boundary
R0
Receiver
3. Apply policies
R1 Downstream Policy R1 Upstream Policy
Rcvr Sender Policy Rcvr Upstream Policy
7
Policy Monotonicity Requirements
1. Join Flow Request
Sender
Domain Boundary
5. Apply policies, install merge spec
R0
2. Request for Merge Spec
7. Request for Merge Spec
Receiver
3. Apply policies
R1 Downstream Policy R1 Upstream Policy
Rcvr Sender Policy Rcvr Upstream Policy
8
Question How?
  • How should the network be programmed?
  • Lots of possible answers depends on assumptions
  • We have only begun to explore this
  • (see also Tschudin, Smirnov)
  • How to charge for a programmable Internet?
  • At signaling time, not forwarding time
  • Untrusted ? trusted transformation, policy
    application too costly for data plane
  • Locally, not end-to-end
  • At least two providers involved in end-to-end
    service
  • Avoid multilateral settlement protocols,
    transitive trust

9
Two-level Model of Programmability
  • Node-local functions enabled directly by user
  • Examples duplicate, redirect, drop
  • Controlled via secure signaling protocol
  • Affect only packets belonging to the paying
    user
  • Paid for at signaling time via bilateral
    agreement between end user and node
    administration
  • End-to-end functions available to all packets
  • IP-like resource requirements (too cheap to
    meter)
  • Fixed set of computations
  • Close to fast path
  • Sequence of per-packet computations ephemeral
    state global computations

10
Lightweight Processing Modules and Ephemeral
State Processing
  • LWP fixed-function per-flow modules
  • Invoke at particular node(s)
  • User supplies flowspec, function params, credit
    card
  • Maintain via soft-state
  • Use to implement multicast, mobility, anti-DoS
  • ESP allow packets to create, manipulate small
    amounts of state in routers at forwarding time
  • Example increment a counter, drop packet if gt
    threshold
  • Fixed instruction set one instruction per packet
  • Per-packet processing, storage requirements
    bounded due to state lifetime
  • Narrow interface to forwarding function drop or
    forward
  • Use to probe topology, aggregate user data (a la
    concast), ...

11
Example Multicast via ESPLWP
  • LWP dup() function installed by receivers to
    duplicate and forward marked packets to
    themselves
  • To join the tree
  • Discover closest existing branch point (via ESP)
  • Activate a dup() to self there
  • Find optimal branch point (via ESP), move dup()
    there

B
C
dup?B()
dup?C()
A
S
r2
r1
r3
D
E
12
Example Multicast via ESPLWP
  • LWP dup() function installed by receivers to
    duplicate and forward marked packets to
    themselves
  • To join the tree
  • Discover closest existing branch point (via ESP)
  • Activate a dup() to self there
  • Find optimal branch point (via ESP), move dup()
    there

B
C
dup?B()
dup?C()
A
S
r2
r1
r3
D
E
r1
13
Example Multicast via ESPLWP
  • LWP dup() function installed by receivers to
    duplicate and forward marked packets to
    themselves
  • To join the tree
  • Discover closest existing branch point (via ESP)
  • Activate a dup() to self there
  • Find optimal branch point (via ESP), move dup()
    there

B
C
dup?B()
dup?C()
A
S
r2
r1
r3
D
E
14
Example Multicast via ESPLWP
  • LWP dup() function installed by receivers to
    duplicate and forward marked packets to
    themselves
  • To join the tree
  • Discover closest existing branch point (via ESP)
  • Activate a dup() to self there
  • Find optimal branch point (via ESP), move dup()
    there

B
C
dup?B()
dup?C()
A
S
dup?E()
r2
r1
r3
D
E
r2
15
Example Multicast via ESPLWP
  • LWP dup() function installed by receivers to
    duplicate and forward marked packets to
    themselves
  • To join the tree
  • Discover closest existing branch point (via ESP)
  • Activate a dup() to self there
  • Find optimal branch point (via ESP), move dup()
    there

B
C
dup?B()
dup?C()
A
S
r2
r1
r3
D
E
16
Programmability via LWP and ESP
  • Deployment strategy
  • Recover costs via LWP
  • Value-added end-to-end services like multicast
  • Deploy ESP to enable LWP
  • End-to-End Services
  • Multicast
  • Layered multicast congestion control
  • Open issue what others?
  • Can we do QoS with custom processing at 1-2
    nodes?
  • Are congestion location/timescales consistent
    with LWP-based approach?

17
Question What?
  • What to program?

Do processing here...
... not here
  • Channel
  • Global fault-tolerance
  • Run at channel speed
  • Simple interface to forwarding path
  • Interconnect
  • Not fail-safe
  • Maintain forwarding state
  • Run at interconnect speed (wire speed)n

How to structure services as channel
computations? (See also Tschudin, Che)
18
Research Issues
  • Design of trustworthy infrastructures for
    combined communication/processing
  • Incentive/trust acquisition/revocation?
  • Composable policies, proxy enforcement?
  • Policy the Next Frontier
  • Connection to ad hoc, P2P
  • Programming models for relay systems (consider
    trust)!
  • Necessary and sufficient set of
    (channel-oriented) functions?
  • What can be done with local enhancements?
  • Is local differentiation sufficient for E2E QoS?
  • Congestion episode timescales, bottleneck
    movement
  • Connection to measurement, modeling
  • Design of best effort end-to-end computations

19
References
  • Concast Design and Implementation of an Active
    Network Service, K. Calvert, J. Griffioen, B.
    Mullins, L. Poutievski, A. Sehgal, S. Wen, IEEE
    JSAC 19(3), March 2001
  • Lightweight Network Support for Scalable
    End-to-end Services, K. Calvert, J. Griffioen, S.
    Wen, Proceedings of ACM SIGCOMM 2002
  • Building Multicast Services from Lightweight
    Processing Modules and Ephemeral State, J.
    Griffioen, S. Wen, K. Calvert, Computer Networks
    38(3), February 2002
  • CALM Congestion-Aware Layered Multicast, S. Wen,
    j. Griffioen, K. Calvert, Proceedings of IEEE
    OPENARCH 2002
Write a Comment
User Comments (0)
About PowerShow.com