國立清華大學資訊系黃能富教授 1 resource reservation protocol (rsvp) all rights...
Post on 20-Dec-2015
233 views
TRANSCRIPT
國立清華大學資訊系黃能富教授 1
Resource ReSerVation Protocol
(RSVP)
All rights reserved. No part of this publication and file may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without prior written permission of Professor Nen-Fu Huang (E-mail: [email protected]).
國立清華大學資訊工程學系 黃能富教授Tel: 03-573-1063Fax: 03-572-3694E-mail: [email protected]:http://www.cs.nthu.edu.tw/~nfhuang
國立清華大學資訊系黃能富教授 2
RSVP Documents
RFC 2205 Resource ReSerVation Protocol (RSVP) -- Functional Specification
RFC 2209 Resource ReSerVation Protocol (RSVP) -- Message Processing Rules
RFC 2210 The Use of RSVP with IETF Integrated ServicesRFC 2211 Specification of Controlled-Load Network Eleme
nt ServiceRFC 2212 Specification of Guaranteed Quality ServiceRFC 2215 General Characterization Parameter for Integrat
ed Service Network ElementsRFC 2216 Network Element Service Specification Template
國立清華大學資訊系黃能富教授 3
Introduction of RSVP
RSVP makes resource reservations for both unicast and multicast applications, adapting dynamically to changing group membership and routes.
A resource reservation setup protocol designed for an integrated services Internet.
Used by a host to request a specific QoS from the network.
Also used by the routers to deliver QoS requests to all nodes along the path(s) of the data stream and to establish and maintain state to provide the requested service.
國立清華大學資訊系黃能富教授 4
Introduction of RSVP
RSVP reserve resources for simplex data streams (only one direction).
Operates on top of IP (either IPv4 or IPv6), like ICMP, IGMP.
Not a routing protocol, but designed to operate with current and future unicast and multicast routing protocol, like DVMRP (Distance Vector Multicast Routing Protocol), CBT (Core Based Tree), PIM (Protocol Independent Multicast), etc.
An RSVP daemon consults the local routing database(s) to obtain routes.
國立清華大學資訊系黃能富教授 5
Introduction of RSVP
In the multicast case, a host sends IGMP messages to join a multicast group and then sends RSVP Resv messages to reserve resources along the delivery path(s) of that group.
Incoming packets are passes through a packet classifier which determines the route and the QoS class for each packet.
On outgoing interface, a packet scheduler then makes forwarding decisions for every packet, to achieve the promised QoS on the particular link-layer medium.
國立清華大學資訊系黃能富教授 6
Introduction of RSVP
Admission control determines whether resources are sufficient to support the requested QoS.
Policy control determines whether the user is allowed to make the reservation.
Uses soft state in the routers. RSVP sends periodic refresh messages to maintain the state along the reserved path(s); in absence of refreshes, the state will automatically time out and be deleted.
國立清華大學資訊系黃能富教授 7
RSVP in Hosts and Routers
AP
RSVPdaemon
Classifier PacketScheduler
PolicyControl
AdmisControl
RoutingProtocolDaemon
RSVPdaemon
Classifier PacketScheduler
PolicyControl
AdmisControl
RSVP RSVP
Data
Data
Data
Host Router
PacketScheduler Data
國立清華大學資訊系黃能富教授 8
RSVP Operation Example
R1
SessionManager
CA
B
Resv
path
R3
R2 R4
R5
R6
IGMP
IGMP
DVMRP
path
path
Resv
Resv
21
3
4 5
6
78
9
10
12
13
14
15
Resvpath
Session (Ipa,PID,Port)
Receive (Ipa,PID,Port)
11 Receive (Ipa,PID,Port)
國立清華大學資訊系黃能富教授 9
Data Flows
RSVP defines a session to be a data flow with a particular destination and transport-layer protocol (TCP/UDP).
The destination of a session is defined byDstAddr, the IP destination address of the data p
ackets.Protocol ID,DstPort, a generalized destination port (some fu
rther demultiplexing point in the transport or application protocol layer).
國立清華大學資訊系黃能富教授 10
Reservation Model
An elementary RSVP reservation request consists of a
flow descriptor = (flowspec, filter spec).The flowspec defines a desired QoS and is used
to set parameters in the node’s packet scheduler.
The filter spec defines the set of data packets (flow) to receive the QoS defined by the flow spec, and is used to set parameters in the node’s packet classifier.
國立清華大學資訊系黃能富教授 11
Reservation Model
The flow spec includes a service class and two sets of numeric parameters:an Rspec (R for reserve) that defines the QoS,
anda Tspec (T for Traffic) that describes the data
flow.The filter specs may select arbitrary subsets of t
he packets in a given session. The one used in present RSVP consisting of sender IP addr and optionally the UDP/TCP port number SrcPort.
國立清華大學資訊系黃能富教授 12
Reservation Styles
A reservation request includes a set of options that are collectively called the reservation style. One concerns the treatment of reservations for diffe
rent senders within the same session : establish a distinct reservation for each upstream sender, or else make a single reservation that is shared among all packets of selected senders.
Another controls the selection of senders; an explicit list of all selected senders, or a wildcard that implicity selects all the senders to the session.
國立清華大學資訊系黃能富教授 13
Reservation Styles
Fixed-Filter (FF) StyleShared-Explicit (SE) StyleWildcard-Filter (WF) Style
SenderSelection
Reservation
Distinct Shared
Explicit
Wildcard
Fixed-Filter (FF) Style
Shared-Explicit (SE) Style
Wildcard-Filter (WF) Style(None
defined)
國立清華大學資訊系黃能富教授 14
Reservation Styles
Wildcard-Filter (WF) StyleShared reservation and wildcard sender selection. Creates a single reservation shared by all upstream senders.
WF ( *{Q} )Fixed-Filer (FF) Style
Distinct reservation and explicit sender selection.Creates a distinct reservation for data packets from a particular sender.
FF ( S {Q} ) <= a flow descriptorFF ( S1 {Q1}, S2 {Q2}, ... ) : The total reservation is the sum of Q1, Q2, ...
國立清華大學資訊系黃能富教授 15
Reservation Styles
Shared Explicit (SE) StyleShared reservation and explicit sender selection.
Creates a single reservation shared by selected upstream senders.
SE ( {S1,S2,...}, {Q} )
國立清華大學資訊系黃能富教授 16
Reservation Styles
These styles are all mutually incompatible.Shared reservations, created by WF and SE st
yles, are appropriate for those multicast applications in which multiple data sources are unlikely to transmit simultaneously (packetized audio).
Distinct reservation (FF style) is appropriate for the flows from different senders (video signals).
國立清華大學資訊系黃能富教授 17
Example of Styles
WF (*{4B} )
Router
LANRouter
Router
R2
R3
R1S1
S2,S3
a
b
c
d
Router
LANRouter
Router
R2
R3
R1S1
WF (*{4B} )
*{4B}
*{3B}
WF (*{4B} )
WF (*{3B} )
WF (*{2B} )
(a) Router Configuration
(b) WF Reservation Example
S2,S3
國立清華大學資訊系黃能富教授 18
Example of StylesFF (S1{4B} )
Router
LANRouter
Router
R2
R3
R1S1
S2,S3
FF (S2{5B},S3{B} )
FF (S1{4B},S2{5B} )
FF (S1{3B},S3{B} )
FF (S1{B} )
S1{4B}
S2{5B}
S1{3B}
S3{B}
SE (S1{3B} )Router
LANRouter
Router
R2
R3
R1S1
S2,S3
SE ((S2,S3){3B} )
SE ((S1,S2){B} )
SE( (S1,S3){3B} )
SE (S2{2B} )
(S1,S2) {B}
(S1,S2,S3) {3B}
(d) SE Reservation Example
(c) FF Reservation Example
國立清華大學資訊系黃能富教授 19
Example of StylesRouter
LANRouter
Router
R2
R3
R1S1
S2,S3
a
b
c
d
(a) Router Configuration
WF (*{4B} )
Router
LANRouter
Router
R2
R3
R1S1
S2,S3WF (*{3B} )
*{4B}
*{3B}
WF (*{4B} )
WF (*{3B} )
WF (*{2B} )
(b) WF Reservation Example -Partial Routing
國立清華大學資訊系黃能富教授 20
RSVP Protocol Mechanisms
There are two fundamental RSVP message types:Resv and Path
Each receiver host sends Rsev messages upstream towards the senders. These messages follow exactly the reverse of the path(s) the data packets will use, to all the selected senders. Each node along the path(s) creates and maintains the reservation state.
Router
LAN
CA a
b
c
dB
B’
D
D’
PreviousHops
IncomingInterfaces
OutgoingInterfaces
Next Hops
LANdata
path
Resvdata
data
data path
path
ResvResv
path
Resv
國立清華大學資訊系黃能富教授 21
RSVP Protocol Mechanisms
Each RSVP sender issues Path messages downstream along the uni-multicast routes provided by the routing protocol(s), following the paths of the data.
Each node along the path(s) stores the path state (includes at least the IP address of the previous hop node).
An RSVP session is normally defined by the triple:(Dest IP Address, Protocol ID, DstPort)
TCP = 6, UDP = 17
國立清華大學資訊系黃能富教授 22
Path Message Format
<Path Message> ::= <Common Header> [<Integrity>]
<Session> <RSVP_Hop> <Time_Values> [<Policy_Data> ... ] [<Sender Descriptor>]<Sender Descriptor> ::= <Sender_Template> <Sender_Tspec> [<ADspec>]
國立清華大學資訊系黃能富教授 23
Common Header Format
Vers Flags Msg Type RSVP Checksum
Send_TTL (Reserved) RSVP Length
0 1 2 3
Message Type1 : Path 2 : Resv3 : PathErr4 : ResvErr5 : PathTear6 : ResvTear7 : ResvConf
國立清華大學資訊系黃能富教授 24
Object Formats
Length (bytes) Class-Num C-Type
(Object contents)
0 1 2 3
國立清華大學資訊系黃能富教授 25
Class-Num
NULLSESSION : (DestAddress, protocol ID, port)RSVP_HOP : The IP address of the RSVP-capable node th
at sent this message and logical outgoing interface handle (LIH).
TIME_VALUES : Refresh period R.STYLE : Reservation style plus style-specific information.FLOWSPEC : Defines a desired QoS, in a Resv message.FILTER_SPEC : Defines a subset of session data packets t
hat should receive the desired QoS, in a Resv message.
國立清華大學資訊系黃能富教授 26
Class-Num
ADSPEC : Carries OPWA (one path with advertising) data, in a path message.
ERROR_SPEC : Specifies an error in a PathErr, ResvErr, or a confirmation in a ResvConf message.
POLICY_DATA : Carriers information for a local policy module to decide the permission of a reservation.
INTEGRITY : Carriers cryptographic data to authenticate the originating node and to verify the contents of the RSVP message.
SCOPE : Carriers an explicit list of sender hosts.RESV_CONFIRM : Carriers the IP address of a receiver t
hat requested a confirmation.
國立清華大學資訊系黃能富教授 27
Path MessageRSVP_Hop: IP address of previous RSVP nodeSender Template :
Describes the format of the data packets that the sender will originate.
Sender TspecDefines the traffic characteristics of the data flow that the sender
will generate.Used by traffic control to prevent over-reservation.r : Token Bucket Rate (32-bit IEEE Floating Point number)b : Token Bucket Size (32-bit IEEE Floating Point number)p : Peak Data Rate (32-bit IEEE Floating Point number)m : Minimum Policed Unit (32-bit integer)M : Maximum Packet Size (32-bit integer)
國立清華大學資訊系黃能富教授 28
Sender Traffic Specific
r
b
p
M
x <= (rT+b) min[pT+M, rT+b]
p > r
M < b
min[pT, rT+b]
(packetize version)
data
b : Maximum burst size
Sender
國立清華大學資訊系黃能富教授 29
Resv Message
<Resv Message> ::= <Common Header> [<Integrity>] <Session> <RSVP_Hop> <Time_Values> [<Resv_Confirm>] [ <Scope>] [<Policy_Data>...] [<Style> <flow descriptor list>]
<flow descriptor list> ::= <empty> | <flow descriptor list> <flow descriptor>
國立清華大學資訊系黃能富教授 30
Host ModelBefore a session can be created, the
session ID must be assigned and communicated to all the senders and receivers by some out-of-band mechanism.
When an RSVP session is being set up, the following events happen at the end systems:
國立清華大學資訊系黃能富教授 31
Host Model
A receiver joins the multicast group specified by DstAddr (Multicast), using IGMP.
A potential sender starts sending RSVP Path messages to the DstAddr.
A receiver application receives a Path message.A receiver starts sending appropriate Resv mes
sages, specifying the desired flow descriptors.A sender application receives a Resv message.A sender starts sending data packets.
國立清華大學資訊系黃能富教授 32
RSVP AttributesRSVP makes reservations for both unicast and multi
cast applications, adapting dynamically changing of group membership and routes.
RSVP is simplex, it makes reservations for unidirectional data flows.
RSVP is receiver-oriented. The receiver of a data flow initiates and maintains the resource reservation used for that flow.
RSVP maintains soft state in the routers, providing graceful support for dynamic membership changes and automatic adaptation to routing changes.
國立清華大學資訊系黃能富教授 33
RSVP Attributes
RSVP is not a routing protocol but depends upon present and future routing protocols.
RSVP transports and maintains opaque state for traffic control and policy control.
RSVP provides several reservation models to fit a variety of applications.
RSVP provides transparent operation through routers that do not support it.
RSVP supports both IPv4 and IPv6.