We’re making these slides freely available to all (faculty, students, readers). They’re in PowerPoint form so you can add, modify, and delete slides (including this one) and slide content to suit your needs. They obviously represent a lot of work on our part. In return for use, we only ask the following:
If you use these slides (e.g., in a class) in substantially unaltered form, that you mention their source (after all, we’d like people to use our book!)
If you post any slides in substantially unaltered form on a www site, that you note that they are adapted from (or perhaps identical to) our slides, and note our copyright of this material.
Thanks and enjoy! JFK/KWR
All material copyright 1996-2006
J.F Kurose and K.W. Ross, All Rights Reserved
Computer Networking: A Top Down Approach , 4 th edition. Jim Kurose, Keith Ross Addison-Wesley, July 2007.
EDC= Error Detection and Correction bits (redundancy)
D = Data protected by error checking, may include header fields
Error detection not 100% reliable!
protocol may miss some errors, but rarely
larger EDC field yields better detection and correction
Parity Checking Single Bit Parity: Detect single bit errors Two Dimensional Bit Parity : Detect and correct single bit errors Odd or Even parity Total number of 1’s including the parity bit must be odd or even number Parity bit--odd Using even parity 0 0
The above calculations can easily be done using hardware Shift Registers --Binary division = a series of Shift followed by adds --When all Data bits are shifted, the Remainder will be on the Register(X 0 , X 1 , X 2 , X 3 ), then the Remainder will be sent Example shift register: CRC logic circuit Transmitted bits Data Shift control
Polynomial representation of Divisor -A carefully designed(chosen) divisor is used -A divisor is usually represented using a polynomial notation
Standard Polynomials -There are several standard Divisors that are adopted International standards -CRC-32 is used in many protocols (ISO 3309)---Ethernet, Token Ring, ….
Forward Error Correction--use an error-correction code
-Many FEC’s have been developed
Convolution Code=Reed-Solomon Code used in CD- ROMs
Trellis Code used in V.32 Modems
Echoplex—reiterate received message
Error detection codes
FEC(Forward Error Correction)
Example of FEC code—SECDED Hamming code The parity bit at 2**0 position (P 0 ) checks positions 1, 3, 5, 7, 9, 11 The parity bit at 2**1 position (P 1 ) checks positions 2, 3, 6, 7, 10, 11 The parity bit at 2**0 position (P 2 ) checks positions 4, 5, 6, 7 The parity bit at 2**0 position (P 3 ) checks positions 8, 9, 10, 11 P 0 P 1 P 2 P 3 P 0 = P 1 = P 2 = P 3 = At receiver, checks the parity and Put 0 if parity is correct Put 1 if parity is incorrect 1 0 0 1 1 0 1 11 10 9 8 7 6 5 4 3 2 1
FEC detailed example Example: Hamming code Single Error Correction Double Error Detection Hamming designed to have several parity bits in the following position: 2**0, 2**1, 2**2, 2**3 positions will have parity bits Other bit positions are for data bits
Example The parity bit at 2**0 position checks positions 1, 3, 5, 7, 9, 11 The parity bit at 2**1 position checks positions 2, 3, 6, 7, 10, 11 The parity bit at 2**0 position checks positions 4, 5, 6, 7 The parity bit at 2**0 position checks positions 8, 9, 10, 11 Let’s use Even Parity for this example:
Single bit error occurs Let’s say a single-bit error occurs in bit position 7:
Error correction The receiver checks parity bits to find the error:
IEEE 802 Standards List (to get the actual standards, go to http://standards.ieee.org/getieee802/portfolio.html ) 802.10 LAN Security 802.11 Wireless Networking 802.11a 54 Meg Wireless Network 802.11b 11 Meg wireless Network 802.11g 54/11 Meg wireless Network 802.12 Demand Priority Access LAN (100BaseVG-AnyLan) 802.14 Cable Modem 802.15 Wireless Personal Area Network 802.16 Wireless Metropolitan Area Networks 802.17 Resilient Packet Ring 802.18 LAN/MAN Standards Committee 802.19 Coexistence TAG 802.20 Mobile Broadband Wireless Access 802.21 Interoperability WG 802.9 Voice/Data Integration (IsoEnet) 802.8 Fiber Optic Technology 802.7 Broadband Technology 802.6 Distributed Queue Dual Bus (MAN) 802.5 Token Ring 802.4 Token Bus 802.3ae 10 Gigabit Ethernet 802.3z Gigabit Ethernet 802.3u Fast Ethernet 802.3 Ethernet (CSMA/CD) 802.2 Logical Link Control 802.1q VLAN Frame Tagging 802.1s Multiple Spanning Trees 802.1d Spanning Tree Protocol 802.1 Internetworking
IEEE 802 LAN Protocol Architecture 802.X = MAC layer + Physical layer
… choosing optimum p and then letting n -> infty ...
= 1/(2e) = .18
Even worse !
CSMA (Carrier Sense Multiple Access) Brewed from Aloha network
CSMA : listen before talk:
If channel sensed idle: transmit entire frame
If channel sensed busy, defer transmission
Human analogy: talking in a totally dark room
CSMA collisions collisions can still occur: propagation delay means two nodes may not hear each other’s transmission collision: entire packet transmission time wasted spatial layout of nodes note: role of distance & propagation delay in determining collision probability
easy in wired LANs: measure signal strengths, compare transmitted, received signals
difficult in wireless LANs: receiver shut off while transmitting
human analogy: the polite conversationalist
CSMA/CD collision detection D stops here B stops here These will not be transmitted
CSMA/CD A B time busy A ready B ready A & B listen before talk Channel becomes idle A & B transmits collison A & B detects collision and stops Use Binary Exponential Backoff algorithm—like tossing a coin Head No wait Tail 1 unit wait and try again
CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance
Controlled Access--“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
used to get frame from one interface to another physically-connected interface (same network)
48 bit MAC address (for most LANs) burned in the adapter ROM
LAN Addresses and ARP Each adapter on LAN has unique LAN address Broadcast address = FF-FF-FF-FF-FF-FF = adapter 1A-2F-BB-76-09-AD 58-23-D7-FA-20-B0 0C-C4-11-6F-E3-98 71-65-F7-2B-08-53 LAN (wired or wireless)
Goal: allow host to dynamically obtain its IP address from network server when it joins network
Can renew its lease on address in use
Allows reuse of addresses (only hold address while connected an “on”
Support for mobile users who want to join network (more shortly)
host broadcasts “ DHCP discover ” msg
DHCP server responds with “ DHCP offer ” msg
host requests IP address: “ DHCP request ” msg
DHCP server sends address: “ DHCP ack ” msg
DHCP client-server scenario 22.214.171.124 126.96.36.199 188.8.131.52 184.108.40.206 220.127.116.11 18.104.22.168 22.214.171.124 126.96.36.199 188.8.131.52 184.108.40.206 A B E DHCP server arriving DHCP client needs address in this network
The formal specification for the Ethernet was published in 1980 by a multi-vendor consortium and called as DIX(DEC-Intel-Xerox) Ethernet specification. This specification resulted in an open, production-quality Ethernet system that operated at 10 Mbps on a coaxial cable. Ethernet version 1.0 and 2.0 were developed. This technology was studied by the LAN standards committee of IEEE (IEEE 802 project). IEEE published the standard in 1985 with the formal title of “IEEE 802.3 Carrier Sense Multiple Access with Collision Detection (CSMA/CD) Access Method and Physical Layer Specifications” which is commonly known as Ethernet or IEEE 802.3 which is pronounced "eight oh two dot three." The IEEE 802.x standards have been adopted by ANSI (ANSI X3.xxx) as U.S. national standard and also adopted by ISO (ISO 8802.x) as international standard. Ethernet (by DIX) has evolved to Version 2. Ethernet Version 2 and IEEE 802.3 can coexist. IEEE 802.3 protocol covers MAC layer and Physical layer. CSMA/CD (IEEE 802.3 MAC layer): CSMA/CD (Carrier Sense Multiple Access with Collision Detection) · In short, CSMA/CD is “Contention-based, listen-before-talk, binary-exponential backoff when collision detected.” · Carrier Sense: “Listen Before Talk”—stations listen (sense) whether there is traffic on the shared medium. · Multiple Access: More than one station can be connected on the shared medium and contend for the right to send. · Collision Detection: Each station can detect when there has been a collision (transmissions (multiple access) from two or more stations that interfere with each other) · Every station that collided uses BEB (Binary Exponential Backoff) algorithm to resolve the collision. Ethernet
CSMA/CD CSMA/CD works in the following way: When a station needs to send, it first listens to the medium (senses whether the carrier is present or not). If there is a signal present (a station is already transmitting) then the station waits until it is done. If there is no signal (no station is transmitting), the station starts sending. While a station is transmitting, it also listens to the medium. If a station detects a collision (by comparing the sending signal and received signal), the station stops the transmission immediately and start sending a short burst of “jamming signals” to ensure that every station can detect the collision. After jamming, the collided stations will carry out the BEB (Binary Exponential Backoff) algorithm to resolve the situation. BEB (Binary Exponential Backoff) algorithm: Each station which experience a collision calculates a “Backoff Time” and waits for the Backoff Time and go back to the listen mode. Backoff Time is calculated as follows: Backoff Time = Slot time * Random number R (Slot time is the round trip time for a signal traveling on the maximum length of an Ethernet = 2500M. It is defined as 512 bit times for Ethernet networks operating at 10 Mbps and 100 Mbps, and 4096 bit times for Gigabit Ethernet.) 0 <= R < 2k k= min(n, 10) n= nth attempt n=0 0 <= R < 1 ----> No wait---0th attempt(=1st try) n=1 0<= R < 2 -----> 0 or 1 wait n=2 0<= R < 4 ----> 0, 1, 2, or 3 wait ... n=10 0<= R < 1024 n=11 to n=15 0<= R < 1024 After 16th try, it is reported as an error.
Ethernet’s success The newer generation LANs are typically used as backbones that interconnect existing slower speed LANs together and also connect high speed servers to networks. Also, from the third generations, the main media are fiber optic cables since the twisted pairs are reaching their maximum capacity. Another important feature in newer generations is “Auto-negotiation” which makes older generation Ethernet coexist with newer generation. A newer generation Ethernet hubs (and switches) are usually equipped with the feature. A hub (or a switch) with the feature can detect the speed of incoming link and automatically adjust the port speed.
Compatibility with older generations
Autonegotiation NLP(Normal Link Pulse) FLP(Fast Link Pulse)
Ethernet Backbone Hub with 10/100 BaseT ports Servers with 10/100 BaseT NIC Summary on Ethernet: http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/ethernet.htm 10 BaseT Hub 10 BaseT Hub 10 BaseT Hub 100 BaseT Hub
Before exchanging network-layer data, data link peers must
configure PPP link (max. frame length, authentication)
for IP: carry IP Control Protocol (IPCP) msgs (protocol field: 8021) to configure/learn IP address
PPP over Ethernet PPPoE and TCP/IP protocol stack PPPoE , Point-to-Point Protocol over Ethernet , is a network protocol for encapsulating PPP frames in Ethernet frames. It is used mainly with ADSL services. It offers standard PPP features such as authentication, encryption, and compression. Unfortunately it has an MTU lower than that of standard Ethernet which can sometimes cause problems with badly configured firewalls . PPPoE is a tunneling protocol which allows one to layer IP , or other protocols that run over PPP, over a connection between two Ethernet ports, but with the software features of a PPP link, so it is used to virtually "dial" to another Ethernet machine and make a point to point connection with it, which is then used to transport IP packets, based on the features of PPP. Ethernet PPPoE PPP Network access IPv6 IP Network UDP TCP Transport … DNS … HTTP SMTP FTP Application
Network Architecture Internet ATM ATM ATM ATM Service Model best effort CBR VBR ABR UBR Bandwidth none constant rate guaranteed rate guaranteed minimum none Loss no yes yes no no Order no yes yes yes yes Timing no yes yes no no Congestion feedback no (inferred via loss) no congestion no congestion yes no Guarantees ?
forwards packets to outgoing interface based only on label value (don’t inspect IP address)
MPLS forwarding table distinct from IP forwarding tables
signaling protocol needed to set up forwarding
forwarding possible along paths that IP alone would not allow (e.g., source-specific routing) !!
use MPLS for traffic engineering
must co-exist with IP-only routers
MPLS forwarding tables R1 R2 D R3 R4 R5 0 1 0 0 A R6 in out out label label dest interface 10 A 0 12 D 0 1 0 8 A 1 in out out label label dest interface 6 - A 0 in out out label label dest interface 10 6 A 1 12 9 D 0 in out out label label dest interface 8 6 A 0