Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Data Link Layer Useful References Wireless Communications and Networks by William Stallings Computer Networks (third edition) by Andrew Tanenbaum Computer Networking (second edition) by J. Kurose and K. Ross Network protocol stack application: supporting network applications FTP, SMTP, STTP transport: host-host data transfer TCP, UDP network: routing of datagrams from source to destination IP, routing protocols link: data transfer between neighboring network elements PPP, Ethernet physical: bits “on the wire” application transport network link physical Links A communication path consists of a series of communication links, starting at the source host, passing through a series of routers and ending at the destination host. How are packets sent across individual links within the end-to-end communication path? Multiple Access Links and Protocols Two types of “links”: point-to-point PPP for dial-up access point-to-point link between Ethernet switch and host broadcast (shared wire or medium) traditional Ethernet 802.11 wireless LAN Multiple Access protocols Single shared broadcast channel Two or more simultaneous transmissions by nodes: interference Only one node can send successfully at a time A multiple access protocol is characterized as follows: Distributed algorithm that determines how nodes share channel, i.e., determine when node can transmit Communication about channel sharing must use channel itself! Ideal Multiple Access Protocol Broadcast channel of rate R bps 1. When one node wants to transmit, it can send at rate R. 2. When M nodes want to transmit, each can send at average rate R/M 3. Fully decentralized: no special node to coordinate transmissions no synchronization of clocks, slots 4. Simple MAC Protocols: a taxonomy Three broad classes: Channel Partitioning Divide channel into smaller “pieces” (time slots, frequency, code) Allocate piece to node for exclusive use Random Access Channel not divided, allow collisions “recover” from collisions “Taking turns” Tightly coordinate shared access to avoid collisions Channel Partitioning MAC protocols: TDMA TDMA: Time Division Multiple Access Access to channel in "rounds" Each station gets fixed length slot (length = pkt trans time) in each round Unused slots go idle Example: 6-station LAN, 1,3,4 have pkt, slots 2,5,6 idle Channel Partitioning MAC protocols: FDMA FDMA: Frequency Division Multiple Access Channel spectrum divided into frequency bands Each station assigned fixed frequency band Unused transmission time in frequency bands go idle Example: 6-station LAN, 1,3,4 have pkt, frequency frequency bands bands 2,5,6 idle Channel Partitioning CDMA (Code Division Multiple Access) Unique “code” assigned to each user; i.e., code set partitioning Used mostly in wireless broadcast channels (cellular, satellite, etc) all users share same frequency, but each user has own “chipping” sequence (i.e., code) to encode data encoded signal = (original data) X (chipping sequence) decoding: inner-product of encoded signal and chipping sequence CDMA Let di be the value of the data bit for the ith bit slot. For mathematical convenience, we represent a data bit with a o value as –1. Each bit slot is further subdivided into M minislots. In this example, M=8 (although usually it is higher). CDMA The CDMA code used by the sender consists of a sequence of M values: c1 c2 c3 …cM each taking a +1 or –1 value. In the example, the CDMA code being used is (1,1,1,-1,1,-1,-1,-1). CMDA Encode For the mth minislot of the slot transmitting di, the output of the CDMA encoder Zi,m, is the value of di multiplied by the mth bit in the assigned CDMA code, cm: Zi,m = di*cm CDMA Encode/Decode CDMA Decode The original data bit di is recovered by computing: di = (1/M)Zi,m . Cm (m=1…M) CDMA Encode/Decode CDMA: Two-Sender Interference The world is far from ideal. CDMA must work in the presence of interfering senders that are encoding and transmitting their data using a different assigned code. How then does a CDMA receiver recover a sender’s original data bits when those data bits are being tangled with bits from other senders. CDMA: Two-Sender Interference CDMA Codes must be carefully chosen so that there is minimal interference. Codes must be orthogonal which means that the inner product of two distinct codes should be 0 The inner product of a code with itself should be one. The inner product of a code with its complement should be –1. CDMA Assumptions The codes satisfy the properties mentioned earlier. The receiver knows who the sender is. Our discussion made the assumption that the received signal strengths from various senders at a receiver are the same; this is difficult to achieve in practice. Random Access Protocols When node has packet to send Transmit at full channel data rate R. No a priori coordination among nodes Two or more transmitting nodes -> “collision”, Random access MAC protocol specifies: How to detect collisions How to recover from collisions (e.g., via delayed retransmissions) Examples of random access MAC protocols: Slotted ALOHA ALOHA CSMA, CSMA/CD, CSMA/CA CSMA (Carrier Sense Multiple Access) CSMA: listen before transmit: If channel sensed idle: transmit entire frame If channel sensed busy, defer transmission Human analogy: don’t interrupt others! CSMA collisions spatial layout of nodes Collisions can still occur: propagation delay means two nodes may not hear each other’s transmission Collision: entire packet transmission time wasted Note: role of distance & propagation delay in determining collision probability CSMA/CD (Collision Detection) CSMA/CD: carrier sensing, deferral as in CSMA Collisions detected within short time Colliding transmissions aborted, reducing channel wastage Collision detection: Easy in wired LANs: measure signal strengths, compare transmitted, received signals Difficult in wireless LANs; can be costly Human analogy: the polite conversationalist CSMA/CD collision detection CSMA/CA Collision if 2 or more nodes transmit at same time CSMA makes sense: get all the bandwidth if you’re the only one transmitting shouldn’t cause a collision if you sense another transmission Collision detection doesn’t work: hidden terminal problem Signal Strength Location CSMA/CA CSMA sender - if sense channel idle for DIFS sec. then transmit entire frame (no collision detection) -if sense channel busy then binary backoff CSMA receiver - if received OK return ACK after SIFS (ACK is needed due to hidden terminal problem) Collision Avoidance: RTS-CTS exchange Sender transmits short RTS (request to send) packet: indicates duration of transmission Receiver replies with short CTS (clear to send) packet Notifying (possibly hidden) nodes Hidden nodes will not transmit for specified duration: NAV Collision Avoidance: RTS-CTS exchange RTS and CTS short: Collisions less likely, of shorter duration End result similar to collision detection “Taking Turns” MAC protocols Channel partitioning MAC protocols: Share channel efficiently and fairly at high load Inefficient at low load: delay in channel access, 1/N bandwidth allocated even if only 1 active node! Random access MAC protocols Efficient at low load: single node can fully utilize channel High load: collision overhead “taking turns” protocols Look for best of both worlds! “Taking Turns” MAC protocols Token passing: Polling: Control token passed from Master node one node to next “invites” slave nodes sequentially. to transmit in turn Token message Concerns: Concerns: Polling overhead Latency Single point of failure (master) Token overhead Latency Single point of failure (token) Summary of MAC protocols What do you do with a shared media? Channel Partitioning, by time, frequency or code • Time Division,Code Division, Frequency Division Random partitioning (dynamic), • ALOHA, S-ALOHA, CSMA, CSMA/CD • carrier sensing: easy in some technologies (wire), hard in others (wireless) • CSMA/CD used in Ethernet • CMSA/CA and CMSA can be used in 802.11 (discussed later) Taking Turns • polling from a central site, token passing