10467e819fe45946fcaae8ff9e3705d6.ppt
- Количество слайдов: 77
3. 3 Cell Switching (ATM) o Asynchronous Transfer Mode (ATM) n connection-oriented packet-switched network n used in both WAN and LAN settings n Q. 2931: signaling (connection setup) protocol o discover a suitable route across an ATM network o allocate resources at the switches along the circuit (to ensure the circuit a particular quality of service)
o Cells n packets are called cells (fixed length) o 53 -byte cell = 5 -byte header + 48 -byte payload n commonly transmitted over SONET o other physical layers possible
o Variable vs. fixed-length packets n no optimal packet length o if small: high header-to-data overhead o if large: low utilization for small messages n variable-length packets o lower bound n minimum amount of information that needs to be contained in the packet n typically a header with no optional extensions
o upper bound (set by a variety of factors) n the maximum FDDI packet size, for example, determines how long each station is allowed to transmit without passing on the token, and thus determines how long a station might have to wait for the token to reach it
n fixed-length packets o it is easier to build hardware to do simple jobs, and the job of processing packets is simpler when you already know how long each one will be o if all packets are the same length, then each switching element takes the same time to do its job n packet vs. cell o most packet-switching technologies use variable-length packets o cells are fixed in length and small in size
Big vs. Small Packets o Small improves queue behavior n cell: finer control over the behavior of queues n examples o cell n cell length = 53 bytes n link speed = 100 Mbps n the longest wait ≈ 53 × 8/100 = 4. 24μs [exactly 4. 04μs] for ATM
o variable-length packets n maximum packet length = 4 KB n link speed = 100 Mbps n transmission time ≈ 4096 × 8/100 = 327. 68μs [exactly 312. 5μs] n a high priority packet that arrives just after the switch starts to transmit a 4 KB packet will have to sit in the queue 327. 68μs waiting for access to the link
n cell: shorter queue length than that of packets o when a packet begins to arrive in an empty queue, the switch have to wait for the whole packet to arrive before it can start transmitting the packs on an outgoing link o it means that the link sits idle while the packet arrives o if you imagine a large packet being replaced by a “train” of small cells, then as soon as the first cell in the train has entered the queue, the switch can transmit it
n example o variable-length packets n if two 4 -KB packets arrived in a queue at about the same time n the link would sit idle for 327. 68μs while these two packets arrive n at the end of that period we would have 8 KB in the queue
o Cell n if those same two packets were sent as trains of cells, then transmission of the cells could start 4. 24μs after the first train started to arrive n at the end of 327. 68μs, the link would have been active for a little over 323μs (≈ 327. 68μs – 4. 24μs) n there would be just over 4 KB of data left in the queue, not 8 KB as before n shorter queues mean less delay for all the traffic
o Small improves latency (for voice) n voice digitally encoded at 64 Kbps (8 -bit samples at 8 KHz) n need full cell’s worth of voice samples before transmitting a cell n a sampling rate of 8 KHz means that 1 byte is sampled every 125μs (= (1/8000) * 103), so the time it takes to fill an n-byte cell with samples is n × 125μs n a 1000 -byte cells implies 125 ms to collect a full cell of samples before you even start to transmit it to the receiver
Cell Format o Two different cell formats n User-Network Interface (UNI) format o host-to-switch format o interface between a telephone company and one of its customers n Network-Network Interface (NNI) format o switch-to-switch format o interface between a pair of telephone companies
ATM cell format at the UNI
o User-Network Interface (UNI) n GFC (4 bits): Generic Flow Control(not wildly used) o Provide a means to arbitrate access to the link if the local site used some shared medium to connect to ATM n VPI (8 bits): Virtual Path Identifier n VCI (16 bits): Virtual Circuit Identifier o For now, we can think of them as a single 24 -bite identifier that is used to identify a virtual conncection n Type (3 bits): management, user data n CLP (1 bit): Cell Loss Priority o A user or network element may set this bit to indicate cells that should be dropped preferentially in the event of overload
o User-Network Interface (UNI) n …. n HEC (8 bits): Header Error Check (CRC-8) o Protecting the cell header is particularly important because an error in the VCI will cause the cell to be misdelivered o Network-Network Interface (NNI) n GFC becomes part of VPI field (no GFC and becomes 12 -bit VPI)
ATM Headers
Architecture of an ATM network
Segmentation and Reassembly o Segmentation and Reassembly (SAR) n in ATM, the packets handed down from above are often larger than 48 bytes, and thus, will not fit in the payload of an ATM cell n solution o fragment the high-level message into low-level packets at the source o transmit the individual low-level packets over the network o reassemble the fragments back together at the destination
o Segmentation is not unique to ATM o But it is much more of a problem than in a network with a maximum packet size of, say, 1, 500 bytes o To address the issue, ATM Adaptation Layer was added
o ATM Adaptation Layer (AAL) n a protocol layer sits between ATM and the variablelength packet protocols that might use ATM, such as IP n the AAL header simply contains the information needed by the destination to reassemble the individual cells back into the origins message
AAL ■■■ ATM Segmentation and reassembly in ATM
o Because ATM was designed to support all sorts of services, including voice, video, and data, it was felt that different services would have different AAL needs
o ATM Adaptation Layer (AAL) n AAL 1 and 2 designed for applications that need guaranteed bit rate (e. g. , voice, video) n AAL 3/4 designed for packet data o AAL 3 used by connection-oriented packet services (such as X 25) o AAL 4 used by connectionless services (such as IP) n AAL 5 is an alternative standard for packet data o AAL 3 and AAL 4 are merged into one known as AAL ¾, so there are now four AALs
ATM Layers
ATM Layers in Endpoint Devices and Switches
AAL 3/4 o AAL 3/4 n provide enough information to allow variable-length packets to be transported across ATM network as a series of fixedlength cells n AAL supports the segmentation and reassembly process n the task of segmentation / reassembly involves two different packet formats o Convergence Sublayer Protocol Data Unit (CS-PDU) [AAL 3/4 packet format] o ATM cell format for AAL 3/4
8 8 16 CPI Btag BASize < 64 KB User data 0─24 8 8 16 Pad 0 Etag Len o Convergence Sublayer Protocol Data Unit (CS-PDU) n PDU (Protocol Data Unit), a new name for packet n CS-PDU defines a way of encapsulating variable-length PDUs prior to segmenting them into cells n the PDU passed down to the AAL layer is encapsulated by adding a header and a trailer [CS-PDU header and a trailer], and the resultant CS-PDU is segmented into ATM cells
PDU encapsulate (header & trailer) AAL 3/4 packet segment (CS-PDU) Encapsulation and segmentation ATM cell
8 8 16 CPI Btag BASize < 64 KB User data 0─24 8 8 16 Pad 0 Etag Len o CS-PDU format n CPI (8 bits): Common Part Indicator (version field) o Only the value 0 is currently defined n Btag/Etag (8 bits): Beginning and Ending tag n BASize (Buffer Allocation) (8 bits): a hint to the reassembly process as to how much buffer space to allocate for the reassembly n Pad: make sure the data is one byte less than a multiple of 4 bytes n 0 -filled byte ensures the trailer is 32 bite n Len (16 bits): length of the PDU
8 8 16 CPI Btag BASize < 64 KB User data 0─24 8 8 16 Pad 0 Etag Len ATM Adaptation Layer 3/4 packet format
o In addition to CS-PDU header and trailer, AAL 3/4 specifies a AAL 3/4 header and trailer [AAL 3/4 header and trailer] o The CS-PDU is segmented into 44 -byte chunks, an AAL 3/4 header and trailer is attracted to each one, bringing it up to 48 bytes, which is then carried as the payload of an ATM cell
o ATM Cell Format (AAL 3/4) n Type (2 bits) n SEQ (4 bits) o sequence number o detect cell loss or misordering n MID (10 bits) AAL 3/4 Type field o multiplexing identifier o multiplex several PDUs onto a single connection n Payload (352 bits; 44 bytes) o the segmented CS-PDU chunk
n Length (6 bits) o number of bytes of PDU contained in this cell o it must be 44 for BOM and COM cells n CRC-10 o error detection anywhere in the 48 -byte cell payload
5 bytes ATM header 2 bytes AAL 3/4 header 44 bytes 2 bytes 44 -byte chunk AAL 3/4 trailer 5 bytes 48 bytes ATM header Payload ATM cell format for AAL 3/4
o Encapsulation and segmentation for AAL 3/4 n the user data is encapsulated with the CS-PDU header and trailer n the CS-PDU is then segmented into 44 -bye payloads, which are encapsulated as ATM cells by adding the AAL 3/4 header and trailer as well as the 5 -byte ATM header n the last cell is only partially filled whenever the CSPDU is not an exact multiple of 44 bytes
Encapsulation and segmentation for AAL 3/4
o With 44 bytes of data to 9 bytes of header, the best possible bandwidth utilization would be 83%
o AAL 5 PDU encapsulate AAL 5 packet (CS-PDU) segment ATM cell
< 64 KB 0─ 47 bytes 16 16 32 Pad Reserved Len CRC-32 Data o CS-PDU Format n Data portion n trailer (8 -byte) o 2 -byte Reserved + 2 -byte Len + 4 -byte CRC-32 n Pad (up to 47 bytes) o so trailer always falls at end of ATM cell n Length o size of PDU (data only) n CRC-32 (detects missing or misordered cells)
< 64 KB Data 0─ 47 bytes 16 16 32 Pad Reserved Len CRC-32 ATM Adaptation Layer 5 packet format
o Encapsulation and segmentation for AAL 5 n user data is encapsulated to form a CS-PDU n the resulting PDU is then cut up into 48 -byte chunks, which are carried directly inside the payload of ATM cells without any further encapsulation
Encapsulation and segmentation for AAL 5
3. 3. 3 Virtual Path o ATM uses a 24 -bit identifier for vircuit circuits n 8 -bit virtual path identifier (VPI) n 16 -bit virtual circuit identifier (VCI)
o Example n a corporation has two sites that connect to a public ATM network, and that at each site the corporation has a network of ATM switches n we could establish a virtual path between two sites using only the VPI field n within the corporate sites, however, the full 24 -bit space is used for switching
Example of a virtual path
o Advantage of virtual path n although there may be thousands or millions of virtual connections across the public network, the switches in the public network behave as if there is only one connection n there needs to be much less connection-state information stored in the switches, avoiding the need for big, expensive tables of per-VCI information
TP、VPs、and VCs
Example of VPs and VCs
Connection Identifiers
Virtual Connection Identifiers in UNIs and NNIs
ATM Cell
Routing with a Switch
3. 3. 4 Physical Layers for ATM o In the ATM standard, it is assumed that ATM would run on top of a SONET physical layer n many ATM-over-SONET products o Actually, these two are entirely separable, e. g. , n lease a SONET link from a phone company and send whatever you want over it, including variablelength packets n send ATM cells over many other physical layers instead of SONET, e. g. , over Digital Subscriber Line (DSL) links of various types
3. 4 Implementation and Performance o A very simple way to build a switch n buy a general-purpose workstation and equip it with a number of network interfaces n run suitable software to receive packets on one of its interfaces n perform any of the switching functions n send packets out another of its interfaces
A workstation used as packet switch
o The figure shows a workstation with three network interfaces used as a switch n a path that a packet might take from the time it arrives on interface 1 until it is output on interface 2
n we assume DMA (Direct Memory Access) o the workstation has a mechanism to move data directly from an interface to its main memory, i. e. , direct memory access (DMA) n once the packet is in memory, the CPU examines its header to determine on which interface the packet should be out o it then uses DMA to move the packet out to the appropriate interface o the packet does not go to the CPU because the CPU inspects only the header of the packet
o Main problem with using a workstation as a switch n its performance is limited by the fact that all packets must pass through a single point of contention n in the example shown, each packet crosses the I/O bus twice and is written to and read from main memory once n the upper bound on aggregate throughput of such a device is, thus, either half the main memory bandwidth or half the I/O bus bandwidth, whichever is less (usually it’s the I/O bus bandwidth)
n example o a workstation with a 133 -MHZ, 64 -bit wide I/O bus can transmit data at a peak rate of a little over 8 Gbps (= 133 × 220 × 64) o since forwarding a packet involves crossing the bus twice, the actual limit is 4 Gbps n this upper bound also assumes that moving data is the only problem o a fair approximation for long packets o a bad one when packets are short n the cost of processing each packet- (1) parsing its header and (2) deciding which output link to transmit it on-is likely to dominate
n example, a workstation can perform all the necessary processing to switch 1 million packets each second (packet per second (pps) rate) n if the average packet is short, say, 64 bytes § throughput = pps × (bits per packet) = 1 × 106 × 64 × 8 (bits per second) = 512 × 106 (bits per second) n this 512 Mbps would be shared by all users connected to the switch n example, a 10 -port switch with this aggregate throughput would only be able to cope with an average data rate of 51. 2 Mbps on each port
Control processor Switch fabric o To address this problem Input port Output port n a large array of switch designs that reduce the amount of contention and provide high aggregate throughput n some contention is unavoidable o if every input has data to send to a single output, then they cannot all send it at once o if data destined for different outputs is arriving at different inputs, a well-designed switch will be able to move data from inputs to outputs in parallel, thus increasing the aggregate throughput
3. 4. 1 Ports Control processor Switch fabric Input Output port A 4 × 4 switch
Control processor Switch fabric o The 4 × 4 switch in the figure consists of Input port Output port n ports (input ports and output ports) o communicate with the outside world o contain fiber-optic receivers and buffers to hold packets that are waiting to be switched or transmitted, and often a significant amount of other circuitry that enables the switch to function n switch fabric o when presented with a packet, deliver it to the right output port n control processor (at least one) o in charge of the whole switch
o Input port n the first place to look for performance bottlenecks n has to receive a steady stream of packets, analyze information in the header of each one to determine which output port (or ports) the packet must be sent and pass the packet on to the fabric o Another key function of ports: buffering n it can happen in either the input or the output port n it can also happen within the fabric (sometimes called internal buffering)
n simple input buffering has some serious limitations o example, an input buffer implemented as a FIFO o as packets arrive at the switch, they are placed in the input buffer o the switch then tries to forward the packets at the front of each FIFO to their appropriate output port o if the packets at the front of several different input ports are destined for the same output port at the same time, then only one of them can be forwarded; the rest must stay in their input buffers
Simple illustration of head-of-line blocking
o drawback (head-of-line blocking) n occurs at input buffering n those packets left at the front of the input buffer prevent other packets further back in the buffer from getting a chance to go to their chosen outputs n buffering o wherever contention is possible n input port (contend for fabric) n internal (contend for output port) n output port (contend for link)
3. 4. 2 Fabrics o Should be able to move packets from input ports to output ports with minimal delay and in a way that meets the throughput goals of the switch n Means fabrics display some degree of parallelism o Parallelism n a high-performance fabric with n ports can often move one packet from each of its n ports to one of the output ports at the same time
o Types of fabric n n shared bus shared memory crossbar self-routing
o Shared bus n found in a conventional workstation used as a switch n the bus bandwidth determines the throughput of the switch, high-performance switches usually have specially designed busses rather than the standard busses found in PCs o Shared memory n packets are written into a memory location by an input port and then read from memory by the output ports n the memory bandwidth determines switch throughput, so wide and fast memory is typically used in this sort of design n it usually uses a specially designed, high-speed memory bus
o Crossbar n a matrix of pathways that can be configured to connect any input port to any output port n in their simplest form, they require each output port to be able to accept packets from all inputs at once o Main problem: each port would have a memory bandwidth equal to the total switch throughput
A 4 × 4 crossbar switches
000 001 010 011 o Self-routing n rely on some information in the packet header to direct each packet to its correct output n usually a special “self-routing header” is appended to the packet by the input port after it has determined which output the packets needs to go to n this extra header is removed before the packet leaves the switch n self-routing fabrics are often built from large numbers of very simple 2× 2 switching elements interconnected in regular patterns (i. e. , banyan switching fabric) 100 101 110 111
A self-routing header is applied to a packet at input to enable the fabric to send the packet to the correct output, where it is removed: (a) packet arrives at input port; (b) input port attaches selfrouting header to direct packet to correct output (c) self-routing header is removed at output port before packet leaves switch
o Banyan Network n constructed from simple 2 x 2 switching elements n self-routing header attached to each packet n elements arranged to route based on this header o look at 1 bit in each self-routing header o route packets toward the upper output if it is zero or toward the lower output if it is one 000 001 010 011 100 101 110 111
n if two packets arrive at the same time and both have the bit set to the same value, then they want to be routed to the same output and a collision will occur n the banyan network routes all packets to the correct output without collisions if the packets are presented in ascending order
000 001 010 011 100 101 110 111 Routing packets through a banyan network. The 3 -bit numbers represent values in the self-routing headers of four arriving packets.


