1 2. GETTING CONNECTED (PART 2) Rocky K. C. Chang Department of Computing The Hong Kong Polytechnic University 26 January 2016 2 1. Automatic repeat request (ARQ) • Approach to achieving link reliability: • Ask for retransmission when a corrupted frame is detected. • Mechanisms for asking a sender to retransmit: • Receiver to send negative acknowledgments for corrupted frames, or • Receiver to send positive acknowledgments for good frames. • Which one is better? 3 1. Automatic repeat request (ARQ) • Both approaches require a timeout mechanism. • Negative-ack approach: A timer starts when a negative acknowledgment is sent out. • Positive-ack approach: A timer starts when a message is sent out. • Retransmissions take place when timeouts occur: • Negative-ack approach: The receiver retransmits a negative acknowledgment. • Positive-ack approach: The sender retransmits a frame. 4 1. Automatic repeat request (ARQ) • The ARQ implements a positive acknowledgment approach. • Only after an acknowledgment is received will a frame be removed from a send buffer. • An acknowledgment can be piggybacked on a message sent to the other direction. • An acknowledgment sometimes indicates the sequence number of the next expected frame. • Positive acknowledgment is usually accumulative, e.g., receiving an acknowledgment for frame 4 implies that frames 1-3 are all received correctly. 5 1.1 Stop-and-wait ARQ • The maximum number of unacknowledged frames is one. • A sender cannot send a second frame before receiving an acknowledgment for the first frame. • The minimum number of sequence numbers needed to identify the frames is two (0, 1), i.e., the first two in the send buffer. • 0: for the frame sent and waiting for its acknowledgment. • 1: for the frame to be sent after receiving an acknowledgment for the 0th frame. 6 Sender Receiver Sender Timeout ACK Timeout Timeout Fram e (a) Timeout Fram e Fram e AC K Sender Timeout Receiver Fram e AC K (c) Timeout Sender Timeout Time Fram e Receiver Receiver Fram e AC K Fram e AC K ACK (b) (d) 7 1.1 Stop-and-wait ARQ • Advantages: • Very simple to implement, both on the sender and receiver sides. • Disadvantages: • Achieve a very low throughput, especially in a high-speed link (does not keep the pipe full). • In the best case, only one frame can be sent in a round-trip time. • In other cases, an additional number of round-trip times is required when errors occur. 8 1.2 Sliding-window (or go-back-n) ARQ • The maximum number of unacknowledged frames may be more than one. • A sender may continue to transmit frames even when acknowledgments for frames previously sent are not received. • A sliding window is used to keep track of the sender’s state and receiver’s state. • The window size determines the maximum number of unacknowledged frames allowed on the sender side. 9 1.2 Sliding-window (or go-back-n) ARQ • On the sender side: • Frames are labeled by a sequence number of integer values, starting from 1. • A static parameter: send window size (SWS) • Two variable parameters: • The maximum sequence number being acknowledged by the receiver (LAR) • The maximum sequence number sent by the sender (LFS) • Note that LFS LAR • LFS = LAR: All frames sent have been acknowledged. • LFS > LAR: LFSLAR frames are yet to be acknowledged. 10 1.2 Sliding-window (or go-back-n) ARQ • Also note that LFS SWS + LAR. • When LFS = SWS + LAR, the window is said to be full, and no more new frames can be sent before (LAR+1)th frame is acknowledged. • How do the values of LFS and LAR change? • LFS is initialized to 0, and it is incremented after each new frame is sent. • LAR is initialized to 0, and it is shifted to the right according to the new sequence number(s) acknowledged by the receiver. 11 1.2 Sliding-window (or go-back-n) ARQ • Sender side: = SWS … … LAR LFS • Receiver side: = RWS … … NFE 12 1.2 Sliding-window (or go-back-n) ARQ • On the receiver side: • A static parameter: receive window size (RWS) • RWS is the maximum number of out-of-order frames that the receiver is willing to accept. • A variable parameter: • Sequence number of the next frame expected (NFE) • If a frame, whose sequence number is larger than NFE+RWS, is received, the frame will be discarded; otherwise, it will be buffered in a receive buffer. • When a frame is received correctly, NFE is either updated or unchanged. 13 1.3 Three uses of ARQs • Provide reliable service • Provide in-order service • The original order of the frames is preserved even when out-oforder frames are received. • Provide flow control • Prevent the sender from flooding the receiver. • The sender needs to vary the value of SWS by taking into account of the state of the receive buffer. 14 2. Local area networks (LANs) • Early 1980s • IBM’s token ring vs. DIX (Digital, Intel, and Xerox) Ethernet • IEEE 802.2 (logical link control), 802.3 (Ethernet), 802.4 (Token Bus), 802.5 (Token Ring) • Late 1980s • Fiber Distributed Data Interface (FDDI) • Distributed Queue Dual Bus (DQDB) • Early 1990s • ATM LANs vs Fast Ethernet (switched Ethernet) 15 2. Local area networks (LANs) • Mid-1990s • IEEE 802.11 (wireless LAN) • Now and future (who knows?) • Gigabit Ethernet vs ATM LANs • Optical Ethernet, wireless Ethernet • Development trends: • From shared medium to switched LANs • From router-based backbone to switched backbone • From wired to wireless • From single-medium to multi-media 16 3.1 Ethernet LAN: physical connectivity • Components: • Cable (passive) • Transceivers (transmitter + receiver) • Adaptor (active). Each adaptor card is uniquely identified by a 48-bit (physical or MAC) address, e.g., 00:40:26:5A:67:88. • Design principles: • Cost-effective resource sharing • Reliability • Inexpensive 17 3.1 Ethernet LAN: physical connectivity Transceiver Ethernet cable Adaptor Host 18 3.1 Ethernet LAN: physical connectivity • Both DIX and IEEE 802.3 Ethernets do not require switching elements. • Hosts are connected to a cable (10base2/5/T) through network adaptors. • Several segments may be connected (horizontally) to another segment (vertically) through hubs, which serve as repeaters. 19 3.1 Ethernet LAN: physical connectivity … … … … Repeater Host 20 3.1 Ethernet LAN: physical connectivity Hub Hub from the datalink layer and up 21 3.2 Ethernet LAN: Datalink sublayers • A new multiple access control (MAC) problem: • How do multiple hosts share a single transmission medium efficiently? • This problem occurs in token ring, FDDI, and wireless LAN. • An additional MAC sublayer was created for this purpose. • A logical link control (LLC) sublayer: • Provide similar services as a datalink layer except that error detection is provided at the MAC sublayer. 22 3.2 Ethernet LAN: Datalink sublayers • Provide three types of services: • Unacknowledged connectionless (datagram) service: Basically no additional service. • Acknowledged connectionless service: Reliability through a stop-andwait-ARQ-like mechanism. • Connection-mode service: A connection is set up between two hosts with flow control and reliability services. 23 3.2 Ethernet LAN: Datalink sublayers • The datalink layer consists of • LLC sublayer and MAC sublayer IEEE 802.2 Logical Link Control (LLC) Sublayer IEEE 802.3 IEEE 802.4 IEEE 802.5 IEEE 802.11 IEEE 802.12 ANSI FDDI 24 3.2 Ethernet LAN: frames • DIX Ethernet frame structure: • The 7-byte preamble is sent before the frame to allow the receiver to synchronize with the signal. 1-byte start 6-byte dest 6-byte src 7-byte 2-byte frame preamble address address type delimiter type 0800 Data 4-byte CRC IP datagram • IEEE 802.3 Ethernet frame structure: 802.3 MAC Preamble 802.2 LLC 802.2 SNAP dest src DSAP SSAP cntl org code type address address len 03 00 AA AA Data 4-byte CRC 25 3.3 Ethernet LAN: MAC protocol • Types of MAC addresses: • Unicast address: hardwired into ROM • Broadcast address: all 1 bits • Multicast address: First bit set to 1 and configurable. • Promiscuous mode • CSMA/CD (carrier sense multiple access with collision detection) • Each adaptor is able to distinguish a busy link from an idle link. • Each adaptor is able to detect “frame collisions,” if occurred, as it transmits. 26 3.3 Ethernet LAN: MAC protocol • To send a frame, • transmits it immediately when the link is detected idle. • The maximum length of the payload is 1500 bytes for a 10-Mbps DIX Ethernet. • To receive a frame, • Every adaptor attached to the link will receive a copy of a frame transmitted on the link. • The frame will be discarded if the destination address does not match • its unicast address, broadcast address, and any configured multicast addresses. 27 3.3 Ethernet LAN: MAC protocol • Carrier sense is not sufficient for avoiding frame collisions. • A frame must be long enough to detect collisions: • A sufficient condition: A frame occupies the entire pipe back and forth. • For example, for a 10-Mbps Ethernet segment of 2500m long (a roundtrip propagation delay of 51.2 s): • Minimum frame length = 51.2s 10Mbps = 512 bits (64 bytes), or a 14-byte header + a 46-byte payload + a 4-byte CRC. 28 3.3 Ethernet LAN: MAC protocol A B A B A B A B (a) (b) (c) (d) 29 3.3 Ethernet LAN: MAC protocol • When more than one adaptor transmits frames “almost at the same time,” • The frames are “collided” and can be detected by the adaptors involved. • The adaptors involved then send a 32-bit jamming sequence, and stop transmission. • The adaptors use exponential backoff for retransmission (up to a limited number of attempts). • After first collision: either 0 or 51.2 s. • After second collision: 0, 51.2, 102.4, 153.6 s. • After nth collision: k51.2 s for k = 0..2n1. 30 3.4 Ethernet’s performance • Throughput decreases with a and the number of hosts, where • a = propagation delay/transmission delay. • Implications: • Limit on the number of stations and the maximum length of the Ethernet segment • Effect of increasing link’s data rate • Support for delay-sensitive data • Methods of improving its performance • Each collision domain consists of only one host. 4. Wireless Links • Wireless links transmit electromagnetic signals • Radio, microwave, infrared • Wireless links all share the same “wire” (so to speak) • The challenge is to share it efficiently without unduly interfering with each other • Most of this sharing is accomplished by dividing the “wire” along the dimensions of frequency and space • Exclusive use of a particular frequency in a particular geographic area may be allocated to an individual entity such as a corporation 4. Wireless Links A wireless network using a base station 4. Wireless Links • Mesh or Ad-hoc network • Nodes are peers • Messages may be forwarded via a chain of peer nodes A wireless ad-hoc or mesh network 4.1 Wireless LAN (IEEE 802.11) • Also known as Wi-Fi • Like its Ethernet and token ring siblings, 802.11 is designed for use in a limited geographical area (homes, office buildings, campuses) • Primary challenge is to mediate access to a shared communication medium – in this case, signals propagating through space • 802.11 supports additional features • power management and • security mechanisms 35 4.1 Wireless LAN (IEEE 802.11) • MAC problem: • Hidden node (terminal) problem: Frame collision occurs but the senders involved are unaware of it. • AB and CB (A and C are not connected) • Exposed node problem: A node is unnecessarily prevented from transmitting frames. • BA and CD (A and D are not connected) • Both problems are due to the fact that, unlike Ethernet, the nodes are not always connected together. 36 4.1 Wireless LAN (IEEE 802.11) A B C D • Multiple Access with Collision Avoidance (MACA) • To send a frame, • the sender first sends a Request to Send (RTS) frame to the receiver. 37 4.1 Wireless LAN (IEEE 802.11) • The receiver then replies with a Clear to Send (CTS) frame back to the sender. • Any node that sees the CTS frame will refrain from sending any frames (for the hidden node problem). • Any node that sees the RTS frame but not the CTS frame is free to transmit (for the exposed node problem). • When two or more nodes transmit an RTS frame at the same time, their RTS frames collide. • Retransmission of RTS frames takes place after the nodes involved do not receive the CTS frames, i.e. no direct collision detection supported.