Lec 7
Lec 7
Network Layer
network-layer functions:
forwarding: move packets analogy: taking a trip
from router’s input to forwarding: process of
appropriate router output getting through single
interchange
routing: determine route routing: process of
taken by packets from source planning trip from source
to destination to destination
routing algorithms
Guarantees ?
Network Service Congestion
Architecture Model Bandwidth Loss Order Timing feedback
Call setup, teardown for each call before data can flow
A VC consists of:
1. path from source to destination
2. VC numbers, one number for each link along path
3. entries in forwarding tables in routers along path
packet belonging to VC carries VC number
(rather than dest address)
VC number can be changed on each link.
New VC number comes from forwarding table
Virtual circuits: signaling protocols
used to setup, maintain teardown VC
used in ATM, frame-relay, X.25
not used in today’s Internet
application
transport5. Data flow begins 6. Receive dataapplication
network4. Call connected 3. Accept call transport
network
data link 1. Initiate call 2. incoming calldata link
physical
physical
application
application
transport
transport
network
network
data link 1. Send data 2. Receive datadata link
physical
physical
Network Layer 4-13
Network Layer 2-15
Network Layer 2-16
Datagram or VC network: why?
routing, management
routing control plane (software)
processor operates in millisecond
time frame
forwarding data plane
(hardware) operttes in
nanosecond
timeframe
high-seed
switching
fabric
lookup,
link forwarding
line layer switch
termination protocol fabric
(receive)
queueing
physical layer:
bit-level reception
data link layer: decentralized switching:
e.g., Ethernet using header field values, lookup output
see chapter 5 port using forwarding table in input port
memory (“match plus action”)
goal: complete input port processing at
‘line speed’
queuing: if datagrams arrive faster than
forwarding rate into switch fabric
lookup,
link forwarding
line layer switch
termination protocol fabric
(receive)
queueing
physical layer:
bit-level reception decentralized switching:
data link layer: using header field values, lookup output
e.g., Ethernet port using forwarding table in input port
memory (“match plus action”)
see chapter 5
destination-based forwarding: forward
based only on destination IP address
(traditional)
generalized forwarding: forward based on
any set of header field values
memory
input output
port memory port
(e.g., (e.g.,
Ethernet) Ethernet)
system bus
datagram
switch buffer link
fabric layer line
protocol termination
queueing (send)
switch
switch
fabric
fabric
RTT . C
N
physical layer
…
frame in: one large datagram
out: 3 smaller datagrams
different link types, different
MTUs
large IP datagram divided
reassembly
(“fragmented”) within net
one datagram becomes
several datagrams …
“reassembled” only at final
destination
IP header bits used to
identify, order related
fragments Network Layer 4-32
IP fragmentation, reassembly
IP address: 32-bit
identifier for host,
223.1.2.1
in chapter 5, 6.
223.1.3.27
223.1.1.3
223.1.2.2
subnet
what’s a subnet ?
device interfaces with 223.1.3.1 223.1.3.2
223.1.1.3
223.1.9.2 223.1.7.0
223.1.9.1 223.1.7.1
223.1.8.1 223.1.8.0
223.1.2.6 223.1.3.27
DHCP
223.1.1.0/24
server
223.1.1.1 223.1.2.1
223.1.2.0/24
223.1.3.1 223.1.3.2
223.1.3.0/24
DHCP offer
src: 223.1.2.5, 67
Broadcast: I’m a DHCP
dest: 255.255.255.255, 68
server! Here’s an IP
yiaddrr: 223.1.2.4
address youID:can
transaction 654 use
lifetime: 3600 secs
DHCP request
src: 0.0.0.0, 68
Broadcast: OK. I’ll take
dest:: 255.255.255.255, 67
yiaddrr: 223.1.2.4
that IP address!
transaction ID: 655
lifetime: 3600 secs
DHCP ACK
src: 223.1.2.5, 67
Broadcast: OK. You’ve
dest: 255.255.255.255, 68
yiaddrr: 223.1.2.4
got that IPID:
transaction address!
655
lifetime: 3600 secs
Eth
DNS server: use DHCP
DHCP
Phy
DHCP request encapsulated
DHCP
encapsulation of DHCP
DHCP DHCP server, frame forwarded
DHCP UDP to client, demuxing up to
DHCP IP DHCP at client
DHCP Eth router with DHCP
DHCP
Phy server built into client now knows its IP
router address, name and IP
address of DSN server, IP
address of its first-hop
router
Organization 0
200.23.16.0/23
Organization 1
“Send me anything
200.23.18.0/23 with addresses
Organization 2 beginning
200.23.20.0/23 . Fly-By-Night-ISP 200.23.16.0/20”
.
. . Internet
.
Organization 7 .
200.23.30.0/23
“Send me anything
ISPs-R-Us
with addresses
beginning
199.31.0.0/16”
10.0.0.4
10.0.0.2
138.76.29.7
10.0.0.3
data
32 bits
Network Layer 4-56
Other changes from IPv4
IPv6 datagram
IPv4 datagram
Network Layer 4-58
Tunneling
A B IPv4 tunnel E F
connecting IPv6 routers
logical view:
IPv6 IPv6 IPv6 IPv6
A B C D E F
physical view:
IPv6 IPv6 IPv4 IPv4 IPv6 IPv6
A B C D E F
physical view:
IPv6 IPv6 IPv4 IPv4 IPv6 IPv6
data data
A-to-B: E-to-F:
IPv6 B-to-C: B-to-C: IPv6
IPv6 inside IPv6 inside
IPv4 IPv4 Network Layer 4-60
IPv6: adoption