`#06:089 147 4220398 $
`,9047 $9,3/,7/8 %7,. ,3
`&
`$ 07843
`$
`$ 074
` #080,7.
`$ ,23
`&3; 41 .,3
`$05902-07
`
`#084:7.0 #0$07',943 !7494.4 (cid:17)#$'!(cid:18)
`
`
`
`'07843 :3.943, $50.1.,943
`
`$9,9:8 41 98 024
`
`%8 /4.:2039 850.108 ,3 3907309 89,3/,7/8 97,. 57494.4 147 90
`3907309 .422:39(cid:21) ,3/ 706:0898 /8.:8843 ,3/ 8:089438 147
`2574;020398 !0,80 70107 94 90 .:77039 0/943 41 90 3907309
` 11., !7494.4 $9,3/,7/8 9$% ; 147 90 89,3/,7/,943 89,90
`,3/ 89,9:8 41 98 57494.4 897-:943 41 98 2024 8 :3290/
`
`-897,.9
`
`%8 2024 /08.7-08 ;07843 41 #$'!(cid:21) , 7084:7.0 70807;,943 809:5
`57494.4 /0830/ 147 ,3 3907,90/ 807;.08 3907309 #$'! 574;/08
`70.0;07
`39,90/ 809:5 41 7084:7.0 70807;,9438 147 2:9.,89 47
`:3.,89 /,9, 148(cid:21) 9 44/ 8.,3 ,3/ 74-:893088 574507908
`
`7,/03(cid:21) /(cid:21) 09 , $9,3/,7/8 %7,. !,0 (
`
`SAMSUNG 1036
`
`1
`
`
`
`RFC 2205
`RSVP
`September 1997
`# #$'! $05902-07
`
`Table of Contents
`%,-0 41 4390398
`
`TD.
`INtTOduction 2... ccc ccc ccc eee cee e eect eect eee teteeeeees 4
` 3974/:.943
`1.1 Data FLlOWS 2... ccc ce ce eee eee ee eee teen ee ene 7
` ,9, 48
`1.2 Reservation Model ........ 0... ccc cc ce cee cee eee eee ee eens 8
` #0807;,943 4/0
`1.3 Reservation Styles oo... cece eee eee eee eee nees 11
` #0807;,943 $908
`1.4 Examples of Styles 2... . cece cee eee eee enn eens 14
` ,2508 41 $908
`2. RSVP Protocol Mechanisms ......... 0c cc cece ec eee eee eee eee eee 19
` #$'! !7494.4 0.,3828
`2.1 RSVP MESSAGES 2... ccc cc cee eee ee eee eee eee eee eens 19
` #$'! 088,08
`2.2 Merging FLOWSPECS 2... ccc ccc cece ce ee eee ee een eens 21
` 073 4850.8
`2.3 SOFT State Loo rece ccc cc cece ee ee eee ee eee eee teen eeennes 22
` $419 $9,90
`2.4 Teardown 2... cc cc cc cc ec ee ce eee ee eee eee eee eee teen eens 24
` %0,7/43
`2.5 EYYTOTS
`. oi ccc ccc ee ee ee tee eee ee tee e eee teen ee eet eneees 25
` 77478
`2.6 CONFITMATION 2... . cee ccc cc cc eee eee ee eee eee teen ee ennes 27
` 43172,943
`2.7 Policy CONCTOL Lo. ce cece eee eee ene nnn 27
` !4. 43974
`2.8 SECUTLTY Loree cece ee eee eee eee eee eee nen nees 28
` $0.:79
`2.9 NON-RSVP Clouds .. 0... cc cc ce cece cee eee nett eee eens 29
` 43
`#$'! 4:/8
`2.1@ Host Model ...... cc ccc ccc ce eee cee eee nett eee e eens 30
` 489 4/0
`3. RSVP Functional Specification ©... .... ccc ccc cee eee teens 32
` #$'! :3.943, $50.1.,943
`3.1 RSVP Message Formats ...... ccc ccc ccc cc ce eee ee ee eens 32
` #$'! 088,0 472,98
`3.2 POLTt USAGE 2... ccc ccc ccc eee eee ee ee eee eee eee eee ee 47
` !479 &8,0
`3.3 Sending RSVP MeSSAGES ..... cece cee ec eee eee eens 48
` $03/3 #$'! 088,08
`3.4 Avoiding RSVP Message LOOPS ....... cece cee eee ene ees 50
` ;4/3 #$'! 088,0 4458
`3.5 Blockade State 2... . cc cece ccc eet teen e eet teneeenees 54
` 4.,/0 $9,90
`3.6 Local REPAiT 2... cc ce ee eee eee ee eee nena nes 56
` 4., #05,7
`3.7 Time Parameters 1... ... cee cc ccc eee tee eee eens tteneeenees 57
` %20 !,7,209078
`3.8 Traffic Policing and Non-Integrated Service Hops ........... 58
` %7,11. !4.3 ,3/ 43
`3907,90/ $07;.0 458
`3.9 Multihomed HOStS ....... ccc cece eee ee ete e eee ee este eneeenees 59
` :9420/ 4898
`ert Future Compatibility 2... .. ccc ccc ccc ce eee eee eee eee eee eens 61
` :9:70 425,9-9
`
`3.11 RSVP InterfaceS ...... ccc ccc ccc eee eee eet e tees eeeeene 63
` #$'! 39071,.08
`A. Acknowledgments 0... .. cc ccc cc ccc cee eee eee eee eee eee tenes 76
` .340/20398
`APPENDIX A. Object Definitions ........ ccc cece ee eee ee eens 77
`!! -0.9 0139438
`APPENDIX B. Error Codes and Valu@S ........ ccc cece cece cence eeneees 92
`!! 7747 4/08 ,3/ ',:08
`APPENDIX C. UDP Encapsulation ......... ccc ccc ee eee eee eens 98
`!! &! 3.,58:,943
`APPENDIX D. GlOSSATY 2... ccc cece cee eee eee eee eee n ene 102
`!! 488,7
`REFERENCES ...... ccc ccc cee ee ec cet tee ee eee eet e eee nese teen eseeeees 111
`##$
`SECURITY CONSIDERATIONS ........ cece ec ccc tee eee ccc teen een eeeeeees 111
`$&#% $#% $
`AUTHORS' ADDRESSES ......... cc cece ec ee eee eee eee eects eeenees 112
`&% #$; #$$$
`
`Braden, Ed., et. al.
`Standards Track
`[Page 2]
`7,/03< /< 09 , $9,3/,7/8 %7,. !,0 (
`
`2
`
`
`
`RFC 2205
`RSVP
`September 1997
`# #$'! $05902-07
`
`What's Changed
` ,9(cid:23)8 ,30/
`
`This revision contains the following very minor changes from the ID14
`%8 70;843 .439,38 90 1443 ;07 2347 .,308 1742 90
`version.
`;07843
`
`oO
`For clarity, each message type is now defined separately in
`4 47 .,79) 0,. 2088,0 950 8 34 /0130/ 805,7,90 3
`$0.943
`
`oO
`We added more precise and complete rules for accepting Path
`4 0 ,//0/ 2470 570.80 ,3/ .425090 7:08 147 ,..0593 !,9
`messages for unicast and multicast destinations (Section
`2088,08 147 :3.,89 ,3/ 2:9.,89 /0893,9438 ,$0.943
`3.1.3).
`-
`
`oO
`We added more precise and complete rules for processing and
`4 0 ,//0/ 2470 570.80 ,3/ .425090 7:08 147 574.0883 ,3/
`forwarding PathTear messages (Section 3.1.5).
`147,7/3 !,9%0,7 2088,08 ,$0.943 -
`
`oO
`A note was added that a SCOPE object will be ignored if it
`4 3490 ,8 ,//0/ 9,9 , $ ! 4-0.9 -0 3470/ 1 9
`appears in a ResvTear message (Section 3.1.6).
`,550,78 3 , #08;%0,7 2088,0 ,$0.943 -
`
`oO
`A note was added that a SENDER_TSPEC or ADSPEC object will be
`4 3490 ,8 ,//0/ 9,9 , $#*%$! 47 $! 4-0.9 -0
`ignored if it appears in a PathTear message (Section 3.1.5).
`3470/ 1 9 ,550,78 3 , !,9%0,7 2088,0 ,$0.943 -
`
`oO
`The obsolete error code Ambiguous Filter Spec (09) was
`4 %0 4-84090 07747 .4/0 2-:4:8 907 $50. , - ,8
`removed, and a new (and more consistent) name was given to
`7024;0/) ,3/ , 30 ,,3/ 2470 .43889039- 3,20 ,8 ;03 94
`error code @8
`(Appendix B).
`07747 .4/0 ,5503/ -
`
`0
`In the generic interface to traffic control,
`the Adspec was
`4 3 90 0307. 39071,.0 94 97,11. .43974) 90 /850. ,8
`added as a parameter to the AddFlow and ModFlow calls
`,//0/ ,8 , 5,7,20907 94 90 //4 ,3/ 4/4 .,8
`(3.11.2). This is needed to accommodate a node that updates
`,- %8 8 300/0/ 94 ,..4224/,90 , 34/0 9,9 :5/,908
`the slack term (S) of Guaranteed service.
`90 8,. 9072 ,$- 41 :,7,3900/ 807;.0
`
`oO
`An error subtype was added for an Adspec error (Appendix B).
`4 3 07747 8:-950 ,8 ,//0/ 147 ,3 /850. 07747 ,5503/ -
`
`oO
`Additional explanation was added for handling a CONFIRM
`4 //943, 05,3,943 ,8 ,//0/ 147 ,3/3 , #
`object (Section 3.1.4).
`4-0.9 ,$0.943 -
`
`oO
`The rules for forwarding objects with unknown class type were
`4 %0 7:08 147 147,7/3 4-0.98 9 :3343 .,88 950 070
`clarified.
`.,710/
`
`oO
`Additional discussion was added to the Introduction and to
`4 //943, /8.:8843 ,8 ,//0/ 94 90 3974/:.943 ,3/ 94
`Section 3.11.2 about the relationship of RSVP to the link
`$0.943 ,-4:9 90 70,94385 41 #$'! 94 90 3
`layer.
`(Section 3.10).
`,07 ,$0.943 -
`
`oO
`Section 2.7 on Policy and Security was split into two
`4 $0.943 43 !4. ,3/ $0.:79 ,8 859 394 94
`sections, and some additional discussion of security was
`80.9438) ,3/ 8420 ,//943, /8.:8843 41 80.:79 ,8
`included.
`3.:/0/
`
`oO
`There were some minor editorial improvements.
`4 %070 070 8420 2347 0/947, 2574;020398
`
`Braden, Ed., et. al.
`Standards Track
`[Page 3]
`7,/03) /) 09 , $9,3/,7/8 %7,. !,0 (
`
`3
`
`
`
`RFC 2205
`RSVP
`September 1997
`# #$'! $05902-07
`
`1. Introduction
` 3974/:.943
`
`This document defines RSVP, a resource reservation setup protocol
`%8 /4.:2039 /01308 #$'!(cid:30) , 7084:7.0 70807;,943 809:5 57494.4
`designed for an integrated services Internet
`[RSVP93, RFC 1633].
`The
`/0830/ 147 ,3 3907,90/ 807;.08 3907309 #$'! (cid:30) # ( %0
`RSVP protocol is used by a host to request specific qualities of
`#$'! 57494.4 8 :80/ - , 489 94 706:089 850.1. 6:,908 41
`service from the network for particular application data streams or
`807;.0 1742 90 30947 147 5,79.:,7 ,55.,943 /,9, 8970,28 47
`flows.
`RSVP is also used by routers to deliver quality-of-service
`148 #$'! 8 ,84 :80/ - 74:9078 94 /0;07 6:,9
`41
`807;.0
`(QoS) requests to all nodes along the path(s) of the flows and to
`."4$0 706:0898 94 , 34/08 ,43 90 5,9.80 41 90 148 ,3/ 94
`establish and maintain state to provide the requested service.
`RSVP
`089,-8 ,3/ 2,39,3 89,90 94 574;/0 90 706:0890/ 807;.0 #$'!
`requests will generally result in resources being reserved in each
`706:0898 0307, 708:9 3 7084:7.08 -03 70807;0/ 3 0,.
`node along the data path.
`34/0 ,43 90 /,9, 5,9
`
`RSVP requests resources for simplex flows, i.e., it requests
`#$'! 706:0898 7084:7.08 147 8250 148(cid:30) 0(cid:30) 9 706:0898
`resources in only one direction. Therefore, RSVP treats a sender as
`7084:7.08 3 43 430 /70.943 %0701470(cid:30) #$'! 970,98 , 803/07 ,8
`logically distinct from a receiver, although the same application
`4., /893.9 1742 , 70.0;07(cid:30) ,94: 90 8,20 ,55.,943
`process may act as both a sender and a receiver at the same time.
`574.088 2, ,.9 ,8 -49 , 803/07 ,3/ , 70.0;07 ,9 90 8,20 920
`RSVP operates on top of IPv4 or IPv6, occupying the place of a
`#$'! 4507,908 43 945 41 !; 47 !;(cid:30) 4..:53 90 5,.0 41 ,
`transport protocol in the protocol stack. However, RSVP does not
`97,385479 57494.4 3 90 57494.4 89,. 40;07(cid:30) #$'! /408 349
`transport application data but is rather an Internet control
`97,385479 ,55.,943 /,9, -:9 8 7,907 ,3 3907309 .43974
`protocol,
`like ICMP,
`IGMP, or routing protocols.
`Like the
`57494.4(cid:30) 0 !(cid:30) !(cid:30) 47 74:93 57494.48 0 90
`implementations of routing and management protocols, an
`2502039,9438 41 74:93 ,3/ 2,3,02039 57494.48(cid:30) ,3
`implementation of RSVP will typically execute in the background, not
`2502039,943 41 #$'! 95., 00.:90 3 90 -,.74:3/(cid:30) 349
`in the data forwarding path, as shown in Figure 1.
`3 90 /,9, 147,7/3 5,9(cid:30) ,8 843 3 :70
`
`RSVP is not itself a routing protocol; RSVP is designed to operate
`#$'! 8 349 9801 , 74:93 57494.4 #$'! 8 /0830/ 94 4507,90
`with current and future unicast and multicast routing protocols.
`An
`9 .:77039 ,3/ 1:9:70 :3.,89 ,3/ 2:9.,89 74:93 57494.48 3
`RSVP process consults the local routing database(s) to obtain routes.
`#$'! 574.088 .438:98 90 4., 74:93 /,9,-,80.80 94 4-9,3 74:908
`In the multicast case, for example, a host sends IGMP messages to
`3 90 2:9.,89 .,80(cid:30) 147 0,250(cid:30) , 489 803/8 ! 2088,08 94
`join a multicast group and then sends RSVP messages to reserve
`43 , 2:9.,89 74:5 ,3/ 903 803/8 #$'! 2088,08 94 70807;0
`resources along the delivery path(s) of that group. Routing
`7084:7.08 ,43 90 /0;07 5,9.80 41 9,9 74:5 #4:93
`protocols determine where packets get forwarded; RSVP is only
`57494.48 /0907230 070 5,.098 09 147,7/0/ #$'! 8 43
`concerned with the QoS of those packets that are forwarded in
`.43.0730/ 9 90 "4$ 41 9480 5,.098 9,9 ,70 147,7/0/ 3
`accordance with routing.
`,..47/,3.0 9 74:93
`
`In order to efficiently accommodate large groups, dynamic group
`3 47/07 94 011.039 ,..4224/,90 ,70 74:58(cid:30) /3,2. 74:5
`membership, and heterogeneous receiver requirements, RSVP makes
`202-0785(cid:30) ,3/ 090740304:8 70.0;07 706:7020398(cid:30) #$'! 2,08
`receivers responsible for requesting a specific QoS [RSVP93].
`A QoS
`70.0;078 7085438-0 147 706:0893 , 850.1. "4$ #$'! ( "4$
`request from a receiver host application is passed to the local RSVP
`706:089 1742 , 70.0;07 489 ,55.,943 8 5,880/ 94 90 4., #$'!
`process.
`The RSVP protocol then carries the request to all the nodes
`574.088 %0 #$'! 57494.4 903 .,7708 90 706:089 94 , 90 34/08
`(routers and hosts) along the reverse data path(s) to the data
`.74:9078 ,3/ 48980 ,43 90 70;0780 /,9, 5,9.80 94 90 /,9,
`source(s), but only as far as the router where the receiver's data
`84:7.0.80(cid:30) -:9 43 ,8 1,7 ,8 90 74:907 070 90 70.0;07:8 /,9,
`path joins the multicast distribution tree. As a result, RSVP's
`5,9 438 90 2:9.,89 /897-:943 9700 8 , 708:9(cid:30) #$'!:8
`reservation overhead is in general logarithmic rather than linear in
`70807;,943 4;070,/ 8 3 0307, 4,792. 7,907 9,3 30,7 3
`the number of receivers.
`90 3:2-07 41 70.0;078
`
`Braden, Ed., et. al.
`Standards Track
`[Page 4]
`7,/03(cid:30) /(cid:30) 09 , $9,3/,7/8 %7,. !,0 (
`
`4
`
`
`
`RFC 2205
`RSVP
`September 1997
`# #$'! $05902-07
`
`HOST
`ROUTER
` $% # &%#
`
`***************************** ****************************
`|
`|
`|
` *******
`a |
`|
`—___
`|
` ******* *******
`Appli-
`|
`|
`|
`[RSVP |
`|
`|
`|
` 55
` #$'!
`cation|
`| RSVP <--------------------------- > RSVP <---------- >
` .,943 #$'!
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
` #$'!
`
`
`
`
`
`
`
`
`
`
`<-->
`|
`| ;_ |
`|
`
`
` *******
`
`
`|
`|process|
`|
`| |Routing|
`|process|
`|
` 574.088 ***** #4:93 574.088 *****
`+ -->Polcy| |
`|
`|
`<-->
`-->Polcy| |
` ******
`
`!4.
`
`
`
`!4.
`|
`J... |
`[Cntr |
`||process|
`|__.__._|
`|Cntrl1| |
` ***** 397 574.088 ***** 397
`
`
`|data
`|
`|
`|
`I
`|
`||__-_
`|
`|
`I
`|
` /,9, ***** ****** *****
`
`
`
`|
`--2-22-- |
`|
`|| |
`neeee ee |
`|
`|
`
`
`
`
`
`
`
`
` *****
`
`
`
`
`
`
`
` *****
`|
`|
`|
`---->Admis| |
`|
`|
`|
`|
`---->Admis| |
`
`
`
`
`/28
`
`
`
`/28
`_V_V_
`__V
`|Cntr1| |
`|
`_V_V_
`_V
`|Cntr1| |
` *'**'* ***'**** 397 *'**'* **'***** 397
`
`|
`|
`|
`|
`I
`|
`|
`|
`|
`|
`| |__| |
` ***** *****
`Class-|
`| Packet
`|
`|
`|
`|Class-|
`| Packet
`|
`|
` ,88
` !,.09 ,88
` !,.09
`ifier |==>Schedulr| ================> ifier|==>Schedulr | ===========>
` 107$.0/:7 107$.0/:7
`
`
`|
`|
`|
`|data |
`|
`| |_|
`|data
` ****** ******** /,9, ****** ******** /,9,
`
`***************************** ****************************
`
`Figure 1: RSVP in Hosts and Routers
`:70 #$'! 3 4898 ,3/ #4:9078
`
`Quality of service is implemented for a particular data flow by
`":,9 41 807;.0 8 25020390/ 147 , 5,79.:,7 /,9, 14 -
`mechanisms collectively called "traffic control". These mechanisms
`20.,3828 .40.9;0 .,0/ 97,11. .43974 %080 20.,3828
`include (1) a packet classifier,
`(2) admission control, and (3) a
`3.:/0 45 , 5,.09 .,881076 45 ,/28843 .439746 ,3/ 45 ,
`"packet scheduler" or some other link-layer-dependent mechanism to
`5,.09 8.0/:07 47 8420 4907 3
`,07
`/0503/039 20.,382 94
`determine when particular packets are forwarded.
`The “packet
`/0907230 03 5,79.:,7 5,.098 ,70 147,7/0/ %0 5,.09
`classifier" determines the QoS class (and perhaps the route) for each
`.,88107 /09072308 90 "4$ .,88 4,3/ 507,58 90 74:905 147 0,.
`packet.
`For each outgoing interface,
`the "packet scheduler" or other
`5,.09 47 0,. 4:943 39071,.06 90 5,.09 8.0/:07 47 4907
`link-layer-dependent mechanism achieves the promised QoS. Traffic
`3
`,07
`/0503/039 20.,382 ,.0;08 90 574280/ "4$ %7,11.
`control implements QoS service models defined by the Integrated
`.43974 25020398 "4$ 807;.0 24/08 /0130/ - 90 3907,90/
`Services Working Group.
`$07;.08 473 74:5
`
`During reservation setup, an RSVP QoS request is passed to two local
`:73 70807;,943 809:56 ,3 #$'! "4$ 706:089 8 5,880/ 94 94 4.,
`decision modules, "admission control" and "policy control".
`/0.843 24/:086 ,/28843 .43974 ,3/ 54. .43974
`Admission control determines whether the node has sufficient
`/28843 .43974 /09072308 0907 90 34/0 ,8 8:11.039
`available resources to supply the requested QoS. Policy control
`,;,,-0 7084:7.08 94 8:55 90 706:0890/ "4$ !4. .43974
`
`Braden, Ed., et. al.
`Standards Track
`[Page 5]
`7,/036 /6 09 , $9,3/,7/8 %7,. !,0 (
`
`5
`
`
`
`RFC 2205
`RSVP
`September 1997
`# #$'! $05902-07
`
`determines whether the user has administrative permission to make the
`/09072308 0907 90 :807 ,8 ,/23897,9;0 50728843 94 2,0 90
`reservation.
`If both checks succeed, parameters are set in the
`70807;,943 1 -49 .0.8 8:..00/# 5,7,209078 ,70 809 3 90
`packet classifier and in the link layer interface (e.g.,
`in the
`5,.09 .,88107 ,3/ 3 90 3 ,07 39071,.0 &0# 3 90
`packet scheduler) to obtain the desired QoS.
`If either check fails,
`5,.09 8.0/:07( 94 4-9,3 90 /0870/ "4$ 1 0907 .0. 1,8#
`the RSVP program returns an error notification to the application
`90 #$'! 5747,2 709:738 ,3 07747 3491.,943 94 90 ,55.,943
`process that originated the request.
`574.088 9,9 473,90/ 90 706:089
`
`RSVP protocol mechanisms provide a general facility for creating and
`#$'! 57494.4 20.,3828 574;/0 , 0307, 1,.9 147 .70,93 ,3/
`maintaining distributed reservation state across a mesh of multicast
`2,39,33 /897-:90/ 70807;,943 89,90 ,.7488 , 208 41 2:9.,89
`or unicast delivery paths.
`RSVP itself transfers and manipulates QoS
`47 :3.,89 /0;07 5,98 #$'! 9801 97,381078 ,3/ 2,35:,908 "4$
`and policy control parameters as opaque data, passing them to the
`,3/ 54. .43974 5,7,209078 ,8 45,6:0 /,9,# 5,883 902 94 90
`appropriate traffic control and policy control modules for
`,557457,90 97,11. .43974 ,3/ 54. .43974 24/:08 147
`interpretation.
`The structure and contents of the QoS parameters are
`39075709,943 %0 897:.9:70 ,3/ .4390398 41 90 "4$ 5,7,209078 ,70
`documented in specifications developed by the Integrated Services
`/4.:20390/ 3 850.1.,9438 /0;0450/ - 90 3907,90/ $07;.08
`Working Group; see [RFC 2210].
`The structure and contents of the
` 473 74:5 800 # ( %0 897:.9:70 ,3/ .4390398 41 90
`policy parameters are under development.
`54. 5,7,209078 ,70 :3/07 /0;0452039
`
`Since the membership of a large multicast group and the resulting
`$3.0 90 202-0785 41 , ,70 2:9.,89 74:5 ,3/ 90 708:93
`multicast tree topology are likely to change with time,
`the RSVP
`2:9.,89 9700 94544 ,70 0 94 .,30 9 920# 90 #$'!
`design assumes that state for RSVP and traffic control state is to be
`/083 ,88:208 9,9 89,90 147 #$'! ,3/ 97,11. .43974 89,90 8 94 -0
`built and destroyed incrementally in routers and hosts.
`For this
`-:9 ,3/ /089740/ 3.702039, 3 74:9078 ,3/ 4898 47 98
`purpose, RSVP establishes "soft" state; that is, RSVP sends periodic
`5:75480# #$'! 089,-808 8419 89,90 9,9 8# #$'! 803/8 5074/.
`refresh messages to maintain the state along the reserved path(s).
`701708 2088,08 94 2,39,3 90 89,90 ,43 90 70807;0/ 5,9&8(
`In the absence of refresh messages,
`the state automatically times out
`3 90 ,-803.0 41 701708 2088,08# 90 89,90 ,:942,9., 9208 4:9
`and is deleted.
`,3/ 8 /0090/
`
`In summary, RSVP has the following attributes:
`3 8:22,7# #$'! ,8 90 1443 ,997-:908
`
`oO
`RSVP makes resource reservations for both unicast and many-to-
`4 #$'! 2,08 7084:7.0 70807;,9438 147 -49 :3.,89 ,3/ 2,3
`94
`
`many multicast applications, adapting dynamically to changing
`2,3 2:9.,89 ,55.,9438# ,/,593 /3,2., 94 .,33
`group membership as well as to changing routes.
`74:5 202-0785 ,8 0 ,8 94 .,33 74:908
`
`oO
`RSVP is simplex, i.e., it makes reservations for unidirectional
`4 #$'! 8 8250# 0# 9 2,08 70807;,9438 147 :3/70.943,
`data flows.
`/,9, 148
`
`oO
`RSVP is receiver-oriented, i.e., the receiver of a data flow
`4 #$'! 8 70.0;07
`470390/# 0# 90 70.0;07 41 , /,9, 14
`initiates and maintains the resource reservation used for that
`39,908 ,3/ 2,39,38 90 7084:7.0 70807;,943 :80/ 147 9,9
`flow.
`14
`
`oO
`RSVP maintains "soft" state in routers and hosts, providing
`4 #$'! 2,39,38 8419 89,90 3 74:9078 ,3/ 4898# 574;/3
`graceful support for dynamic membership changes and automatic
`7,.01: 8:55479 147 /3,2. 202-0785 .,308 ,3/ ,:942,9.
`adaptation to routing changes.
`,/,59,943 94 74:93 .,308
`
`oO
`RSVP is not a routing protocol but depends upon present and
`4 #$'! 8 349 , 74:93 57494.4 -:9 /0503/8 :543 5708039 ,3/
`future routing protocols.
`1:9:70 74:93 57494.48
`
`oO
`RSVP transports and maintains traffic control and policy control
`4 #$'! 97,3854798 ,3/ 2,39,38 97,11. .43974 ,3/ 54. .43974
`parameters that are opaque to RSVP.
`5,7,209078 9,9 ,70 45,6:0 94 #$'!
`
`Braden, Ed., et. al.
`Standards Track
`[Page 6]
`7,/03# /# 09 , $9,3/,7/8 %7,. !,0 (
`
`6
`
`
`
`RFC 2205
`RSVP
`September 1997
`# #$'! $05902-07
`
`oO
`RSVP provides several reservation models or "styles" (defined
`4 #$'! 574;/08 80;07, 70807;,943 24/08 47 8908 (cid:30)/0130/
`below)
`to fit a variety of applications.
`-04! 94 19 , ;,709 41 ,55.,9438
`
`oO
`RSVP provides transparent operation through routers that do not
`4 #$'! 574;/08 97,385,7039 4507,943 974: 74:9078 9,9 /4 349
`support it.
`8:55479 9
`
`oO
`RSVP supports both IPv4 and IPv6.
`4 #$'! 8:554798 -49 !; ,3/ !;
`
`Further discussion on the objectives and general justification for
`:7907 /8.:8843 43 90 4-0.9;08 ,3/ 0307, :891.,943 147
`
`RSVP design are presented in [RSVP93] and [RFC 1633].
`#$'! /083 ,70 57080390/ 3 #$'! ( ,3/ # (
`
`The remainder of this section describes the RSVP reservation
`%0 702,3/07 41 98 80.943 /08.7-08 90 #$'! 70807;,943
`services. Section 2 presents an overview of the RSVP protocol
`807;.08 $0.943 57080398 ,3 4;07;0 41 90 #$'! 57494.4
`mechanisms. Section 3 contains the functional specification of RSVP,
`20.,3828 $0.943 .439,38 90 1:3.943, 850.1.,943 41 #$'!/
`
`while Section 4 presents explicit message processing rules. Appendix
`0 $0.943 57080398 05.9 2088,0 574.0883 7:08 5503/
`A defines the variable-length typed data objects used in the RSVP
` /01308 90 ;,7,-0
`039 950/ /,9, 4-0.98 :80/ 3 90 #$'!
`protocol. Appendix B defines error codes and values. Appendix C
`57494.4 5503/ /01308 07747 .4/08 ,3/ ;,:08 5503/
`defines a UDP encapsulation of RSVP messages, for hosts whose
`/01308 , &! 03.,58:,943 41 #$'! 2088,08/ 147 4898 480
`operating systems provide inadequate raw network I/O support.
`4507,93 889028 574;/0 3,/06:,90 7, 30947
`
`1.1 Data Flows
` ,9, 48
`
`RSVP defines a "session" to be a data flow with a particular
`#$'! /01308 , 808843 94 -0 , /,9, 14 9 , 5,79.:,7
`destination and transport-layer protocol.
`RSVP treats each
`/0893,943 ,3/ 97,385479
`,07 57494.4 #$'! 970,98 0,.
`session independently, and this document often omits the implied
`808843 3/0503/039/ ,3/ 98 /4.:2039 41903 4298 90 250/
`qualification "for the same session".
`6:,1.,943 147 90 8,20 808843
`
`An RSVP session is defined by the triple:
`(DestAddress, ProtocollId
`3 #$'! 808843 8 /0130/ - 90 9750 (cid:30)089//7088/ !7494.4/
`[, DstPort]). Here DestAddress,
`the IP destination address of the
` / 89!479(! 070 089//7088/ 90 ! /0893,943 ,//7088 41 90
`data packets, may be a unicast or multicast address. ProtocolId
`/,9, 5,.098/ 2, -0 , :3.,89 47 2:9.,89 ,//7088 !7494.4/
`is the IP protocol ID.
`The optional DstPort parameter is a
`8 90 ! 57494.4 %0 45943, 89!479 5,7,20907 8 ,
`"generalized destination port", i.e., some further demultiplexing
`0307,0/ /0893,943 5479/ 0/ 8420 1:7907 /02:9503
`point in the transport or application protocol layer. DstPort
`5439 3 90 97,385479 47 ,55.,943 57494.4 ,07 89!479
`could be defined by a UDP/TCP destination port field, by an
`.4:/ -0 /0130/ - , &!
`equivalent field in another transport protocol, or by some
`06:;,039 10/ 3 ,34907 97,385479 57494.4/ 47 - 8420
`application-specific information.
`,55.,943
`850.1. 31472,943
`
`Although the RSVP protocol is designed to be easily extensible for
`94: 90 #$'! 57494.4 8 /0830/ 94 -0 0,8 09038-0 147
`greater generality,
`the basic protocol documented here supports
`70,907 0307,9/ 90 -,8. 57494.4 /4.:20390/ 070 8:554798
`only UDP/TCP ports as generalized ports. Note that it is not
`43 &!
`strictly necessary to include DstPort in the session definition
`897.9 30.088,7 94 3.:/0 89!479 3 90 808843 /013943
`when DestAddress is multicast, since different sessions can always
`03 089//7088 8 2:9.,89/ 83.0 /1107039 8088438 .,3 ,,8
`have different multicast addresses. However, DstPort is necessary
`,;0 /1107039 2:9.,89 ,//708808 40;07/ 89!479 8 30.088,7
`to allow more than one unicast session addressed to the same
`94 ,4 2470 9,3 430 :3.,89 808843 ,//70880/ 94 90 8,20
`receiver host.
`70.0;07 489
`
`Braden, Ed., et. al.
`Standards Track
`[Page 7]
`7,/03/ // 09 , $9,3/,7/8 %7,. !,0 (
`
`7
`
`
`
`RFC 2205
`RSVP
`September 1997
`# #$'! $05902-07
`
`Figure 2 illustrates the flow of data packets in a single RSVP
`:70 :897,908 90 14 41 /,9, 5,.098 3 , 830 #$'!
`session, assuming multicast data distribution.
`The arrows
`808843" ,88:23 2:9.,89 /,9, /897-:943 %0 ,7748
`indicate data flowing from senders S1 and S2 to receivers Ri, R2,
`3/.,90 /,9, 143 1742 803/078 $ ,3/ $ 94 70.0;078 #" #"
`and R3, and the cloud represents the distribution mesh created by
`,3/ #" ,3/ 90 .4:/ 7057080398 90 /897-:943 208 .70,90/ -
`multicast routing. Multicast distribution forwards a copy of each
`2:9.,89 74:93 :9.,89 /897-:943 147,7/8 , .45 41 0,.
`data packet from a sender Si to every receiver Rj; a unicast
`/,9, 5,.09 1742 , 803/07 $ 94 0;07 70.0;07 # , :3.,89
`distribution session has a single receiver R.
`Each sender Si may
`/897-:943 808843 ,8 , 830 70.0;07 # ,. 803/07 $ 2,
`be running in a unique Internet host, or a single host may contain
`-0 7:333 3 , :36:0 3907309 489" 47 , 830 489 2, .439,3
`multiple senders distinguished by "generalized source ports".
`2:950 803/078 /893:80/ - 0307,0/ 84:7.0 54798
`
`Senders
`Receivers
`$03/078 #0.0;078
`*********************
`(
`) ===> R1
`1 2 #
`S1 ===> (
`Multicast
`)
`$ 1 :9.,89 2
`(
`) ===> R2
`1 2 #
`(
`distribution
`)
`1 /897-:943 2
`S2 ===> (
`)
`$ 1 2
`(
`by Internet
`) ===> R3
`1 - 3907309 2 #
`(
`)
`1*********************2
`
`Figure 2: Multicast Distribution Session
`:70 :9.,89 897-:943 $08843
`
`For unicast transmission,
`there will be a single destination host
`47 :3.,89 97,3828843" 9070 -0 , 830 /0893,943 489
`but there may be multiple senders; RSVP can set up reservations
`-:9 9070 2, -0 2:950 803/078 #$'! .,3 809 :5 70807;,9438
`for multipoint-to-single-point transmission.
`147 2:95439
`94
`830
`5439 97,3828843
`
`1.2 Reservation Model
` #0807;,943 4/0
`
`An elementary RSVP reservation request consists of a "flowspec"
`3 002039,7 #$'! 70807;,943 706:089 .438898 41 , 14850.
`together with a "filter spec"; this pair is called a "flow
`940907 9 , 1907 850. 98 5,7 8 .,0/ , 14
`descriptor".
`The flowspec specifies a desired QoS.
`The filter
`/08.75947 %0 14850. 850.108 , /0870/ "4$ %0 1907
`spec,
`together with a session specification, defines the set of
`850." 940907 9 , 808843 850.1.,943" /01308 90 809 41
`data packets -- the "flow" -- to receive the QoS defined by the
`/,9, 5,.098
`
` 90 14
`
` 94 70.0;0 90 "4$ /0130/ - 90
`flowspec.
`The flowspec is used to set parameters in the node's
`14850. %0 14850. 8 :80/ 94 809 5,7,209078 3 90 34/0:8
`packet scheduler or other link layer mechanism, while the filter
`5,.09 8.0/:07 47 4907 3 ,07 20.,382" 0 90 1907
`spec is used to set parameters in the packet classifier. Data
`850. 8 :80/ 94 809 5,7,209078 3 90 5,.09 .,88107 ,9,
`packets that are addressed to a particular session but do not
`5,.098 9,9 ,70 ,//70880/ 94 , 5,79.:,7 808843 -:9 /4 349
`match any of the filter specs for that session are handled as
`2,9. ,3 41 90 1907 850.8 147 9,9 808843 ,70 ,3/0/ ,8
`best-effort traffic.
`-089
`011479 97,11.
`
`The flowspec in a reservation request will generally include a
`%0 14850. 3 , 70807;,943 706:089 0307, 3.:/0 ,
`service class and two sets of numeric parameters:
`(1) an "Rspec"
`807;.0 .,88 ,3/ 94 8098 41 3:207. 5,7,209078 12 ,3 #850.
`(R for “reserve') that defines the desired QoS, and (2) a "Tspec"
`1# 147 +70807;0:2 9,9 /01308 90 /0870/ "4$" ,3/ 12 , %850.
`(T for ‘traffic') that describes the data flow.
`The formats and
`1% 147 +97,11.:2 9,9 /08.7-08 90 /,9, 14 %0 1472,98 ,3/
`contents of Tspecs and Rspecs are determined by the integrated
`.4390398 41 %850.8 ,3/ #850.8 ,70 /0907230/ - 90 3907,90/
`service models [RFC 2210] and are generally opaque to RSVP.
`807;.0 24/08 # ( ,3/ ,70 0307, 45,6:0 94 #$'!
`
`Braden, Ed., et. al.
`Standards Track
`[Page 8]
`7,/03" /" 09 , $9,3/,7/8 %7,. !,0 (
`
`8
`
`
`
`RFC 2205
`RSVP
`September 1997
`# #$'! $05902-07
`
`The exact format of a filter spec depends upon whether IPv4 or
`%0 0,.9 1472,9 41 , 1907 850. /0503/8 :543 0907 !; 47
`IPv6 is in use; see Appendix A.
`In the most gen