# LANs and Topology

• CRC
• Aloha
• Ethernet
• Wireless LANs
• ATM

# CRC

• Cyclic Redundancy Check (Peterson, 1962)
• used for networks, storage media
• a class of error control codes
• mathematically designed to detect all single-bit errors, all double-bit errors, and most multi-bit and burst errors
• defined by a polynomial with binary (0 or 1) coefficients
• example: x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1 (Ethernet, ATM)
• example: x8 + x2 + x + 1 (ATM)

# CRC Implementation

• the highest exponent of the polynomial is the number of bits in the CRC
• the message is (logically) processed one bit at a time
• logically, there is a shift register with a bit for every exponent of the polynomial (except the highest), so a 32-bit CRC has as its highest exponent x32, and a 32-bit shift register
• where the polynomial has a non-zero coefficient, we XOR the MSB of the shift register with the output of the corresponding bit of the shift register before shifting into the next position
• the final value in the register is the CRC: it is inverted and sent
• the receiver performs the same calculation and gets zero if there was no error

# CRC practice

• in-class exercise: design a circuit to compute the following CRC: x8 + x2 + x + 1

# Local Area Networks

• point-to-point links to completely connect n computers need n-1 interfaces on each computer, for a total cost of O(n2)
• instead, we can connect each computer to 1 shared network for a total cost of O(n)
• such a network is especially useful when the cost of the cabling is small compared to the cost of the interfaces: in Local Area Networks (LANs)
• these networks use TDM over a shared medium

# LAN Topologies

• Star Topology: each computer attaches to a central point, which redistributes the data (e.g. Ethernet with hubs/switches)
• Ring Topology: each computer attaches to the next, and the last one back to the first. Each interface must forward and/or keep messages (e.g. FDDI)
• Bus Topology: each computer is directly connected to a physically shared medium (e.g. older Ethernet, Aloha)
• in practice, most installations tend to be star topology, leading back to a wiring closet
• star topology tends to be more robust, leading to easier fault isolation

# Aloha

• wireless star topology
• frequency f1 carries data from end systems to hub, f2 carries data from hub back to end systems
• original Aloha (1960s) used military radios, all traffic received by hub was rebroadcast to all the end systems
• the only problem is if two end systems transmit at the same time -- a collision which keeps the hub from hearing either packet
• a 1-bit overlap is sufficient to corrupt an entire packet

# Aloha Collisions

• if the hub rebroadcasts each packet, each sender can listen for its transmission and retransmit if the packet is missing or wrong
• the maximum theoretical traffic that can successfully be sent is about 18% of the channel capacity (assuming equal-sized packets): sending more means more collisions and less useful traffic
• slotted Aloha constrains sender to start sending at the beginning of a slot, reducing overlap and allowing up to about 30% of the bandwidth to be used
• Aloha is used for communication from earth stations to satellites: the satellite can be the hub, or the satellite can relay traffic back to an earth station which is the hub

# Ethernet Shared Medium

• Ethernet is similar to Aloha, except it uses a wire as its shared medium
• on a short enough wire, senders can sense others' transmission and wait: Carrier Sense Multiple Access, CSMA
• if two senders are waiting for a frame to complete, they might start sending almost simultaneously, so we can still have collisions
• on ethernet, if we have a collision we wait a random time then try again
• every successive time we collide, we double the range of our random waiting time: exponential backoff
• after 16 collisions, we give up

# Ethernet Collision Detection

• on a radio, we cannot listen and transmit at the same time
• on a wire, we can!
• if the data I am sending is being received incorrectly by my own receiver, there must be a collision
• if so, I jam the wire (put an illegal electrical pattern on it) to make sure everyone detects the collision -- this is CSMA/CD
• CD requires a small enough "diameter" that everyone sees the same collisions
• Ethernet will start rejecting bursty packets at around 50% average load

# Modern Ethernet

• point-to-point links from end systems to hubs (or switches)
• a hub is the only place where collisions and medium sharing take place
• hubs can be connected to other hubs, up to about 2 -- more than 2, and collision detection becomes unreliable
• switches work like hubs, but optimize by only sending on the wire connecting to the destination
• speeds of 10Mb/s, 100Mb/s, 1Gb/s, and 10Gb/s
• different media for the point-to-point links: copper (CAT-5), fiber

# Wireless LANs

• station A and station C might both be in range of station B, but not in range of each other
• A sends a short Request To Send packet (RTS), including the length S of the packet it really wants to send
• B sends a short Clear To Send (CTS) packet, also including the same length S
• if A gets the CTS back, then anyone within range of either A or B knows to keep quiet for S bit times
• this is Carrier Sense Multiple Access with Collision Avoidance, CSMA/CA

# ATM Topology

• Asynchronous Transfer Mode, based on ideas from telephony: connections, point-to-point links
• central ATM switch accepts data from each end system, forwards it to the correct end-system (non-broadcast)
• one fiber for each connection in each direction
• star topology for end systems
• ATM switches can be interconnected arbitrarily, will forward data from one to another to the final destination
• Frame Relay is similar, but usually copper not fiber