Title: School of Computing Science
1- School of Computing Science
- Simon Fraser University
- CMPT 880 Internet Architectures and Protocols
- Introduction IV
- Instructor Dr. Mohamed Hefeeda
-
2Review of Basic Networking Concepts
- Internet structure
- Protocol layering and encapsulation
- Internet services and socket programming
- Network Layer
- Network types Circuit switching, Packet
switching - Addressing, Forwarding, Routing
- Transport layer
- Reliability, congestion and flow control
- TCP, UDP
- Link Layer
- Multiple Access Protocols
- Ethernet, MAC addressing
3Link Layer
- Some terminology
- hosts and routers are nodes
- communication channels that connect adjacent
nodes along communication path are links - wired links
- wireless links
- LANs
- layer-2 packet is a frame, encapsulates datagram
data-link layer has responsibility of
transferring datagram from one node to adjacent
node over a link
4Link layer context
- transportation analogy
- trip from Burnaby to Lausanne, Switzerland
- limo Burnaby to YVR
- plane YVR to Geneva
- train Geneva to Lausanne
- tourist datagram
- transport segment communication link
- transportation mode link layer protocol
- travel agent routing algorithm
- Datagram transferred by different link protocols
over different links - e.g., Ethernet on first link, frame relay on
intermediate links, 802.11 on last link - Each link protocol provides different services
- e.g., may or may not provide rdt over link
5Link Layer Services
- Framing, link access
- encapsulate datagram into frame, adding header,
trailer - channel access if shared medium
- MAC addresses used in frame headers to identify
source, dest - different from IP address!
- Reliable delivery between adjacent nodes
- we learned how to do this already (chapter 3)!
- seldom used on low bit error link (fiber, some
twisted pair) - wireless links high error rates
- Q why both link-level and end-end reliability?
- LL local correction (bet adjacent nodes) ?
faster - e-2-e is still needed because not all LL
protocols provide reliability
6Link Layer Services (more)
- Flow Control
- pacing between adjacent sending and receiving
nodes - Error Detection
- errors caused by signal attenuation, noise
- receiver detects presence of errors
- signals sender for retransmission or drops frame
- Error Correction
- receiver identifies and corrects bit error(s)
without resorting to retransmission - Half-duplex and full-duplex
- with half duplex, nodes at both ends of link can
transmit, but not at same time
7Adaptors Communicating
datagram
rcving node
link layer protocol
sending node
adapter
adapter
- receiving side
- looks for errors, rdt, flow control, etc
- extracts datagram, passes to rcving node
- adapter is semi-autonomous
- link physical layers
- link layer implemented in adaptor (aka NIC)
- Ethernet card, PCMCI card, 802.11 card
- sending side
- encapsulates datagram in a frame
- adds error checking bits, rdt, flow control, etc.
8Multiple Access Links and Protocols
- Two types of links
- point-to-point
- Single sender and single receiver
- E.g., dial-up links ? point-to-point protocol
(PPP) - broadcast (shared wire or medium)
- Multiple senders and multiple receivers
- E.g., traditional Ethernet, 802.11 wireless LAN
- ? need Multiple Access protocol (MAC)
9Multiple Access protocols
- Two or more simultaneous transmissions on a
shared channel ? interference (collision) - Collision node receives two or more signals at
the same time - Multiple Access (MAC) protocol
- distributed algorithm that determines how nodes
share channel, i.e., determine when node can
transmit - communication about channel sharing must use
channel itself! - no out-of-band channel for coordination
10MAC Protocols a taxonomy
- Three broad classes
- Channel Partitioning
- Channel Partitioning, by time, frequency or code
- TDMA, FDMA, CDMA
- Random Access
- channel not divided, allow collisions
- recover from collisions
- Taking turns
- Nodes take turns, but nodes with more to send can
take longer turns - E.g., Token bus and token ring
11Random 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
12CSMA (Carrier Sense Multiple Access)
- CSMA listen before transmit
- If channel sensed idle transmit entire frame
- If channel sensed busy, defer transmission
- Can collisions still occur?
- Yes, because of propagation delay
- two nodes may not hear each others transmission
- During collision, entire packet transmission time
is wasted ? detect collision and abort
immediately (CSMA/CD)
13Ethernet
- dominant wired LAN technology
- cheap 20 for 100Mbs!
- first widely used LAN technology
- Simpler, cheaper than token LANs and ATM
- Kept up with speed race 10 Mbps 10 Gbps
Metcalfes Ethernet sketch
14Star topology
- Bus topology popular through mid 90s
- Now star topology prevails
- Connection choices hub or switch (more later)
hub or switch
15Ethernet Frame Structure
- Sending adapter encapsulates IP datagram (or
other network layer protocol packet) in Ethernet
frame - Preamble
- 7 bytes with pattern 10101010 followed by one
byte with pattern 10101011 - used to synchronize receiver, sender clock rates
16Ethernet Frame Structure (more)
- Addresses 6 bytes
- if adapter receives frame with matching
destination address, or with broadcast address
(e.g., ARP packet), it passes data in frame to
net-layer protocol - otherwise, adapter discards frame
- Type indicates the higher layer protocol (mostly
IP but others may be supported such as Novell IPX
and AppleTalk) - CRC checked at receiver, if error is detected,
the frame is simply dropped
17Unreliable, connectionless service
- Connectionless No handshaking between sending
and receiving adapter. - Unreliable receiving adapter doesnt send acks
or nacks to sending adapter - stream of datagrams passed to network layer can
have gaps - gaps will be filled if app is using TCP
- otherwise, app will see the gaps
18Ethernet CSMA/CD algorithm
- 1. Adaptor receives datagram from net layer
creates frame - 2. If adapter senses channel idle, it starts to
transmit frame. If it senses channel busy, waits
until channel idle and then transmits - 3. If adapter transmits entire frame without
detecting another transmission, the adapter is
done with frame!
- 4. If adapter detects another transmission while
transmitting, aborts and sends jam signal - 5. After aborting, adapter enters exponential
backoff after the mth collision, adapter chooses
K at random from 0,1,2,,2m-1. Adapter waits
K?512 bit times and returns to Step 2
19Ethernets CSMA/CD (more)
- Jam Signal make sure all other transmitters are
aware of collision 48 bits - Bit time 0.1 microsec for 10 Mbps Ethernet for
K1023, wait time is about 50 msec -
- Exponential Backoff
- Goal adapt retransmission attempts to estimated
current load - heavy load random wait will be longer
- first collision choose K from 0,1 delay is K?
512 bit transmission times - after second collision choose K from 0,1,2,3
- after ten collisions, choose K from
0,1,2,3,4,,1023
See/interact with Java applet on AWL Web
site highly recommended !
20CSMA/CD efficiency
- Tprop max prop between 2 nodes in LAN
- ttrans time to transmit max-size frame
- Efficiency goes to 1 as tprop goes to 0
- Goes to 1 as ttrans goes to infinity
- Much better than ALOHA, but still decentralized,
simple, and cheap
21Hubs
- Hubs are essentially physical-layer repeaters
- bits coming from one link go out all other links
- at the same rate
- no frame buffering
- no CSMA/CD at hub adapters detect collisions
- provides net management functionality
22Interconnecting with hubs
- Backbone hub interconnects LAN segments
- Extends max distance between nodes
- But individual segment collision domains become
one large collision domain - Cant interconnect 10BaseT 100BaseT
hub
hub
hub
hub
23Switch
- Link layer device
- stores and forwards Ethernet frames
- examines frame header and selectively forwards
frame based on MAC dest address - when frame is to be forwarded on segment, uses
CSMA/CD to access segment - transparent
- hosts are unaware of presence of switches
- plug-and-play, self-learning
- switches do not need to be configured
24Forwarding
1
3
2
- How to determine onto which LAN segment to
forward frame? - Looks like a routing problem...
25Self learning
- A switch has a switch table
- entry in switch table
- (MAC Address, Interface, Time Stamp)
- stale entries in table dropped (TTL can be 60
min) - switch learns which hosts can be reached through
which interfaces - when frame received, switch learns location of
sender incoming LAN segment - records sender/location pair in switch table
26Switch example
- Suppose C sends frame to D
address
interface
switch
1
A B E G
1 1 2 3
3
2
hub
hub
hub
A
I
F
D
G
B
C
H
E
- Switch receives frame from C destined to D
- notes in switch table that C is on interface 1
- because D is not in table, switch forwards frame
into interfaces 2 and 3 - frame received by D
27Switch traffic isolation
- switch installation breaks subnet into LAN
segments - switch filters packets
- same-LAN-segment frames not usually forwarded
onto other LAN segments - segments become separate collision domains
collision domain
collision domain
collision domain
28Switches dedicated access
- Switch with many interfaces
- Hosts have direct connection to switch
- No collisions full duplex
- Switching A-to-A and B-to-B simultaneously, no
collisions
A
C
B
switch
C
B
A
29Institutional network
mail server
to external network
web server
router
switch
IP subnet
hub
hub
hub
30Switches vs. Routers
- both store-and-forward devices
- Routers network layer devices
- Switches link layer devices ? faster processing
- Routers maintain routing tables, implement
routing algorithms - handle complex topologies, find efficient paths
- Switches maintain switch tables, implement
learning algorithms - handle simpler (spanning tree) topologies, paths
may not be optimal
31MAC Addresses
- 32-bit IP address
- network-layer address
- used to get datagram to destination IP subnet
- MAC (or LAN or physical or Ethernet) address
- 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
32MAC Address
Each adapter on LAN has unique LAN address
Broadcast address FF-FF-FF-FF-FF-FF
adapter
33MAC Address (more)
- MAC address allocation administered by IEEE
- manufacturer buys portion of MAC address space
(to assure uniqueness) - Analogy
- (a) MAC address like Social Insurance
Number - (b) IP address like postal address
- MAC flat address ? portability
- can move LAN card from one LAN to another
- IP hierarchical address ? NOT portable
- depends on IP subnet to which node is attached
34MAC and IP addresses
- Why do we have TWO addresses (IP,MAC)? Do we have
to have MAC addresses? - Yes, we must have both
- To allow different network-layer protocols over
same card (e.g., IP, Novell IPX, DECnet) - Enable flexibility, mobility of cards
- Efficiency imagine that nodes have only IP
addresses ? ALL packets sent over LAN will be
forwarded by NIC to the IP layer ? too many
useless interrupts
35ARP Address Resolution Protocol
- Each IP node (Host, Router) on LAN has ARP table
- ARP Table IP/MAC address mappings for some LAN
nodes - lt IP address MAC address TTLgt
- TTL (Time To Live) time after which address
mapping will be forgotten (typically 20 min)
237.196.7.78
1A-2F-BB-76-09-AD
237.196.7.23
237.196.7.14
LAN
71-65-F7-2B-08-53
58-23-D7-FA-20-B0
0C-C4-11-6F-E3-98
237.196.7.88
36ARP protocol Same LAN (network)
- A caches (saves) IP-to-MAC address pair in its
ARP table until information becomes old (times
out) - soft state information that times out (goes
away) unless refreshed - ARP is plug-and-play
- nodes create their ARP tables without
intervention from net administrator
- A wants to send datagram to B, and Bs MAC
address not in As ARP table. - A broadcasts ARP query packet, containing B's IP
address - Dest MAC address FF-FF-FF-FF-FF-FF
- all machines on LAN receive ARP query
- B receives ARP packet, replies to A with its
(B's) MAC address - frame sent to As MAC address (unicast)
37Routing to another LAN
- walkthrough send datagram from A to B via R
- assume A knows Bs IP
address - Two ARP tables in router R, one for each IP
network (LAN)
A
R
B
38Routing to another LAN (contd)
- Detailed steps
- A creates datagram with source A, destination B
- A uses ARP to get Rs MAC address for
111.111.111.110 - A creates link-layer frame with R's MAC address
as dest, frame contains A-to-B IP datagram - As adapter sends frame
- Rs adapter receives frame
- R removes IP datagram from Ethernet frame, sees
its destined to B - R uses ARP to get Bs MAC address
- R creates frame containing A-to-B IP datagram
sends to B