📄 rfc1819.txt
字号:
1.4.2 Setup Protocol The setup protocol is responsible for establishing, maintaining, and releasing real-time streams. It relies on the routing function to select the paths from the source to the destinations. At each host/router on these paths, it presents the flow specification associated with the stream to the local resource manager. This causes the resource managers to reserve appropriate resources for the stream. The setup protocol for ST2 is called Stream Control Message Protocol, or SCMP, and is completely defined by this document.1.4.3 Flow Specification The flow specification is a data structure including the ST2 applications' QoS requirements. At each host/router, it is used by the local resource manager to appropriately handle resources so that such requirements are met. Distributing the flow specification to all resource managers along the communication paths is the task of the setup protocol. However, the contents of the flow specification are transparent to the setup protocol, which simply carries the flow specification. Any operations on the flow specification, including updating internal fields and comparing flow specifications are performed by the resource managers. This document defines a specific flow specification format that allows for interoperability among ST2 implementations. This flow specification is intended to support a flow with a single transmission rate for all destinations in the stream. Implementations may support more than one flow specification format and the means are provided to add new formats as they are defined in the future. However, the flow specification format has to be consistentDelgrossi & Berger, Editors Experimental [Page 11]RFC 1819 ST2+ Protocol Specification August 1995 throughout the stream, i.e., it is not possible to use different flow specification formats for different parts of the same stream.1.4.4 Routing Function The routing function is an external unicast route generation capability. It provides the setup protocol with the path to reach each of the desired destinations. The routing function is called on a hop-by-hop basis and provides next-hop information. Once a route is selected by the routing function, it persists for the whole stream lifetime. The routing function may try to optimize based on the number of targets, the requested resources, or use of local network multicast or bandwidth capabilities. Alternatively, the routing function may even be based on simple connectivity information. The setup protocol is not necessarily aware of the criteria used by the routing function to select routes. It works with any routing function algorithm. The algorithm adopted is a local matter at each host/router and different hosts/routers may use different algorithms. The interface between setup protocol and routing function is also a local matter and therefore it is not specified by this document. This version of ST does not support source routing. It does support route recording. It does include provisions that allow identification of ST capable neighbors. Identification of remote ST hosts/routers is not specifically addressed.1.4.5 Local Resource Manager At each host/router traversed by a stream, the Local Resource Manager (LRM) is responsible for handling local resources. The LRM knows which resources are on the system and what capacity they can provide. Resources include:o CPUs on end systems and routers to execute the application and protocol software,o main memory space for this software (as in all real-time systems, code should be pinned in main memory, as swapping it out would have detrimental effects on system performance),o buffer space to store the data, e.g., communication packets, passing through the nodes,o network adapters, andDelgrossi & Berger, Editors Experimental [Page 12]RFC 1819 ST2+ Protocol Specification August 1995o transmission networks between the nodes. Networks may be as simple as point-to-point links or as complex as switched networks such as Frame Relay and ATM networks. During stream setup and modification, the LRM is presented by the setup protocol with the flow specification associated to the stream. For each resource it handles, the LRM is expected to perform the following functions:o Stream Admission Control: it checks whether, given the flow specification, there are sufficient resources left to handle the new data stream. If the available resources are insufficient, the new data stream must be rejected.o QoS Computation: it calculates the best possible performance the resource can provide for the new data stream under the current traffic conditions, e.g., throughput and delay values are computed.o Resource Reservation: it reserves the resource capacities required to meet the desired QoS. During data transfer, the LRM is responsible for:o QoS Enforcement: it enforces the QoS requirements by appropriate scheduling of resource access. For example, data packets from an application with a short guaranteed delay must be served prior to data from an application with a less strict delay bound. The LRM may also provide the following additional functions:o Data Regulation: to smooth a stream's data traffic, e.g., as with the leaky bucket algorithm.o Policing: to prevent applications exceed their negotiated QoS, e.g., to send data at a higher rate than indicated in the flow specification.o Stream Preemption: to free up resources for other streams with higher priority or importance. The strategies adopted by the LRMs to handle resources are resource- dependent and may vary at every host/router. However, it is necessary that all LRMs have the same understanding of the flow specification. The interface between setup protocol and LRM is a local matter at every host and therefore it is not specified by this document. An example of LRM is the Heidelberg Resource Administration Technique (HeiRAT) [VoHN93].Delgrossi & Berger, Editors Experimental [Page 13]RFC 1819 ST2+ Protocol Specification August 1995 It is also assumed that the LRM provides functions to compare flow specifications, i.e., to decide whether a flow specification requires a greater, equal, or smaller amount of resource capacities to be reserved.Delgrossi & Berger, Editors Experimental [Page 14]RFC 1819 ST2+ Protocol Specification August 19951.5 ST2 Basic Concepts The following sections present at an introductory level some of the fundamental ST2 concepts including streams, data transfer, and flow specification. Hosts Connections... : ...and Streams ==================== : ============== data Origin : Origin packets +-----------+ : +----+ +----|Application| : | | | |-----------| : +----+ +--->| ST Agent | : | | +-----------+ : | | | : | | V : | | +-------------+ : | | | | : | |+-------------| Network A | : +-------+ +--+| | | : | || +-------------+ : | Target 2|| | Target 2 : | & Router|| Target 1 | and Router : | || +-----------+ | +-----------+ : V V| |Application|<-+ | |Application|<-+ : +----+ +----+| |-----------| | | |-----------| | : | | | |+->| ST Agent |--+ +->| ST Agent |--+ : +----+ +----+ +-----------+ +-----------+ :Target 1 | | | : | | V : | | +-------------+ : | | | | : | | +-------------| Network B | : +-----+ | | | | : | | | +-------------+ : | | | Target 3 | Target 4 : | | | +-----------+ | +-----------+ : V V | |Application|<-+ | |Application|<-+ : +----+ +----+ | |-----------| | | |-----------| | : | | | | +->| ST Agent |--+ +->| ST Agent |--+ : +----+ +----+ +-----------+ +-----------+ : Target 3 Target 4 : Figure 3: The Stream ConceptDelgrossi & Berger, Editors Experimental [Page 15]RFC 1819 ST2+ Protocol Specification August 19951.5.1 Streams Streams form the core concepts of ST2. They are established between a sending origin and one or more receiving targets in the form of a routing tree. Streams are uni-directional from the origin to the targets. Nodes in the tree represent so-called ST agents, entities executing the ST2 protocol; links in the tree are called hops. Any node in the middle of the tree is called an intermediate agent, or router. An agent may have any combination of origin, target, or intermediate capabilities. Figure 3 illustrates a stream from an origin to four targets, where the ST agent on Target 2 also functions as an intermediate agent. Let us use this Target 2/Router node to explain some basic ST2 terminology: the direction of the stream from this node to Target 3 and 4 is called downstream, the direction towards the Origin node upstream. ST agents that are one hop away from a given node are called previous-hops in the upstream, and next-hops in the downstream direction. Streams are maintained using SCMP messages. Typical SCMP messages are CONNECT and ACCEPT to build a stream, DISCONNECT and REFUSE to close a stream, CHANGE to modify the quality of service associated with a stream, and JOIN to request to be added to a stream. Each ST agent maintains state information describing the streams flowing through it. It can actively gather and distribute such
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -