4: Network Layer 4a-1
Chapter 4 – The Network Layer &Routing network
data linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
application
transportnetworkdata linkphysical
The network layer moves transport layer segments from host to host in the network, to deliver them to their destination. This layer involves each and every host and router in the network. We will study the key principles and algorithms of routing, with a focus on the Internet Protocol (IP) service model.
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
4: Network Layer 4a-2
Network layer functions
transport packet from sending to receiving hosts
network layer protocols in every host, router
three important functions: path determination: route
taken by packets from source to destination - routing algorithms
switching: move packets from router’s input to appropriate router output
call setup: some network architectures require router call setup along path before data flows (what types?)
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
4: Network Layer 4a-3
Virtual circuits
call setup, teardown for each call before data can flow each packet carries VC identifier (not destination host ID) every router/switch on source-destination path maintains a
“state” for each passing connection Recall: transport-layer connection only involved two end
systems link and router resources (bandwidth, buffers) may be
dedicated to the VC to get circuit-like performance but… what about start-up delay?
the source-to-destination path behaves much like a telephone circuit performance-wise network actions along source-to-destination path
4: Network Layer 4a-4
Virtual circuits: signaling protocols
used to setup, maintain and teardown the VC used in ATM, frame-relay and X.25 not used in the Internet (why?)
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1. Initiate call 2. incoming call
3. Accept call4. Call connected5. Data flow begins 6. Receive data
4: Network Layer 4a-5
Datagram networks: the Internet model no call setup at network layer routers: do not maintain state for the end-to-end
connections no network-level concept of a “connection”
packets are typically routed using only destination host ID which is carried in the packet packets between same source-destination pair may
take different paths
application
transportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1. Send data 2. Receive data
4: Network Layer 4a-6
Summary: Datagram or VC network… why?Internet data exchange among
computers “elastic” service, no
strict timing required (data delivery)
“smart” end systems (computers) can adapt, perform
control, error recovery complexity at “edge”,
simple in network core many link types
different characteristics uniform service difficult
ATM evolved from telephony human conversation:
strict timing, reliability requirements
need for guaranteed service
“dumb” end systems telephones,
“videophones” complexity inside the
networkConsider: IP over ATM(more later)
4: Network Layer 4a-7
Routing
Graph abstraction for routing algorithms:
graph nodes are routers graph edges are
physical links link cost: delay, distance,
# of hops, rate structure or congestion level = $$
Other costs??
Goal: determine a “good” path
(sequence of routers) thru the network from the
source to the destination
Routing protocol
A
ED
CB
F
2
2
13
1
1
2
53
5
“good” path: typically means
minimum cost path other definitions also
possible
4: Network Layer 4a-8
A Link-State Routing Algorithm
Dijkstra’s algorithm net topology, link costs
known to all nodes accomplished via “link
state broadcast” all nodes have same
info computes least cost paths
from one node (“source”) to all other nodes yields a routing table
for that node iterative: after k
iterations, know least cost path to k destinations
Notation: c(i,j): link cost from node i
to node j. Cost is initially infinite if not a direct neighbor
D(v): current computed value of cost of the path from the source to destination v
p(v): predecessor node, that is a neighbor of v, along the path from the source to v
N: set of nodes whose least cost path is definitively known
4: Network Layer 4a-9
Dijsktra’s Algorithm
1 Initialization: 2 N = {A} // Source node is “A”3 for all nodes v 4 if v adjacent to A 5 then D(v) = c(A,v) 6 else D(v) = infinity 7 8 Loop 9 find w not in N such that D(w) is a minimum 10 add w to N 11 update D(v) for all v adjacent to w and not in N: 12 D(v) = min( D(v), D(w) + c(w,v) ) 13 /* new cost to v is either old cost to v or known 14 shortest path cost to w plus cost from w to v */ 15 until all nodes in N
A
ED
CB
F2
21
3
1
1
2
53
5
4: Network Layer 4a-10
Dijkstra’s algorithm: example
Step012345
start NA
ADADE
ADEBADEBC
ADEBCF
D(B),p(B)2,A2,A2,A
- -
D(C),p(C)5,A4,D3,E3,E
-
D(D),p(D)1,A
- - - -
D(E),p(E)infinity
2,D- - -
D(F),p(F)infinityinfinity
4,E4,E4,E
A
ED
CB
F
2
2
13
1
1
2
53
5
4: Network Layer 4a-11
Distance Vector Routing Algorithm
iterative: continues until no
nodes exchange info. self-terminating: no
“signal” to stop
asynchronous: nodes need not
exchange info/iterate in lock step!
distributed: each node
communicates only with directly-attached neighbors
Distance Table data structure each node has its own row for each possible destination column for each directly-
attached neighbor to node example: in node X, for
destination Y via neighbor Z:
DX(Y,Z)
distance from X toY, via Z as next hop
c(X,Z) + minw {DZ(Y,w)}
=
=
4: Network Layer 4a-12
Distance Table: example
A
E D
CB7
8
1
2
1
2
D ()
A
B
C
D
A
1
7
6
4
B
14
8
9
11
D
5
5
4
2
Ecost to destination via
dest
inat
ion
D (C,D)E
c(E,D) + min {D (C,w)}D
w== 2+2 = 4
D (A,D)E
c(E,D) + min {D (A,w)}D
w== 2+3 = 5
D (A,B)E
c(E,B) + min {D (A,w)}B
w== 8+6 = 14
loop back through E!
loop back through E!
4: Network Layer 4a-13
Distance table gives routing table
D ()
A
B
C
D
A
1
7
6
4
B
14
8
9
11
D
5
5
4
2
Ecost to destination via
dest
inat
ion
A,1
D,5
D,4
D,2
Outgoing link to use, cost
dest
inat
ion
Distance table Routing table
E
A
B
C
D
4: Network Layer 4a-14
Distance Vector Algorithm(Bellman-Ford):
1 Initialization: 2 for all adjacent nodes v: 3 D (*,v) = infinity /* the * operator means "for all rows" */ 4 D (v,v) = c(X,v) 5 for all destinations, y 6 send min D (y,w) to each neighbor /* w over all X's neighbors */
XX
Xw
At all nodes, X:
4: Network Layer 4a-15
Distance Vector Algorithm (cont.):8 loop 9 wait (until I see a link cost change to neighbor V 10 or until I receive update from neighbor V) 11 12 if (c(X,V) changes by d) 13 /* change cost to all dest's via neighbor v by d */ 14 /* note: d could be positive or negative */ 15 for all destinations y: D (y,V) = D (y,V) + d 16 17 else if (update received from V wrt destination Y) 18 /* shortest path from V to some Y has changed */ 19 /* V has sent a new value for its min DV(Y,w) */ 20 /* call this received new value is "newval" */ 21 for the single destination y: D (Y,V) = c(X,V) + newval 22 23 if we have a new min D (Y,w)for any destination Y 24 send new value of min D (Y,w) to all neighbors 25 26 forever
w
XX
XX
X
w
w
4: Network Layer 4a-16
Distance Vector: link cost changes
Link cost changes: node detects local link cost
change updates distance table (line 15) if cost change in least cost path,
notify neighbors (lines 23,24)
X Z14
50
Y1
algorithmterminates“good
news travelsfast”
4: Network Layer 4a-17
Distance Vector: link cost changes
Link cost changes: good news travels fast bad news travels slowly -
“count to infinity” problem! X Z14
50
Y60
algorithmcontinues
on!
Y Y Y
4: Network Layer 4a-18
Distance Vector: poisoned reverse
If Z routes through Y to get to X : Z tells Y its (Z’s) distance to X is infinite (so
Y won’t route to X via Z) will this completely solve count to infinity
problem? X Z
14
50
Y60
algorithmterminatesY Y Y Y
4: Network Layer 4a-19
Comparison of LS and DV algorithms
Message complexity LS: with n nodes, E links,
O(nE) msgs sent/broadcast DV: exchange between
neighbors only convergence time varies
Speed of Convergence LS: O(n2) algorithm requires
O(nE) msgs may have oscillations
DV: convergence time varies may be routing loops count-to-infinity problem
• poisoned reverse is sometimes successful
Robustness: what happens if router malfunctions?
LS: node can advertise
incorrect link cost each node computes
only its own table
DV: DV node can advertise
incorrect path cost each node’s table used
by others • errors propagate
through the network
4: Network Layer 4a-20
Hierarchical Routing
scale: with 55 million+ destination hosts:
can’t store all destinations in routing tables!
routing table exchange would swamp links!
administrative autonomy
internet = network of networks
each network admin may want to control routing in its own network
Our routing study thus far – an idealization all routers are identical the network is “flat”
… … notnot true in practice true in practice
Why?Why?
4: Network Layer 4a-21
Hierarchical Routing
aggregate routers into regions, called “autonomous systems” (AS)
routers in same AS run same routing protocol “intra-AS” routing
protocol routers in different AS
can run different intra-AS routing protocol
special routers in AS run intra-AS routing
protocol with all other routers in AS
also responsible for routing to destinations outside AS run inter-AS routing
protocol with other gateway routers
gateway routers
4: Network Layer 4a-22
Intra-AS and Inter-AS routing
Gateways:•perform inter-AS routing amongst themselves•perform intra-AS routers with other routers in their AS
inter-AS, intra-AS routing in
gateway A.c
network layer
data link layerphysical layer
a
b
b
aaC
A
Bd
A.a
A.c
C.bB.a
cb
c
4: Network Layer 4a-23
Intra-AS and Inter-AS routing
Host h2
a
b
b
aaC
A
Bd c
A.a
A.c
C.bB.a
cb
Hosth1
Intra-AS routingwithin AS A
Inter-AS routingbetween A and B
Intra-AS routingwithin AS B
We’ll examine specific inter-AS and intra-AS Internet routing protocols shortly (section 4.5)
4: Network Layer 4a-24
The Internet Network layer
routingtable
Host, router network layer functions… three major components:
Routing protocols•path selection•RIP, OSPF, BGP
IP protocol•addressing conventions•datagram format•packet handling conventions
ICMP protocol•error reporting•router “signaling”
Transport layer: TCP, UDP
Link layer
Physical layer
Networklayer
4: Network Layer 4a-25
IP Addressing: introduction IP address: 32-bit
identifier for host or router interface
interface: connection between host or router and the physical link routers typically
have multiple interfaces
hosts typically have only one
IP addresses are associated with the interface, not the host or the router
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
223.1.1.1 = 11011111 00000001 00000001 00000001
223 1 11
dotted-decimal notation:
4: Network Layer 4a-26
IP Addressing IP address:
network part (high order bits)
host part (low order bits)
What’s a network ? (from the IP address perspective) device interfaces
with the same network part of their IP address
hosts can physically reach each other without an intervening router
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
Example: network consisting of 3 IP networks (for IP addresses starting with 223, the first 24 bits are the network address – more later)
LAN
4: Network Layer 4a-27
IP Addresses
0network
10 network host (16 bits)
110 network host (8 bits)
1110 multicast address (28 bits)
A
B
C
D
class1.0.0.0 to127.255.255.255
128.0.0.0 to191.255.255.255
192.0.0.0 to223.255.255.255
224.0.0.0 to239.255.255.255
32 bits
Given the notion of a “network”, let’s look closer at IP addresses:
“classful” addressing -
host (24 bits)
What is the address space size (number of hosts) for each class?
27 = 127 networks 224 = 16.8 million+ hosts
214 = 16,384 networks 216 = 65,536 hosts
221 = 2 million+ networks 28 = 256 hosts
24 = 16 networks 228 = 268.4 million+ hosts
4: Network Layer 4a-28
IP addressing: CIDR classful addressing:
inefficient use of address space, address space exhaustion
e.g., class B network is allocated enough addresses for 65K hosts, even if only 2K hosts exist in that network
CIDR: Classless InterDomain Routing network portion of address of arbitrary length address format: a.b.c.d/x, where x is # bits in the network
portion of an address
11001000 00010111 00010000 00000000
networkpart
hostpart
200.23.16.0/23
4: Network Layer 4a-29
IP addresses: how to get one?
Hosts (host portion): hard-coded by system admin in a file DHCP: Dynamic Host Configuration Protocol:
dynamically get address (RFC 2131): “plug-and-play” 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
4: Network Layer 4a-30
IP addresses: how to get one?
Network (network portion): get allocated portion of ISP’s address
space:ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20
Organization 0 11001000 00010111 00010000 00000000 200.23.16.0/23
Organization 1 11001000 00010111 00010010 00000000 200.23.18.0/23
Organization 2 11001000 00010111 00010100 00000000 200.23.20.0/23 ... ….. …. ….
Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23
4: Network Layer 4a-31
Getting a datagram from source to dest.
IP datagram:
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
A
BE
misc.fields
sourceIP addr
destIP addr data
addresses remain unchanged, as the datagram travels from source to destination
address fields of interest here (provided by the source host A)
dest. net. next router #hops
223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2
routing table* in A
* Note – more on this later
4: Network Layer 4a-32
Getting a datagram from source to dest.
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
A
BE
Starting at A, given an IP datagram addressed to B:
look up network address of B find B is on same network as A link layer will send datagram
directly to B inside link-layer frame B and A are directly connected
dest. net. next router #hops
223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2
miscfields223.1.1.1223.1.1.3data
4: Network Layer 4a-33
Getting a datagram from source to dest.
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
A
BE
dest. net. next router #hops
223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2
Starting at A, destination E:
look up network address of E E on different network
A, E not directly attached routing table: next hop router
to E is 223.1.1.4 link layer sends datagram to
router 223.1.1.4 inside link-layer frame
datagram arrives at 223.1.1.4 continued…..
miscfields223.1.1.1223.1.2.2 data
4: Network Layer 4a-34
Getting a datagram from source to dest.
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
A
BE
Arriving at 223.1.1.4, destined for 223.1.2.2
look up network address of E E on same network as
router’s interface 223.1.2.9 router, E directly
attached link layer sends datagram to
223.1.2.2 inside link-layer frame via interface 223.1.2.9
datagram arrives at 223.1.2.2!!!
miscfields223.1.1.1223.1.2.2 data network router #hops interface
223.1.1 - 1 223.1.1.4 223.1.2 - 1 223.1.2.9
223.1.3 - 1 223.1.3.27
dest. next
4: Network Layer 4a-35
IP datagram format
ver. datagram length
32 bits
data (variable length,typically a TCP
or UDP segment)
16-bit identifier
header checksum
time tolive
32 bit source IP address
IP protocol versionnumber
header length (bytes)
max number ofremaining hops
(decremented at each router)
forfragmentation/reassembly
total datagramlength (bytes)
upper layer protocolto deliver payload to
(e.g. TCP, UDP, … see RFC 1700)
head.len.
type ofservice
“type” of data flgsfragment
offsetupper layer
32 bit destination IP address
Options (if any) e.g. timestamp,record routetaken, specifylist of routers to visit (field israrely used in practice).
4: Network Layer 4a-36
IP Fragmentation & Reassembly network links have MTU
(Max. Transfer Unit) size - largest possible link-level frame. different link types,
different MTUs large IP datagram divided
(“fragmented”) within net one datagram becomes
several datagrams “reassembled” only at
final destination IP header bits used to
identify and order related fragments
fragmentation: in: one large datagramout: 3 smaller datagrams
reassembly
4: Network Layer 4a-37
IP Fragmentation and Reassembly
ID=x
offset=0
fragflag=0
length=4000
ID=x
offset=0
fragflag=1
length=1500
ID=x
offset=1480
fragflag=1
length=1500
ID=x
offset=2960
fragflag=0
length=1040
One large datagram becomesseveral smaller datagrams
4: Network Layer 4a-38
Internet AS HierarchyInter-AS border (exterior gateway) routers
Intra-AS interior (gateway) routers
4: Network Layer 4a-39
Intra-AS Routing
Also known as Interior Gateway Protocols (IGP) Most common IGPs:
RIP: Routing Information Protocol (legacy)
OSPF: Open Shortest Path First (common)
EIGRP: Enhanced Interior Gateway Routing Protocol (proprietary – Cisco Systems)
4: Network Layer 4a-40
RIP ( Routing Information Protocol)
Distance vector algorithm Included in BSD-UNIX Distribution in 1982
RFC 1058 (version 1), RFC 1723 (version 2)
Distance metric: # of hops (max = 15 hops) Can you guess why?
Distance vectors: exchanged every 30 seconds via Response Message (also called advertisement)
Each advertisement: routing info for maximum of 25 destination nets within the AS
4: Network Layer 4a-41
RIP Table processing
RIP routing tables managed by application-level process called route-d (UNIX daemon)
advertisements sent in UDP packets, periodically repeated
4: Network Layer 4a-42
RIP Table example (continued)
Router: giroflee.eurocom.fr
Three attached class C networks (LANs) Router only knows routes to attached LANs Default router used to “go up” to next logical level Route multicast address: 224.0.0.0 Loopback interface (for debugging)
Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ------ --------- 127.0.0.1 127.0.0.1 UH 0 26492 lo0 192.168.2. 192.168.2.5 U 2 13 fa0 193.55.114. 193.55.114.6 U 3 58503 le0 192.168.3. 192.168.3.5 U 2 25 qaa0 224.0.0.0 193.55.114.6 U 3 0 le0 default 193.55.114.129 UG 0 143454
4: Network Layer 4a-43
OSPF “advanced” features (not in RIP)
Security: all OSPF messages are authenticated (to prevent malicious intrusion); TCP connections used
Multiple same-cost paths allowed (only one path in RIP)
For each link, multiple cost metrics for different Types Of Service (e.g., satellite link cost set “low” for best effort; high for real time)
Integrated uni- and multicast support: Multicast OSPF (MOSPF) uses same topology data base
as OSPF
Hierarchical OSPF in large domains.
4: Network Layer 4a-44
Hierarchical OSPF
4: Network Layer 4a-45
Hierarchical OSPF
Two-level hierarchy: local area and backbone. link-state advertisements only in local area each node has detailed area topology; only know
direction (shortest path) to nets in other areas. Area border routers: “summarize” distances to
nets in own area, advertise to other Area Border routers.
Backbone routers: run OSPF routing, limited to backbone.
Boundary routers: connect to other ASs. (Note: synonymous with the “gateway routers” we discussed in section 4.3)
4: Network Layer 4a-46
Internet inter-AS routing: BGP
BGP (Border Gateway Protocol): the de facto standard
Path Vector protocol: similar to Distance Vector protocol each Border Gateway broadcasts to
neighbors (peers) the entire path (I.e, sequence of ASs) to destination
E.g., Gateway X may send its path to destination Z:
Path (X,Z) = X,Y1,Y2,Y3,…,Z
4: Network Layer 4a-47
Internet inter-AS routing: BGP
Suppose: gateway X send its path to peer gateway W
W may or may not select a path offered by X cost, policy (don’t route via competitors AS),
loop prevention reasons.
If W selects a path advertised by X, then:Path (W,Z) = W, Path (X,Z)
Note: X can control incoming traffic by controlling its route advertisements to peers: e.g., don’t want to route traffic to Z -> don’t
advertise any routes to Z
4: Network Layer 4a-48
Internet inter-AS routing: BGP
BGP messages exchanged using TCP. BGP messages:
OPEN: opens TCP connection to peer and authenticates sender
UPDATE: advertises new path (or withdraws old)
KEEPALIVE keeps connection alive in absence of UPDATES; also ACKs OPEN request
NOTIFICATION: reports errors in previous message; also used to close connection
4: Network Layer 4a-49
Why different Intra- and Inter-AS routing ?
Policy: Inter-AS: admin wants control over how its traffic
is routed, who routes through its net. Intra-AS: single admin, so no policy decisions
needed
Scale: hierarchical routing saves table size, reduces
update traffic
Performance: Intra-AS: can focus on performance Inter-AS: policy may dominate over performance
4: Network Layer 4a-50
Router Architecture Overview
Two key router functions:
run routing algorithms/protocol (RIP, OSPF, BGP) switch datagrams from incoming to outgoing link
4: Network Layer 4a-51
Input Port Functions
Decentralized switching: given datagram dest., lookup output port
using routing table in input port memory goal: complete input port processing at
‘line speed’ queuing: if datagrams arrive faster than
forwarding rate into switch fabric (i.e., the packet is “blocked”)
Physical layer:bit-level reception
Data link layer:e.g., Ethernetsee chapter 5
Problem: how long does it take to perform a lookup?
4: Network Layer 4a-52
Input Port Queuing
If routing fabric is slower than input ports combined -> queuing may occur at input queues
Head-of-the-Line (HOL) blocking: queued datagram at front of queue prevents others in queue from moving forward
queuing delay and loss due to input buffer overflow!
4: Network Layer 4a-53
Three types of switching fabrics
(interconnectionnetwork)
4: Network Layer 4a-54
Switching Via MemoryFirst generation routers: packet copied by system’s (single) CPU speed limited by memory bandwidth (2 system bus accesses per datagram)
InputPort
OutputPort
Memory
System Bus
Modern routers: input port processor performs lookup, copy into shared memory Cisco Catalyst 8500
DMA DMA
4: Network Layer 4a-55
Switching Via Bus
datagram from input port memory to output port memory via a
shared bus bus contention: switching speed
limited by bus bandwidth (only one packet at a time can use bus)
1 Gbps bus - Cisco 1900: sufficient speed for access and enterprise routers (not regional or backbone)
4: Network Layer 4a-56
Switching Via An Interconnection Network (commonly: Crossbar)
overcomes bus bandwidth limitations Banyan networks, other
interconnection nets initially developed to connect processors in multiprocessor design
advanced design: fragments datagram into fixed length cells, switches cells through the fabric.
Cisco 12000: switches up to 60 Gbps through the
interconnection network
4: Network Layer 4a-57
Output Ports
Buffering required when datagrams arrive from the fabric faster than the transmission rate
Scheduling discipline chooses among queued datagrams for transmission
4: Network Layer 4a-58
Output port queuing
buffering when arrival rate via switching fabric exceeds output line speed
queuing (delay) and loss due to output port buffer overflow!
Question: where is queuing most likely to occur?
4: Network Layer 4a-59
IPv6 Initial motivation: 32-bit address space
completely allocated (gone!) by 2008 (maybe sooner… maybe later!).
Additional motivation: header format changes were needed to
improve speed of processing and forwarding header changes were required to facilitate QoS a new “anycast” address was needed: route to
“best” of several replicated servers IPv6 datagram format:
fixed-length 40 byte header (32 for addresses) no fragmentation allowed
4: Network Layer 4a-60
IPv6 HeaderPriority: identify priority among datagrams in flowFlow Label: identify datagrams in same “flow.” (concept of “flow” not well defined).Next header: identify upper layer protocol for data
ver. class flow label 8 bytes
32 bytes
4: Network Layer 4a-61
Other Changes from IPv4
Fragmentation: not allowed/supported Checksum: removed entirely to reduce
processing time at each hop Options: allowed, but outside of header,
indicated by “Next Header” field ICMPv6: new version of ICMP
additional message types, e.g. “Packet Too Big”
multicast group management functions (IGMP)
4: Network Layer 4a-62
Transition From IPv4 To IPv6
Not all routers can be upgraded simultaneous no “flag days” (e.g. NCP to TCP attempt in c.
1981) How will the network operate with mixed IPv4
and IPv6 routers? Two proposed approaches (RFC 1933):
Dual Stack: some routers with dual stack (v6, v4) can “translate” between formats
Tunneling: IPv6 carried as payload in IPv4 datagram among IPv4 routers
4: Network Layer 4a-63
Dual Stack Approach
4: Network Layer 4a-64
Tunneling
IPv6 inside IPv4 where needed
4: Network Layer 4a-65
Multicast routing
IGMP message types: membership queries:
general or specific membership report:
host wants to join leave group: host
leaves a specific group
message format: Carried in IP datagram IP protocol # of 2
Internet multicast routing algorithms: DVMRP – distance
vector MOSPF – open shortest
path first CBT – core-based trees PIM – protocol
independent
Inter-autonomous routing: DVMRP – de facto
standard for multicast
4: Network Layer 4a-66
Chapter 5 – Link Layer & Local AreaNetworks
The link layer is responsible for the transport of network layer datagrams from node to node via established physical links. In this chapter we’ll study the principal services of this layer, and look at specific protocols employed in the LANs, hubs, bridges and switches in the Internet. We’ll also investigate Ethernet, ATM, X.25 and Frame Relay.
networkdata linkphysical
application
transportnetwork
data linkphysical
application
transportnetwork
data linkphysical
application
transportnetwork
data linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
4: Network Layer 4a-67
Link Layer: setting the context two physically connected devices:
host-router, router-router, host-host unit of data: frame
applicationtransportnetwork
linkphysical
networklink
physical
M
M
M
M
Ht
HtHn
HtHnHl MHtHnHl
framephys. link
data linkprotocol
adapter card
4: Network Layer 4a-68
applicationtransportnetwork
linkphysical
Link Layer: Implementation implemented in “adapter”
e.g., PCMCIA card, Ethernet card typically includes: RAM, DSP chips, host bus
interface, and physical link interface
networklink
physical
M
M
M
M
Ht
HtHn
HtHnHl MHtHnHl
framephys. link
data linkprotocol
adapter card
4: Network Layer 4a-69
Error DetectionEDC= 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
4: Network Layer 4a-70
Parity CheckingSingle Bit Parity:Detect single bit errors
Two Dimensional Bit Parity:Detect and correct single bit errors
What’s the problem withWhat’s the problem withthis method?this method?
What else can we do with this What else can we do with this method?method?
0 0
4: Network Layer 4a-71
Checksumming: Cyclic Redundancy Check view data bits, D, as a binary number choose r+1 bit pattern (generator), G goal: choose r CRC bits, R, such that
<D,R> exactly divisible by G (modulo 2) receiver knows G, divides <D,R> by G.
• non-zero remainder => error detected! can detect allall burst errors less than r+1 bits (Hamming) ATM 5-byte header uses 8-bit CRC IEEE GCRC-32 , 32-bit CRC for Ethernet, etc.
widely used in practice (ATM, HDLC)
4: Network Layer 4a-72
CRC ExampleWant:
D.2r XOR R = nGequivalently:
D.2r = nG XOR R equivalently: if we divide D.2r by
G, want reminder R
R = remainder[ ]D.2r
G
Must be r+1 bits long.High and low-order bits must be 1’s.
Yields:101110011
4: Network Layer 4a-73
Multiple Access Links and Protocols
Three types of “links”: point-to-point (single wire, e.g. PPP, SLIP,
HDLC) broadcast (shared wire or medium; e.g,
Ethernet, Wavelan, etc.)
switched (e.g., switched Ethernet, ATM, etc.)
4: Network Layer 4a-74
Multiple Access protocols single shared communication channel two or more simultaneous transmissions by nodes…
interference generally, only one node can send successfully at a time
multiple access protocol: distributed algorithm that determines how stations share
channel, i.e., determine when a station can transmit communication about channel sharing must use channel
itself! what to look for in multiple access protocols:
• synchronous or asynchronous • information needed about other stations • robustness (e.g., tolerance of channel errors) • performance and efficiency
4: Network Layer 4a-75
Multiple Access protocols
Desirable characteristics of a MAP channel of rate R bps: only one node sending… throughput is R
bps M nodes sending… average throughput is
R/M bps decentralized control… no master nodes
that control sending/receiving the protocol is simple and inexpensive to
implement MAC protocols: Media Access Control
often called the MAC sub-layer (of the data link layer)
4: Network Layer 4a-76
MAC Protocols: a taxonomy
Three broad classes: Channel Partitioning
divide channel into smaller “pieces” (time slots, frequency)
allocate piece to node for exclusive use
Random Access allow transmitted frames to collide “recover” from collisions
“Taking turns” tightly coordinate shared access to avoid collisions
Goal: efficient, fair, simple, decentralized
4: Network Layer 4a-77
Channel Partitioning MAC protocols: TDMA
TDMA: time division multiple access access to channel in "rounds" each station gets fixed length slot (length =
pkt transmission time) in each round unused slots go idle example: 6-station LAN – hosts 1,3,4 have
packets, time slots 2,5,6 idle
efficient?efficient? simple?simple?fair?fair? decentralized?decentralized?
4: Network Layer 4a-78
Channel Partitioning MAC protocols: FDMA
FDMA: frequency division multiple access channel spectrum divided into frequency bands each station assigned fixed frequency band unused transmission time in frequency bands goes idle example: 6-station LAN - hosts 1,3,4 have packets,
frequency bands 2,5,6 idle
frequ
ency
bands time
1
2
3
4
5
6
4: Network Layer 4a-79
Channel Partitioning (CDMA)
CDMA (Code Division Multiple Access) unique “code” assigned to each user; i.e., code set
partitioning used mostly in wireless broadcast channels (cellular,
satellite,etc) all users share same frequency/medium, but each user
has own “chipping” sequence (i.e., code) to encode data encoded signal = (original data) X (chipping sequence) decoding: inner-product of encoded signal and chipping
sequence allows multiple users to “coexist” and transmit
simultaneously with minimal interference (if codes are pairwise “orthogonal”)
4: Network Layer 4a-80
CDMA: two-sender interference
4: Network Layer 4a-81
CDMA: 4-sender example
Chipping Sequences for 4 nodes:
A: 00011011 A: (-1 –1 –1 +1 +1 –1 +1 +1)B: 00101110 B: (-1 –1 +1 –1 +1 +1 +1 –1)C: 01011100 C: (-1 +1 –1 +1 +1 +1 –1 –1)D: 01000010 D: (-1 +1 –1 –1 –1 –1 +1 –1)
Note: for all S and T,ST = 0
Example transmissions:
- - 1 - C S1: (-1 +1 –1 +1 +1 +1 –1 –1)- 1 1 - B + C S2: (-2 0 0 0 +2 +2 0 -2)1 0 - - A + B S3: (0 0 –2 +2 0 –2 0 +2)1 0 1 - A + B + C S4: (-1 +1 –3 +3 +1 –1 –1 +1)1 1 1 1 A + B + C + D S5: (-4 0 –2 0 +2 0 +2 -2)1 1 0 1 A + B + C + D S6: (-2 –2 0 –2 0 –2 +4 0)Example recovery of node C’s signal:
S1 C = (+1 +1 +1 +1 +1 +1 +1 +1 )/8 = 1
S2 C = (+2 +0 +0 +0 +2 +2 +0 +2)/8 = 1
S3 C = (0 +0 +2 +2 +0 –2 +0 -2)/8 = 0
S4 C = (+1 +1 +3 +3 +1 –1 +1 -1)/8 = 1
S5 C = (+4 +0 +2 +0 +2 +0 –2 +2)/8 = 1
S6 C = (+2 –2 +0 –2 +0 –2 –4 +0)/8 = -1
4: Network Layer 4a-82
Slotted Aloha efficiencyQ: what is max fraction of slots successful?A: Suppose N stations have packets to send
each transmits in slot with probability p probability of successful transmission S is:
by single node: S= p (1-p) (N-1)
S = Prob (only one transmits)
by any arbitrary node of the N nodes: = N p (1-p) (N-1)
… choosing optimum p as N -> infinity ...
= 1/e = .37 as N -> infinity
At best: channelis available for
successful (useful) transmissions 37%
of time!
4: Network Layer 4a-83
CSMA: Carrier Sense Multiple Access
CSMA: listen before transmit: If channel sensed as idle: transmit entire packet If channel sensed as busy: defer transmission
Persistent CSMA: retry immediately with probability p when channel becomes idle (may cause instability)
Non-persistent CSMA: retry after random interval human analogy: be polite and wait your turn, don’t
interrupt others!
4: Network Layer 4a-84
CSMA collisions
collisions can occur:propagation delay means two nodes may not hear each other’s transmissioncollision:entire packet transmission time wasted
spatial layout of nodes along Ethernet
note:role of distance and propagation delay in determining collision prob.
4: Network Layer 4a-85
CSMA/CD (Collision Detection)CSMA/CD: carrier sensing, deferral as in CSMA
collisions detected within short time colliding transmissions aborted, reducing wasted
channel bandwidth persistent or non-persistent retransmission
collision detection: 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
4: Network Layer 4a-86
CSMA/CD collision detection
4: Network Layer 4a-87
“Taking Turns” MAC protocolschannel partitioning MAC protocols:
share channel efficiently 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 high load: collision overhead
“taking turns” protocolslook for best of both worlds!
4: Network Layer 4a-88
“Taking Turns” MAC protocolsPolling: master node
“invites” slave nodes to transmit in turn
Request to Send, Clear to Send msgs
concerns: polling overhead latency single point of
failure (master)
Token passing: control token passed
from one node to next sequentially.
token message concerns:
token overhead latency single point of failure
(token)
4: Network Layer 4a-89
Summary of MAC protocols
What do you do with a shared media? Channel Partitioning, by time, frequency or
code• Time Division,Code Division, Frequency Division
Random partitioning (dynamic), • ALOHA, S-ALOHA, CSMA, CSMA/CD• carrier sensing: easy in some technologies (wire),
hard in others (wireless)• CSMA/CD used in Ethernet
Taking Turns• polling from a central cite, token passing
4: Network Layer 4a-90
LAN Addresses and ARP
32-bit IP address: network-layer address used to get a datagram to a destination network
(recall IP network definition)
LAN (or MAC, or physical) address: used to get datagram from one interface to
another physically-connected interface (same network)
48 bit MAC address (for most LANs): permanent address, burned into the adapter ROM
How many possible LAN/Physical addresses?
4: Network Layer 4a-91
LAN Address (more)
MAC address allocation administered by IEEE manufacturer buys a portion of the MAC address
space (to assure uniqueness) see current assignments
Analogy: (a) MAC address: like Social Security 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 network to which one attaches
4: Network Layer 4a-92
Recall earlier routing discussion
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
A
BE
Starting at A, given an IP datagram addressed to B:
look up network address of B, find B on same network as A
link layer sends a datagram to B inside link-layer frame
B’s MACaddress
A’s MACaddress
A’s IPaddress
B’s IPaddress
IP payload
datagramframe
frame source,destination address
datagram source,destination address
4: Network Layer 4a-93
ARP: Address Resolution Protocol
Each IP node (Hosts & Routers) on a LAN has an ARP module and table
ARP Table: IP/MAC address mappings for some LAN nodes
< IP address; MAC address; TTL> TTL (Time To Live):
time after which address mapping will be forgotten (typically < 20 minutes)
Question: how can we determine the MAC address of B given B’s IP address?
4: Network Layer 4a-94
ARP protocol (RFC 826) A knows B's IP address, wants to learn physical
address of B A broadcasts ARP query packet, containing B's
IP address all machines on LAN receive ARP query
B receives the ARP packet, replies to A with its (B's) physical layer (MAC) address
A caches (saves) IP-to-physical address pairs until information becomes old (times out: TTL) soft state: information that times out (goes
away) unless refreshed
Side effects… performance implications?
4: Network Layer 4a-95
Ethernet 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 (frame delimiter) used to synchronize receiver, sender clock rates
(802.3 Data Length)
Note: IEEE 802.3 specifies that frame length, excluding preamble, must be between 64 and 1518 bytes. Data is padded, if necessary, to ensure minimum length achieved
4: Network Layer 4a-96
Ethernet Frame Structure (more) Addresses: 6 bytes, frame is received by all
adapters on a LAN and dropped if address does not match
Type (Length): 2 bytes, indicates the higher layer protocol, mostly IP but others may be supported such as Novell IPX and AppleTalk). If 802.3 compliant, this field is length of data segment (min. 46 bytes)
CRC: 4 bytes, checked at receiver, if error detected, the frame is simply dropped
4: Network Layer 4a-97
Ethernet: uses CSMA/CD
A: sense channel, if idle (+96 clock ticks/bit times)then {
transmit and monitor the channel; If detect another transmission then { abort and send jam signal;
update # collisions; delay as required by exponential backoff algorithm; goto A}
else {done with the frame; set collisions to zero}}
else {wait until ongoing transmission is over and goto A}
4: Network Layer 4a-98
Ethernet’s CSMA/CD Efficiency Recall that the probability of successful transmission
in a slot is: P = Np(1-p)(N-1)
which yields a mean probability of success (efficiency) of P = 1/e, for an optimal p=1/N as N -> infinity.
Note that each 802.3 slot has a duration of the one-bit RTT (max) for the LAN (51.2 sec) = 2*tprop
The average contention interval length (i.e., how long you must wait) is the duration of the interval divided by the probability, or: 2*tprop / 1/e = 2e*tprop
Taking ttrans to be the time it takes to transmit an average frame, channel efficiency can then be expressed as:
ttrans
ttrans + 2e tprop
1
1 + 5.4 tprop /ttrans
4: Network Layer 4a-99
Ethernet’s CSMA/CD EfficiencyC
han
nel Effi
cie
ncy
Ch
an
nel Effi
cie
ncy
Number of Stations Trying to SendNumber of Stations Trying to Send
0 1 2 4 8 16 32 64 128 256 512
1.0
0.9
0.8
0,7
0.6
0.5
0.4
0.3
0.2
0.1
1024 byte frames
512 byte frames
128 byte frames
256 byte frames
64 byte frames
4: Network Layer 4a-100
Ethernet Technologies: 10Base2 10: 10Mbps; 2: under 200 meters (actually 185) max. cable length per segment thin coaxial cable in a bus topology
repeaters used to connect up to multiple segments repeater repeats bits it hears on one interface to its other interfaces: physical layer device only!
4: Network Layer 4a-101
10BaseT and 100BaseT
10/100 Mbps rate; latter called “fast ethernet” T stands for Twisted Pair Nodes are connected to hubs by twisted pair,
thus “star topology” CSMA/CD monitoring can be implemented at
hub
4: Network Layer 4a-102
10BaseT and 100BaseT (more) Max. distance from node to Hub is 100 meters
max. between any two nodes is 200 meters
Hub can disconnect “jabbering” adapter Hub can gather monitoring information,
statistics for display to LAN administrators Fiber links can be used to expand geographical
reach (per IEEE 802)
Q: How do you calculate the time it takes to send a datagram from one node to another via a hub?
4: Network Layer 4a-103
Token Passing: IEEE802.5 standard 4 Mbps max token holding time: 10 ms, limiting frame
length
SD, ED mark start, end of packet (each 8 bits) AC: access control byte (8bits):
token bit: value 0 means token can be seized, value 1 means data follows FC priority bits: priority of packet reservation bits: station can write these bits to prevent stations with lower priority
packet from seizing token after token becomes free
EDED
4: Network Layer 4a-104
Interconnecting LANs
Q: Why not just one big LAN? Limited amount of supportable traffic: on
single LAN, all stations must share bandwidth limited length: 802.3 specifies maximum cable
length large “collision domain” (can collide with many
stations) limited number of stations: 802.5 have token
passing delays at each station
4: Network Layer 4a-105
Devices for Interconnecting LANs
Hubs (repeaters) physical-layer bit-level repeaters extend physical reach of a LAN 10/100BaseT interconnection (repeaters for
10Base2)
Bridges link-layer, frame switches extend physical reach and scale of a LAN allow logical segregation of a LAN
Switches Link-layer, high performance bridge
4: Network Layer 4a-106
Hub limitations
single collision domain results in no increase in max throughput multi-tier throughput same as single
segment throughput individual LAN restrictions pose limits on
number of nodes in same collision domain and on total allowed geographical coverage
cannot connect different Ethernet types (e.g., 10BaseT and 100baseT
Hub: “Bit In, Bit Out”Hub: “Bit In, Bit Out”
4: Network Layer 4a-107
Bridges
Link Layer devices: operate on Ethernet frames, examining frame header and selectively forwarding frame based on its destination
Bridge isolates collision domains since it buffers frames
When frame is to be forwarded on segment, bridge uses CSMA/CD to access segment and transmit
4: Network Layer 4a-108
Bridges: frame filtering, forwarding
bridges filter packets same-LAN -segment frames not forwarded
onto other LAN segments forwarding:
how to know which LAN segment on which to forward frame?
looks like a routing problem (more shortly!)
4: Network Layer 4a-109
Bridge Filtering
bridges learn which hosts can be reached through which interfaces: maintain filtering tables when frame received, bridge “learns” location
of sender: incoming LAN segment records sender location in filtering table
filtering table entry: (Node LAN Address, Bridge Interface, Time
Stamp) stale entries in Filtering Table dropped (TTL can
be 60 minutes)
4: Network Layer 4a-110
Bridge Filtering
filtering procedure:
if destination is on LAN on which frame was receivedthen drop the frameelse { lookup filtering table if entry found for destination
then forward the frame on interface indicated;
else flood; /* forward on all but the interface
on which the frame arrived*/}
4: Network Layer 4a-111
Bridge Learning: example Suppose C sends frame to D and D replies
back with frame to C
C sends frame, bridge has no info about D, so floods to other attached LANs (on ports 2 and 3): bridge notes that C is on port 1 frame ignored on upper LAN (port 3) frame received by D (port 2)
C 1 <<< added
4: Network Layer 4a-112
Bridge Learning: example
D generates reply to C, sends bridge sees frame from D bridge notes that D is on interface 2 bridge knows C on interface 1, so selectively
forwards frame out via interface 1
C 1 D 2 <<< added
4: Network Layer 4a-113
Bridges vs. Routers (or layer-3 switches) both are store-and-forward devices
routers: network layer devices (examine network layer headers) bridges are link layer devices
routers maintain routing tables, implement routing algorithms
bridges maintain filtering tables, implement filtering, learning and spanning tree algorithms
4: Network Layer 4a-114
Ethernet Switches
cut-through switching: frame forwarded from input to output port without awaiting for assembly of entire frame not a store-and-forward operation slight reduction in latency over store-and-
forward combinations of shared/dedicated,
10/100/1000 Mbps interfaces
4: Network Layer 4a-115
IEEE 802.11 Wireless LAN
wireless LANs: untethered (often mobile) networking
IEEE 802.11 standard: MAC protocol unlicensed frequency spectrum: 900Mhz,
2.4Ghz Basic Service Set (BSS)
(a.k.a. “cell”) contains: wireless hosts access point (AP): base
station BSS’s combined to form
distribution system (DS)
4: Network Layer 4a-116
Ad Hoc Networks
Ad hoc network: IEEE 802.11 stations can dynamically form network without AP
Applications:“laptop” meeting in conference room,
car! interconnection of “personal” devicesbattlefield
IETF MANET (Mobile Ad hoc Networks) working group
4: Network Layer 4a-117
IEEE 802.11 MAC Protocol: CSMA/CA802.11 CSMA: sender- if sense channel idle for
DIFS sec. then transmit entire frame
(no collision detection)-if sense channel busy
then exponential backoff (like Ethernet)
802.11 CSMA receiver:if received OK return ACK after SIFS
4: Network Layer 4a-118
IEEE 802.11 MAC Protocol
802.11 CSMA Protocol: others
NAV: Network Allocation Vector
802.11 frame has transmission time field
others (hearing data) defer access for NAV time units
4: Network Layer 4a-119
Hidden Terminal effect
hidden terminals: A, C cannot hear each other obstacles, signal attenuation collisions at B
goal: avoid collisions at B CSMA/CA: CSMA with Collision Avoidance
4: Network Layer 4a-120
Collision Avoidance: RTS-CTS exchange CSMA/CA: explicit
channel reservation sender: send short
RTS: request to send receiver: reply with
short CTS: clear to send
CTS reserves channel for sender, notifying (possibly hidden) stations
avoid hidden station collisions
4: Network Layer 4a-121
Collision Avoidance: RTS-CTS exchange RTS and CTS short:
collisions less likely, of shorter duration
end result similar to collision detection
IEEE 802.11 allows:CSMACSMA/CA:
reservations polling from AP
4: Network Layer 4a-122
Point to Point Data Link Control one sender, one receiver, one link: easier than
broadcast link: bit-oriented transmission stream no Media Access Control no need for explicit MAC addressing
• e.g., dialup link, ISDN line
popular point-to-point DLC protocols: PPP (point-to-point protocol) HDLC: High-level data link control
• Data link used to be considered a “high layer” in the protocol stack!
• also: SDLC, ADCCP, LAP, LAPB
4: Network Layer 4a-123
PPP Design Requirements [RFC 1557] packet framing: encapsulation of network-layer
datagram in data link frame carry network layer data of any network
layer protocol (not just IP) at same time ability to demultiplex upwards
bit transparency: must carry any bit pattern in the data field
error detection (no correction) connection liveness: detect, signal link failure to
network layer network layer address negotiation: endpoint
can learn/configure each other’s network address
4: Network Layer 4a-124
PPP non-requirements (explicit in the specification)
no error correction/recovery no flow control no ordering … out of order delivery OK no need to support multipoint links (e.g., polling)
Error recovery, flow control, data re-ordering/sequencing
all relegated to higher layers!|
4: Network Layer 4a-125
PPP Data Frame Flag: delimiter (framing) Address: does nothing (only one option in PPP) Control: does nothing; in the future possible
multiple control fields Protocol: upper layer protocol to which frame
delivered (e.g., C021x = PPP-LCP, 8021x = IPCP, 0021x = IP, 0029x = AppleTalk, etc.)
4: Network Layer 4a-126
PPP Data Frame
info: upper layer data being carried check: cyclic redundancy check (CRC)
for error detection*
*Maximum payload length is negotiated by link control protocol at link establishment, or default is 1500 bytes.
4: Network Layer 4a-127
Byte Stuffing “data transparency” requirement: data/info
field must be allowed to contain “special” bit patterns, such as flag <01111110> Q: is received <01111110> data or flag?
Sender: adds (“stuffs”) a special control escape byte < 01111101> byte before each < 01111110> data byte Q: what about <01111101> in the data?
Receiver: when <01111101> received: discard it, then
continue data reception single 01111110: flag byte
4: Network Layer 4a-128
ATM architecture
adaptation layer: only at edge of ATM network data segmentation/reassembly roughly analogous to Internet transport layer
ATM layer: “network” layer cell switching, routing
physical layer
4: Network Layer 4a-129
ATM LayerService: transport cells across ATM network analogous to IP network layer very different services than IP network layer
NetworkArchitecture
Internet
ATM
ATM
ATM
ATM
ServiceModel
best effort
CBR
VBR
ABR
UBR
Bandwidth
none
constantrateguaranteedrateguaranteed minimumnone
Loss
no
yes
yes
no
no
Order
no
yes
yes
yes
yes
Timing
no
yes
yes
no
no
Congestionfeedback
no (inferredvia loss)nocongestionnocongestionyes
no
Guarantees ?
4: Network Layer 4a-130
ATM Layer: ATM cell Core of ATM standard 5-byte ATM cell header 48-byte payload
Why?: small payload -> short cell-creation delay for digitized voice
halfway between 32 and 64 (compromise!)
Cell header
Cell format
4: Network Layer 4a-131
ATM cell header
VCI: virtual channel ID will change from link to link thru net
PT: Payload type (e.g. RM cell, idle cell, data cell)
CLP: Cell Loss Priority bit CLP = 1 implies low priority cell, can be
discarded if congestion HEC: Header Error Checksum (8-bit)
cyclic redundancy check
4: Network Layer 4a-132
IP-Over-ATMIssues: Conversion of IP
datagrams into ATM AAL5 PDUs
Conversion from IP addresses to ATM addresses just like IP
addresses to 802.3 MAC addresses!
ATMbackbonenetwork
EthernetLANs
4: Network Layer 4a-133
Datagram Journey in IP-over-ATM Network at Source Host/Gateway:
IP layer finds mapping between IP and ATM destination address (using ARP)
passes datagram to AAL5 AAL5 encapsulates data, segments to cells, passes to
ATM layer ATM network: moves cell along Virtual Circuit
(permanent?) to destination at Destination Host/Gateway:
AAL5 reassembles cells into original datagram if CRC OK, datagram is passed to IP