NET0183 Networks and Communications Lectures 1 and 2 THE ALOHA SYSTEM Aloha in the Hawaiian language means affection, love, peace, compassion and mercy http://en.wikipedia.org/wiki/Aloha 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 1 Historical Case Study http://portal.acm.org/citation.cfm?id=1478462.1478502 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 2 1968 • In September 1968 the University of Hawaii initiated research into the use of radio communications to support computer-computer and console-computer links. • At that time, the University of Hawaii was composed of a main campus in Manoa Valley near Honolulu, a four-year college in Hilo, Hawaii, and five two-year community colleges on the islands of Oahu, Kauai, Maui, and Hawaii. – ..plus various research institutes operating within a 200 mile radius of Honolulu. 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 3 http://www.lonelyplanet.com/maps/north-america/usa/hawaii/ 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 4 http://www.williams.edu/astronomy/Course-Pages/111/Images/ems.jpg 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 5 http://www.randomthink.net/pictures/emwave.gif The speed of light (usually denoted c) is a physical constant. Its value is exactly 299,792,458 metres per second,[1][2] often approximated as 300,000 kilometres per second or 186,000 miles per second. c=fλ http://en.wikipedia.org/wiki/Speed_of_light f frequency 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks λ wavelength 6 IBM 360/65 • The computing centre on the main campus operated an IBM 360/65 with 750 Kbytes of core memory. • A time sharing system UHTSS/2, written in XPL, was developed as a joint project of the University Computer Centre and THE ALOHA SYSTEM under the direction of W. W. Peterson. – University computing centres typically wrote their own time sharing systems (early operating systems) during the early days of computing. 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 7 Goal/Markmið • “The goal of THE ALOHA SYSTEM is to provide another alternative for the system designer and to determine those situations where radio communications are preferable to conventional wire communications.” – Conventional wire communications provided dial-up telephone services. It was possible to lease dedicated lines, but this was usually an expensive option. – In many parts of the world (~1970), a reliable, high quality, wire communication network was not available. 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 8 Differences between data communication and voice signals. • The telephone system was designed for voice signals where two parties hold a more or less continuous conversation. • In contrast, “Data transmitted in a time-shared computer system comes in a sequence of bursts with extremely long periods of silence between the bursts.” • Using a leased line to connect an alphanumeric console to a computer could mean that the communication system was operated at less than 1 percent of its capacity. – Multiplexing can alleviate this problem. multiplexing/fléttun 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 9 http://www.columbia.edu/acis/history/teletype.jpg 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 10 http://foldoc.org/ multiplexing 1. <communications> (Or "multiple access") Combining several signals for transmission on some shared medium (e.g. a telephone wire). The signals are combined at the transmitter by a multiplexor (a "mux") and split up at the receiver by a demultiplexor. The communications channel may be shared between the independent signals in one of several different ways: time division multiplexing, frequency division multiplexing, or code division multiplexing. If the inputs take turns to use the output channel (time division multiplexing) then the output bandwidth need be no greater than the maximum bandwidth of any input. If many inputs may be active simultaneously then the output bandwidth must be at least as great as the total bandwidth of all simultaneously active inputs. In this case the multiplexor is also known as a concentrator. (1995-03-02) 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 11 Differences between data communication and voice signals. • “Statistical analyses of existing systems indicate that the average amount of data transmitted from the central system to the user may be as much as an order of magnitude greater than the amount transmitted from the user to the central system.” – This represented an additional factor in the inefficient use of a wire communication channel. • Addressing the asymmetry by providing different capacity wire channels was not deemed possible. 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 12 reliability/áreiðanleiki Differences between data communication and voice signals. • Using a dial-up channel, errors in binary data were caused by random and burst noise. • Dial-up channels suffered from connection problems e.g. busy signals, wrong numbers, and disconnects. – Andy comments: I remember suffering all these problems. • “... there is little doubt that in many locations the reliability of wire communications is well below that of the remainder of the computer-communication system.” • Wire communications were usually obtained from the telephone companies and so were not under the direct control of the system designer. – Andy comments: Today´s system designers do not have direct control of the Internet either. 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 13 MENEHUNE is a legendary Hawaiian elf. Figure 1. THE ALOHA SYSTEM • The MENEHUNE is a small interface computer. “Much of the design of this multiplexor is based on the design of the Interface Message Processors (IMP´s) used in the ARPA computer net.” • The HP 2115A had a 16-bit word size, a cycle time of 2 microseconds and an 8K-word core storage capacity. 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 14 THE ALOHA SYSTEM • Two 100 KHz channels at 407.350 MHz and 413.475 MHz were assigned to ALOHA. – Operating at a rate of 24,000 baud. • One of the channels was dedicated to data from the MENEHUNE to the remote consoles. – Outgoing messages were queued and prioritised (to any given scheme) before being transmitted sequentially by the MENEHUNE. • The other channel was dedicated to data from the remote consoles to the MENEHUE. – “Message from the remote consoles to the MENEHUNE however are not capable of being multiplexed in such a direct manner.” 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 15 Why no frequency multiplexing? • A different radio frequency could have been used for each of the remote consoles. • However, this would have considerably increased the costs of the remote consoles and the receiving station. • Also, when a remote console was not transmitting, its frequency channel would be unused, meaning inefficiency at the receiving station. • Also, the ALOHA project team expected to have many remote consoles and they wanted to minimize the complexity of the communications equipment at each console. 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 16 http://foldoc.org/ baud <communications, unit> /bawd/ (plural "baud") The unit in which the information carrying capacity or "signalling rate" of a communication channel is measured. One baud is one symbol (state-transition or level-transition) per second. This coincides with bits per second only for two-level modulation with no framing or stop bits. The term "baud" was originally a unit of telegraph signalling speed, set at one Morse code dot per second. It was proposed at the International Telegraph Conference of 1927, and named after J.M.E. Baudot (1845-1903), the French engineer who constructed the first successful teleprinter. Where data is transmitted as packets, e.g. characters, the actual "data rate" of a channel is R D / P where R is the "raw" rate in bits per second, D is the number of data bits in a packet and P is the total number of bits in a packet (including packet overhead). The term "baud" causes much confusion and is usually best avoided. Use "bits per second" (bps), "bytes per second" or "characters per second" (cps) if that's what you mean. (1998-02-14) 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 17 THE ALOHA SYSTEM • Information was transmitted in “packets”. • Packets had a fixed-length of 80 8-bit characters plus 32 identification and control bits and 32 parity bits. – 704 bits – At 24,000 baud, each packet transmission lasted for 29 milliseconds. • The parity bits were used for a “cyclic error detecting code”. – “The possibility of using the same code for error correction at the MENEHUNE will be considered for a later version of the ALOHA system.” • Andy comments: Should computers automatically correct errors in data transmissions? 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 18 http://foldoc.org/ parity <storage, communications> An extra bit added to a byte or word to reveal errors in storage (in RAM or disk) or transmission. Even (odd) parity means that the parity bit is set so that there are an even (odd) number of one bits in the word, including the parity bit. A single parity bit can only reveal single bit errors since if an even number of bits are wrong then the parity bit will not change. Moreover, it is not possible to tell which bit is wrong, as it is with more sophisticated error detection and correction systems. See also longitudinal parity, checksum, cyclic redundancy check. 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 19 THE ALOHA SYSTEM • Consoles transmitted packets to the MENEHUNE over the same channel in a “completely unsynchronised manner”. • If a packet was received without error it was acknowledged by the MENEHUNE. • The transmitting console waited a certain amount of time for an acknowledgement. If no acknowledgement was received, the packet was retransmitted. – The process repeated until a succesful transmission took place. 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 20 Two different types of errors • A transmitted packet could be received incorrectly because of random noise. – “The first type of error is not expected to be a serious problem.” • A transmitted packet could be received incorrectly because of interference with a packet transmitted by another console. – “The second type of error... will be of importance only when a large number of users are trying to use the channel at the same time.” 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 21 Figure 2. Packets being transmitted by k active consoles in the ALOHA random access communication system. 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 22 Figure 2. • T (tau) is the duration of a packet – about 34 milliseconds. – 29 milliseconds for transmission of 704 bits. – plus 5 milliseconds for “receiver synchronization” • “For analysis purposes we make the pessimistic assumption that when an overlap occurs neither packet is received without error and both packets are therefore retransmitted.” – “... we must make sure the retransmission delays in the two consoles are different.” • Andy comments: exactly how this is achieved is not stated. 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 23 Analysis • Assume there are k active users. • Packets transmitted for the first time are called message packets. • Packets retransmitted are called repetitions. • Let λ be the average rate of message packets from a single active user and assume this rate is identical for all users. • So r, the average number of message packets per unit time from k active users, is kλ. 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks r=kλ 24 Analysis • τ (tau) is the duration of a packet. • If messages were packed perfectly into the available channel space (with no space between messages) then we would have rτ =1. • rτ is referred to as the channel utilization. • “Our objective in this section is to determine the maximum value of the channel utilization, and thus the maximum value of k, which this random access data communication channel can support.” 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 25 Analysis • Let R be the average number of message packets plus retransmissions per unit time from the k active users. • If there are some retransmissions, then R>r. • Rτ is defined as the channel traffic. – The average number of message packets plus retransmissions per unit time multiplied by the duration of each packet or retransmission. • “In this section we shall calculate Rτ as a function of the channel utilization, rτ.” 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 26 Analysis • Assume the interarrival times (defined by the start times of all the message packets plus retransmissions) are independent and exponential. • The true interarrival time distribution may not be exponential and because of the retransmissions, the assumption “is strictly speaking not even mathematically consistent.” • “If the retransmission delay is large compared to τ... and the number of retransmissions is not too large this assumption will be reasonably close to the true distribution.” – Andy comments: it would be useful to have some real measurements showing an exponential distribution of interarrival times. 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 27 Interarrival time • The interarrival time is the amount of time between the arrival of one message (or retransmission) and the arrival of the next. 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 28 Internet Data Analysis for the Undergraduate Statistics Curriculum Juana Sanchez and Yan He (2005) http://www.amstat.org/publications/jse/v13n3/datasets.sanchez.html A visual inspection of the histogram might suggest an exponential, but a detailed analysis by Sanchez and He suggests that interarrival times of Internet packets are not distributed exponentially. 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 29 Analysis • Under the exponential assumption, the probability that there will be no events (starts of message packets or retransmissions) in a time interval T is exp(-RT). • “The first packet will overlap with another packet if there exists at least one other start point τ or less seconds before or τ or less seconds after the start of the given packet. Hence the probability that a given message packet or retransmission will be repeated is [1-exp(-2Rτ)].” probability of a collision happening 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 30 Analysis • The average number of retransmissions per unit time is R[1-exp(-2Rτ)]. • R = r + R[1-exp(-2Rτ)]. • rτ = Rτe-2Rτ – This is the relationship between channel uitilization (rτ) and channel traffic (Rτ). 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 31 Figure 3. Channel utilization vs. channel traffic. 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 32 Figure 3. • Channel utilization reaches a maximum value of 1/2e = 0.186. – Channel traffic is equal to 0.5 at this point – Mathematical constant e ≈ 2.718 • “The traffic on the channel becomes unstable at rτ=1/2e and the average number of retransmissions becomes unbounded.” • “Because of the random access feature the channel capacity is reduced to roughly one sixth of its value if we were able to fill the channel with a continuous stream of uninterrupted data.” 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 33 Maximum number of interactive users kmax. • • • • rτ = kλτ = 1/2e kmax = (2eλτ)-1 τ = 34 milliseconds Suppose each active user sends a message packet at an average rate of one every 60 seconds. (λ = 1/60) • kmax = 324 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 34 Analysis checked by simulations 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 35 December 17, 1972 • An IMP (Interface Message Processor) was delivered and installed which allowed ALOHA to connect to the ARPANET by means of the first satellite channel. 8/25/2009 NET0183 Networks and Communications by Dr Andy Brooks 36