Resource Re Ser Vation Protocol RSVP Tel 03

  • Slides: 33
Download presentation
Resource Re. Ser. Vation Protocol (RSVP) 國立清華大學資訊 程學系 黃能富教授 Tel: 03 -573 -1063 Fax:

Resource Re. Ser. Vation Protocol (RSVP) 國立清華大學資訊 程學系 黃能富教授 Tel: 03 -573 -1063 Fax: 03 -572 -3694 E-mail: nfhuang@cs. nthu. edu. tw URL: http: //www. cs. nthu. edu. tw/~nfhuang Ó 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: nfhuang@cs. nthu. edu. tw). 國立清華大學資訊系黃能富教授 1

RSVP Documents v RFC 2205 Resource Re. Ser. Vation Protocol (RSVP) -- Functional Specification

RSVP Documents v RFC 2205 Resource Re. Ser. Vation Protocol (RSVP) -- Functional Specification v RFC 2209 Resource Re. Ser. Vation Protocol (RSVP) -Message Processing Rules v RFC 2210 The Use of RSVP with IETF Integrated Services v RFC 2211 Specification of Controlled-Load Network Element Service v RFC 2212 Specification of Guaranteed Quality Service v RFC 2215 General Characterization Parameter for Integrated Service Network Elements v RFC 2216 Network Element Service Specification Template 國立清華大學資訊系黃能富教授 2

Introduction of RSVP v RSVP makes resource reservations for both unicast and multicast applications,

Introduction of RSVP v RSVP makes resource reservations for both unicast and multicast applications, adapting dynamically to changing group membership and routes. v A resource reservation setup protocol designed for an integrated services Internet. v Used by a host to request a specific Qo. S from the network. v Also used by the routers to deliver Qo. S requests to all nodes along the path(s) of the data stream and to establish and maintain state to provide the requested service. 國立清華大學資訊系黃能富教授 3

Introduction of RSVP v. RSVP reserve resources for simplex data streams (only one direction).

Introduction of RSVP v. RSVP reserve resources for simplex data streams (only one direction). v. Operates on top of IP (either IPv 4 or IPv 6), like ICMP, IGMP. v. 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. v. An RSVP daemon consults the local routing database(s) to obtain routes. 國立清華大學資訊系黃能富教授 4

Introduction of RSVP v. In the multicast case, a host sends IGMP messages to

Introduction of RSVP v. 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. v. Incoming packets are passes through a packet classifier which determines the route and the Qo. S class for each packet. v. On outgoing interface, a packet scheduler then makes forwarding decisions for every packet, to achieve the promised Qo. S on the particular linklayer medium. 國立清華大學資訊系黃能富教授 5

Introduction of RSVP v. Admission control determines whether resources are sufficient to support the

Introduction of RSVP v. Admission control determines whether resources are sufficient to support the requested Qo. S. v Policy control determines whether the user is allowed to make the reservation. v. 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. 國立清華大學資訊系黃能富教授 6

RSVP in Hosts and Routers Router Host RSVP AP RSVP daemon Data Classifier Policy

RSVP in Hosts and Routers Router Host RSVP AP RSVP daemon Data Classifier Policy Control Routing Protocol Daemon RSVP daemon Admis Control Packet Scheduler Admis Control Classifier Data Policy Control Packet Scheduler Data 國立清華大學資訊系黃能富教授 7

RSVP Operation Example 11 Session Manager 2 Session (Ipa, PID, Port) 3 A path

RSVP Operation Example 11 Session Manager 2 Session (Ipa, PID, Port) 3 A path IGMP 12 15 R 2 1 R 4 DVMRP 14 6 R 3 R 5 5 Receive (Ipa, PID, Port) IGMP C path 7 8 Resv 4 13 Resv path R 1 B 10 Receive (Ipa, PID, Port) 9 Resv path Resv 國立清華大學資訊系黃能富教授 8

Data Flows v. RSVP defines a session to be a data flow with a

Data Flows v. RSVP defines a session to be a data flow with a particular destination and transport-layer protocol (TCP/UDP). v. The destination of a session is defined by l Dst. Addr, the IP destination address of the data packets. l Protocol ID, l Dst. Port, a generalized destination port (some further demultiplexing point in the transport or application protocol layer). 國立清華大學資訊系黃能富教授 9

Reservation Model v. An elementary RSVP reservation request consists of a flow descriptor =

Reservation Model v. An elementary RSVP reservation request consists of a flow descriptor = (flowspec, filter spec). v. The flowspec defines a desired Qo. S and is used to set parameters in the node’s packet scheduler. v. The filter spec defines the set of data packets (flow) to receive the Qo. S defined by the flow spec, and is used to set parameters in the node’s packet classifier. 國立清華大學資訊系黃能富教授 10

Reservation Model v. The flow spec includes a service class and two sets of

Reservation Model v. The flow spec includes a service class and two sets of numeric parameters: l an Rspec (R for reserve) that defines the Qo. S, and l a Tspec (T for Traffic) that describes the data flow. v. The filter specs may select arbitrary subsets of the packets in a given session. The one used in present RSVP consisting of sender IP addr and optionally the UDP/TCP port number Src. Port. 國立清華大學資訊系黃能富教授 11

Reservation Styles v. A reservation request includes a set of options that are collectively

Reservation Styles v. A reservation request includes a set of options that are collectively called the reservation style. l One concerns the treatment of reservations for different 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. l 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. 國立清華大學資訊系黃能富教授 12

Reservation Styles v. Fixed-Filter (FF) Style v. Shared-Explicit (SE) Style v. Wildcard-Filter (WF) Style

Reservation Styles v. Fixed-Filter (FF) Style v. Shared-Explicit (SE) Style v. Wildcard-Filter (WF) Style Sender Selection Explicit Wildcard Reservation Distinct Fixed-Filter (FF) Style (None defined) Shared-Explicit (SE) Style Wildcard-Filter (WF) Style 國立清華大學資訊系黃能富教授 13

Reservation Styles v. Wildcard-Filter (WF) Style l Shared reservation and wildcard sender selection. l

Reservation Styles v. Wildcard-Filter (WF) Style l Shared reservation and wildcard sender selection. l Creates a single reservation shared by all upstream senders. l WF ( *{Q} ) v. Fixed-Filer (FF) Style l Distinct reservation and explicit sender selection. l Creates a distinct reservation for data packets from a particular sender. l FF ( S {Q} ) <= a flow descriptor l FF ( S 1 {Q 1}, S 2 {Q 2}, . . . ) : The total reservation is the sum of Q 1, Q 2, . . . 國立清華大學資訊系黃能富教授 14

Reservation Styles v. Shared Explicit (SE) Style l Shared reservation and explicit sender selection.

Reservation Styles v. Shared Explicit (SE) Style l Shared reservation and explicit sender selection. l Creates a single reservation shared by selected upstream senders. l SE ( {S 1, S 2, . . . }, {Q} ) 國立清華大學資訊系黃能富教授 15

Reservation Styles v. These styles are all mutually incompatible. v. Shared reservations, created by

Reservation Styles v. These styles are all mutually incompatible. v. Shared reservations, created by WF and SE styles, are appropriate for those multicast applications in which multiple data sources are unlikely to transmit simultaneously (packetized audio). v. Distinct reservation (FF style) is appropriate for the flows from different senders (video signals). 國立清華大學資訊系黃能富教授 16

Example of Styles Router a S 1 S 2, S 3 c R 1

Example of Styles Router a S 1 S 2, S 3 c R 1 d b Router R 2 Router R 3 LAN (a) Router Configuration WF (*{4 B} ) S 1 Router *{4 B} S 2, S 3 *{3 B} WF (*{4 B} ) R 1 WF (*{3 B} ) WF (*{2 B} ) LAN WF (*{4 B} ) (b) WF Reservation Example 國立清華大學資訊系黃能富教授 17

Example of Styles FF (S 1{4 B} ) S 1 Router S 1{4 B}

Example of Styles FF (S 1{4 B} ) S 1 Router S 1{4 B} FF (S 1{4 B}, S 2{5 B} ) R 1 S 2{5 B} S 1{3 B} S 2, S 3{B} FF (S 1{3 B}, S 3{B} ) FF (S 1{B} ) Router R 2 Router R 3 LAN FF (S 2{5 B}, S 3{B} ) (c) FF Reservation Example SE (S 1{3 B} ) Router (S 1, S 2) {B} S 1 (S 1, S 2, S 3) {3 B} S 2, S 3 SE ((S 2, S 3){3 B} ) SE ((S 1, S 2){B} ) R 1 SE( (S 1, S 3){3 B} ) SE (S 2{2 B} ) Router R 2 Router R 3 LAN (d) SE Reservation Example 國立清華大學資訊系黃能富教授 18

Example of Styles Router a S 1 S 2, S 3 c R 1

Example of Styles Router a S 1 S 2, S 3 c R 1 d b Router R 2 Router R 3 LAN (a) Router Configuration Router S 1 S 2, S 3 WF (*{4 B} ) WF (*{3 B} ) *{4 B} *{3 B} WF (*{4 B} ) WF (*{3 B} ) WF (*{2 B} ) R 1 LAN (b) WF Reservation Example -Partial Routing 國立清華大學資訊系黃能富教授 19

RSVP Protocol Mechanisms Incoming Interfaces Previous Hops A B data LAN B’ path Resv

RSVP Protocol Mechanisms Incoming Interfaces Previous Hops A B data LAN B’ path Resv a c Router b Next Hops Outgoing Interfaces d path data Resv C D LAN D’ v There are two fundamental RSVP message types: l Resv and Path v 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. 國立清華大學資訊系黃能富教授 20

RSVP Protocol Mechanisms v. Each RSVP sender issues Path messages downstream along the uni-multicast

RSVP Protocol Mechanisms v. Each RSVP sender issues Path messages downstream along the uni-multicast routes provided by the routing protocol(s), following the paths of the data. v. Each node along the path(s) stores the path state (includes at least the IP address of the previous hop node). v. An RSVP session is normally defined by the triple: (Dest IP Address, Protocol ID, Dst. Port) v. TCP = 6, UDP = 17 國立清華大學資訊系黃能富教授 21

Path Message Format v <Path Message> : : = <Common Header> [<Integrity>] <Session> <RSVP_Hop>

Path Message Format v <Path Message> : : = <Common Header> [<Integrity>] <Session> <RSVP_Hop> <Time_Values> [<Policy_Data>. . . ] [<Sender Descriptor>] v <Sender Descriptor> : : = <Sender_Template> <Sender_Tspec> [<ADspec>] 國立清華大學資訊系黃能富教授 22

Common Header Format 0 1 Vers Flags Msg Type Send_TTL (Reserved) Message Type 1

Common Header Format 0 1 Vers Flags Msg Type Send_TTL (Reserved) Message Type 1 : Path 2 : Resv 3 : Path. Err 4 : Resv. Err 5 : Path. Tear 6 : Resv. Tear 7 : Resv. Conf 2 3 RSVP Checksum RSVP Length 國立清華大學資訊系黃能富教授 23

Object Formats 0 1 Length (bytes) 2 Class-Num 3 C-Type (Object contents) 國立清華大學資訊系黃能富教授 24

Object Formats 0 1 Length (bytes) 2 Class-Num 3 C-Type (Object contents) 國立清華大學資訊系黃能富教授 24

Class-Num v NULL v SESSION : (Dest. Address, protocol ID, port) v RSVP_HOP :

Class-Num v NULL v SESSION : (Dest. Address, protocol ID, port) v RSVP_HOP : The IP address of the RSVP-capable node that sent this message and logical outgoing interface handle (LIH). v TIME_VALUES : Refresh period R. v STYLE : Reservation style plus style-specific information. v FLOWSPEC : Defines a desired Qo. S, in a Resv message. v FILTER_SPEC : Defines a subset of session data packets that should receive the desired Qo. S, in a Resv message. 國立清華大學資訊系黃能富教授 25

Class-Num v ADSPEC : Carries OPWA (one path with advertising) data, in a path

Class-Num v ADSPEC : Carries OPWA (one path with advertising) data, in a path message. v ERROR_SPEC : Specifies an error in a Path. Err, Resv. Err, or a confirmation in a Resv. Conf message. v POLICY_DATA : Carriers information for a local policy module to decide the permission of a reservation. v INTEGRITY : Carriers cryptographic data to authenticate the originating node and to verify the contents of the RSVP message. v SCOPE : Carriers an explicit list of sender hosts. v RESV_CONFIRM : Carriers the IP address of a receiver that requested a confirmation. 國立清華大學資訊系黃能富教授 26

Path Message v RSVP_Hop: IP address of previous RSVP node v Sender Template :

Path Message v RSVP_Hop: IP address of previous RSVP node v Sender Template : l Describes the format of the data packets that the sender will originate. v Sender Tspec Defines the traffic characteristics of the data flow that the sender will generate. l Used by traffic control to prevent over-reservation. l r : Token Bucket Rate (32 -bit IEEE Floating Point number) l b : Token Bucket Size (32 -bit IEEE Floating Point number) l p : Peak Data Rate (32 -bit IEEE Floating Point number) l m : Minimum Policed Unit (32 -bit integer) l M : Maximum Packet Size (32 -bit integer) 國立清華大學資訊系黃能富教授 l 27

Sender Traffic Specific Sender r p>r b M<b £M data p x <= (r.

Sender Traffic Specific Sender r p>r b M<b £M data p x <= (r. T+b) min[p. T, r. T+b] min[p. T+M, r. T+b] (packetize version) b : Maximum burst size 國立清華大學資訊系黃能富教授 28

Resv Message v <Resv Message> : : = <Common Header> [<Integrity>] <Session> <RSVP_Hop> <Time_Values>

Resv Message v <Resv Message> : : = <Common Header> [<Integrity>] <Session> <RSVP_Hop> <Time_Values> [<Resv_Confirm>] [ <Scope>] [<Policy_Data>. . . ] [<Style> <flow descriptor list>] v <flow descriptor list> : : = <empty> | <flow descriptor list> <flow descriptor> 國立清華大學資訊系黃能富教授 29

Host Model v. Before a session can be created, the session ID must be

Host Model v. Before 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. v. When an RSVP session is being set up, the following events happen at the end systems: 國立清華大學資訊系黃能富教授 30

Host Model l. A receiver joins the multicast group specified by Dst. Addr (Multicast),

Host Model l. A receiver joins the multicast group specified by Dst. Addr (Multicast), using IGMP. l A potential sender starts sending RSVP Path messages to the Dst. Addr. l A receiver application receives a Path message. l A receiver starts sending appropriate Resv messages, specifying the desired flow descriptors. l A sender application receives a Resv message. l A sender starts sending data packets. 國立清華大學資訊系黃能富教授 31

RSVP Attributes v. RSVP makes reservations for both unicast and multicast applications, adapting dynamically

RSVP Attributes v. RSVP makes reservations for both unicast and multicast applications, adapting dynamically changing of group membership and routes. v. RSVP is simplex, it makes reservations for unidirectional data flows. v. RSVP is receiver-oriented. The receiver of a data flow initiates and maintains the resource reservation used for that flow. v. RSVP maintains soft state in the routers, providing graceful support for dynamic membership changes and automatic adaptation to routing changes. 國立清華大學資訊系黃能富教授 32

RSVP Attributes v. RSVP is not a routing protocol but depends upon present and

RSVP Attributes v. RSVP is not a routing protocol but depends upon present and future routing protocols. v. RSVP transports and maintains opaque state for traffic control and policy control. v. RSVP provides several reservation models to fit a variety of applications. v. RSVP provides transparent operation through routers that do not support it. v. RSVP supports both IPv 4 and IPv 6. 國立清華大學資訊系黃能富教授 33