Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!spool.mu.edu!howland.reston.ans.net!vixen.cso.uiuc.edu!usenet.ucs.indiana.edu!stone.ucs.indiana.edu!carl From: carl@umd5.umd.edu (Carl Symborski) Newsgroups: comp.dcom.cell-relay,comp.answers,news.answers Subject: comp.dcom.cell-relay FAQ: ATM, SMDS, and related technologies (part 2/2) Followup-To: comp.dcom.cell-relay Date: 5 Dec 1995 04:43:14 GMT Organization: University of Maryland, College Park Lines: 1531 Approved: news-answers-request@MIT.Edu Message-ID: <4a0il2$679@usenet.ucs.indiana.edu> NNTP-Posting-Host: stone.ucs.indiana.edu Summary: General information and answers to questions related to or seen in the comp.dcom.cell-relay group. Keywords: cell-relay, ATM, SMDS, communications Originator: carl@stone.ucs.indiana.edu Xref: senator-bedfellow.mit.edu comp.dcom.cell-relay:11814 comp.answers:15702 news.answers:59142 Archive-name: cell-relay-faq/part2 Last-modified: 1995/12/01 Most current version can accessed as WWW pages at the following location URL: http://cell-relay.indiana.edu/cell-relay/FAQ/ATM-FAQ/FAQ.html NOTE!!!! If you are reading this FAQ as stored on some automated FAQ archive site you would be better off to follow the above http link to the most recent official version of this FAQ. Not only may it be more current but it will be better formatted than what you are viewing now! :-) ------------------------------------------------------------------------------ comp.dcom.cell-relay FAQ: ATM, SMDS, and related technologies (Rev 1995/12/01) Part 2 - Introduction and second half of FAQ ------------------------------------------------------------------------------ Copyright 1995 Carl Symborski (c) 1995 Carl Symborski The Cell Relay FAQ is posted periodically in multiple parts as a Usenet News FAQ under the title "comp.dcom.cell-relay FAQ: ATM, SMDS, and related technologies". This FAQ is also maintained as a collection of WEB pages. The WEB pages will generally be more current than the posted FAQ. In fact this FAQ is maintained as WEB pages then posted as a traditional Usenet News FAQ every few months. This article is the second of two articles which contain general information and also answers to some Frequently Asked Questions (FAQ) which are related to or have been seen in comp.dcom.cell-relay. This FAQ provides information of general interest to both new and experienced readers. It is posted to the Usenet comp.dcom.cell-relay, comp.answers, and news.answers news groups every few months. This FAQ reflects cell-relay traffic through November 1995. If you have any additions, corrections, or suggestions for improvement to this FAQ, please send them to carl@umd5.umd.edu. I will accept suggestions for questions to be added to the FAQ, but please be aware that I will be more receptive to questions that are accompanied by answers. :-) --------------------------------------------------------------------------- DISCLAIMER - PLEASE READ. The Cell Relay FAQ is posted periodically in multiple parts as a Usenet News FAQ under the title comp.dcom.cell-relay FAQ: ATM, SMDS, and related technologies. This FAQ is also maintained as a collection of WEB pages. Both versions are Copyright 1992-1995 Carl Symborski and may be freely redistributed in their entirety provided that this copyright notice is not removed. They may not be sold for profit or incorporated in commercial documents or CD-ROMs without the written permission of Carl Symborski. Permission is expressly granted for this document to be made available for file transfer from installations offering unrestricted anonymous file transfer on the Internet. This article is provided as is without any express or implied warranty. Nothing in this article represents the views of the University Of Maryland. ----------------------------------------------------------------------------- TOPIC: D) TOPIC: ATM Technology Questions ----------------------------------------------------------------------------- SUBJECT * D1) What are the various ATM Adaptation layers? In order for ATM to support many kinds of services with different traffic characteristics and system requirements, it is necessary to adapt the different classes of applications to the ATM layer. This function is performed by the AAL, which is service-dependent. Four types of AAL were originally recommended by CCITT. Two of these have now been merged into one. Also, within the past year a fifth type of AAL has been proposed. Briefly the four ATM adaptation layers (AAL) have/are being defined: AAL1 - Supports connection-oriented services that require constant bit rates and have specific timing and delay requirements. Example are constant bit rate services like DS1 or DS3 transport. AAL2 - Supports connection-oriented services that do not require constant bit rates. In other words, variable bit rate applications like some video schemes. AAL3/4 - This AAL is intended for both connectionless and connection oriented variable bit rate services. Originally two distinct adaptation layers AAL3 and 4, they have been merged into a single AAL which name is AAL3/4 for historical reasons. AAL5 - Supports connection-oriented variable bit rate data services. It is a substantially lean AAL compaired with AAL3/4 at the expense of error recovery and built in retransmission. This tradeoff provides a smaller bandwidth overhead, simpler processing requirements, and reduced implementation complexity. Some organizations have proposed AAL5 for use with both connection-oriented and connectionless services. A document which describes these (except AAL2) with frame formats is: "Asynchronous Transfer Mode (ATM) and ATM Adaptation Layer (AAL) Protocols Generic Requirements", Bellcore Technical Advisory, TA-NWT-001113, Issue 1, August 1992. This can be obtained by writing to: Bellcore Document Registrar 445 South Street - Rm. 2J125 P.O. Box 1910 Morristown, NJ 07962-1910 Note that some folks talk about an "AAL0" which normally refers to a 'null' AAL, i.e the case where the payload is directly inserted into a cell. This typically requires that the payload can always be fitted into a single cell so that the AAL is not needed for upper layer PDU delineation when the upper layer PDU bridges several cells. --------------------------------------------------------------------------- SUBJECT D2) Are ATM cells delivered in order? Yes. The ATM standards specify that all ATM cells will be delivered in order. Any switch and adaptation equipment design must take this into consideration. --------------------------------------------------------------------------- SUBJECT D3) What do people mean by the term "traffic shaping"? Here is an explicit definition of traffic shaping followed by brief tutorial. Note that a variety of techniques have been investigated to implement traffic shaping. Reference the literature for keywords such as "leaky bucket", "congestion", "rate control", and "policing". Definition: Traffic shaping is forcing your traffic to conform to a certain specified behavior. Usually the specified behavior is a worst case or a worst case plus average case (i.e., at worst, this application will generate 100 Mbits/s of data for a maximum burst of 2 seconds and its average over any 10 second interval will be no more than 50 Mbit/s). Of course, understand that the specified behavior may closely match the way the traffic was going to behave anyway. But by knowing precisely how the traffic is going to behave, it is possible to allocate resources inside the network such that guarantees about availability of bandwidth and maximum delays can be given. Brief Tutorial Assume some switches connected together which are carrying traffic. The problem to actually deliver the grade of service that has been promised, and that people are paying good money for. This requires some kind of resource management strategy, since congestion will be by far the greatest factor in data loss. You also need to charge enough to cover you costs and make a profit, but in such a way that you attract customers. There are a number of parameters and functions that need to be considered: PARAMETERS There are lots of traffic parameters that have been proposed for resource management. The more important ones are: mean bitrate peak bitrate variance of bitrate burst length burst frequency cell-loss rate cell-loss priority etc. etc. These parameters exist in three forms: actual measured, or estimated declared (by the customer) FUNCTIONS (a) Acceptance Function Each switch has the option of accepting a virtual circuit request based on the declared traffic parameters as given by the customer. Acceptance is given if the resulting traffic mix will not cause the switch to not achieve its quality of service goals. The acceptance process is gone through by every switch in a virtual circuit. If a downstream switch refuses to accept a connection, an alternate route might be tried. (b) Policing Function Given that a switch at the edge of the network has accepted a virtual circuit request, it has to make sure the customer equipment keeps its promises. The policing function in some way estimates the the parameters of the incoming traffic and takes some action if they measure traffic exceeding agreed parameters. This action could be to drop the cells, mark them as being low cell-loss priority, etc. (c) Charging Function The function most ignored by traffic researchers, but perhaps the most important for the success of any service! Basically, this function computes acharge from the estimated and agreed traffic parameters. (d) Traffic Shaping Function Traffic shaping is something that happens in the customer premise equipment. If the Policing function is the policeman, and the charging function is the judge, then the traffic shaper is the lawyer. The traffic shaper uses information about the policing and charging functions in order to change the traffic characteristics of the customer's stream to get the lowest charge or the smallest cell-loss, etc. For example, an IP router attached to an ATM network might delay some cells slightly in order to reduce the peak rate and rate variance without affecting throughput. An MPEG codec that was operating in a situation where delay wasn't a problem might operate in a CBR mode. --------------------------------------------------------------------------- SUBJECT * D4) What is happening with and Questions about signalling standards for ATM? NOTE: An authoritative account of the ATM Forum's work on signalling and other implementation agreements can be found on their WWW Server. This link is to a back issue of their newsletter "53 Bytes" so will not be kept up-to-date. The Signaling Sub-Working Group (SWG) of the ATM Forum's Technical Committee has completed its implementation agreement on signaling at the ATM UNI (summer 1993). The protocol is based on Q93B with extensions to support point-to-multipoint connections. Agreements on addressing specify the use of GOSIP-style NSAPs for the (SNPA) address of an ATM end-point at the Private UNI, and the use of either or both GOSIP-style NSAPs and/or E.164 addresses at the Public UNI. The agreements have been documented as part of the UNI 3.0 specification. Additionally, the ANSI T1S1 as well as the ITU-T sudygroup XI are concerned with ATM signalling. In the latter half of 1993 a couple of things happened: 1. The ITU finally agreed to modify its version of Q93B to more closely to align it with that specified in the ATM Forum's UNI 3.0 specification. The remaining variations included some typos which the ITU Study Group found in the Forum's specification. Also, some problems were solved differently. Aligned yes, but the changes could still cause incompatibilities with UNI 3.0. 2. Given the above, the ATM Forum's signalling SWG decided to modify the Forum's specification to close the remaining gap and align it with the ITU. The biggest change was with SSCOP. UNI 3.0 references the draft ITU-T SSCOP documents (Q.SAAL). However UNI 3.1 references the final ITU Q.21X0 specifications. These two secifications are NOT interoperable so there is no backwards compatibility between UNI 3.0 and UNI 3.1. The ATM Forum UNI 3.1 specification was approved in Fall 1994 and has been distributed to ATM Forum members and is also available online. See section C4. Question: Signalling messages defined in Q.2931 and ATM Forum UNI v3.1 seems to establish VCCs only. How to establish VPCs by signalling? Answer: ATM Forum UNI 4.0 will provide for switched VPs. This is done by: o adding a new bearer class codepoint in bearCap IE for "VP service", and o adding a new pref/exc codepoint in connId IE for "exclusive VPCI, no VCI" The ATM Forum also has a Private-NNI SWG. Currently they are working on a protocol for distributing link and node state information, and a call setup procedure, to support intra-network routing and switching. The spec itself is set to be available late this year or early next year (1996) (they've been working it since about November `93), and they are actually fairly far along, as far as I can see. Overall, the protocol is designed for source routing, where the first switch in the network has enough information about the topology of the network to determine a route, and then the path information is added to the signaling message (SETUP) and routed along the path. The overall protocol is considerably more complex than this, as its necessary to minimise the view of the topology of a network from the sources point of view (a topological hierarchy is used, among other things), but thats basically the approach. Question: PNNI vs. I-PNNI? Answer: PNNI is a protocol for distributing ATM topology information around a network and for routing ATM calls and their setup messages based on a link-state computation of the topology. I-PNNI is a proposal generated by Bay Networks to ATM Forum to extend PNNI to carry L3 reachability information as a part of the routing topology built by PNNI. This allows nodes to make packet routing decisions based on a much more complete view of the world than a pure L3 protocol could do. --------------------------------------------------------------------------- SUBJECT D5) What is VPI and VCI? ATM is a connection orientated protocol and as such there is a connection identifier in every cell header which explicitly associates a cell with a given virtual channel on a physical link. The connection identifier consists of two sub-fields, the Virtual Channel Identifier (VCI) and the Virtual Path Identifier (VPI). Together they are used in multiplexing, demultiplexing and switching a cell through the network. VCIs and VPIs are not addresses. They are explicitly assigned at each segment (link between ATM nodes) of a connection when a connection is established, and remain for the duration of the connection. Using the VCI/VPI the ATM layer can asynchronously interleave (multiplex) cells from multiple connections. --------------------------------------------------------------------------- SUBJECT D6) Why both VPI *and* VCI? The Virtual Path concept originated with concerns over the cost of controlling BISDN networks. The idea was to group connections sharing common paths through the network into identifiable units (the Paths). Network management actions would then be applied to the smaller number of groups of connections (paths) instead of a larger number of individual connections (VCI). Management here including call setup, routing, failure management, bandwidth allocation etc. For example, use of Virtual Paths in an ATM network reduces the load on the control mechanisms because the function needed to set up a path through the network are performed only once for all subsequent Virtual Channels using that path. Changing the trunk mapping of a single Virtual Path can effect a route change for every Virtual Channel using that path. Now the basic operation of an ATM switch will be the same, no matter if it is handling a virtual path or virtual circuit. The switch must identify on the basis of the incomming cell's VPI, VCI, or both, which output port to forward a cell received on a given input port. It must also determine what the new values the VPI/VCI are on this output link, substituting these new values in the cell. --------------------------------------------------------------------------- SUBJECT D7) How come an ATM cell is 53 bytes anyway? ATM cells are standardized at 53 bytes because it seemed like a good idea at the time! As it turns out, during the standardization process a conflict arose within the CCITT as to the payload size within an ATM cell. The US wanted 64 byte payloads because it was felt optimal for US networks. The Europeans and Japanese wanted 32 payloads because it was optimal for them. In the end 48 bytes was chosen as a compromise. So 48 bytes payload plus 5 bytes header is 53 bytes total. The two positions were not chosen for similar applications however. US proposed 64 bytes taking into consideration bandwidth utilization for data networks and efficient memory transfer (length of payload should be a power of 2 or at least a multiple of 4). 64 bytes fit both requirements. Europe proposed 32 bytes taking voice applications into consideration. At cell sizes >= 152, there is a talker echo problem. Cell sizes between 32-152 result in listener echo. Cell sizes <= 32 overcome both problems, under ideal conditions. CCITT chose 48 bytes as a compromise. As far as the header goes, 10% of payload was perceived as an upper bound on the acceptable overhead, so 5 bytes was chosen. --------------------------------------------------------------------------- SUBJECT D8) How does AAL5 work? Here is is a very simplified view of AAL5 and AALs in general. AAL5 is a mechanism for segmentation and reassembly of packets. That is, it is a rulebook which sender and receiver agree upon for taking a long packet and dividing it up into cells. The sender's job is to segment the packet and build the set of cells to be sent. The receiver's job is to verify that the packet has been received intact without errors and to put it back together again. AAL5 (like any other AAL) is composed of a common part (CPCS) and a service specific part (SSCS). The common part is further composed of a convergence sublayer (CS) and a segmentation and reassembly (SAR) sublayer. +--------------------+ | | SSCS +--------------------+ | CS | | ------------------ | CPCS | SAR | +--------------------+ SAR segments higher a layer PDU into 48 byte chunks that are fed into the ATM layer to generate 53 byte cells (carried on the same VCI). The payload type in the last cell (i.e., wherever the AAL5 trailer is) is marked to indicate that this is the last cell in a packet. (The receiver may assume that the next cell received on that VCI is the beginning of a new packet.) CS provides services such as padding and CRC checking. It takes an SSCS PDU, adds padding if needed, and then adds an 8-byte trailer such that the total length of the resultant PDU is a multiple of 48. The trailer consist of a 2 bytes reserved, 2 bytes of packet length, and 4 bytes of CRC. SSCS is service dependent and may provide services such as assured data transmission based on retransmissions. One example is the SAAL developed for signalling. This consists of the following: +--------------------+ | SSCF | | ------------------ | SSCS | SSCOP | +--------------------+ | CS | | ------------------ | CPCS | SAR | +--------------------+ SSCOP is a general purpose data transfer layer providing, among other things, assured data transfer. SSCF is a coordination function that maps SSCOP services into those primitives needed specifically for signalling (by Q.2931). Different SSCFs may be prescribed for different services using the same SSCOP. The SSCS may be null as well (e.g. IP-over-ATM or LAN Emulation). There are two problems that can happen during transit. First, a cell could be lost. In that case, the receiver can detect the problem either because the length does not correspond with the number of cells received, or because the CRC does not match what is calculated. Second, a bit error can occur within the payload. Since cells do not have any explicit error correction/ detection mechanism, this cannot be detected except through the CRC mismatch. Note that it is up to higher layer protocols to deal with lost and corrupted packets. This can be done by using a SSCS which supports assured data transfer, as discussed above. --------------------------------------------------------------------------- SUBJECT D9) What are the differences between Q.93B, Q.931, and Q.2931? Essentially, Q.93B is an enhanced signalling protocol for call control at the Broadband-ISDN user-network interface, using the ATM transfer mode. The most important difference is that unlike Q.931 which manages fixed bandwidth circuit switched channels, Q.93B has to manage variable bandwidth virtual channels. So, it has to deal with new parameters such as ATM cell rate, AAL parameters (for layer 2), broadband bearer capability, etc. In addition, the ATM Forum has defined new functionality such as point- to-multipoint calls. The ITU-T Recommendation will specify interworking procedures for narrowband ISDN. Note that as of Spring 1994, Q.93B has reached a state of maturity sufficient to justify a new name, Q.2931 for its published official designation. --------------------------------------------------------------------------- SUBJECT D10) What is a DXI? The ATM DXI (Data Exchange Interface)is basically the functional equivalent of the SMDS DXI. Routers will handle frames and packets but not typically fragment them into cells; DSUs will fragment frames into cells as the information is mapped to the digital transmission facility. The DXI, then, provides the standard interface between routers and DSUs without requiring a bunch of proprietary agreements. The SMDS DXI is simple 'cause the router does the frame (SMDS level 3) and the DSU does the cells (SMDS level 2). The ATM DXI is a little more complicated since it has to accomomodate AAL3/4 and/or AAL5 (possibly concurrently). --------------------------------------------------------------------------- SUBJECT D11) What is Goodput? When ATM is used to transport cells originating from higher-level protocols (HLP), an important consideration is the impact of ATM cell loss on that protocol or at least the segmentation process. ATM cell loss can cause the effective throughput of some HLPs to be arbitrarily poor depending on ATM switch buffer size, HLP congestion control mechanisms, and packet size. This occurs because during congestion for example, and ATM switch buffer can overflow which will cause cells to be dropped from multiple packets, ruining each such packet. The preceding and the remaining cells from such packets, which are ultimately discarded by the frame reassembly process in the receiver, are nevertheless transmitted on an already congested link, thus wasting valuable link bandwidth. The traffic represented by these "bad" cells may be termed as BADPUT. Correspondingly, the effective throughput, as determined by those cells which are successfully recombined at the receiver, can be termed as GOODPUT. One method of increasing the efficiency of ATM over AAL5 is to drop all remaining cells for a given packet if one of the cells is lost. This functionality is sometimes referred to as "early packet drop." --------------------------------------------------------------------------- SUBJECT D12) * What is LAN Emulation all about? The ATM Forum has published their LAN Emulation (LANE) V1.0 specification. Reference that spec for complete details. Here's the basics on the requirements and general approach. The organizations who worked on it thought LANE would be needed for two key reasons 1. Allow an ATM network to be used as a LAN backbone for hubs, bridges, switching hubs (also sometimes called Ethernet switches or Token Ring switches) and the bridging feature in routers. 2. Allow endstations connected to "legacy" LANs to communicate though a LAN-to-ATM hub/bridge/switch with an ATM-attached device (a file server, for example) without requiring the traffic to pass through a more complex device such as a router. Note that the LAN-attached device has a conventional, unchanged protocol stack, complete with MAC address, etc. LANE does not replace routers or routing, but provides a complementary MAC-level service which matches the trend to MAC-layer switching in the hubs and wire closets of large LANs. LANE defines the three main areas required to emulate 802 LANs (connectionless, broadcast/multicast, 802 hardwired MAC addresses) over ATM networks (connection- oriented, point-to-point, network-defined telephone-like addresses). LANE specifies: 1. The address resolution procedures and protocols used to first discover the ATM address that corresponds to a given MAC station address (whether the station is directly ATM-attached, or sitting behind an Ethernet/ATM device) and then to set up a virtual circuit between the end points (or to the Ethernet/ATM device in front of the Ethernet end station). 2. The protocols and procedures to send broadcast and multicast 802 packets over the network, using a LANE server with point-to-point circuits inbound and point-to-multipoint circuits back out to the clients. 3. Same for how to "flood" (bridging term) packets across ATM, through Ethernet/ATM devices to reach Ethernet end stations, even those which have not sent a packet yet (thus making the Ethernet switch aware of them). 4. The packet formats/encapsulations. LANE also works for Token Ring so substitute Token Ring for Ethernet in the above. LANE also defines how an ATM adapter in a host can present an Ethernet or Token Ring logical interface to the protocol stack above. This enables applications and LAN protocols which were implemented to run above the aforesaid Ethernet or TR LANs to operate without change over an ATM network. Check out http://www.atmforum.com/atmforum/53bytes-backissues/53bytes-0195-5.html for a helpful LANE tutorial. By the way, since LANE was just recently completed, there are some proprietary implementations out there, but most vendors seem to be working on the standard version. However beware of marketing speak which is rampant in the industry today. Some router and LAN switching companies are offering products supporting "Virtual LANS" also known as VLANs. Sometimes their own marketing droids get this confused with ATM Forum "Lan Emulation" which you of course know as LANE. These are not the same since VLAN means proprietary. --------------------------------------------------------------------------- SUBJECT D13) * Information about the Classical IP over ATM approach. RFC1483 defines the encapsulation of IP datagrams (or other protocols) directly in AAL5. Classical IP and ARP over ATM, defined in RFC1577, is targetted towards making IP run over ATM in the most efficient manner utilizing as many of the facilities of ATM as possible. It considers the application of ATM as a direct replacement for the "wires" and local LAN segments connection IP end-stations and routers operating in the "classical" LAN-based paradigm. A comprehensive document, RFC1577 defines the ATMARP protocol for logical IP subnets (LISs). Within an LIS, IP addresses map directly into ATM Forum UNI 3.0 addresses. For communicating out a LIS, an IP router must be used - following the classical IP routing mode. Reference RFC1577 for a full description of this approach. For a tutorial/reference, a set of slides by Grenville Armitage presented at Interop 95 on the rfc1577 model is available online. The URL is: HTTP://thumper.bellcore.com/pub/gja/www/interop95/interop95.html --------------------------------------------------------------------------- SUBJECT D14) Classical IP and LAN/MAC Emulation approaches compaired. The IETF scheme defines an encapsulation and an address resolution mechanism. The encapsulation could be applied to a lot of LAN protocols but the address resolution mechanism is specifically defined (only) for IP. Support for IP multicast over ATM is now an active item for the IETF's ip-atm group and Internet Drafts are available. The purpose behind the ATM Forum's LAN-Emulation effort is to allow existing applications (i.e., layer-3 and above protocol stacks) to run *with no changes* over ATM. Thus, the mapping for all protocols is already defined. In a PC environment, such applications tend to run over an NDIS/ODI/etc. interface. The LAN-Emulation effort aims to be able to be implementable underneath the NDIS/ODI-type interface. In contrast to LAN-Emulation, the IETF's scheme will allow IP to make better use of ATM capabilities (e.g., the larger MTU sizes), and for unicast traffic will be more efficient than having the additional LAN-Emulation layer. However, the Classical draft suggests that IP multicast (e.g., the MBONE) will have to be tunnelled over ATM; I suspect this will be less efficient than LAN-Emulation. For better or worse, I think both are going to be used. So, vendors may have to do both. The worse part is extra drivers (or extra code in one driver that does both). The better part is that all existing LAN applications can use one (LAN Emulation), and over time (as their mapping to ATM is fully defined) can transition to use the other (IETF Scheme). I would summarize LAN-Emulation as follows: The advantage of LAN-Emulation is that the applications don't know they're running over ATM. The disadvantage of LAN-Emulation is also that the applications don't know they're running over ATM. --------------------------------------------------------------------------- SUBJECT D15) Whats the difference between SONET and SDH? SONET and SDH are very close, but with just enough differences that they don't really interoperate. Probably the major difference between them is that SONET is based on the STS-1 at 51.84 Mb/s (for efficient carrying of T3 signals), and SDH is based on the STM-1 at 155.52 Mb/s (for efficient carrying of E4 signals). As such, the way payloads are mapped into these respective building blocks differ (which makes sense, given how the European and North American PDHs differ). Check the September 1993 issue of IEEE Communications Magazine for an overview article on SONET/SDH. The following table shows how the US STS and the European STM levels compare: US Europe Bit Rate (total) STS-1 -- 51.84 Mb/s STS-3 STM-1 155.52 Mb/s STS-12 STM-4 622.08 Mb/s STS-24 STM-8 1244.16 Mb/s STS-48 STM-16 2488.32 Mb/s STS-192 STM-64 9953.28 Mb/s From a formatting perspective, however, OC-3/STS-3 != STM-1 even though the rate is the same. SONET STS-3c (i.e., STS-3 concatenated) is the same as SDH STM-1, followed by STS-9c = STM-3c, etc. There are other minor differences in overhead bytes (different places, slightly different functionality, etc), but these shouldn't provide many problems. By the way, most physical interface chips that support SONET also include a STM operation mode. Switch vendors which use these devices could then potentially support STS-3 and STM-1 for example. For anyone interested, there is an ANSI T1 document which reports on all the differences between SONET and SDH, and proposals to overcome them. (Document T1X1.2/ 93-024R2). It's available at ftp.tele.fi in the directory /atm/ansi, files sonet-sdh-1.ps and sonet-sdh-2.ps --------------------------------------------------------------------------- SUBJECT D16) * What is ABR? The ATM Forum Traffic Management (TM) subworking group is working on the definition of a new ATM service type called ABR which stands for Available Bit Rate. Using ABR traffic is not characterized using peak cell rate, burst tolerance, et.al., and bandwidth reseverations are not made. Instead traffic is allowed into the network throttled by a flow control type mechanism. The idea is to provide fair sharing of network bandwidth resources. Competing approaches were intensely studied for quite some time. The debate included many top folks from industry. Extensive simulation work was done by (among others) Bellcore, Sandia Labs, NIST and Hughes Network Systems. Some simulations were done explicitly with TCP/IP traffic sources, although most used a more generic stochastic model. The result of all this was the adoption in principle of a "rate-based" approach known as Enhanced Proportional Rate Control Algorithm (EPRCA). The term "rate based" means that the paradigm used involves adjustment by the network of the 'sending rate' of each VC. This is as opposed to a "credit based" or "windowing" approach, where the network communicates to each source (VC) the amount of buffer-space available for its use, and the source refrains from sending unless it knows in advance that the network has room to buffer the data. ABR will have a Peak Cell Rate, a guaranteed Minimum Cell Rate (per VC), and will do a fair share of the remaining available bandwidth (the specific mechanism for determining fair share is left for vendor latitude and experimentation). So you don't have explicit leaky bucket parameters for ABR. There isn't yet a published document which discussess all the traffic management work that the Forum is working on these days (including ABR). There will be one, called "ATM Forum Traffic Management Specification Version 4.0" which exists in draft form, and probably won't be finalized in 1995. In the mean time you can reference: M. W. Garrett, "ATM Service Architecture: From Applications to Scheduling" ATM Forum contribution 94-0846, Sept 1994. which is "publically", albeit not permanently, available at ftp://thumper.bellcore.com/pub/mwg/ATMF.qos.mwg Raj Jain's paper "Congestion Control and Traffic Management in ATM Networks: Recent Advances and A Survey", is an excellent source for a more in depth analysis. http://www.cis.ohio-state.edu/~jain/papers.html There are also several rate-control and flow-control papers in the March- April 1995 issue of IEEE Network, and in the May 1995 issue of IEEE Journal on Selected Areas in Communication. Most of the issues were covered very well. The essential {CBR, VBR, ABR, UBR} service model itself dates back to Sept 1993 (although those names were not yet attached to the categories, and the definitions were not explicit): Natalie Giroux, "Categorization of the ATM Layer QoS and Structure of the Traffic Management Work" ATM Forum contribution 93-0837, Sept 1993. Another source of compare/contrast information on ABR and the rate-based vs. credit-based debate is in IEEE Networks vol. 9 of March/April 1995. There are three articles concerning The rate-based approach, the credit- based approach and finally a merge of both of them. --------------------------------------------------------------------------- SUBJECT * D17) Questions about VPI/VCI assignment? Question: With respect to the assignment of VPI/VCIs for an ATM Forum 3.1 or Q.2931 SVC service request, consider two users A and B which will communicate across a network. Are there really four VPI/VCIs that must be assigned by the call setup process: 1. The VPI/VCI A uses to send to B 2. The VPI/VCI that B will receive from A 3. The VPI/VCI B uses to send to A 4. The VPI/VCI that A will receive from B? Answer: According to the ATM Forum UNI 3.1 specification, User A will request a VCC via a SETUP message. The Network will either respond with (if there are no problems) a CALL PROCEEDING message or a CONNECT message. In either case, it must respond with a Connection Identifier (VPI/VCI) in the first response to the User (see the section labeled "Connection Identifier Allocation/Selection -Origination in the ATM Forum UNI specification). At the Called User side (B), the Network will allocate a Connection Identifier (VPI/VCI) for the Called user and will be SETUP message sent to the Called User. In both cases (according to UNI 3.0/3.1) the Network allocates the VPI/ VCI. Also, the VCC can be bidirectional or unidirectional based on how the VCC was established. The rational is simple: it is always the "network" side of the UNI that allocates all VCCs for communication on that UNI. It is the master and the "user" is the slave. Hence, the switch always knows which VCCs are available for use at the UNI. The range of valid VCCs is setup using ILMI. Q.2931 allows more flexibility. The initiator of the connection over a UNI (be it "user" or "network") can effectively specify one of the following: 1. exclusive VPI, exclusive VCI 2. exclusive VPI, any VCI 3. any VPI, any VCI The other side of the UNI must staisfy the desired choice i.e. if choice A, it must use the specified VPI/VCI; if choice B, it may use any VCI within the specified VPI; if choice C, it may use any VPI/VCI. Due to this flexibility, there is the possibility that the initiator of the conenction over a UNI chooses a VPI/VCI value that is not available at the other side. Q.2931 does not allow negotiation so the other sode has no choice but to release the VCC. --------------------------------------------------------------------------- SUBJECT D18) * Specs on how Frame Relay frames gets mapped to ATM cells. There are at least four. One is the mapping defined for FRAME RELAY/ATM NETWORK INTERWORKING as defined in Version 1.1 of the ATM Forum's B-ICI spec (network interworking allows Frame Relay end users to communicate with each other over an ATM network). In this case frames are mapped using AAL 5 and the FR-SSCS (Frame Relay specific service-specific convergence sublayer). Despite the long-winded name, the essentials of the mapping are quite simple to describe: remove the flags and FCS from a Frame Relay frame, add the AAL-5 CPCS trailer, and segment the result into ATM cells using AAL 5 SAR rules. The spec defines additional details such as the mapping between FECN/BECN/DE in the Frame Relay header and EFCI/CLP bits in the ATM cell headers. A second mapping is ATM DXI (data exchange interface) mode 1a. This is not strictly a Frame Relay to ATM mapping but rather uses an HDLC frame structure identical to that of Frame Relay frames with a two-byte address field (i.e. a 10-bit DLCI). The HDLC DXI frame address (called DFA in the spec) gets stripped off and the 10 bits of the "DLCI" get mapped in a funny way to the VPI and VCI of the ATM cells. The remainder of the DXI frame gets an AAL 5 CPCS trailer and is chopped up into cells by standard AAL 5 rules. A third mapping is used for ATM/FRAME RELAY SERVICE INTERWORKING. This version allows for conversion between the RFC 1490 multiprotocol encapsulation and the RFC 1483 multiprotocol encapsulation. It uses AAL5 with the RFC 1483 encapsulation within the network. It allows a Frame Relay user to communicate with a user of a different service (e.g. SMDS/CBDS) across the ATM network. A fourth mapping is the FUNI which is completely separate standard ratified by the ATM Forum. It is an extension of the ATM-DXI standard. However instead of being a local serial interface, it is extended across the wide area. For more information reference "From Frames to Cells: Low Speed Access to ATM" in the May 1995 issue of Data Communications. --------------------------------------------------------------------------- SUBJECT D19) + What are the meaning of CBR, VBR, ABR, UBR? They are service classes defined by ATM forum traffic management group. Each class is defined as follows: 1. CBR (constant bit rate) The CBR service classs is intended for real-time applications, i.e. those requring tightly constrained delay and delay variation, as would be appropriate for voice and video applications. The consistent availability of a fixed quantity of bandwidth is considered appropriate for CBR service. Cells which are delayed beyond the value specified by CTD(cell transfer delay) are assumed to be significantly less value to the application. For CBR, the following ATM attributes are specified: PCR/CDVT(peak cell rate/cell delay variation tolerance) Cell Loss Rate CTD/CDV CLR may be unspecified for CLP=1. 2. Real time VBR The real time VBR service class is intended for real-time applications, i.e., those requring tightly constrained delay and delay variation, as would be appropriate for voice and video applications. Sources are expected to transmit at a rate which varies with time. Equivalently the source can be described "bursty". Cells which are delayed beyond the value specified by CTD are assumed to be of significantly less value to the application. Real-time VBR service may support statistical multiplexing of real-time sources, or may provide a consistently guaranteed QoS. For real time VBR, the following ATM attributes are specified: PCR/CDVT CLR CTD/CDV SCR and BT(sustainable cell rate and burst tolerance) 3. Non-real time VBR The non-real time VBR service class is intended for non-real time applications which have 'bursty' traffic characteristics and which can be characterized in terms of a GCRA. For those cells which are transfered, it expects a bound on the cell transfer delay. Non-real time VBR service supports statistical multiplexing of connections. For non-real time VBR, the following attributes are supported: PCR/CDVT CLR CTD SCR and BT 4. UBR (unspecified bit rate) The UBR service class is intended for delay-tolerant or non-real-time applications, i.e., those which do not require tightly constrained delay and delay variation, such as traditional computer communications applications. Sources are expected to transmit non-continuous bursts of cells. UBR service supports a high degree of statistical multiplexing among sources. UBR service includes no notion of a per-VC allocated bandwidth resource. Transport of cells in UBR service is not necessarily guaranteed by mechanisms operating at the cell level. However it is expected that resources will be provisioned for UBR service in such a way as to make it usable for some set of applications. UBR service may be considered as interpretation of the common term "best effort service". For UBR, the following ATM attributes are specified: PCR/CDVT 5. ABR (available bit rate) Many applications have the ability to reduce their information transfer rate if the network requires them to do so. Likewise, they may wish to increase their information transfer rate if there is extra bandwidth available within the network. There may not be deterministic parameters because the users are willing to live with unreserved bandwidth. To support traffic from such sources in an ATM network will require facilities different from those for Peak Cell Rate of Sustainable Cell Rate traffic. The ABR service is designed to fill this need. See section D16 for more ABR information. See also ATM and Related Acronyms. --------------------------------------------------------------------------- SUBJECT D20) + Is VP and VC unidirectional? This question has been discussed at some length in the past in this group. Here is one way to look at the situation: each link in the ATM network can be split into two parts, one in each direction. Each directional sub link has the entire range of VCCs (pt-pt links can distinguish between directional data streams). In this context, VCs and VPs can be considered unidirectional. However, one always allocates the same VPI/VCI in both directions for a connection. This may be considered a limitation of the signalling spec or a simplification. Nevertheless, there is no constraint that the same bandwidth must be allocated in both directions. In fact, each direction is an indepndent traffic stream and has its own traffic parameters and qos. Some connections may assign the same parameters to both directions if the traffic flows are symmetrical but this is certainly no requirement. Irrespective of all the above, implementation wise, VPs and VCs must be bidirectional and some bandwidth must be allocated in both directions to order to support OAM flows. Maby this is hidden from a user but it needs to be done just the same. --------------------------------------------------------------------------- SUBJECT D21) + M4 ATM Mgmt Interface Questions? Question: With regard to a carrier ATM network, I recently heard the topic of an "M4" management interface. Answer: The ATM Forum Management WG defines "management information flows" M1 to M5. A management information flow exchanges information between an ATM management system and a part of a prototypical ATM network. For instance, the M2 interface defines the information flow between a private ATM switch and the local private network management system. The management information flow includes a conceptual view (requirements) and a MIB. Ideally the MIB can be used by SNMP or CMIP. The protypical ATM network looks something like this: ATM Device----Private ATM Net----Public ATM Net----Public ATM Net Note: it may be more clear to mentally replace the word "public" with "carrier" in all of this discussion. The prototypical ATM management system is made up of local private management systems and public management systems. This combination of management systems, management flows and MIB's is the start of end to end ATM network management. M3 M5 _ Private Mgt Sys<-->Public Mgt Sys<-->Public Mgt Sys / ^ ^ ^ M1/ M2| M4| M4| / v v v ATM Device----Private ATM Net----Public ATM Net----Public ATM Net The management information flows relate to the above network: M1 = flow between the private management system and the end ATM device M2 = flow between the private management system and the switches making up the local private ATM net M3 = the flow between the private management system and the public management system M4 = the flow between the switches in the public ATM network and the public management system M5 = the flow between two public management systems So the MIB's and information flows of M4 allow a management system within your ATM carrier to manage the central office and other carrier ATM switches of their ATM network. If you are using their services, you wouldn't have direct access to this informtion. You would have indirect access to parts of it (read only) via the M3 interface. For instance, your private management system could query their public management system to read circuit/path status or counters for your paths traversing their public network service. If you were a developer of public-type ATM switches, you would implement the MIB's associated with M4; plus private MIB extensions. If you were a management system vendor you might implement M1-3 if you were only interest ed in private network management; M3-5 if you were interested in the management of public networks; M1-5 if you managed both. --------------------------------------------------------------------------- SUBJECT D22) + Questions about QOS. Question: BISUP does not define a corresponding IE or parameter for QoS IE. For systems adopting only ITU-T series standards there is no problem. However, for systems adopting other implementation specs., like ATM Forum UNI v3.1, problems can arise. ATM Forum UNI v3.1 defines 5 kinds of QoS classes (0~4). When SETUP messages (UNI) are translated into IAM messages (NNI), the information will be lost. Answer: When interworking between two types of networks (ATM Forum UNI 3.x based and ITU based), some information is usually lost. In this case, the loss is not as significant because there are no universal semantics to QoS class 1-4. Only QoS class 0 is universally defined as "unspecified" which basically implies that no qos is associated with the connection. The specified qos classes 1-4 are network specified i.e. each network provider can assign his own semantics to each class. In this situation, interworking even between two ATMF UNI 3.x networks that use different semantics for specified qos classes, will require proprietary translation techniques. Therefore, the use of qos classes 1-4 is not widespread. Question: Different sources of the same type like VBR may have distinct QoS. Is 5 kinds of QoS class enough to calssify all QoS? Answer: The use of qos classes is being deprecated. Unfortunately, the parameterized qos did not make it to UNI 4.0, but it will appear in an addendum soon. Question: If a user claims the QoS class is one of VBR services but it provides the PCR parameter only, does CAC treat it as a CBR service or not? Answer: Currently, qos classes 1-4 are not specified. Not only that, but the bearer capability is seldom used to determine traffic type. It is the ATM traffic descriptor IE that generally determines traffic type. Nevertheless, the UNI spec specifies some allowable combinations of bearer capability and traffic descriptor (see table F-1, UNI 3.1). For example, the user may specify bearer class X with traffic type VBR and timing indication set to none (this would specify non-real time VBR) and may only specify PCR for CLP=0 and CLP=0+1. This is a legal combination. How the switch CAC allocates resources for such a connection is not specified. --------------------------------------------------------------------------- SUBJECT D23) + Questions about ATM Cell Headers. Question: Where in the world is the EFCI bit? Answer: The EFCI bit is in the cell header. Check out the definition of the PTI field. In essence, the 2nd bit of the PTI is the EFCI bit when the 1st bit indicates that this is a user cell. PTI mappings: PTI Meaning 000 User cell, no congestion encountered, user-to-user indication = 0 001 User cell, no congestion encountered, user-to-user indication = 1 010 User cell, congestion encountered, user-to-user indication = 0 011 User cell, congestion encountered, user-to-user indication = 1 100 OAM segment associated cell 101 OAM end-to-end associated cell 110 Resource management cell 111 Reserved for future use --------------------------------------------------------------------------- SUBJECT D24) + What is MPOA? The ATM Forum's Multiprotocol Over ATM (MPOA) subworking group is developing an approach to support seamless transport of layer 3 protocols across ATM networks. Layer 3 protocols meaning things like IP and IPX. MPOA, operating at layer 2 and 3, will use the ATM Forum LAN Emulation (LANE) for its layer 2 forwarding. As such, MPOA can be seen as an evolution beyond LANE. LANE basically connects together a single legacy LAN subnet across ATM. MPOA will take this further by allowing direct ATM connectivity between hosts in DIFFERENT subnets. The proposed architecture consists of edge devices and route servers. An edge device (not necessarily user equipment) would forward packets between the LAN and ATM networks, establishing ATM connections when needed, but would not be involved directly in routing. Edge devices would query a Route Server when an unknown host address is encountered. Route Servers would be able to map a host address into the information needed by the edge device to establish a connection across the ATM network. That would be the layer 3 address of the optimal exit point from the ATM network as well as the ATM address of that exit point. Route servers would also be able to forward packets on to the exit point on behalf of the edge device while they are establishing their own ATM virtual circuits. (This last part is LANE.) Some folks will notice that the Route Server address mapping function is basically the same problem that the IETF ROLC group is addressing with their Next Hop Resolution Protocol (NHRP). Neither group has finished their work and the MPOA folks will be working with the ROLC folks to generalize NHRP to meet the requirements of MPOA. ----------------------------------------------------------------------------- TOPIC: E) TOPIC: ATM vs. XYZ Technology ----------------------------------------------------------------------------- SUBJECT E1) How does ATM differ from SMDS? NOTE the SMDS SIG WWW Server can be accessed at http://www.zdexpos.com/zdexpos/associations/smds/home.html SMDS is the Switched Multi-megabit Data Service, a service offering interface from Bellcore. SMDS provides a datagram service, where a packet has about a 40-octet header plus up to 9188 octets of data. The packets themselves may or may not be transported within the network on top of a connection- oriented ATM service. SMDS uses E.164 (ISDN) addresses. Therefore SMDS is a connectionless packet switched *service*, not a cell-relay service. However, the SMDS Subscriber Network Interface is currently defined to use IEEE 802.6 Distributed Queue Dual Bus (DQDB) access across the SMDS user-network interface. DQDB itself *is* a form of cell relay. The lower layers of SMDS fragment the packets into cells with a 5-octet header and 48-octet payload. The payload itself has a 2-octet header, 44-octets of data, plus a 2-octet trailer. An SMDS cell therefore is nearly identical in form to an AAL3/4 cell. Note that while DQDB is used as the access protocol, either DQDB or AAL3/4 may be used for the switch-to-switch interface. Several have noted that the point to stress is that SMDS is a *service* rather than a technology. As such it can be accessed by multiple protocols, as long as those protocols support the features of SMDS. SIP based on 802.6 is one such a protocol. however, others have been defined and are being used, including: DXI based (HDLC based) Frame Relay based ATM based Furthermore, different physical access facilities can be used, including DS1, E1, DS3, E3, Nx64kbps, Nx56kbps, and SONET/SDH. Another way to look at SMDS is as an ATM application. A common approach is to have an SMDS server in an ATM network, thus creating a connectionless datagram service over ATM that provides all SMDS service features while utilizing the benefits of ATM. One source of (readable) information on SMDS is probably the SMDS Interest Group (SIG), 480 San Antonio Road, Suite 100, Mountain View, California 94040, USA; Tel +1 415 962 2590; Fax +1 415 941 0849. This SIG is in many ways similar to the ATM Forum, and cooperates with it. Also, there is a European branch known as ESIG which is concerned with adapting the American SIG documents to fit European network architectures and regulations. SIG work is mostly based on Bellcore SMDS TAs and such like, while ESIG aligns with ITU and ETSI standards. Obviously, Bellcore documentation will be an authoritative SMDS reference. (Contact Bellcore at (908) 699-5800 or 1-800-521-CORE.) Additionally there are SMDS references in section C1 of this FAQ. --------------------------------------------------------------------------- SUBJECT E2) What is MTP3/SS7 and how it relates to ATM? MTP3 (Message Transfer _Part_ level 3) is the network layer of the SS7 signalling transport system. It routes SS7 signalling messages to public network nodes by means of Destination Point Codes, and to the appropriate signalling entity within a node by means of a Service Info Octet. MTP3 is specified as part of the Signalling System 7 protocol and is also referred to as part of the B-ICI interface for ATM. MTP3 sits between MTP2 and the user parts (ISUP, TUP, SCCP and TCAP) of the SS7 protocol stack. B- ISUP is an Application Layer protocol run over MTP3. MTP3 includes a number of link-protection features, to allow automatic rerouting of signalling messages around broken signalling transfer points. It includes certain management functions for congestion control on signalling links. The protocol is defined in Q.704, available from ITU. MTP3 is widely deployed for existing narrowband SS7 networks. It will be used for the transport of B-ISUP, but don't expect the document to mention ATM! MTP3 assumes it is running over MTP2 (data link protocol), and the ATM SAAL is specifically designed to mimic this and leave MTP3 unchanged. ----------------------------------------------------------------------------- TOPIC: F) TOPIC: Freely Available Reference Implementations ----------------------------------------------------------------------------- NOTE: For a longer list of ATM related software on the Internet check the softare page at the cell-relay retreat. --------------------------------------------------------------------------- SUBJECT F1) What and where is VINCE? Vince is the first "publicably available" software source code in the ATM technology area. This work was carried out by the Research Networks section of the Center for Computational Science at the Naval Research Laboratory, with support from the Advanced Research Projects Agency and NAVSEA. In the Grand Internet Tradition, these fine folks have contributed their efforts to the community in support of further research. VINCE RELEASE 0.6 ALPHA Vince, the Vendor Independent Network Control Entity, is publicly available (in source code form) as an alpha release. Its primary function is to perform ATM signalling and VC management tasks. It currently includes a hardware module that allows it to run on Fore ASX-100(tm) switches. Other hardware modules are under development. Vince consists of a core which provides basic ATM network semantics, and modules to perform specific functions. Modules included in this release are: SPANS - module which intereroperates signalling and routing with Fore Systems ASX switch and various host interfaces. SPANS is (tm) Fore Systems, Inc. Q93B - an implementation of signalling as specified in the ATM Forum UNI 3.0 document. The vince core includes sscop and aal5 in its protocol library. SIM - a software ATM switch or host that can be used to test signalling and routing implementations without ATM hardware. SROUTE - an address independent VC routing module. The Vince distribution also contains a driver that uses spans for signalling and supports the Fore Systems SBA-100 under SunOS(tm). Work has already begun on a kernel version of Vince, which will allow ATM Forum UNI signalling for hosts. Also in development are SNMP/ILMI support, interdomain routing, and support for other switches. The intent is to provide a redistributable framework which allows for code sharing among ATM protocol developers. Vince and its architecture document are available for anonymous ftp at hsdndev.harvard.edu:pub/mankin But, for a while, Harvard is moving some things around so you may have to look on newdev.harvard.edu:pub/mankin A mailing list for Vince developers and users can be joined by sending mail to vince-request@cmf.nrl.navy.mil. --------------------------------------------------------------------------- SUBJECT F2) + Nvatm Video-Conferencing Tool Announcing Nvatm version 1.0 Project Livewire, funded by the Network for Engineering and Research in Oregon (NERO), has produced Nvatm. Nvatm is a video-conferencing tool that allows the multicast of video traffic on a Fore Systems ATM network. It is a derivative of Nv by Ron Frederick of Xerox Parc and interoperates seamlessly with its ascendant. New in this version is an optimized "raw" encoder. A Sparc 20 with SunVideo 1.0 was able to kick out a 20 Megabit per second uncompressed video stream. This will really chew up all that pesky extra bandwidth that ATM provides. Nvatm has been compiled under the Solaris 2.3 operating system and release 2.3 of Fore Systems API to Fores equipment. SPANS signaling is required for ATM operation of Nvatm. The binaries, sources, and documentation are available at ftp.nero.net in the directory pub/aschked/: binaries: nvatm.Z ftp://ftp.nero.net/pub/aschked/nvatm.Z sources: nvatmsrc-1.0.Z ftp://ftp.nero.net/pub/aschked/nvatmsrc-1.0.tar.Z documentation: nvatm.ps.Z - postscript version nvatm.txt - text version slides.ps.Z - slides used in oral presentation ftp://ftp.nero.net/pub/aschked/ nvatm.ps.Z and ftp://ftp.nero.net/pub/aschked/nvatm.txt and ftp://ftp.nero.net/ pub/aschked/slides.ps.Z Operation requires no user intervention. If an ATM connection can be made between two Nvatm processes then it will be created automatically. The text nvatm.txt available in the same directory as the binary should answer most questions. The author will be happy to entertain any questions regarding Nvatm. Contact David Aschkenasy . For more information on NERO refer to http://www.nero.net. --------------------------------------------------------------------------- SUBJECT F3) AAL5 CRC32 Questions and Sample Code Question: I want to implement functions to encode and decode CRC for AAL5. Are there any written code available from FTP sites? I am aware of Vince. Are there any others? Thanks. Answer: The AAL5 CRC is the same as the Ethernet CRC. You can find example code in many PD or freeware packages such as XModem or Kermit; or by asking archie about CRC. You should be aware that while these examples all use the "look up 1 byte at a time" mode to speed things up, the programs to build the lookup tables seem to feed the bits in in the opposite order from that which the Ethernet and AAL5 CRC expects. Additionally, C. M. Heard (heard@btr.btr.com), has provided some sample code including a set of high-endian routines for computing AAL 5 CRC-32. This is available, along with tutorial and associated code concerning the on correction of single-bit header errors, in the cell-relay mailing list archives. Check this using the Cell Relay Retreat web page http://cell- relay.indiana.edu/cell-relay/publications/software/CRC/32bitCRC.html. There you will find links to "html-ized" versions of the crc32 code and some test cases supplied by Angie Tso. Question: Does anyone have some test cases for confirming that AAL5 CRC- 32 software works on a given machine? Answer: There are three examples of valid AAL-5 CS-PDU in I.363: /* 40 Octets filled with "0" */ /* CPCS-UU = 0, CPI = 0, Length = 40, CRC-32 = 864d7f99 */ char pkt_data[48]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x28,0x86,0x4d,0x7f,0x99}; /* 40 Octets filled with "1" */ /* CPCS-UU = 0, CPI = 0, Length = 40, CRC-32 = c55e457a */ char pkt_data[48]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, 0x00,0x00,0x00,0x28,0xc5,0x5e,0x45,0x7a}; /* 40 Octets counting: 1 to 40 */ /* CPCS-UU = 0, CPI = 0, Length = 40, CRC-32 = bf671ed0 */ char pkt_data[48]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a, 0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14, 0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e, 0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28, 0x00,0x00,0x00,0x28,0xbf,0x67,0x1e,0xd0}; --------------------------------------------------------------------------- SUBJECT F4) + Digital's ATM LANE Client code. The folks at Digital Equipment Corporation have placed their ATM LAN Emulation (LANE) Client source code in the public domain to be used as a reference implementation for networking, computer and operating system vendors who are developing ATM solutions. This client code is compliant with the ATM Forum LANE specification (LUNI V1.0). The LANE Client code will be used in Digital's ATM adapters and edge devices as well as the ATMworks 350 adapter. See http://www.networks.digital.com/npb/html/atm-starter-kit.html for more information. --------------------------------------------------------------------------- SUBJECT F5) + CRC10 sample code. C. M. Heard has done it again by providing a program to generate and check CRC-10 in AAL 3/4 or OAM cells. This source, accompanied by several test cases, may be found at the following URL: http://cell-relay.indiana.edu/cell-relay/publications/software/CRC/crc10.html ----------------------------------------------------------------------------- TOPIC: G) TOPIC: Flames And Recurring Holy Wars ----------------------------------------------------------------------------- As with any News and/or email list, topics will be raised which elicit a broad range of viewpoints. Often these are quite polarized and yield a chain of replies and counter topics which can span weeks and even months. Typically without resolution or group consensus. This section lists some memorable (lengthy?) topic threads. PLEASE NOTE that the idea here is not to re-kindle old flames, and not to somehow pronounce some conclusion. Rather, recorded here are a few pieces of the dialogue containing information which might be of some use. --------------------------------------------------------------------------- SUBJECT G1) Are big buffers in ATM switches needed to support TCP/IP? A recurring theme in 1993 concerned the suitability of ATM to transport TCP/IP based traffic. The arguments generally centered around the possible need for ATM WAN switches to support very large buffers such that TCP's reactive congestion control mechanism will work. Points of contention include: are big buffers needed, if so then where, and what exactly is the TCP congestion control mechanism. Undoubtedly, many of these discussions have been fueled by some 1993 studies which reported that TCP works poorly over ATM because of the cell-discard phenomenon coupled with TCP's congestion control scheme. The longest thread on this subject started in the October 1993 timeframe and ended in December under the subject of "Fairness on ATM Networks". Generally folks expressed opinions in one of the following postures: Big buffers are not needed at all.... Afew argued that if ATM VC's are provisioned and treated as fixed leased lines then ATM will be able to support TCP/IP just fine. This means that you would need to subscribe to the maximum possible burst rate which would be very inefficient use of bandwidth since TCP is usually very bursty. Put big buffers in routers and not ATM switches.... If you are using wide-area links over ATM, then use a router smart enough not to violate the Call-Acceptance contract. The call acceptance function should be such that it doesn't let you negotiate a contract that causes congestion. Congestion should only occur when there is a fault in the network. A router is quite capable of smoothing out bursts. That is what they do right now when they operate over leased lines. The advantage of an ATM connection replacing a leased line is that the connection parameters can be able to be renegotiated on the fly, so if your IP network (as opposed to the ATM network) is experiencing congestion, then it can request more bandwidth. Supporting this thinking is the notion that for most data networks using ATM as their wide-area medium, a router would likely be the access point with many TCP connections being concentrated on a given ATM connection. Still others suggest that ATM switches should implement priorities and that there should be different buffer sizes allocated per priority. The different priorities and associated buffer sizes would support traffic separation, trading off cell loss for delay. So for example, "voice" traffic could have small buffer sizes and "data" traffic could have big buffer sizes. The switches would then provide the buffering necessary to support TCP's reactive congestion control algorithms. Some folks argued that this would be "expensive" to implement. Regardless, many new switches being anounced in 1993/4 claim to have such priorities and buffer size capabilities. Finally many folks were not clear on the differing TCP reactive congestion control mechanisms. A quick summary follows: In the original algorithm, the TCP goes into slow-start when a packet loss is detected. In slow-start, the window is set to one packet and increased by one for every acknowledgement received until the window size is half what it was before the packet is dropped. You get a series of larger and larger bursts but the largest causes half the number of packets to be buffered as there were before the packet drop occurred. Hence there is no burst until the window size is half what it was before the packet is dropped and is then increased at a much lower rate, 1/(window size) for each acknowledgement. This window control algorithm ensures that the only bursts generated are probably small enough to be no problem. In the Reno algorithm, the window is halved so that packets start being sent in response to acknowledgements again after half the old window's of acknowledgements have been received. Hence there is no "burst" of packets generated. The only packess generated are in response to acknowledgements, and only after half an old window of acknowledgements are received. For more information check out Van Jacoboson's algorithms published in ACM SIGCOMM 1988. --------------------------------------------------------------------------- SUBJECT G2) Can AAL5 be used for connection-less protocols? This thread started with questions about whether AAL5 supports connection oriented or connection-less protocols. Check the November and December 1993 archives for the subject: "AAL Type 5 question". FIRST SOME BACKGROUND Officially, AAL 5 provides support for adaption of higher layer connection- oriented protocols to the connection-oriented ATM protocol. There was, however, a debate going on, claiming, that AAL 5 could also be used to adapt higher layer connectionless protocols to the connection-oriented ATM protocol. The whole debate is grounded in a systematical approach of the ITU-T, which states, that all AALs should be classified into four different classes, to minimise the number of AALs required for supporting any imaginable service. The classification of the ITU-T is as follows: +------------------------+-----------+-----------+-----------+-----------+ | | Class A | Class B | Class C | Class D | +------------------------+-----------+-----------+-----------------------+ |Timing relation between | Required | Not Required | |source and destination | | | +------------------------+-----------+-----------+-----------------------+ | Bit Rate | Constant | Variable | +------------------------+-----------+-----------------------+-----------+ | Connection Mode | Connection-Oriented |Connection-| | | | less | +------------------------+-----------------------------------+-----------+ AAL 5 is currently agreed to be in Class C. Some parties at the standardisation bodies claim that it could be as well in Class D. At the moment the following mapping between AALs and classes applies: Class A: AAL 1 Class B: AAL 2 Class C: AAL 3/4, AAL 5 Class D: AAL 3/4 The reason for AAL3/4 in classes C and D is the follwing: The ITU-T started to define AAL3 for Class C and AAL 4 for Class D. They turned out to be identical after long debates. REALITY CHECK The real issue is how to run a connection-less service over ATM which is inherently connection-oriented. AALs themselfs merely transport higher layer packets across an ATM virtual circuit. Connection-less services are actually provided by higher layer protocols such as CLNAP. Given that, there is nothing to prevent folks from using AAL5 to implement a connection- less communication mode. This is exactly what the IETF is doing with IP over ATM, and what the ATM Forum is also doing with LAN Emulation. The reality is that these folks expect that AAL5 will be largely used for connection-less upper layer protocols such as CLNP and IP. So some find it strange to have AAL5 classified as an AAL for connection- oriented services only. However, from an ITU-T service Class perspective, you must stick strictly to the view that to call an AAL "Class D" it must support each and every posssible connection-less protocol. The current agreement in the ITU-T is that AAL5 can not claim this and so is officially considered a "Class C" AAL. --------------------------------------------------------------------------- SUBJECT G3) How does the ATM Layers map to OSI reference model? Most people agree that the ATM standards cover 3 distinct layers -- Physical Layer, ATM Layer, and ATM Adaptation Layer (AAL). The Physical Layer (corresponding to OSI Physical) is usually taken to be SONET/SDH (which itself has 4 layers...) but can be other things as well. The PHY deals with medium-related issues. The ATM Layer is responsible for creating cells and formatting the cell header (5 octets). Some argue that it also corresponds to OSI Physical (it deals with bit transport) and others say its OSI Data Link (formatting, addressing, flow control, etc.). The AAL is responsible for adapting ATM's cell switching capabilities to the needs of specific higher layer protocols. The AAL is responsible for formatting the cell payload (48 bytes). Some argue that this layer corresponds to OSI data link (data error control, above Physical), others OSI transport (it's end-to-end). I think that this all proves that the OSI model is an excellent model as a basis for discusiion and comparison but becoming hopelessly inadequate to discuss many new services.