CompSci 356: Computer Network Architectures Lecture 5: Reliable Transmission and Multi-access links Chapter 2.4, 2.5, 2.6

Similar documents
Point-to-Point Links. Outline Encoding Framing Error Detection Sliding Window Algorithm. Fall 2004 CS 691 1

CompSci 356: Computer Network Architectures. Lecture 4: Link layer: Encoding, Framing, and Error Detection Ref. Chap 2.2, 2.3,2.4

Direct Link Networks (II)

Reliable Transmission

Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM 4021: Networks Discussion. Chapter 2.

Links. CS125 - mylinks 1 1/22/14

Ethernet. Lecture 6. Outline. Ethernet - Physical Properties. Ethernet - Physical Properties. Ethernet

CS 640 Introduction to Computer Networks. Role of data link layer. Today s lecture. Lecture16

Lecture 5. Homework 2 posted, due September 15. Reminder: Homework 1 due today. Questions? Thursday, September 8 CS 475 Networks - Lecture 5 1

Lecture 6. Reminder: Homework 2, Programming Project 2 due on Thursday. Questions? Tuesday, September 13 CS 475 Networks - Lecture 6 1

Error Detection Codes. Error Detection. Two Dimensional Parity. Internet Checksum Algorithm. Cyclic Redundancy Check.

EE 122: Error detection and reliable transmission. Ion Stoica September 16, 2002

CSMC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala Set 4. September 09 CMSC417 Set 4 1

High Level View. EE 122: Error detection and reliable transmission. Overview. Error Detection

2.4 Error Detection Bit errors in a frame will occur. How do we detect (and then. (or both) frames contains an error. This is inefficient (and not

Computer and Network Security

CIS 551 / TCOM 401 Computer and Network Security. Spring 2007 Lecture 7

Getting Connected (Chapter 2 Part 4) Networking CS 3470, Section 1 Sarah Diesburg

CSCI-1680 Link Layer I Rodrigo Fonseca

CSCI-1680 Link Layer Reliability John Jannotti

CSCI-1680 Link Layer Reliability Rodrigo Fonseca

ECE 4450:427/527 - Computer Networks Spring 2017

Computer Network. Direct Link Networks Reliable Transmission. rev /2/2004 1

Housekeeping. Fall /5 CptS/EE 555 1

Networking Link Layer

Copyright 2010, Elsevier Inc. All rights Reserved

High Level View. EE 122: Ethernet and Random Access protocols. Medium Access Protocols

Data Link Layer, Part 3 Medium Access Control. Preface

Link Layer (L2) Review

EE 122: Ethernet and

Link Layer and Ethernet

Problem Statement. Physical and Data Link Layer Overview. Five Tasks Encoding. Make two computers talk to each other

Link Layer and Ethernet

Links Reading: Chapter 2. Goals of Todayʼs Lecture. Message, Segment, Packet, and Frame

CS 457 Networking and the Internet. Link Layer Protocols. Problems 8/31/16. Fall 2016 Indrajit Ray

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 11, 2018

CSCI-1680 Link Layer Wrap-Up Rodrigo Fonseca

CSE 461: Multiple Access Networks. This Lecture

CSCI-1680 Link Layer Wrap-Up Rodrigo Fonseca

Data Link Networks. Hardware Building Blocks. Nodes & Links. CS565 Data Link Networks 1

Link layer, LANs: outline. Chapter 5-1 Link Layer. Link layer: introduction. Link layer services

Data Link Layer, Part 5. Medium Access Control

Computer Networks Medium Access Control. Mostafa Salehi Fall 2008

Lecture 9: Bridging. CSE 123: Computer Networks Alex C. Snoeren

CS 640 Lecture 4: 09/11/2014

CSCI-1680 Link Layer Wrap-Up Rodrigo Fonseca

Data always flows in one direction around ring Like Ethernet, all nodes see all frames, and protocol is necessary to decide when to send

Link Layer: Retransmissions

Summary of MAC protocols

Data Communication & Computer Networks INFO

Data Link Layer. Srinidhi Varadarajan

CSE/EE 461 Section 2

CSE 461: Framing, Error Detection and Correction

Direct Link Communication I: Basic Techniques. Data Transmission. ignore carrier frequency, coding etc.

Data Link Layer: Overview, operations

Department of Computer and IT Engineering University of Kurdistan. Data Communication Netwotks (Graduate level) Data Link Layer

CS 4453 Computer Networks Winter

Introduction to Computer Networks. IEEE Ethernet

Computer Network Fundamentals Spring Week 3 MAC Layer Andreas Terzis

CS 43: Computer Networks Switches and LANs. Kevin Webb Swarthmore College December 5, 2017

Unit II. Part A (2 Marks)

CSCI-1680 Link Layer Wrap-Up Rodrigo Fonseca

I. INTRODUCTION. each station (i.e., computer, telephone, etc.) directly connected to all other stations

The Link Layer and LANs. Chapter 6: Link layer and LANs

Direct Link Communication I: Basic Techniques. Data Transmission. ignore carrier frequency, coding etc.

Part3. Local Area Networks (LAN)

Reminder: Datalink Functions Computer Networking. Datalink Architectures

Multiple Access Channels

2.1 CHANNEL ALLOCATION 2.2 MULTIPLE ACCESS PROTOCOLS Collision Free Protocols 2.3 FDDI 2.4 DATA LINK LAYER DESIGN ISSUES 2.5 FRAMING & STUFFING

King Fahd University of Petroleum and Minerals College of Computer Sciences and Engineering Department of Computer Engineering

Lecture 6 The Data Link Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Chapter 3. The Data Link Layer. Wesam A. Hatamleh

L5: Building Direct Link Networks III. Hui Chen, Ph.D. Dept. of Engineering & Computer Science Virginia State University Petersburg, VA 23806

Chapter 2: Getting Connected

Networking Technologies and Applications

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

IEEE , Token Rings. 10/11/06 CS/ECE UIUC, Fall

Shared Access Networks. Media Access Protocols. Ethernet (802.3) Ethernet cont...

CIS 551 / TCOM 401 Computer and Network Security. Spring 2007 Lecture 8

COMPUTER NETWORKS CS CS 55201

COMPUTER NETWORKS CS CS 55201

Medium Access Protocols

Lecture 4b. Local Area Networks and Bridges

ECSE 414 Fall 2014 Final Exam Solutions

EECS 122, Lecture 7. Kevin Fall Jean Walrand

Medium Access Control

Medium Access Control. IEEE , Token Rings. CSMA/CD in WLANs? Ethernet MAC Algorithm. MACA Solution for Hidden Terminal Problem

Communication (III) Kai Huang

CS 455/555 Intro to Networks and Communications. Link Layer

Module 10 Data Link Layer CS655! 10-1!

Topics. Link Layer Services (more) Link Layer Services LECTURE 5 MULTIPLE ACCESS AND LOCAL AREA NETWORKS. flow control: error detection:

Shared Access Networks Wireless. 1/27/14 CS mywireless 1

Data and Computer Communications

Lecture 23 Overview. Last Lecture. This Lecture. Next Lecture ADSL, ATM. Wireless Technologies (1) Source: chapters 6.2, 15

LAN PROTOCOLS. Beulah A AP/CSE

CPE 448/548 Exam #1 (100 pts) February 14, Name Class: 448

CMPE 344 Computer Networks Spring Getting Connected. Reading: Peterson and Davie, 2.1,

Mobile and Sensor Systems

Medium Access Control Sublayer

More on LANS. LAN Wiring, Interface

Transcription:

CompSci 356: Computer Network Architectures Lecture 5: Reliable Transmission and Multi-access links Chapter 2.4, 2.5, 2.6 Xiaowei Yang xwy@cs.duke.edu

Link layer functions Encoding Overview NRZ, NRZI, Manchester, 4B/5B Framing Byte-oriented, bit-oriented, time-based Bit stuffing Error detection Parity, checkshum, CRC Reliability FEC, sliding window Multi-access links

Error detection Error detection code adds redundancy Analogy: sending two copies Parity Checksum CRC Error correcting code

Two-dimensional parity A sample frame of six bytes Even parity bit Make an even number of 1s in each row and column Detect all 1,2,3-bit errors, and most 4-bit errors

Internet checksum algorithm Basic idea (for efficiency) Add all the words transmitted and then send the sum. Receiver does the same computation and compares the sums IP checksum Adding 16-bit short integers using 1 s complement arithmetic Take 1 s complement of the result Used by lab 2 to detect errors

1 s complement arithmetic -x is each bit of x inverted If there is a carry bit, add 1 to the sum [-2^(n-1)-1, 2^(n-1)-1] Example: 4-bit integer -5 + -2 +5: 0101; -5: 1010; +2: 0010; -2: 1101; -5 + -2 = 1010+1101 = 0111 + one carrier bit; à1000 = -7

Calculating the Internet checksum u_short cksum (u_short *buf, int count) { register u_long sum = 0; } while (count--) { sum += *buf++; if (sum & 0xFFFF0000) { /* carry occurred. So wrap around */ sum &= 0xFFFF; sum++; } } // one s complement sum return ~(sum & 0xFFFF); // one s complement of the sum

Verifying the checksum Adds all 16-bit words together, including the checksum 0: correct 1: errors

Remarks Can detect 1 bit error Not all two-bits Efficient for software implementation

Cyclic Redundancy Check Cyclic error-correcting codes High-level idea: Represent an n+1-bit message with an n degree polynomial M(x) Divide the polynomial by a degree-k divisor polynomial C(x) k-bit CRC: remainder Send Message + CRC that is dividable by C(x)

Polynomial arithmetic modulo 2 B(x) can be divided by C(x) if B(x) has higher degree B(x) can be divided once by C(x) if of same degree x^3 + 1 can be divided by x^3 + x^2 + 1 The remainder would be 0*x^3 + 1*x^2 + 0*x^1 + 0*x^0 (obtained by XORing the coefficients of each term) Remainder of B(x)/C(x) = B(x) C(x) Substraction is done by XOR each pair of matching coefficients

CRC algorithm 1. Multiply M(x) by x^k. Add k zeros to Message. Call it T(x) 2. Divide T(x) by C(x) and find the remainder 3. Send P(x) = T(x) remainder Append remainder to T(x) P(x) dividable by C(x)

An example 8-bit msg 10011010 Divisor (3bit CRC) 1101 Msg sent: 11111001101

How to choose a divisor Arithmetic of a finite field Intuition: unlikely to be divided evenly by an error Corrupted msg is P(x) + E(x) If E(x) is single bit, then E(x) = x i If C(x) has the first and last term nonzero, then detects all single bit errors Find C(x) by looking it up in a book

Hardware implementation Very efficient: XOR operations Number of bits = k 0 to k-1 registers (k-bit shift registers) If n th (n < k) term is not zero, places an XOR gate x 3 + x 2 + 1

Link layer functions Encoding Overview NRZ, NRZI, Manchester, 4B/5B Framing Byte-oriented, bit-oriented, time-based Bit stuffing Error detection Parity, checkshum, CRC Reliability FEC, sliding window Multi-access links

Reliable transmission What to do if a receiver detects bit errors? Two high-level approaches Forward error correction (FEC) Retransmission Acknowledgements Can be piggybacked on data packets Timeouts Also called Automatic repeat request (ARQ)

Stop-and-wait Send one frame, wait for an ack, and send the next Retransmit if times out Note in the last figure (d), there might be confusion: a new frame, or a duplicate?

Add a sequence number to each frame to avoid the ambiguity Sequence number

Stop-and-wait drawback Revisiting bandwidth-delay product Total delay/latency = transmission delay + propagation delay + queuing Queuing is the time packet sent waiting at a router s buffer Will revisit later (no sweat if you don t get it now)

Delay * bandwidth product For a 1Mbps pipe, it takes 8 seconds to transmit 1MB. If the link latency is less than 8 seconds, the pipe is full before all data are pumped into the pipe For a 1Gbps pipe, it takes 8 ms to transmit 1MB.

Stop-and-wait drawback A 1Mbps link with a 100ms two-way delay (round trip time, RTT) 1KB frame size Throughput = 1KB/ (1KB/1Mbps + 100ms) = 74Kbps << 1Mbps Delay * bandwidth = 100Kb So we could send ~12 frames before the pipe is full! Throughput = 100Kb/(1KB/1Mbps + 100ms) = 926Kbps

Key idea: allowing multiple outstanding (unacked) frames to keep the pipe full Sliding window

Sliding window on sender Assign a sequence number (SeqNum) to each frame Maintains three variables Send Window Size (SWS) Last Ack Received (LAR) Last Frame Sent (LFS) Invariant: LFS LAR SWS

Slide window this way when an ACK arrives Sender actions When an ACK arrives, moves LAR to the right, opening the window to allow the sender to send more frames If a frame times out before an ACK arrives, retransmit

Sliding window on receiver Maintains three window variables Receive Window Size (RWS) Largest Acceptable Frame (LAF) Last frame received (LFR) Invariant LAF LFR RWS

When a frame with SeqNum arrives Discards it if out of window Seq LFR or Seq > LAF If in window, decides what to ACK Cumulative ack Acks SeqNumToAck even if higher-numbered packets have been received Sets LFR = SeqNumToAck-1, LAF = LFR + RWS Updates SeqNumToAck

Finite sequence numbers Things may go wrong when SWS=RWS, SWS too large Example 3-bit sequence number, SWS=RWS=7 Sender sends 0,, 6; receiver acks, expects (7,0,, 5), but all acks lost Sender retransmits 0,,6; receiver thinks they are new SWS < (MaxSeqNum+1)/2 Alternates between first half and second half of sequence number space as stop-and-wait alternates between 0 and 1

Sliding window protocol (SWP) implementation typedef u_char SwpSeqno; typedef struct { SwpSeqno SeqNum; /* sequence number of this frame */ SwpSeqno AckNum; /* ack of received frame */ u_char Flags; /* up to 8 bits' worth of flags. An ack or data */ } SwpHdr; Your code will look very different!

typedef struct { /* sender side state: */ SwpSeqno LAR; /* seqno of last ACK received */ SwpSeqno LFS; /* last frame sent */ Semaphore sendwindownotfull; SwpHdr hdr; /* preinitialized header */ struct sendq_slot { Event timeout; /* event associated with send-timeout */ Msg msg; } sendq[sws]; /* receiver side state: */ SwpSeqno NFE; /* seqno of next frame expected */ struct recvq_slot { int received; /* is msg valid? */ Msg msg; } recvq[rws]; } SwpState;

static int sendswp(swpstate *state, Msg *frame) { struct sendq_slot *slot; hbuf[hlen]; } /* wait for send window to open */ semwait(&state->sendwindownotfull); state->hdr.seqnum = ++state->lfs; slot = &state->sendq[state->hdr.seqnum % SWS]; store_swp_hdr(state->hdr, hbuf); msgaddhdr(frame, hbuf, HLEN); msgsavecopy(&slot->msg, frame); slot->timeout = evschedule(swptimeout, slot, SWP_SEND_TIMEOUT); return sendlink(frame);

static int deliverswp(swpstate state, Msg *frame) { SwpHdr hdr; char *hbuf; hbuf = msgstriphdr(frame, HLEN); load_swp_hdr(&hdr, hbuf) if (hdr->flags & FLAG_ACK_VALID) { /* received an acknowledgment---do SENDER side */ if (swpinwindow(hdr.acknum, state->lar + 1, state->lfs)) { do { struct sendq_slot *slot; slot = &state->sendq[++state->lar % SWS]; evcancel(slot->timeout); msgdestroy(&slot->msg); semsignal(&state->sendwindownotfull); } while (state->lar!= hdr.acknum); } }

if (hdr.flags & FLAG_HAS_DATA) { struct recvq_slot *slot; /* received data packet---do RECEIVER side */ slot = &state->recvq[hdr.seqnum % RWS]; if (!swpinwindow(hdr.seqnum, state->nfe, state->nfe + RWS - 1)) { /* drop the message */ return SUCCESS; } msgsavecopy(&slot->msg, frame); slot->received = TRUE; if (hdr.seqnum == state->nfe) { Msg m; while (slot->received) { deliverhlp(&slot->msg); msgdestroy(&slot->msg); slot->received = FALSE; slot = &state->recvq[++state->nfe % RWS]; } /* send ACK: */ prepare_ack(&m, state->nfe - 1); sendlink(&m); msgdestroy(&m); }} return SUCCESS; }

static bool swpinwindow(swpseqno seqno, SwpSeqno min, SwpSeqno max) { SwpSeqno pos, maxpos; pos = seqno - min; /* pos *should* be in range [0..MAX)*/ maxpos = max - min + 1; /* maxpos is in range [0..MAX]*/ return pos < maxpos; }

Multiple functions of the sliding window algorithm Remark: perhaps one of the best-known algorithms in computer networking Multiple functions Reliable deliver frames over a link In-order delivery to upper layer protocol Flow control Not to over un a slow slower Congestion control (later) Not to congest the network

Other ACK mechanisms NACK: negative acks for packets not received unnecessary, as sender timeouts would catch this information SACK: selective ACK the received frames + No need to send duplicate packets - more complicated to implement Newer version of TCP has SACK

Exercise Delay: 100ms; Bandwidth: 1Mbps; Packet Size: 1000 Bytes; Ack: 40 Bytes Q: the smallest window size to keep the pipe full?

100ms 1Mbps Window size = largest amount of unacked data How long does it take to ack a packet? RTT = 100 ms * 2 + transmission delay of a packet (1000B) + transmission delay of an ack (40B) ~=208ms How many packets can the sender send in an RTT? 1Mbps * 208ms / 8000 bits = 26 Roughly 13 packets in the pipe from sender to receiver, and 13 acks from receiver to sender

Concurrent logical channels A link has multiple logical channels Each channel runs an independent stop-andwait protocol + keeps the pipe full - no relationship among the frames sent in different channels: out-of-order

Multi-access links Multiple access links Ethernet 802.11 (WiFi) Bluetooth Cell phone Note: understand the concepts

Original design 802.3 standard defines both MAC and physical layer details Motivation: switches are expensive Metcalfe s original Ethernet Sketch

Multiple-access links Bus LAN Ring LAN Many nodes attached to the same link Ethernet Token rings Wireless network (WiFi) Problem: who gets to send a frame? Multiple senders lead to collision Solution: a general technique Multiple access with collision detect (CSMA/CD)

Ethernet Developed in mid-1970s at Xerox PARC Speed: 10Mbps -- 10 Gbps Standard: 802.3, Ethernet II (DIX, stands for Digital-Intel- Xerox) Most popular physical layers for Ethernet Last digital shows segment length 10Base5 Thick Ethernet: 10 Mbps coax cable. A segment < 500m 10Base2 Thin Ethernet: 10 Mbps coax cable. < 200 m 10Base-T 10 Mbps T: Twisted Pair < 100m 100Base-TX 100 Mbps over Category 5 twisted pair, duplex 100Base-FX 100 Mbps over Fiber Optics, duplex 1000Base-FX 1Gbps over Fiber Optics, duplex 10000Base-FX 10Gbps over Fiber Optics (for wide area links), duplex

Bus Topology 10Base5 (thick) and 10Base2 (thin) Ethernets have a bus topology 10Base5 as our case study Ethernet 10BASE2 cable T-connector Terminator

Physical properties Sensing the line; if idle, sends signals 10Base5 Transceiver q A small device directly attached to the tap q It detects when the line is idle and drives the signal when the host is transmitting q It also receives incoming signals.

How to expand an Ethernet segment A repeater is a device that forwards digital signals Multiple segments can be joined together by repeaters No more than four repeaters between any host <2500 meters < 1024 hosts Terminators are attached to each end of the segment Manchester encoding

How to expand an Ethernet segment (II) Starting with 10Base-T, stations are connected to a hub (or a switch) in a star configuration 100Mbps, 1000Mbps Hub 10 Base-T cable and jack A hub is a multiway repeater

Collision Domain Any host hears any other host A single segment Multiple segments connected by repeaters Multiple segments connected by a hub q All these hosts are competing for access to the same link, and as a consequence, they are said to be in the same collision domain.

Access control Bit-oriented framing In a host s memory, Ethernet header is 14 bytes The adaptor adds the preamble and CRC The type field is the de-multiplexor 46-1500 bytes of data Pad to minimum length Minimum length is for collision detection 802.3 has the same header format, but substitutes type with length field How to tell whether the field indicates type or length? All types > 1500B

A prettier picture You ll need to know this for Lab 2

Ethernet addresses A flat unique 6-byte address per adaptor 00-13-E8-6D-8C-3D Each manufacture is given a unique prefix e.g: 8:0:20:??:??:?? - Advanced Micro Devices (AMD) An all 1s address is a broadcast address (FF:FF:FF:FF:FF:FF) An address with first bit 1 but not broadcast is multicast An adaptor receives Frames with its address as a destination address In promiscuous mode, delivers all frames Broadcast frames Multicast frames if configured to

Transmitter Algorithm (1) 1. The adaptor receives datagram from network layer, creates frame 2. If the adaptor senses channel idle, starts frame transmission. If NIC senses channel busy, waits until channel idle, then transmits. 3. If NIC transmits an entire frame without detecting another transmission, NIC is done with frame! 4. If NIC detects another transmission while transmitting, aborts and sends jam signal (collision!!)

Transmitter Algorithm (2) If collision jam for 32 bits, then stop transmitting frame Wait and try again exponential backoff (doubling the delay interval of each collision) After the nth collision:: the adaptor waits for k x 51.2us, for randomly selected k=0,, 2 n 1 1st time: 0 or 51.2us 2nd time: 0, 51.2, 102.4, or 153.6us give up after several tries (usually 16)

Collision detection An adaptor senses the signals on the line and compares it with its own If same, no collision; otherwise, collision Sends 32-bit jamming sequence after collision In the worst case, a sender needs to send 512 bits (46+14+4 = 64B) to detect collision Why?

(a) A sends a frame at time t ; (b) A s frame arrives at B at time t + d; (c) B begins transmitting at time t + d and immediately collides with A s frame; (d) B s runt (32-bit) frame arrives at A at time t + 2d. q A and B are at opposite ends of the network q One way delay is d q A needs to send for 2d (round-trip delay) to detect collision q 2d = 51.2 µs. On a 10Mps Ethernet, corresponds to 512 bits q Related to maximum Ethernet length ~ 2500 m

The IEEE 802.3 Baseband 5-4-3 Five physical segments between any two nodes Four repeaters between the nodes. Three of these physical segments can have connected node Each segment < 500m à Total < 2500m

Propagation delay for this maximum-extent Ethernet network is 25.6us 2*d = 51.2us Minimum Ethernet packet frame is 512 bits (64B) Header 14B, payload 46B, CRC 4B

Ethernet experience 30% utilization is heavy Most Ethernets are not light loaded Very successful Easy to maintain Price: does not require a switch which used to be expensive

Wireless links Most common Asymmetric Point-to-multipoint

Wireless access control Can t use Ethernet protocol Hidden terminal A and C can t hear each other s collision at B Exposed terminal B can send to A; C can send to D

802.11 (WiFi) Multiple access with collision avoidance Sender and receiver exchange control Sender à receiver: Request to send (RTS) Specifies the length of frame Receiver à sender: Clear to send (CTS) Echoes length of frame Sender à receiver: frame Receiver à sender: ack Other nodes can send after hearing ACK Node sees CTS Too close to receiver, can t transmit Addressing hidden terminals Node only sees RTS Okay to transmit Addressing exposed terminals

How to resolve collision Sender can t do collision detection Single antenna can t send and receive at the same time If no CTS, then RTS collide Exponential backoff to retransmit

Distribution system Hosts associate with APs APs connect via the distribution system A layer-2 system Ethernet, token ring, etc. Host IP addresses do not need to change

AP association Active scanning Node: Probe APs: Probe response Node selects one of APs, send Association request AP replies Association Response Passive scanning AP sends Beacon to announce itself Node sends Association Request

Frame format Same AP Addr1: dst Addr2: src Different Aps ToDS and FromDS in control field set Add1: dst, Addr2: AP_dst Addr3: AP_src, Add4: src

Bluetooth Connecting devices: mobile phones, headsets, keyboards Very short range communication Low power License exempt band 2.45 Ghz 1~3Mpbs Specified by Bluetooth Special Interest Group

A bluetooth piconet A master device and up to seven slave devices Communication is between the master and a slave

Bluetooth uses a spread spectrum technique Frequency-hopping with 79 channels Each for 625 us A frame takes up 1, 3, or 5 slots The master can start in odd-numbered slots A salve can start in an even-numbered slot, in response to a request from the master A slave device can be parked In active, low power, only be reactivated by the master

Cell phone technologies Using licensed spectrum Europe: 900 Mhz and 1800 Mhz North America: 850 Mhz and 1900 Mhz Base stations form a wired network Geographic area served by a base station s antenna is called a cell Similar to wifi Phone is associated with one base station Leaving a cell entering a cell causes a handoff

Cellular technologies 1G: analog 2G: digital and data 3G: higher bandwidth and simultaneous voice and data Variants of Code Division Multiple Access (CDMA) A spread spectrum technology Each transmitter uses a pseudorandom chipping code using a wide spectrum Good for bursty traffic: no hard limit on how many users can send simultaneously 4G: even higher

Summary A new reliable transmission mechanism Current logical channels Multiple access links Ethernet 802.11 (WiFi) Bluetooth Cell phone Note: understand the concepts Lab 1 out: much harder than Lab 0. Pls start early!

Backup

Token rings A token circulates the ring If a node has something to send, take the token off the ring, and send the frame Node 1 Each node along the way simply forwards the frame Receiver copies the frame Node 4 Frame comes back to sender Sender removes the packet and puts the token back

Token ring standard IBM Token Ring A nearly identical IEEE standard 802.5: not widely used Fiber Distributed Data Interface (FDDI) Derived from the IEEE 802.4 Resilient Packet Ring (RPR) 802.17

Challenges must be addressed Fault tolerance Media access control How long each node can hold the token? Reliability How does the sender know the frame is received Resource utilization

Adding fault tolerance an electromechanical relay Problem: single node powers off disconnects the ring Solution: relay that closes when host s powered off

Token ring media access control An adaptor has a receiver and a transmitter Problem: how long can a node holds a token? Token holding time (THT), default 10ms in 802.5 Short: waste bandwidth Long: starve others What if you have an important short message?

802.5 Token Access Protocol A token has a 3-bit priority field A frame has three reservation bits A device seizes the token if its packet is at least as the token Reservation A sender X sets priority n in the three reservation bits in a frame if The bits are not set to a higher value The station that holds the token set priority to n Sender X lowers the token priority after releasing it so other senders can send Drawback: may starve lower priority traffic

Token ring reliability No sliding window! Two trailing bits (A, C) after each frame A recipient sets A bit when it sees the frame Sets C bit after it copies the frame back to its adaptor If a sender does not see both bits set, retransmits q A=0, C=0: the intended recipient is not functioning or absent q A=1, C=0: for some reason (e.g., lack of buffer space), the destination could not accept the frame q A=1, C=1: frame received

When to release a token Better bandwidth utilization Early release: Sender inserts the token back onto the ring immediately following its frame Late release: Sender inserts the token after the frame it transmits has gone all the way around the ring and been removed Which one is better? 802.5 originally used (b), and adds (a) later

802.5 Token ring maintenance A monitor makes sure the token is not lost Periodically announces itself If the monitor fails A station elects itself by sending a claim token If the token comes back, it s the monitor If competition, highest address wins

Monitor s job If it does not see a token for a long time, it creates a new one # of stations * token holding time + ringlatency Detect and remove orphaned frames (whose parent died) Monitor sets a head bit to 1 after seeing a frame If it sees the bit already set, remove the packet

802.5 Frame format q Similar to the Ethernet, 802.5 addresses are 48 bits long. q The frame also includes a 32-bit CRC. q Frame status byte includes the A and C bits for reliable delivery

Transmitter Algorithm Begin: Wait until the line is idle and has data to send, the adaptor sends it, and listens to collision If no, go back to Begin else exponentially backoff randomly selects a k between [0,2 n -1], waits for k x 51.2 µs to try Begin again Gives up after n reaches 16

One way delay is d A needs to send for 2d duration to detect collision 2d = 512 µs. On a 10Mps Ethernet, corresponds to 512 bits

Token rings A token circulates the ring If a node has something to send, take the token off the ring, and send the frame Receiver copies the frame Frame comes back to sender Sender removes the packet and puts the token back

When to release a token A) early; b) late Which one is better? 802.5 has a,b