The Fundamentals of Asynchronous Transfer Mode Peter W. Owings December 10, 1994 Final Paper MSCS: Introduction to Telecommunications Prof. C. C. Lee 1.0 Introduction The whole point of this paper is to try to get a handle on ATM, try to figure out how it works, and at least have some sort of perspective with respect to implementing this technology at Northwestern University. The majority of this paper is devoted to trying to understand ATM conceptually and to some degree of detail. The current state of this technology ultimately is revealed the closer we examine the details. At the end of this paper I look at the existing network at Northwestern University, and the foreseeable demands on the network infrastructure, and try to give some sort of perspective on whether or not ATM should be implemented at the university, to what extent, how it fits in with existing network schemes, and where it fits in the future. 2.0 Understanding ATM The purpose of this first part of this paper is to try to understand the details of ATM. Therefore these next several pages are an attempt by me to define ATM, describe it and possibly as an end result of this exercise hopefully better understand it. B-ISDN Principles The ultimate goal is to provide a broadband transport mechanism which provides for a few basic networking needs. First, the goal is to create an universal network scheme which supports both wide-area and local-area networking needs. The adopted scheme should support a large range of services with widely varying demands for bandwidth. B-ISDN is designed to provide subscriber communication services over a wide range of bit rates. Ideally what is desired is a service-independent network which is flexible and will be scalable as applications change and demands grow. The network would also be efficient in its use of resources such that all services are able to share all available resources. This allows for an optimization of statistical sharing of the provided network resources. A system which allows all services to access all available resources should produce lower costs for the overall operation of the network. Originally the most efficient and flexible method of transporting information was based on packet switching. Unfortunately the level of complexity associated with packet switching does not allow existing technologies to scale well at higher speeds. In addition, packet switching methods cannot guarantee the level of support needed by time-dependent applications. If traffic is heavy on a packet switching network, time sensitive packets may be delayed. Therefore a new network paradigm was required to satisfy the needs of a broadband services. A few basic principles were identified around which the new system was designed. First, functions must not be repeated in the network several times if service can be guaranteed when functions are only implemented once at the network's boundary. Second, correct delivery of transmitted information (semantic transparency), and the continuity of the bit stream (time transparency) would be guaranteed. In 1987, the CCITT selected ATM to be the underlying telecommunication service for Broadband Integrated Services Digital Network (B-ISDN) as the switching technology for future telephone and data networks. ATM needs minimal network node functionality, allowing for very high speeds and is application independent. ATM Overview ATM and the Telephone Companies Since its adoption in 1987, ATM has been and is still being developed by the CCITT as part of B- ISDN. The ATM Forum is a group of users and vendors attempting to speed up the process of creating standards defining ATM. Currently ATM supports up to 622 Mb/s data rates but ATM is theoretically capable of Gigabit speeds. ATM is being defined to support telephony. A large amount of data communication takes place inside of the telephone networks to provide the necessary communications between the telephone networks' computers. This data traffic is carried over separate data networks that run parallel with the existing voice networks. The phone companies would like to have both this data and voice traffic transmitted over the same network. At the same time the implementation of fiber has led to the consolidation of transmission lines. Because of this multiplexing over the same links is both difficult and expensive. It is believed that at high speeds it will be easier to multiplex separately addressed packets then to multiplex mixes of individual bits. Therefore the telephone companies are designing ATM to meet internal needs and also to give them the ability to offer new services to customers. Because these are the primary goals of the telephone companies, the needs of the data communications community are not necessarily being addressed. It is clear that ATM will be implemented by the phone company; how it will support the needs of the data communications community is not as clearly defined. Fundamental Principles of ATM The principles behind ATM were born out of packet switching and time division multiplexing (TDM). Modifications were necessary to support the needs for semantic transparency (the correct delivery of transmitted information), and time transparency (the continuity of the bit stream). ATM defines that: - no error control or flow control is done inside the ATM network, but is done only at the network boundary, - all information is transferred in a virtual circuit, - packets have a small, fixed, size (called cells), and - a header is used to associate the cell to a virtual circuit. All time slotted operations of TDM are done at the network's edge. No time relation is maintained inside of the ATM network. Instead the cell is only associated with a virtual circuit. Therefore, ATM shifts the semantic and time transparency to the boundary of the network. ATM is a cell-based switching and multiplexing technology designed to be a general purpose connection-oriented method of transporting information. It is designed to handle both connection-oriented and connectionless traffic, and support either constant bit rate or variable bit rate connections. Each cell contains addressing information associated with a virtual connection, and virtual connections can either be permanent (PVC) or switched (SVC). ATM is asynchronous because transmitted cells do not have to be periodic. ATM is view as a standard network architecture defining multiplexing and switching, with SONET and STM provided as the physical transport standard. ATM supports multiple qualities of service (QOS) classes for different application requirements on delay and loss. The vision is that a single network architecture can support voice, packet data, video, imaging and circuit emulation. ATM is designed to provide bandwidth on demand. ATM is designed as a hierarchy with local services connected to regional ATM providers who are in turn connected to national and international ATM providers. ATM is a connection- oriented service. A cell is not sent until a connection (channel) is established. ATM is fiber based and therefore provides a low bit error rate (BER) on the order of 10-12. The goal is also to provide support for low cost attachments connected to the ATM network. This leads to hierarchical principles. ATM is designed to work as a hierarchical network with user-network interface (UNI) and a network-network interface (NNI). It uses a 28 bit channel identifier which itself is hierarchical with a channel identifier and a path identifier. To gain access to a user both a path and channel identifier is used; when data is sent across a backbone only the path identifier is necessary. The BER is defined as that of the BER of fiber. This is done by assigning priorities to cells transmitted on the network. High priority cells are guaranteed the defined BER, at the expense of low priority cells if network traffic is excessive. In order to keep ATM attachments low cost, cell reordering is prohibited. This greatly simplifies buffering, and reduces the cost of hardware. Basics of Cell Networking In cell networks, all data should be transmitted in small, fixed-length packets, called cells. Data packets from other networks (ethernet) are broken up into smaller packets of data, a header is attached resulting in a cell. On the other end, the cells are reassembled into data packets native to the receivers network topology. ATM cells are 53 bytes, 48 bytes are data, 5 bytes are the header for the cell. The last cell of the stream representing the original data packet will normally not be filled. The small cell size minimizes waste. Serialization delay, the time it takes to put a cell onto the network, depends on the cell size. The smaller cell size allows for better delivery of real-time data. Large data packets which may delay time dependent data are broken up into cell length data, and the time-sensitive data will only be delayed the time period it takes to put a single cell onto the network. Cell size is dictated by the available bandwidth. The higher the bandwidth, the larger the cell size can be. Analog-to-digital conversion is also a factor. It is necessary to buffer converted signals until enough data is available to fill a cell. The larger the cell size the more delay in transmission. Forwarding delay is the time it takes to receive a packet and then begin sending the packet on. Store-and-forward receives the entire packet before it is sent on. Each device performing store-and-forward function adds delay. An alternative is to use cut through forwarding. Cut through forwarding starts to forward while still receiving the packet. This is faster but more difficult to implement. It only works when the next network link is free. It also requires very fast routing software. Cell networking, however, can be as fast as cut through if the cell size is appropriate. ATM Cell Format An ATM cell is made up of 53 bytes, 48 bytes are user data, the remaining 5 bytes are the header used by User-Network Interfaces (UNIs), Network-Network Interfaces (NNIs), and switches for routing purposes. The 48 byte user payload is formatted in the ATM Adaptation Layer (AAL). The size of the cell is a compromise between the data and voice camps who ultimately designed the formats. Cell Header Format There are two forms of the cell header, one for the UNIs and one for NNIs. For the NNI there is a 12-bit virtual path identifier (VPI) and a 16-bit virtual circuit identifier (VCI). The VPI and VCI provide two levels of addressing for routing. In general the VPI provides regional addressing whereas the VCI provides local addressing. The switch looks to see if the cell is a local cell or a long distance cell. If it is local both the VPI and VCI are used to determine the local routing. If it is a long distance cell it is sent to an identified long distance switch. The VPI and VCI are local identifiers only; they are unique on a hop-by-hop basis. Each time the cell passes through a switch the VPI and VCI may be regenerated for the next leg of the cells journey. Each switch changes the VPI and VCI for each local hop, or only changes the VPI if it is routing between backbone switches; in this case the VCI remains unchanged. This regeneration of identifiers eliminates the possibility of collisions. The Payload Type Field is used to distinguish between user traffic and operation and management (OAM) traffic. If the first bit is 0, the payload of the cell contains user data. The second bit (of user type) determines if congestion was encountered (0 for no congestion, 1 for encountered congestion). The third bit of the payload type when referring to user data is a signaling bit defined in AAL5, which if the bit is set, the end of a datagram is signified. The CLP bit or Cell Loss Priority bit defines the priority of the cell. If the bit is set to 1, the cell will be dropped before a cell with the CLP=0. This provides two levels of traffic priority which give protection against abusive users and allows users to sometimes send additional traffic. ATM guarantees levels of service. An end user will subscribe to some level of service with some agreed upon data rate. In order to encourage users to use the full data rate they have subscribed to, it is possible to allow users to exceed this data rate on occasion. Data that exceeds the agreed upon data rate will have the CLP bit set, therefore if any congestion occurs on the network, those cells will be dropped first. In addition the CLP protects the service provider from abusive users. If a user transmits data at rate exceeding the agreed upon rate, the network will assign priorities such that the rate of high priority cells is within the agreed upon data rate. The CRC is for the header only, not for the data. It is necessary to check the integrity of the header each time the cell passes through a switch since the header is replaced at each hop. The algorithm for the CRC is x8+x2+x+1 and can correct single bit errors in the header as well as being able to detect a large class of multiple bit errors. UNI Header Format The user-network interface header is slightly different from the network-network interface header. With the UNI header, part of the VPI is replaced with the Generic Flow Control (GFC). This field is used to negotiate with shared access networks about how to multiplex the shared network among cells of various ATM connections. Types of networks include DQDB networks. Currently this is set to all zeros since no definitions exist. In addition the ATM UNI is not fully defined. Problems still exist and the standards are still being defined specifically related to how ATM interfaces with the user device. ATM Layer Model The information flow in ATM is defined by B-ISDN Protocol Reference Model. There are three defined planes, the User Plane, Control Plane, and Management Plane. Each plane represents protocol layers associated with three types of traffic flows, user information, signaling information (used for call/connection control), and management information used for efficient operation of the ATM network. The User Plane has a hierarchical structure and is made up of the Physical Layer, ATM Layer, ATM Adaptation Layer and the Service Layer. The Physical Layer can be either unformatted (cell based) or formatted using SONET. The ATM Adaptation Layer (AAL) has two sublayers, Segmentation and Reassembly (SAR), and the Convergence Sublayer (CS). The SAR maps user information into 48-byte payloads of ATM cells before entry into the ATM network, then reassembles the payloads into user information after delivery. The CS provides adaptation functions to the Services Layer that are service-specific. ATM Physical Layer The physical layer is concerned with taking cells, converting them into bits and putting the bits on the wire. It provides for the transmission of cells over a medium connecting two ATM devices. Three levels exist within the physical layer, the regeneration section, digital section and the transmission path. The physical layer is also broken up into two sublayers, the Physical Medium Dependent (PMD) sublayer an the Transmission Convergence (TC) sublayer. Physical Medium Dependent Sublayer The PMD sublayer provides the actual clocking of the bit transmission over the medium. Three single-mode optical interfaces for the ATM UNI are defined. All are based on ATM-SONET transmission methods. These interfaces include: STS1 (51 Mbps), STS3c (155 Mbps), and STS12c (622 Mbps). In addition, several electrical interfaces are defined including: DS1 (1.544 Mbps), DS2 (6.312 Mbps), and DS3 (44.736 Mbps). Finally, the ATM Forum has defined physical layer interface rates to ease interoperability between existing data networks and ATM. These include: FDDI (100 Mbps, multimode fiber), and STP (155 Mbps, over UTP category 3 and category 5). Transmission Convergence Sublayer The TC sublayer converts between the bit stream on the physical medium and cells. It maps the cells into a TDM frame format (during transmission) and delineates cells in the receiving bit stream. It uses the Header Error Control (HEC) in the ATM header to correct and detect errors within the addressing of the ATM cell. The HEC is 1 byte and can correct single bit errors, or detect other types of errors. It is also used to detect the delineation of cells in the TDM frames. The transmission convergence sublayer also performs speed matching functions by introducing null cells into the bit stream when necessary. ATM Layer The ATM Layer is responsible for end-to-end sequence-preserving transfer of ATM cell streams. The ATM Layer is independent of the physical layer. It uses Virtual Channels (VCs)for unidirectional transport of ATM cells associated by a common unique identifier called the Virtual Channel Identifier or VCI. It also uses the Virtual Path (VP), a bundle of VCs, where the VP has itself a unique identifier, or VPI. The ATM layer performs the multiplexing and demultiplexing of cells of different connections onto a single cell stream. The cell header is extracted before the cell is delivered to the ATM Adaptation Layer (AAL) or is added after the cell is received from the AAL. The translation of the VCI might be required at switching nodes. Access flow control mechanism may be implemented on the user network interface. The main functions of the ATM Layer is: - cell construction - cell reception and header validation - cell relaying and forwarding, copying - cell multiplexing, demultiplexing - cell payload type discrimination - cell loss prioritization - support for Quality of Service (QOS) classes, and - connection assignment and removal. The key concepts within the ATM layer are the Virtual Paths and the Virtual Channels. The ATM layer is only concerned with the transmission path. The ATM device may be either an endpoint or a connecting point for the VP or the VC. The VPC or the VCC exists only between endpoints. The VP link or VC link can exist between endpoint and connecting point or between two connecting points. A VPC or VCC is an ordered list of VP or VC links. Virtual Channel Level The cell header contains the Virtual Channel Identifier (VCI). This identifies a single virtual channel on a particular virtual path. Switching is done based on the VP and the VCI. The VC link is a unidirectional flow of ATM cells with the same VCI between a VC connecting point and the VC end point or another VC connecting point. The Virtual Channel Connection (VCC) is a concatenation of VC links and defines the unidirectional flow of cells from one user to another user or a group of users. Virtual Path The virtual path (VP) is set up in a similar manner except that the virtual path contains virtual channels and at switches may change the virtual path, virtual channel or both, depending on the congestion of the switch. Switching at a VP connection point is based solely on the VPI, where the VCI is ignored since it only reflects the local destination of the cell. ATM Adaptation Layers (AALs) ATM sends data packaged into cells over a connection. The protocols for packaging data into cells are called the ATM Adaptation Layers or AALs. Each AAL defines how to package a specific type of data (voice, video, data, etc.) into cells. The AALs are needed for interoperability between diverse devices and applications and define how the data is formatted. Different AALs are used to optimize the packaging of different types of data. It is the AAL which links services provided by higher layers to the ATM level. Originally there were four classes of applications which the AALs are defined around. AAL1 - constant bit-rate applications (bounded delay) AAL2 - variable bit-rate applications (still needs bounded delay) AAL3 - connection-oriented data applications (supports historical connection-oriented apps.) AAL4 - connectionless data applications (datagram networking) AAL2 is currently undefined. Variable-rate time-dependent data is currently being developed, so there does appear to be a future use for this protocol. AAL3 and AAL4 were combined because both connection-oriented data and connectionless data can be treated as the same, so these two AALs are now one, or AAL3/4. Additionally a 5th AAL was added, AAL5, which is a redefinition of how to treat datagrams because it was believed that AAL3/4 was not an effective implementation. Each AAL is broken into two sub-layers, the SAR and the CS. The SAR or Segmentation and Reassembly sublayer is responsible for breaking data into cell length segments and then reassembling the cells into user data. The CS (Convergence sublayer) helps manage the flow of data to and from the SAR. Definition of the AALs AAL1 is used to support video and phone services. It would be used to replace leased line services currently in place. AAL1 specifies how TDM-type circuits can be emulated over ATM. Emulation exists for DS1 and DS3 services and is defined for others. AAL1 SAR One byte of the 48 bytes for the payload is used as a header. CSI - provided to the Convergence Sublayer for signaling purposes. Sequence Count - keeps track of the order of the received cells, checks for out of sequence cells. CRC field - this is a checksum which is calculated across the first four bits (Sequence Number fields). The sequence number is critical since the order of the cells must be maintained. Parity bit - Even parity is maintained across the AAL1 SAR. The AAL1 is very much like fractional T1. For video, blocks of 128 cells are used (an array of 128 cells by 47 bytes of data) where the last four cells of this block are used for error correction over the block of data. The data is carried in a block of 47 bytes by 124 cells. AAL3/4 AAL3/4 supports both connection-oriented and connectionless traffic. AAL3/4 SAR The SAR takes the packet from the Convergence layer and segments it into a series of cells for transmission and then reassembles the packet at the receiver. The AAL3/4 SAR requires 4 bytes, a 2-byte header and 2-byte trailer, out of the available 48 bytes. T - Type determines whether the cell is the beginning of the packet (BOM), a cell in the middle of the packet (COM), the last cell in the packet (EOM), or a single cell packet (SSM). Sequence Number - keeps track of the order of the received cells, checks for out of sequence cells, 4 bits long. MID - Multiplex Identification, 10 bits, used to determine how multiple packets are interwoven on the same ATM connection, if multiplexing is used. Length - the total number of bytes of data sent. CRC field - can correct a single bit in the cell. AAL3/4 Convergence Sublayer This sublayer define the format for all packets to be sent using the AAL3/4 SAR. The AAL3/4 requires that each cell be processed as it arrives. This requirement creates a great deal of overhead, especially if data is sent in large chunks. AAL5 was designed to reduce the amount of overhead for datagram type delivery. AAL5 AAL5 was designed to provide a more efficient AAL for data transmissions. It was designed to reduce the overhead, and is designed to emulate existing data interfaces like FDDI or Ethernet so that it is easier to port data from these types of networks to ATM and back again. Finally, it was designed to minimize the cost for devices for handling cells. AAL5 SAR The SAR for the AAL5 is just one bit located in the ATM header. Therefore all 48 bytes are available for user data. In the last cell in the sequence, the data is padded to 40 bytes, and then an 8-byte trailer is inserted. Each receiving device now only needs to look at the ATM header to see if the cell is the last cell in a sequence. If it is not, the cells are stored until the last cell is received. At that time the CRC is performed on the last cell to determine the integrity of the transmission. AAL5 Convergence Sublayer The last cell of the packet contains 8 bytes of convergence layer information. UU and CPI are not used. Length field - the number of bytes in the packet CRC - a 32 bit CRC over the entire convergence layer. This can detect lost or misordered cells. User, Control and Management Planes The User Plane is made up of the Physical Layer, ATM Layer, ATM Adaptation Layer and the Service Layers. The AALs and higher layers provide meaningful interfaces and services to the end user applications such as frame relay, SMDS, IP and other protocols. They also provide service to APIs. These services represent the User Plane. Applications supported by the user plane protocols include video, multicast LAN support, LAN emulation as well as others. The Control and Management planes are primarily used to support services provided by the User Plane. The Control Plane performs functions needed in the creation of Switched Virtual Connections (SVCs) and Private Virtual Connections (PVCs). The Management Plane is used for overall plane management, management of each of the User and Control plane components. In addition to the User, Control and Management Planes, there is Layer Management which is responsible for monitoring the User and Control Planes for faults, and can generate alarms and take corrective action when problems arise. Also the Layer Management monitors compliance with the performance stated in the traffic contract with end user devices. Switching ATM switches have several characteristics defining their operation: - The architecture (blocking or non-blocking), - the switching fabric, and - the buffering method. There are two main categories of switches, internally blocking and internally non-blocking. Internally non-blocking switching is where two or more packets at different input ports can be simultaneously forwarded to the requested output port provided that they have distinct output port addresses. An internally blocking switch cannot do this due to contentions within the switching fabric, for example when more than one packet has to access the same internal link. If a switch is non-blocking then an input port can be connected to any unoccupied output port up to the point where all input ports are occupied. If this is the case then the switch is considered strictly non-blocking. If blocking exists, then the result is that cell loss occurs. In an ATM switch arriving virtual connection traffic is uniformly and randomly distributed across output ports, therefore up to a certain input load a very low cell loss ratio occurs. If this is the case the switch is considered non-blocking. Switch architectures or switching fabrics are characterized by their complexity, maximum overall speed, scalability, ease of support of multicast transmission, and blocking level. Switch buffering also plays a key role in blocking (cell loss) performance. Switch fabrics built with internal queuing (buffering) have the potential to scale to large sizes. One of the lingering difficulties surrounding ATM is trying to build fast packet switches which are able to match the high speeds of input links as well as the high performance requirement guarantees. ATM needs high speed hardware switches. However, due to the use of statistical multiplexing, buffering is also required in order to avoid packet loss whenever multiple input packets arrive simultaneously on different input ports and are destined for the same output port. Only one packet at time can be transmitted over an output link, so the rest must be stored in a buffer. The proper placement of the buffering system has a dramatic impact on switch performance. [Garcia-Haro, 1994]. Assume that the switch is only non-blocking, that it has dedicated buffers and that it performs a first-in, first-out (FIFO) operation. The switch operates at the same speed as the input/output lines, and therefore it is not required to speed up the internal operations of the switch, and therefore the hardware complexity of the switching fabric is lower. The problem arises when one cell must wait to be processed. When this happens, all successive cells must also wait. Therefore the throughput is reduced if output contention arises. One solution is that for each output an output buffer exists such that it can receive up to N cells where N is the size of the switch. However what this means is that the switch must operate N times faster than the input/output speed of the network. Another solution to this problem is to implement output buffering but to use shared memory. In shared-memory type of switches without blocking, all input/output ports have access to the shared-memory module which is able to write up to N incoming cells and to read N outgoing cells in a single switching time cycle. Therefore a smaller number of buffers are needed and the throughput/delay is optimized. This type of switch is also easily modified to handle several service classes. The best shared-memory switch is a single-stage common-memory switch. This type of switch provides the lowest delay, and the highest link utilization. The goal is to build a single-stage switch with the maximum achievable size. Shared-memory switches are also attractive because they can use existing VLSI chips and therefore would be less expensive than other methods. Problems which still must be addressed are what method of switch design should be implemented, the need for selecting an optimum fabric structure for point-to-point as well as multicast connections, what growability limits exist and the development of appropriate control methods. These issues are still being worked on. Control Issues Control issues may be more complicated and costly for ATM switches compared to current telephone circuit switches [Chen, 1994]. The switching fabric provides the essential routing and buffering functions. ATM switching systems will also require management and control functions necessary for the efficient operation of the network. The main problems are associated with operational details. The control of multiple type of traffic with different service requirements, standards on operation and management (OAM) and traffic control principles have not yet been finalized. These problems mean increased cost for implementing systems. The process and control must be exercised on the levels of individual ATM cells as well as virtual connections. Also, various types of traffic (voice, data, video) with different quality of service (QOS) requirements will be mixed within the network. In addition, because of the high speeds of the network, even brief losses or degradation of service may result in serious losses of user information. Outstanding Issues Surrounding ATM There are many issues which remain unresolved with ATM. Some of these have become apparent in the previous discussion. Others include: - agreement on standards, - final definitions for as of yet unimplemented yet promised features, - support for interoperability with existing technologies, - support for existing protocols and applications, and - native applications which can take full advantage of ATM. It is currently possible to buy ATM of the shelf, however the closer one looks at the details, the clearer it becomes that ATM is not ready to provide the services it was intended to offer. There is however overwhelming support and impetus behind ATM, therefore one would believe that these outstanding issues will be addressed, and ATM, if not providing all the services it says it will provide, then at the very least it will be a valuable part of networking in the not too distant future. 3.0 Northwestern University and ATM At this point it may be useful to look at Northwestern's network and try to see if ATM will or should play a role in the future. Northwestern's Current Network Infrastructure NUNet currently is based on two network technologies. The campus backbone is FDDI and the local connections, connections to users' workstations is via Ethernet. Therefore workstations normally access a shared 10Mbps access locally, and the campus (or segments of the campus since multiple rings are deployed) shares a 100Mbps backbone. The supported protocols are TCP/IP, AppleTalk and IPX to support the existing communities of UNIX workstations, Macintoshes and IBM compatibles supported by Novell's NetWare for local file sharing. The primary applications and files used at the university are either local on an individual's workstation or accessed from a local file server. IPX and AppleTalk services are available campus-wide, and TCP/IP provides access to both campus and world-wide network services. Currently the applications which are in wide-spread use are easily supported by the existing network infrastructure. The only weak link on campus is the intercampus connection between Evanston and Chicago which currently is a T1 line. However this will be replaced by a 155Mbps SONET connection within several months. Finally, NUNet, even though currently based on FDDI, was designed so that future technologies (and ATM was at the time the clear direction for future network design) could easily be implemented if at some point there was a need to improve the existing infrastructure. To that end, fiber is deployed to every building running in a star-like fashion from central routers which are themselves designed to support emerging technologies, specifically ATM. Therefore, even though there is no apparent need for ATM at this point, and even though ATM is as of yet not standardized, and not truly implemented even today, Northwestern's expanded network design of two years ago was designed to allow for an easy migration from the currently implemented FDDI backbone to an ATM environment. Future Computing Needs at NU Applications, the speed of the CPU, disk capacity and the speed at which data can be read from and written to disk, as well as network protocols all affect the speed of the overall system. A high speed environment includes processing, storing, displaying, and moving data all at speeds in excess of 1 GB/s. Currently these types of speeds are obtainable from the key components of the system. Fast technologies include: CPUs which currently can process gigabits of data RAID (Redundant Arrays of Inexpensive Disks) disk arrays which can support disk I/O at gigabit speeds Graphic systems can display gigabits of data per second (1024x1024x32 bit displays just over a gigabit per second) Unfortunately these systems rely on existing technologies which currently do not support such high speeds. Memory, disk I/O from single disks and computer buses still are bottlenecks. In addition, even though the speed of an application relies on CPU power, applications still are unable to deal with data at such high speeds. It is the applications which dictate what technologies will be needed. Even though everyone has been waiting for multimedia, full-motion video, large scale imaging systems to flood the networks, as of yet the applications still are unable to provide the services network engineers have been fearing. Basic Assumptions Clearly, even though all the parts which make up a high speed networked environment are not quite ready, it would be short-sighted not to think that at some point, and chances are that point is no more than one to two years away, the promised applications and hardware necessary to support and provide bandwidth-intensive data will exist. Therefore we can make some general assumptions about the needs of the future. First, applications which support the distribution of multimedia, video, and high resolution images will exist. In addition to this, these services will be desired in a multicast environment. Other applications which clearly are desired include collaborative computing applications (groupware), videoconferencing, and distributed data access. It is ultimately the goal to have data accessible (and that data could be in any form) on demand from any location. By looking at these types of services, providing access to information, it may be possible to define what type of infrastructure may be needed. The information described above can be characterized as either data of fixed size that must be transferred from on point to another, or as a stream of data defined by a certain data rate or bandwidth. A network which supported 10Mbps transfer rates can only provide real-time access (if no contention existed) for a single session. A 100Mbps network could provide near real-time delivery of data in the range of still images (10-100Mb files) again without contention. If real- time data is desired, the existing networking infrastructure could support very few concurrent sessions. If video were to be multicast, assuming 10Mbps was needed to support a single session, only a handful of concurrent sessions could be supported even with the existing backbone speeds. It is clear that if and when applications supporting the distribution of video, the existing infrastructure would be unable to support large scale use of such applications. It is also clear that ATM is designed to support these types of services and will be needed in such an environment. The User Community The last part of this is to look at the needs and abilities of the user community and the support available to that community. Even though computers are everywhere, not everyone is using computers, and a large majority of those using computers are not sophisticated users. The network at Northwestern has just now been brought to everyone who wants (or perhaps can afford) access to it. A large number of those users who are now just beginning to use the network use only basic applications. Although there are desires for more sophisticated applications which provide a multitude of services to the end-user, these applications require the end-user to be more sophisticated as well. The faster technologies race ahead, the greater the gap will be between these technologies and the average end-user. Therefore, the community which is able to take advantage of advanced applications will be a small minority at least initially and therefore it may not be necessary to provide 155Mbps services to every end-user, but only to a few over the next several years. Conclusions ATM has a great deal of support and if it is not reality now, it will be in the near future. Even though many details need to be addressed for it to be able to offer the full services it promises, limited implementations exist not just as test cases, but in production environments. It will however be several years before the general public has access to this type of high speed service. At Northwestern the existing network infrastructure is capable of supporting the general-user's needs within the university for several years. Specialized needs for higher bandwidth will inevitably arise sooner than that, and it will be useful to attempt to implement small scale ATM networks if not to support existing needs then at the very least to better understand the technology. Northwestern's existing network is designed so that when it is needed the transition to ATM will be a relatively easy migration from existing technologies. When it is time to make that transition, the university will be ready to do so. 4.0 References Biagioni, E., Cooper, E., Sansom, R., "Designing a Practical ATM LAN," IEEE Network, March 1993, pp. 32-39. De Prycker, M., Asynchronous Transfer Mode: Solution for Broadband ISDN, Second Edition, 1993. De Prycker, M., Peschi, R., Van Landegem, T., "B-ISDN and the OSI Protocol Reference Model," IEEE Network, March 1993, pp. 10-18. Garcia-Haro, J., Jajszczyk, A., "ATM Shared-Memory Switching Architectures," IEEE Network, July/August 1994, pp. 18-26. Leslie, I., McAuley, D., Tennenhouse, D., "ATM Everywhere?" IEEE Network, March 1993, pp. 40-46. Lyles, J., Swinehart, D., "The Emerging Gigabit Environment and the Role of Local ATM," IEEE Communications Magazine, April 1992, pp. 52-58. McDysan, D., Spohn, D., ATM, Theory and Application, 1995. Newman, P., "ATM Technology for Corporate Networks," IEEE Communications Magazine, April 1992, pp. 90-101. Partridge, C., Gigabit Networking, 1994. Page