📄 rfc2729.txt
字号:
Network Working Group P. BagnallRequest for Comments: 2729 R. BriscoeCategory: Informational A. Poppitt BT December 1999 Taxonomy of Communication Requirements for Large-scale Multicast ApplicationsStatus of this Memo This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.Copyright Notice Copyright (C) The Internet Society (1999). All Rights Reserved.Abstract The intention of this memo is to define a classification system for the communication requirements of any large-scale multicast application (LSMA). It is very unlikely one protocol can achieve a compromise between the diverse requirements of all the parties involved in any LSMA. It is therefore necessary to understand the worst-case scenarios in order to minimize the range of protocols needed. Dynamic protocol adaptation is likely to be necessary which will require logic to map particular combinations of requirements to particular mechanisms. Standardizing the way that applications define their requirements is a necessary step towards this. Classification is a first step towards standardization.Bagnall, et al. Informational [Page 1]RFC 2729 Taxonomy of Communication Requirements December 1999Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . 2 2. Definitions of Sessions. . . . . . . . . . . . . . . . . 3 3. Taxonomy . . . . . . . . . . . . . . . . . . . . . . . . 4 3.1. Summary of Communications Parameters . . . . . . . . 4 3.2. Definitions, types and strictest requirements. . . . 5 3.2.1. Types . . . . . . . . . . . . . . . . . . . . . 6 3.2.2. Reliability . . . . . . . . . . . . . . . . . . 7 3.2.2.1. Packet Loss . . . . . . . . . . . . . . . . 7 3.2.2.2. Component Reliability . . . . . . . . . . . 8 3.2.3. Ordering . . . . . . . . . . . . . . . . . . . . 9 3.2.4. Timeliness . . . . . . . . . . . . . . . . . . . 9 3.2.5. Session Control . . . . . . . . . . . . . . . .13 3.2.6. Session Topology . . . . . . . . . . . . . . . .16 3.2.7. Directory . . . . . . . . . . . . . . . . . . .17 3.2.8. Security . . . . . . . . . . . . . . . . . . . .17 3.2.8.1. Security Dynamics . . . . . . . . . . . . .23 3.2.9. Payment & Charging . . . . . . . . . . . . . . .24 4. Security Considerations . . . . . . . . . . . . . . . .25 5. References . . . . . . . . . . . . . . . . . . . . . .25 6. Authors' Addresses . . . . . . . . . . . . . . . . . . .26 7. Full Copyright Statement . . . . . . . . . . . . . . . .271. Introduction This taxonomy consists of a large number of parameters that are considered useful for describing the communication requirements of LSMAs. To describe a particular application, each parameter would be assigned a value. Typical ranges of values are given wherever possible. Failing this, the type of any possible values is given. The parameters are collected into ten or so higher level categories, but this is purely for convenience. The parameters are pitched at a level considered meaningful to application programmers. However, they describe communications not applications - the terms '3D virtual world', or 'shared TV' might imply communications requirements, but they don't accurately describe them. Assumptions about the likely mechanism to achieve each requirement are avoided where possible. While the parameters describe communications, it will be noticed that few requirements concerning routing etc. are apparent. This is because applications have few direct requirements on these second order aspects of communications. Requirements in these areas will have to be inferred from application requirements (e.g. latency).Bagnall, et al. Informational [Page 2]RFC 2729 Taxonomy of Communication Requirements December 1999 The taxonomy is likely to be useful in a number of ways: 1. Most simply, it can be used as a checklist to create a requirements statement for a particular LSMA. Example applications will be classified [bagnall98] using the taxonomy in order to exercise (and improve) it 2. Because strictest requirement have been defined for many parameters, it will be possible to identify worst case scenarios for the design of protocols 3. Because the scope of each parameter has been defined (per session, per receiver etc.), it will be possible to highlight where heterogeneity is going to be most marked 4. It is a step towards standardization of the way LSMAs define their communications requirements. This could lead to standard APIs between applications and protocol adaptation middleware 5. Identification of limitations in current Internet technology for LSMAs to be added to the LSMA limitations memo [limitations] 6. Identification of gaps in Internet Engineering Task Force (IETF) working group coverage This approach is intended to complement that used where application scenarios for Distributed Interactive Simulation (DIS) are proposed in order to generate network design metrics (values of communications parameters). Instead of creating the communications parameters from the applications, we try to imagine applications that might be enabled by stretching communications parameters.2. Definition of Sessions The following terms have no agreed definition, so they will be defined for this document. Session a happening or gathering consisting of flows of information related by a common description that persists for a non-trivial time (more than a few seconds) such that the participants (be they humans or applications) are involved and interested at intermediate times. A session may be defined recursively as a super-set of other sessions. Secure session a session with restricted accessBagnall, et al. Informational [Page 3]RFC 2729 Taxonomy of Communication Requirements December 1999 A session or secure session may be a sub and/or super set of a multicast group. A session can simultaneously be both a sub and a super-set of a multicast group by spanning a number of groups while time-sharing each group with other sessions.3. Taxonomy3.1 Summary of Communications Parameters Before the communications parameters are defined, typed and given worst-case values, they are simply listed for convenience. Also for convenience they are collected under classification headings. Reliability . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Packet loss . . . . . . . . . . . . . . . . . . . . 3.2.1.1 Transactional Guaranteed Tolerated loss Semantic loss Component reliability . . . . . . . . . . . . . . . 3.2.1.2 Setup fail-over time Mean time between failures Fail over time during a stream Ordering . . . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Ordering type Timeliness . . . . . . . . . . . . . . . . . . . . . . . 3.2.3 Hard Realtime Synchronicity Burstiness Jitter Expiry Latency Optimum bandwidth Tolerable bandwidth Required by time and tolerance Host performance Fair delay Frame size Content size Session Control . . . . . . . . . . . . . . . . . . . . 3.2.4 Initiation Start time End time Duration Active time Session Burstiness Atomic join Late join allowed ?Bagnall, et al. Informational [Page 4]RFC 2729 Taxonomy of Communication Requirements December 1999 Temporary leave allowed ? Late join with catch-up allowed ? Potential streams per session Active streams per sessions Session Topology . . . . . . . . . . . . . . . . . . . . 3.2.5 Number of senders Number of receivers Directory . . . . . . . . . . . . . . . . . . . . . . . 3.2.6 Fail-over time-out (see Reliability: fail-over time) Mobility Security . . . . . . . . . . . . . . . . . . . . . . . . 3.2.7 Authentication strength Tamper-proofing Non-repudiation strength Denial of service Action restriction Privacy Confidentiality Retransmit prevention strength Membership criteria Membership principals Collusion prevention Fairness Action on compromise Security dynamics . . . . . . . . . . . . . . . . . . . 3.2.8 Mean time between compromises Compromise detection time limit compromise recovery time limit Payment & Charging . . . . . . . . . . . . . . . . . . . 3.2.9 Total Cost Cost per time Cost per Mb3.2 Definitions, types and strictest requirements The terms used in the above table are now defined for the context of this document. Under each definition, the type of their value is given and where possible worst-case values and example applications that would exhibit this requirement. There is no mention of whether a communication is a stream or a discrete interaction. An attempt to use this distinction as a way of characterizing communications proved to be remarkably unhelpful and was dropped.Bagnall, et al. Informational [Page 5]RFC 2729 Taxonomy of Communication Requirements December 19993.2.1 Types Each requirement has a type. The following is a list of all the types used in the following definitions. Application Benchmark This is some measure of the processor load of an application, in some architecture neutral unit. This is non-trivial since the processing an application requires may change radically with different hardware, for example, a video client with and without hardware support. Bandwidth Measured in bits per second, or a multiple of. Boolean Abstract Currency An abstract currency is one which is adjusted to take inflation into account. The simplest way of doing this is to use the value of a real currency on a specific date. It is effectively a way of assessing the cost of something in "real terms". An example might be 1970 US$. Another measure might be "average man hours". Currency - current local Data Size Date (time since epoch) Enumeration Fraction Identifiers A label used to distinguish different parts of a communication Integer Membership list/rule Macro A small piece of executable code used to describe policies TimeBagnall, et al. Informational [Page 6]RFC 2729 Taxonomy of Communication Requirements December 19993.2.2 Reliability3.2.2.1 Packet Loss Transactional When multiple operations must occur atomically, transactional communications guarantee that either all occur or none occur and a failure is flagged. Type: Boolean Meaning: Transactional or Not transaction Strictest Requirement: Transactional Scope: per stream Example Application: Bank credit transfer, debit and credit must be atomic. NB: Transactions are potentially much more complex, but it is believed this is an application layer problem. Guaranteed Guarantees communications will succeed under certain conditions. Type: Enumerated Meaning: Deferrable - if communication fails it will be deferred until a time when it will be successful. Guaranteed - the communication will succeed so long as all necessary components are working. No guarantee - failure will not be reported. Strictest Requirement: Deferrable Example Application: Stock quote feed - Guaranteed Scope: per stream NB: The application will need to set parameters
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -