⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc1363.txt

📁 RFC 的详细文档!
💻 TXT
📖 第 1 页 / 共 4 页
字号:
RFC 1363             A Proposed Flow Specification        September 1992


   delay sensitive, the routing system must seek out the most direct
   route for the flow.  But if the routing system is told that the flow
   is sensitive only to delays over 100 milliseconds, there may be a
   number of routes other than the most direct route which can satisfy
   this delay, thus leaving the most direct route available for a later
   flow which needs a far lower delay.

   In fairness, it should be noted that a danger of a parametric model
   is that it is very easy to have too many parameters.  The yearn to
   optimize can be overdone.  The goal of this flow spec is to enumerate
   just enough parameters that it appears that essential needs can be
   expressed, and the internetwork has some information it can use to
   try to manage the flows.  Features that would simply be nice or
   useful to have (but not essential) are left out to keep the parameter
   space small.

An Implication of the Flow Spec

   It is important to observe that the there are fields in the flow spec
   that are based on information from the sender (such as rate
   information) and fields in the flow spec that are based on
   information from the receiver (such as delay variation).  There are
   also fields that may sender and receiver to negotiate in advance.
   For example, the acceptable loss rate may depend on whether the
   sender and receiver both support the same type of forward error
   correction.  The delay sensitivity for a voice connection may depend,
   in part, on whether both sender and receiver support echo cancelling.

   The implication is that the internetwork must permit the sender and
   receiver to communicate in advance of setting up a flow, because a
   flow spec can only be defined once both sender and receiver have had
   their say.  In other words, a reserved flow should not be the only
   form of communication.   There must be some mechanism to perform a
   short exchange of messages in preparation for setting up a flow.

   (Another aside: it has been suggested that perhaps the solution to
   this problem is to have the sender establish a flow with an
   incomplete flow spec, and when the receiver gets the flow spec, have
   the receiver send the completed flow spec back along the flow, so the
   internetwork can "revise" the flow spec according to the receiver's
   desires.  I have two problems with this approach.  First, it is
   entirely possible that the receiver's information may lead the
   internetwork to conclude that the flow established by the sender is
   no good.  For example, the receiver may indicate it has a smaller
   tolerance for delay variation than expected and force the flow to be
   rerouted over a completely different path.  Second, if we try to
   avoid having the receiver's information cause the flow to fail, then
   we have to over-allocate the flow's during the preliminary setup.



Partridge                                                      [Page 16]

RFC 1363             A Proposed Flow Specification        September 1992


   But over allocating the resources requested may lead us to choose
   better quality paths than we need for this flow.  In other words, our
   attempts to optimize use of the network will fail.)

Advance Reservations and Flow Duration

   The primary purpose of a flow specification is to provide information
   to the internetwork so the internetwork can properly manage the
   proposed flow's traffic in the context of other traffic in the
   internetwork.  One question is whether the flow should give the
   network information about when the flow is expected to start and how
   long the flow is expected to last.

   Announcing when a flow will start is generally of interest for
   advance reservations.  (If the flow is not be reserved substantially
   in advance, the presentation of the flow spec to the internetwork can
   be taken as an implicit request for a flow, now.)  It is my view that
   advance reservation is a distinct problem from the describing the
   properties of a flow.  Advanced reservations will require some
   mechanism to maintain information in the network about flows which
   are not currently active but are expected to be activated at some
   time in the future.  I anticipate this will require some sort of
   distributed database to ensure that information about advanced
   reservations is not accidentally lost if parts of the internetwork
   crash.  In other words, advance reservations will require
   considerable additional supporting baggage that it would probably be
   better to keep out of the average flow spec.

   Deciding whether a flow spec should contain information about how
   long the flow is expected to run is a harder decision to make.
   Clearly if we anticipate that the internetwork will support advance
   reservations, it will be necessary for elements of the internetwork
   to predict their traffic load, so they can ensure that advance
   reservations are not compromised by new flow requests.  However,
   there is a school of thought that believes that estimating future
   load from current behavior of existing flows is more accurate than
   anything the flows may have declared in their flow specs.  For this
   reason, I've left a duration field out of the flow spec.

Examples

   To illustrate how the flow spec values might be used, this section
   presents three example flow specs.

   Telnet

      For the first example, consider using the flow spec to request
      service for an existing application: Telnet.  Telnet is a virtual



Partridge                                                      [Page 17]

RFC 1363             A Proposed Flow Specification        September 1992


      terminal protocol, and one can think of it as stringing a virtual
      wire across the network between the user's terminal and a remote
      host.

      Telnet has proved a very successful application without a need to
      reserve bandwidth: the amount of data sent over any Telnet
      connection tends to be quite small.  However, Telnet users are
      often quite sensitive to delay, because delay can affect the time
      it takes to echo characters.  This suggests that a Telnet
      connection might benefit from asking the internetwork to avoid
      long delay paths.  It could so so using the following flow spec
      (for both directions):

      Version=1
      MTU=80 [40 bytes of overhead + 40 bytes user data]
      Token Bucket Rate=0/0/0 [don't want a guarantee]
      Token Bucket Size=0/0/0
      Maximum Transmission Rate=0/0/0
      Maximum Delay Noticed=1/1 [constant = delay sensitive]
      Maximum Delay Variation=0/0/0 [not a concern]
      Loss Sensitivity=1/0 [don't worry about loss]
      Burst Loss Sensitivity=1/0
      Loss Interval=1/0
      Quality of Guarantee=1/0 [just asking]

      It is worth noting that Telnet's flow spec is likely to be the
      same for all instantiations of a Telnet connection.  As a result,
      there may be some optimizations possible (such as just tagging
      Telnet packets as being subject to the well-known Telnet flow
      spec).

   A Voice Flow

      Now consider transmitting voice over the Internet.  Currently,
      good quality voice can be delivered at rates of 32Kbit/s or
      16Kbit/s.  Assuming the rate is 32Kbit/s and voice samples are 16
      bit samples packaged into UDP datagrams (for a data rate of about
      60 Kbyte/s), a flow spec might be:

      Version=1
      MTU=30 [2 byte sample in UDP datagram]
      Token Bucket Rate=0/10/59 [60.4 Kbytes/s]
      Token Bucket Size=0/0/30 [save enough to send immediately
                                after pauses]
      Maximum Transmission Rate=0/10/59 [peak same as mean]
      Maximum Delay Noticed=0/10/100 [100 ms]
      Maximum Delay Variation=0/10/10 [keep variation low]
      Loss Sensitivity=1/1 [loss sensitive]



Partridge                                                      [Page 18]

RFC 1363             A Proposed Flow Specification        September 1992


      Burst Loss Sensitivity=0/0/5 [keep bursts small]
      Loss Interval=1/0
      Quality of Guarantee=1/201 [predicted service and I'll accept
                                  worse]

   A Variable Bit-Rate Video Flow

      Variable bit-rate video transmissions vary the rate at which they
      send data according to the amount of the video image that has
      changed between frames.  In this example, we consider a one-way
      broadcast of a picture.  If we assume 30 frames a second and that
      a full frame is about 1 megabit of data, and that on average about
      10% of the frame changes, but in the worst case the entire frame
      changes, the flow spec might be:

      Version=1
      MTU=4096 [big so we can put lots of bits in each packet]
      Token Bucket Rate=0/20/1 [8 Mbits/s]
      Token Bucket Size=0/17/2 [2 Mbits/s]
      Maximum Transmission Rate=0/20/30 [30 Mbits/s]
      Maximum Delay Noticed=1/1 [somewhat delay sensitive]
      Maximum Delay Variation=0/10/1 [no more than one second of
                                      buffering]
      Loss Sensitivity=0/0/1 [worst case, one loss per frame]
      Burst Loss Sensitivity=0/0/1 [no burst errors please]
      Loss Interval=0/0/33 [one frame in MTU sized packets]
      Quality of Guarantee=1/300 [guaranteed service only]

      The token bucket is sized to be two frames of data, and the bucket
      rate will fill the bucket every 250 ms.  The expectation is that
      full scene changes will be rare and that a fast rate with a large
      bucket size should accommodate even a series of scene changes.

   Disclaimer

      In all cases, these examples are simply to sketch the use of the
      flow spec.  The author makes no claims that the actual values used
      are the correct ones for a particular application.

Security Considerations

   Security considerations definitely exist.  For example, one might
   assume that users are charged for guaranteed flows.  In that case,
   some mechanism must exist to ensure that a flow request (including
   flow spec) is authenticated.  However I believe that such issues have
   to be dealt with as part of designing a negotiation protocol, and are
   not part of designing the flow spec data structure.




Partridge                                                      [Page 19]

RFC 1363             A Proposed Flow Specification        September 1992


Acknowledgements

   I'd like to acknowledge the tremendous assistance of Steve Deering,
   Scott Shenker and Lixia Zhang of XEROX PARC in writing this RFC.
   Much of this flow spec was sketched out in two long meetings with
   them at PARC.  Others who have offered notable advice and comments
   include Isidro Castineyra, Deborah Estrin, and members of the End-
   to-End Research Group chaired by Bob Braden.  All ideas that prove
   misbegotten are the sole responsibility of the author.  This work was
   funded under DARPA Contract No. MDA903-91-D-0019.  The views
   expressed in this document are not necessarily those of the Defense
   Advanced Research Projects Agency.

References

   1. Parekh, A., "A Generalized Processor Sharing Approach
      to Flow Control in Integrated Services Networks",
      MIT Laboratory for Information and Decision Systems,
      Report No. LIDS-TH-2089.

   2. Clark, D., Shenker, S., and L. Zhang, "Supporting Real-Time
      Applications in an Integrated Services Packet Network:
      Architecture and Mechanism", Proceedings of ACM SIGCOMM '92,
      August 1992.

Author's Address

   Craig Partridge
   BBN
   824 Kipling St
   Palo Alto, CA  94301

   Phone: 415-325-4541

   EMail: craig@aland.bbn.com
















Partridge                                                      [Page 20]


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -