Title: Lightweight Flow Setup Wirespeed Flow Reservation
1Lightweight Flow SetupWirespeed Flow Reservation
Jon Turner Fred Kuhnsjst,fredk_at_cs.wustl.eduhtt
p//www.arl.wustl.edu/arl
2Resource Reservation in Internet?
- Bandwidth reservation can provide dramatically
better performance for some applications. - Obstacles to resource reservation in Internet.
- distaste for signaling protocols
- perceived complexity of IntServRSVP
- requires end-to-end deployment
- little motivation for service providers
- How to get resource reservation in Internet?
- keep it simple
- focus on top priorities - one-way unicast flows
- avoid complex signaling - leverage hardware
routing mechanisms - make it useful when only partially deployed
- provide motivation for ISPs to deploy it
3Context Extreme Networking
- The Lightweight Flow Service is one of two
interrelated services provided within the Extreme
Networking framework. - Lightweight Flow Setup (LFS)
- one-way unicast flow with reserved bandwidth,
soft-state - no complex signaling, wire-speed setup, easy to
deploy - Network Access Service (NAS)
- provides controlled access to LFS
- registration/authentication of hosts, users
- resource usage data collection for monitoring,
accounting
4Lightweight Flow Setup Service
- Sender initiated, one-way, unicast flow
- Soft-state that responds to transmission of
packets between endpoints - Arrival of first packet triggers creation of
per flow state - no advance signaling required - Reservation request embedded in application
packets - flow rate(s) specified in packet header using IP
options - Routers independently process reservations and
allocate resources - No global coordination required
- Flow detected and route selection triggered as
needed - Route for flow pinned until flow is released or
times out - Prefer routes with ample unreserved bandwidth
- allocate requested rate if/when sufficient
bandwidth
5Service Models
- Firm rate - Basic Service Model
- Applications required minimum guaranteed rate
- Client may alter reservation up or down - limits
may be placed on rate of reservation change - Allocate bandwidth on a FCFS basis as available
- Partial allocations - congested links forward
packets as datagrams until sufficient bandwidth
is released by other flows - Soft Reservations
- Can be intermixed with firm requests
- Applications maximum desired rate
- Congested links allocate bandwidth fairly among
competing flows, proportional to their firm rate - Requires minimum firm rate of 64Kbps
6Basic LFS Operation
Select path and attempt to reserve
Reserve bandwidth
Reserve 8 Mb/s to B
Complete reservation
A
20 Mb/s available
B
Select best next hop
Select path and reserve
- One way, unicast setup with partial reservation.
- complete reservations locally when bandwidth
released - Optional Status Report returned by far-end access
router. - Reservation may terminate explicitly with a
Release message or timed out. - May alter reserved bandwidth but not route.
7Example Application
- Web site specifies stable rate in outgoing
streaming media packets - Use feedback to adjust sending rate if necessary.
- Note no action required by receivers.
8Example Application - Continued
Network
2) server receives request prepares to send
video
Service Provider
AR
End System (source)
TR
TR
4) each router allocates rate and binds flow to
route.
3) Sends video with embedded LFS reservation
requests, user identifier U1.
Service User
5) Receives video clip at guaranteed rate.
TR
TR
End system (destination)
AR
1) request video clip from service provider.
TR
TR
AR - Access Router TR - Transit Router
9Regulating LFS Use
- Assumes the existence of a Network Access Service
(NAS) - client (user or host) must register prior to
using LFS service - binds client-specific privileges
- limit rates, reserved flows, frequency of
changes, total bandwidth - establishes an access pipe between an access
router and an authenticated client - Records usage for monitoring, accounting.
- record reservation periods, rates, bytes
delivered - Regulation and monitoring at network access
points by NAS or its proxy - for fixed access, just use physical interface
- access router keeps record and enforces limits
- for roaming access to ISP or corporate network
- registration protocol executed when host connects
to network - IP tunnel for data transfers between host and
access point - all data to/from host passes through that point
10Source Network and SAR
NAS
user dB
user
info
limits
id
...
...
...
...
Establish access pipe and client usage limits
register user
Authenticate user, return credentials
SAR
NAS verify user and request LFS process request
End system (Source)
All traffic from Client to Access Router goes
through the established Access Pipe. Access pipes
are simplex.
11Status Reporting and Usage Monitoring
- If a router can not allocate the requested rate
it updates a field in the LFS request - DAR maintains a usage database by recording the
flow, user and current reservation status - Client may request end-to-end status reports from
the DAR - DAR sends report directly to client
- Status reporting mechanism for use by network
provides (ISPs). - reporting to routers within a domain, reporting
across the public network portion of the path and
end-to-end reporting for private networks at the
ends of a path
12Destination Network and DAR
Record usage, remove LFS requests if destination
does not support LFS
End system Destination
IP
data
AR
Usage dB
time
reservation
flow identifier
user
id
requested
allocated
duration
start
13Example Application - Continued
user dB
SAR NAS - Verify user and request. LFS - Process
request
AR - Access Router TR - Transit Router
NAS
user auth. info and usage rights. Create Access
Pipe.
register
AR
Source Host (NAS and LFS Client)
TR
TR
Access Pipe
TR process request and update LFS option showing
minimum allocation along path
Source LAN
DAR record reservation status (requested and
minimum rates). Remove LFS option.
TR
TR
Destination Host (Not required to register with
NAS)
AR
Access Pipe (Not Supported!)
TR
TR
usage dB
Destination LAN
14Partial LFS
- LFS to Non-LFS networks
- Boundary router between last LFS network and
first non-LFS network terminates LFS flow. Status
messages sent from this node. Assumes LFS role of
the DAR. - non-LFS LAN to LFS network through a single
access point - Assume bandwidth plentiful within LANs.
- Use LFS capable router at access point
- Intermediate Non-LFS networks
- Terminate LFS flow at the first LFS to Non-LFS
network boundary router. - Suggests policy of routing LFS flows through
LFS-capable networks.
15Partial LFS
- WAN supports LFS but LANs do not.
- Ample LAN bandwidth can make partial reservation
worthwhile. - Sending LAN router (and perhaps switches) give
LFS flows high priority. - Sending WAN router processes reservation.
16Partial LFS in WANs
- Partial LFS useful from A to B if only A supports
it. - If only B supports LFS, not clear if its
worthwhile. - route changes can cause orphan reservations
- avoid orphan reservations by configuring
inter-WAN routers to mark packets to disable LFS
processing - but if time between route changes is gtgt
reservation timeout, orphan reservations not
serious problem
17The LFS IP Option
op (2b)
flags (6 bits)
type (8 bits)
length (8 bits)
rate 1 (8 bits)
rate 2 (8 b its)
trace field (24 bits)
Client Network Status Recipient (32 bits,
optional)
Public Network Status Recipient (32 bits,
optional)
Intradomain Status Recipient (32 bits, optional)
Operations 00 Firm Rate Request 01 Soft Rate
Request 10 Release 11 Undefined
Flags (XXHCPI) H Host Status Request C Client
Network Status Request P Public Network Status
Request I Intradomain Network Status
Request XX Undefined
Status Recipient - 32 bit IP Address
18LFS Option- Flags
- Host Status Request - Requests router terminating
the LFS portion of the path to send status report
directly to the source host (source address in IP
header). - Client Network Status Request - Requests router
terminating the LFS portion of the path to send
status report to the Client Network Status Report
Recipient. - Public Network Status Request - Requests router
terminating the LFS portion of the path to send
status report to the Public Network Status Report
Recipient. The recipient forwards the status
report along the path of the flow. Report removed
by the router that terminates the LFS section of
the path, i.e. the reporting router. - Intradomain Network Status Request - The report
is sent by the last router on the path within the
domain, to the intradomain status report
recipient. Removed at outgoing BR
19Remaining LFS Option Fields
- Rate1 and Rate2 - Rates expressed using a
floating point representation with a 4 bit
mantissa and a 4 bit exponent. - if m first 4 bits, x last 4 bits, then the
rate is m ?2x?64 Kb/s. - Permits reservation rates ranging from 64 Kb/s to
over 4 Gb/s. - Successive rates differ by no more than a factor
of 1.0625. - Rate 1 contains the desired rate, Rate 2 contains
the minimum rate allocated along the path - Trace field - Enables a network to determine
where a flow entered the network for purposes of
monitoring and accounting. Domains free to define
own specific use. - Status report target recipients - Optional list
of up to three status report recipients. Each is
associated with one of the status request flags
and is present if and only if the corresponding
status request flag is present. The order in
which they appear (if present) is Client Network,
Public Network then Intradomain.
20LFS Control and Status Messages
Hdr
operation(8 bits)
flags (8 bits)
undefined (2 Bytes)
source IP address (32 bits)
Flow Identifier
destination IP address (32 bits)
Status Record (20 Bytes)
source port (16 bits)
destination port (16 bits)
firm (8 bits)
soft (8 bits)
protocol (8 bits)
undefined (8 bits)
- LFS Status report are encapsulated within an IP
datagram with a unique protocol type field. - Currently, only this status message is envisioned
so we do not need the LFS header.
21Internet Different ISPs
user database
NAS
ISP A
authenticate/ authorization
user authorization and constraints
register
user identifer
SAR
BR
TR
End system Source
usage dB
application flow LFS trace AX
application flow LFS trace AX to BX
Source Network
remove LFS option for trace BX
BR
TR
End system Client
DAR
BR
TR
usage dB
usage dB
Destination Network
ISP B
22Source Access Router - LFS Processing
- SW manages FPX reserved queues.
- Always reclassify packets.
- New or updated reservation must return bandwidth
allocated.
Define access pipe, set usage limits/trace ID,
get usage table
CP
NAS (IKE, Accounting)
Return usage table, current and history.
NAS Register
Route Update
Add Exact Match Filter with Reservation
New LFS Flow. Allocate QID
Command Interface
Classify after filter added
Delete Exact Match Filter/Reservation
Release or error. Free QID
Route DB
Classify before delete filter
Forward No option or no change
No option or no change
Queue, Flow, and Access Pipe Table
Change LFS flow reservation
FPX Classifier
Change rate or style.
Classify after rate change
Dst Local, Proto LFS (status report)
Packet/Event Dispatcher
NAS (Authentication)
Access Pipe
Authorized
Non-LFS or Error drop LFS option
LFS Processing
Send status report to next hop
Encapsulated Status Report, send to next hop for
flow
23Transit Router
CP
Route Update
Add Exact Match Filter with Reservation
New LFS Flow. Allocate QID
Command Interface
Classify after filter added
Delete Exact Match Filter/Reservation
Release or error. Free QID
Route dB
Classify before delete filter
Forward No option or no change
No option or no change
Queue and Flow Table
Change LFS flow reservation
FPX Classifier
Change rate or style.
Classify after rate change
Dst Local, Proto LFS (status report)
Packet/Event Dispatcher
IP Option Processing
Packets with IP Options
LFS Options Present
LFS Processing
Send status report to next hop
Encapsulated Status Report, send to next hop for
flow
24Boundary or Destination Access Router
- No specialized routing needed since either the
destination host is directly connected or peers
with a Non-LFS network. - Also needs output port bandwidth reservations.
CP
Get Usage Report
NAS (Accounting)
Return Usage Report
Add Exact Match Filter with Reservation
New LFS Flow. Allocate QID
Command Interface
Classify after filter added
Delete Exact Match Filter/Reservation
Release or error. Free QID
Usage dB
Classify before delete filter
Forward No option or no change
No option or no change
Queue and Flow Table
Change LFS flow reservation
FPX Classifier
Change rate or style.
Classify after rate change
Dst Local, Proto LFS (status report)
Packet/Event Dispatcher Remove LFS options Do
not forward status reports. Can destination
register? If so we forward options and reports.
IP Option Processing
Packets with IP Options
LFS Options Present
LFS Processing
25FPX - LFS Issues
- Shims input and output VINs included, SID
changed to QID or Queue identifier - Interfacing to FPX
- Queue Identifier for reserved flows allocated by
software on the SPC. - Add/removing/modifying exact match filters,
including reservations and QID. Should return
rate allocated. - Do we need to request current firm and soft rate
allocation for specific flow? - Rely on LFS options to expose current allocation
to SPC - when SPC updates filter the current
allocation is returned. - All packets with IP options are sent to SPC.
- Sent to SPC before classification.
- What about timing out LFS soft state on TR or
DAR? Application must send LFS option in every X
packets.
26NAS - LFS Issues
- Access pipe is used by LFS for authorizing
requests - NAS assigns usage limitations on a per access
pipe basis - LFS then verifies request against access pipe
limits. If request exceeds limit then drop should
we drop request, drop packet or reduce rate to
max allowed? - NAS may request LFS to release all reservations
associated with a given access pipe. - LFS obtains access pipe designator by
- inVIN ! default, then arrived on an access pipe
with ID sub-port ID. - IPSec - what do we use for an access pipe ID?
- Usage database reporting to NAS
- SPC/FPX sends to NAS instance on local CP
- LFS to NAS usage push or pull? AAL0 or AAL5? JDD
data channels? - IKE on SPC?! Not supported now. Implement on CP.
- Access Pipes are simplex - only on source end.
27Implementation -Transit Router Input
- If flow table entry present, use stored next hop.
- If no flow table entry, lookup route create
entry - store selected next hop in flow table entry
- next hop selected from list of candidates, based
on outgoing link status
28Implementation - Transit Router Output
- If flow table entry present, use it to find
queue, otherwise create an entry allocate
queue. - If firm reservation specified, update entry.
- keep list of unsatisfied reservation requests to
process as bandwidth becomes available - If soft reservation, update fair share, pacing
rate.
29Implementation - Access Router Ingress
- If entry for user present in access table.
- check privileges and record usage in access table
- Otherwise, first retrieve user data from
database. - implies delay on first use of any given access
link - When multiple concurrent access points.
- users allocation divided - periodic updates
30Implementation - Access Router Egress
FlowTable
RouteTable
FlowTable
FlowProcessor
FlowProc.
. . .
StatusTable
AccessTable
- Flow status recorded in status table.
- Record usage data for accounting.
- reserved amount, time of reservation changes
- Periodically transfer accounting data to CP.
- need to do data reduction, first?
31Routing Flow Reservations
- May use standard datagram routing for flows.
- QoS routing can produce better results.
- Shortest path routing with suitable cost metric.
- Link cost proportional to length when link not
busy. - When margin is small, link cost grows to reflect
uncertainty in link state. - Parameter a chosen to balance cost of false
positive and false negative. - Interdomain routing?
sample parameter valuesR5 Mb/s, k5,
a500/(kR)2