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:
x^{32} + x^{26} + x^{23} + x^{22} + x^{16} + x^{12} + x^{11} + x^{10} + x^{8} + x^{7} + x^{5} + x^{4} + x^{2} + x + 1 (Ethernet, ATM)
- example: x^{8} + x^{2} + 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 x^{32}, 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: x^{8} + x^{2} + 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(n^{2})
- 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 f_{1} carries data from end systems to
hub, f_{2} 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