Lightweight Flow Setup Wirespeed Flow Reservation Jon Turner

  • Slides: 31
Download presentation
Lightweight Flow Setup Wirespeed Flow Reservation Jon Turner Fred Kuhns {jst, fredk}@cs. wustl. edu

Lightweight Flow Setup Wirespeed Flow Reservation Jon Turner Fred Kuhns {jst, fredk}@cs. wustl. edu http: //www. arl. wustl. edu/arl

Resource Reservation in Internet? n Bandwidth reservation can provide dramatically better performance for some

Resource Reservation in Internet? n Bandwidth reservation can provide dramatically better performance for some applications. n Obstacles to resource reservation in Internet. » distaste for signaling protocols » perceived complexity of Int. Serv+RSVP » requires end-to-end deployment » little motivation for service providers n How to get resource reservation in Internet? » keep it simple focus on top priorities - one-way unicast flows n avoid complex signaling - leverage hardware routing mechanisms n » make it useful when only partially deployed » provide motivation for ISPs to deploy it 2 - 9/10/2020

Context: Extreme Networking n The Lightweight Flow Service is one of two interrelated services

Context: Extreme Networking n The Lightweight Flow Service is one of two interrelated services provided within the Extreme Networking framework. n Lightweight Flow Setup (LFS) » one-way unicast flow with reserved bandwidth, soft-state » no complex signaling, wire-speed setup, easy to deploy n Network Access Service (NAS) » provides controlled access to LFS » registration/authentication of hosts, users » resource usage data collection for monitoring, accounting 3 - 9/10/2020

Lightweight Flow Setup Service n Sender initiated, one-way, unicast flow n Soft-state that responds

Lightweight Flow Setup Service n Sender initiated, one-way, unicast flow n 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 n 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 4 - 9/10/2020

Service Models n Firm rate - Basic Service Model n Soft Reservations » Application’s

Service Models n Firm rate - Basic Service Model n Soft Reservations » Application’s 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 » Can be intermixed with firm requests » Application’s maximum desired rate » Congested links allocate bandwidth fairly among competing flows, proportional to their firm rate n 5 - 9/10/2020 Requires minimum firm rate of 64 Kbps

Basic LFS Operation Reserve 8 Mb/s to B A Reserve bandwidth 10 Mb/s available

Basic LFS Operation Reserve 8 Mb/s to B A Reserve bandwidth 10 Mb/s available Select best next hop n One Select path and attempt to reserve 5 Mb/s available Mb/s 205 Mb/s available Complete reservation 20 Mb/s available 2 Mb/s available B Select path and reserve way, unicast setup with partial reservation. » complete reservations locally when bandwidth released n Optional Status Report returned by far-end access router. n Reservation may terminate explicitly with a Release message or timed out. n May alter reserved bandwidth but not route. 6 - 9/10/2020

Example Application Edge Router Web Site n Web ISP Network Private LAN site specifies

Example Application Edge Router Web Site n Web ISP Network Private LAN site specifies stable rate in outgoing streaming media packets n Use feedback to adjust sending rate if necessary. n Note: no action required by receivers. 7 - 9/10/2020

Example Application - Continued 2) server receives request prepares to send video Service Provider

Example Application - Continued 2) server receives request prepares to send video Service Provider End System (source) IP LFS Network TR TR AR data 4) each router allocates rate and binds flow to route. 3) Sends video with embedded LFS reservation requests, user identifier = U 1. Service User End system (destination) 5) Receives video clip at guaranteed rate. 1) request video clip from service provider. 8 - 9/10/2020 TR TR AR AR - Access Router TR - Transit Router

Regulating LFS Use n Assumes the existence of a Network Access Service (NAS) »

Regulating LFS Use n Assumes the existence of a Network Access Service (NAS) » client (user or host) must register prior to using LFS service » binds client-specific privileges n 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. n record reservation periods, rates, # bytes delivered n 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 n n n 9 - 9/10/2020 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

Source Network and SAR NAS user d. B user info limits. . id. .

Source Network and SAR NAS user d. B user info limits. . id. . . Establish access pipe and client usage limits register user Authenticate user, return credentials SAR End system (Source) All traffic from Client to Access Router goes through the established Access Pipe. Access pipes are simplex. 10 - 9/10/2020 NAS: verify user and request LFS: process request

Status Reporting and Usage Monitoring n If a router can not allocate the requested

Status Reporting and Usage Monitoring n If a router can not allocate the requested rate it updates a field in the LFS request n DAR maintains a usage database by recording the flow, user and current reservation status n Client may request end-to-end status reports from the DAR » DAR sends report directly to client n 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 11 - 9/10/2020

Destination Network and DAR End system Destination IP data Record usage, remove LFS requests

Destination Network and DAR End system Destination IP data Record usage, remove LFS requests if destination does not support LFS IP LFS data AR Usage d. B user id 12 - 9/10/2020 time reservation requested allocated start flow identifier duration

Example Application - Continued user d. B NAS register SAR: NAS - Verify user

Example Application - Continued user d. B NAS register SAR: NAS - Verify user and request. LFS - Process request user auth. info and usage rights. Create Access Pipe. AR - Access Router TR - Transit Router TR TR AR Source Host (NAS and LFS Client) Access Pipe Source LAN Destination Host (Not required to register with NAS) data DAR: record reservation status (requested and minimum rates). Remove LFS option. Access Pipe (Not Supported!) Destination LAN 13 - 9/10/2020 IP (R 1) TR TR: process request and update LFS option showing minimum allocation TR along path AR usage d. B TR TR

Partial LFS n LFS to Non-LFS networks: » Boundary router between last LFS network

Partial LFS n 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. n non-LFS LAN to LFS network through a single access point: » Assume bandwidth plentiful within LANs. » Use LFS capable router at access point n Intermediate Non-LFS networks: » Terminate LFS flow at the first LFS to Non-LFS network boundary router. n Suggests policy of routing LFS flows through LFScapable networks. 14 - 9/10/2020

Partial LFS n WAN supports LFS but LANs do not. n Ample LAN bandwidth

Partial LFS n WAN supports LFS but LANs do not. n Ample LAN bandwidth can make partial reservation worthwhile. n Sending LAN router (and perhaps switches) give LFS flows high priority. n Sending WAN router processes reservation. 15 - 9/10/2020

Partial LFS in WANs A B n Partial LFS useful from A to B

Partial LFS in WANs A B n Partial LFS useful from A to B if only A supports it. n If only B supports LFS, not clear if it’s 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 >> reservation timeout, orphan reservations not serious problem 16 - 9/10/2020

The LFS IP Option type (8 bits) length (8 bits) rate 2 (8 b

The LFS IP Option type (8 bits) length (8 bits) rate 2 (8 b its) op (2 b) flags (6 bits) rate 1 (8 bits) 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 17 - 9/10/2020

LFS Option- Flags n Host Status Request - Requests router terminating the LFS portion

LFS Option- Flags n 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). n Client Network Status Request - Requests router terminating the LFS portion of the path to send status report to the Client Network Status Report Recipient. n 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. n 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 18 - 9/10/2020

Remaining LFS Option Fields n Rate 1 and Rate 2 - Rates expressed using

Remaining LFS Option Fields n Rate 1 and Rate 2 - 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 2 x 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 n 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. n 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. 19 - 9/10/2020

LFS Control and Status Messages n LFS operation(8 bits) flags (8 bits) undefined (2

LFS Control and Status Messages n LFS operation(8 bits) flags (8 bits) undefined (2 Bytes) source IP address (32 bits) destination IP address (32 bits) source port (16 bits) protocol (8 bits) firm (8 bits) destination port (16 bits) soft (8 bits) Flow Identifier Status Record (20 Bytes) Hdr undefined (8 bits) Status report are encapsulated within an IP datagram with a unique protocol type field. n Currently, only this status message is envisioned so we do not need the LFS header. 20 - 9/10/2020

Internet: Different ISPs NAS user database user authorization and constraints register user identifer authenticate/

Internet: Different ISPs NAS user database user authorization and constraints register user identifer authenticate/ authorization ISP “A” BR TR BR usage d. B TR SAR End system Source application flow LFS trace A: X to B: X Source Network End system Client remove LFS option for trace B: X 21 - 9/10/2020 TR BR TR DAR usage d. B Destination Network BR usage d. B ISP “B”

Source Access Router - LFS Processing • SW manages FPX reserved queues. • Always

Source Access Router - LFS Processing • SW manages FPX reserved queues. • Always reclassify packets. • New or updated reservation must return bandwidth allocated. CP NAS (IKE, Accounting) Rt Manager NAS Register Add Exact Match Filter with Reservation Classify after filter added Delete Exact Match Filter/Reservation In. VIN 0 In. VIN 1 In. VIN 2 In. VIN 3 FPX Classifier Define access pipe, set usage limits/trace ID, get usage table Return usage table, current and history. Route Update New LFS Flow. Allocate QID Classify before delete filter Release or error. Free QID Forward: No option or no change Change LFS flow reservation Classify after rate change Change rate or style. Command Interface Route DB Queue, Flow, and Access Pipe Table Dst == Local, Proto = LFS (status report) Access Pipe NAS Authorized (Authentication) Non-LFS or Error drop LFS option Send status report to next hop 22 - 9/10/2020 Packet/Event Dispatcher LFS Processing Encapsulated Status Report, send to next hop for flow

Transit Router CP Rt Manager Route Update Add Exact Match Filter with Reservation Classify

Transit Router CP Rt Manager Route Update Add Exact Match Filter with Reservation Classify after filter added Delete Exact Match Filter/Reservation In. VIN 0 In. VIN 1 In. VIN 2 In. VIN 3 FPX Classifier New LFS Flow. Allocate QID Command Interface Classify before delete filter Release or error. Free QID Route d. B Forward: No option or no change Change LFS flow reservation Change rate or style. Classify after rate change Queue and Flow Table Dst == Local, Proto = LFS (status report) Packets with IP Options IP Option Processing Send status report to next hop 23 - 9/10/2020 Packet/Event Dispatcher LFS Options Present LFS Processing Encapsulated Status Report, send to next hop for flow

Boundary or Destination Access Router • No specialized routing needed since either the destination

Boundary 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 NAS (Accounting) Add Exact Match Filter with Reservation Classify after filter added Delete Exact Match Filter/Reservation In. VIN 0 In. VIN 1 In. VIN 2 In. VIN 3 FPX Classifier Get Usage Report Return Usage Report New LFS Flow. Allocate QID Classify before delete filter Release or error. Free QID Forward: No option or no change Change LFS flow reservation Change rate or style. Classify after rate change Command Interface Usage d. B Queue and Flow Table Dst == Local, Proto = LFS (status report) Packets with IP Options IP Option Processing LFS Options Present Packet/Event Dispatcher Remove LFS options; Do not forward status reports. * Can destination register? If so we forward options and reports. LFS Processing 24 - 9/10/2020

FPX - LFS Issues n Shims: input and output VINs included, SID changed to

FPX - LFS Issues n Shims: input and output VINs included, SID changed to QID or Queue identifier n 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? n n All Rely on LFS options to expose current allocation to SPC - when SPC updates filter the current allocation is returned. 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. 25 - 9/10/2020

NAS - LFS Issues n Access pipe is used by LFS for authorizing requests

NAS - LFS Issues n 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: n n in. VIN != default, then arrived on an access pipe with ID = sub-port ID. IPSec - what do we use for an access pipe ID? n Usage database reporting to NAS: » SPC/FPX sends to NAS instance on local CP » LFS to NAS usage: push or pull? AAL 0 or AAL 5? JDD data channels? n IKE on SPC? ! Not supported now. Implement on CP. n Access Pipes are simplex - only on source end. 26 - 9/10/2020

Implementation -Transit Router Input Flow Table Route Table Flow Proc. . Flow Processor Flow

Implementation -Transit Router Input Flow Table Route Table Flow Proc. . Flow Processor Flow Table n If flow table entry present, use stored next hop. n 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 27 - 9/10/2020

Implementation - Transit Router Output Flow Table Route Table Flow Proc. . Flow Processor

Implementation - Transit Router Output Flow Table Route Table Flow Proc. . Flow Processor Flow Table n If flow table entry present, use it to find queue, otherwise create an entry & allocate queue. n If firm reservation specified, update entry. » keep list of unsatisfied reservation requests to process as bandwidth becomes available n If soft reservation, update fair share, pacing rate. 28 - 9/10/2020

Implementation - Access Router Ingress Flow Table Route Table Flow Proc. . Flow Processor

Implementation - Access Router Ingress Flow Table Route Table Flow Proc. . Flow Processor Flow Table Access Table n If entry for user present in access table. » check privileges and record usage in access table n Otherwise, first retrieve user data from database. » implies delay on first use of any given access link n When multiple concurrent access points. » user’s allocation divided - periodic updates 29 - 9/10/2020

Implementation - Access Router Egress Flow Table Route Table Flow Proc. Access Table Status

Implementation - Access Router Egress Flow Table Route Table Flow Proc. Access Table Status Table . . . Flow Processor n Flow status recorded in status table. n Record usage data for accounting. » reserved amount, time of reservation changes n Periodically transfer accounting data to CP. » need to do data reduction, first? 30 - 9/10/2020

Routing Flow Reservations n May use standard datagram routing for flows. n Qo. S

Routing Flow Reservations n May use standard datagram routing for flows. n Qo. S routing can produce better results. n Shortest path routing with suitable cost metric. n Link cost proportional to length when link not busy. length + a(k. R-margin)2 n When margin is small, link cost grows to reflect length k. R uncertainty in link state. margin = (avail bw) - R n Parameter a chosen to balance cost of “false sample parameter values R=5 Mb/s, k=5, a=500/(k. R)2 positive” and “false negative”. n Interdomain routing? 31 - 9/10/2020