PowerPoint Presentation
Network Layer
All material copyright 1996-2012
J.F Kurose and K.W. Ross, All Rights Reserved
George Parisis
School of Engineering and Informatics
University of Sussex
Network Layer
4-*
introduction
virtual circuit and datagram networks
what’s inside a router
IP: Internet Protocol
datagram format
IPv4 addressing
ICMP, IPv6
routing algorithms
link state, distance vector
hierarchical routing
routing in the Internet
RIP, OSPF
BGP
broadcast routing
Outline
Network Layer
Network Layer
4-*
The Internet network layer
host, router network layer functions:
routing protocols
path selection
RIP, OSPF, BGP
ICMP protocol
error reporting
router “signaling”
transport layer: TCP, UDP
link layer
physical layer
network
layer
forwarding
table
IP protocol
addressing conventions
datagram format
packet handling conventions
Network Layer
Network Layer
4-*
IP datagram format
how much overhead?
20 bytes of TCP
20 bytes of IP
= 40 bytes + app layer overhead
ver
length
32 bits
data
(variable length,
typically a TCP
or UDP segment)
16-bit identifier
header
checksum
time to
live
32 bit source IP address
head.
len
type of
service
flgs
fragment
offset
upper
layer
32 bit destination IP address
options (if any)
IP protocol version
number
header length
(bytes)
upper layer protocol
to deliver payload to
total datagram
length (bytes)
“type” of data
for
fragmentation/
reassembly
max number
remaining hops
(decremented at
each router)
e.g. timestamp,
record route
taken, specify
list of routers
to visit.
Network Layer
Network Layer
4-*
introduction
virtual circuit and datagram networks
what’s inside a router
IP: Internet Protocol
datagram format
IPv4 addressing
ICMP, IPv6
routing algorithms
link state, distance vector
hierarchical routing
routing in the Internet
RIP, OSPF
BGP
broadcast routing
Outline
Network Layer
Network Layer
4-*
IP addressing: introduction
IP address: 32-bit identifier for host, router interface
interface: connection between host/router and physical link
router’s typically have multiple interfaces
host typically has one or two interfaces (e.g., wired Ethernet, wireless 802.11)
IP addresses associated with each interface
223.1.1.1
223.1.1.3
223.1.1.4
223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2
223.1.3.1
223.1.1.1 = 11011111 00000001 00000001 00000001
223
1
1
1
223.1.1.2
223.1.3.27
Network Layer
Network Layer
4-*
IP addressing: introduction
Q: how are interfaces actually connected?
A: chapter 5, 6.
223.1.1.1
223.1.1.3
223.1.1.4
223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2
223.1.3.1
For now: don’t need to worry about how one interface is connected to another (with no intervening router)
223.1.1.2
223.1.3.27
A: wired Ethernet interfaces connected by Ethernet switches
A: wireless WiFi interfaces connected by WiFi base station
Network Layer
Network Layer
4-*
Subnets
IP address:
subnet part – high order bits
host part – low order bits
what’s a subnet ?
device interfaces with same subnet part of IP address
Subnet address, mask (VLSM), broadcast address, default gateway
can reach each other without intervening router
network consisting of 3 subnets
223.1.1.1
223.1.1.3
223.1.1.4
223.1.2.9
223.1.3.2
223.1.3.1
223.1.1.2
223.1.3.27
223.1.2.2
223.1.2.1
subnet
Network Layer
Network Layer
4-*
IP addressing: CIDR
CIDR: Classless InterDomain Routing
subnet portion of address of arbitrary length
address format: a.b.c.d/x, where x is # bits in subnet portion of address
11001000 00010111 00010000 00000000
subnet
part
host
part
200.23.16.0/23
Network Layer
Network Layer
4-*
recipe
to determine the subnets, detach each interface from its host or router, creating islands of isolated networks
each isolated network is called a subnet
broadcast, default gateway?
subnet mask: /24
Subnets
subnet
223.1.1.0/24
223.1.2.0/24
223.1.3.0/24
223.1.1.1
223.1.1.3
223.1.1.4
223.1.2.9
223.1.3.2
223.1.3.1
223.1.1.2
223.1.3.27
223.1.2.2
223.1.2.1
Network Layer
Network Layer
4-*
how many?
223.1.1.1
223.1.1.3
223.1.1.4
223.1.2.2
223.1.2.1
223.1.2.6
223.1.3.2
223.1.3.1
223.1.3.27
223.1.1.2
223.1.7.1
223.1.7.2
223.1.8.1
223.1.8.2
223.1.9.1
223.1.9.2
Subnets
Network Layer
Network Layer
4-*
IP addresses: how to get one?
Q: how does network get subnet part of IP addr?
A: gets allocated portion of its provider 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
Network Layer
Network Layer
4-*
Hierarchical addressing: route aggregation
“Send me anything
with addresses
beginning
200.23.16.0/20”
Fly-By-Night-ISP
Organization 0
Organization 7
Internet
Organization 1
ISPs-R-Us
“Send me anything
with addresses
beginning
199.31.0.0/16”
Organization 2
hierarchical addressing allows efficient advertisement of routing
information:
200.23.16.0/23
200.23.18.0/23
200.23.30.0/23
200.23.20.0/23
.
.
.
.
.
.
Network Layer
Network Layer
4-*
IP addressing: the last word…
Q: how does an ISP get block of addresses?
A: ICANN: Internet Corporation for Assigned
Names and Numbers http://www.icann.org/
allocates addresses
manages DNS
assigns domain names, resolves disputes
Network Layer
Network Layer
4-*
IP addresses: how to get one?
Q: How does a host get IP address?
hard-coded by system admin in a file
Windows: control-panel->network->configuration->tcp/ip->properties
UNIX: /etc/rc.config
DHCP: Dynamic Host Configuration Protocol: dynamically get address from as server
“plug-and-play”
Network Layer
Network Layer
4-*
DHCP: Dynamic Host Configuration Protocol
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/“on”)
support for mobile users who want to join network
DHCP overview:
host broadcasts “DHCP discover” msg [optional]
DHCP server responds with “DHCP offer” msg [optional]
host requests IP address: “DHCP request” msg
DHCP server sends address: “DHCP ack” msg
Network Layer
*
Network Layer
4-*
DHCP client-server scenario
223.1.1.0/24
223.1.2.0/24
223.1.3.0/24
223.1.1.1
223.1.1.3
223.1.1.4
223.1.2.9
223.1.3.2
223.1.3.1
223.1.1.2
223.1.3.27
223.1.2.2
223.1.2.1
DHCP
server
arriving DHCP
client needs
address in this
network
Network Layer
*
Network Layer
4-*
DHCP server: 223.1.2.5
arriving
client
DHCP client-server scenario
DHCP discover
src : 0.0.0.0, 68
dest.: 255.255.255.255,67
yiaddr: 0.0.0.0
transaction ID: 654
DHCP offer
src: 223.1.2.5, 67
dest: 255.255.255.255, 68
yiaddrr: 223.1.2.4
transaction ID: 654
lifetime: 3600 secs
DHCP request
src: 0.0.0.0, 68
dest:: 255.255.255.255, 67
yiaddrr: 223.1.2.4
transaction ID: 655
lifetime: 3600 secs
DHCP ACK
src: 223.1.2.5, 67
dest: 255.255.255.255, 68
yiaddrr: 223.1.2.4
transaction ID: 655
lifetime: 3600 secs
Broadcast: is there a DHCP server out there?
Broadcast: I’m a DHCP server! Here’s an IP address you can use
Broadcast: OK. I’ll take that IP address!
Broadcast: OK. You’ve got that IP address!
Network Layer
*
Network Layer
4-*
DHCP: more than IP addresses
DHCP can return more than just allocated IP address on subnet:
address of first-hop router for client
name and IP address of DNS sever
network mask (indicating network versus host portion of address)
Network Layer
Network Layer
4-*
connecting laptop needs its IP address, addr of first-hop router, addr of DNS server: use DHCP
router with DHCP
server built into
router
DHCP request encapsulated in UDP, encapsulated in IP, encapsulated in 802.1 Ethernet
Ethernet frame broadcast (dest: FFFFFFFFFFFF) on LAN, received at router running DHCP server
Ethernet demuxed to IP demuxed, UDP demuxed to DHCP
168.1.1.1
DHCP: example
DHCP
UDP
IP
Eth
Phy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
UDP
IP
Eth
Phy
DHCP
DHCP
DHCP
DHCP
DHCP
Network Layer
Network Layer
4-*
DCP server formulates DHCP ACK containing client’s IP address, IP address of first-hop router for client, name & IP address of DNS server
encapsulation of DHCP server, frame forwarded to client, demuxing up to DHCP at client
DHCP: example
router with DHCP
server built into
router
client now knows its IP address, name and IP address of DNS server, IP address of its first-hop router
DHCP
DHCP
DHCP
DHCP
DHCP
UDP
IP
Eth
Phy
DHCP
DHCP
UDP
IP
Eth
Phy
DHCP
DHCP
DHCP
DHCP
Network Layer
Network Layer
4-*
IP fragmentation, reassembly
network links have MTU (maximum transfer unit) – largest possible link-level frame
different link types, different MTUs
large IP datagram divided (“fragmented”) within network
one datagram becomes several datagrams
“reassembled” only at final destination
IP header bits used to identify, order related fragments
fragmentation:
in: one large datagram
out: 3 smaller datagrams
reassembly
…
…
Network Layer
Network Layer
4-*
example:
4000 byte datagram
MTU = 1500 bytes
1480 bytes in
data field
offset =
1480/8
IP fragmentation, reassembly
ID
=x
offset
=0
fragflag
=0
length
=4000
ID
=x
offset
=0
fragflag
=1
length
=1500
ID
=x
offset
=185
fragflag
=1
length
=1500
ID
=x
offset
=370
fragflag
=0
length
=1040
one large datagram becomes
several smaller datagrams
Network Layer
Network Layer
4-*
introduction
virtual circuit and datagram networks
what’s inside a router
IP: Internet Protocol
datagram format
IPv4 addressing
ICMP, IPv6
routing algorithms
link state, distance vector
hierarchical routing
routing in the Internet
RIP, OSPF
BGP
broadcast routing
Outline
Network Layer
Network Layer
4-*
Router architecture overview
two key router functions:
run routing algorithms/protocol
forwarding datagrams from incoming to outgoing link
routing
processor
router input ports
router output ports
forwarding data plane (hardware)
routing, management
control plane (software)
forwarding tables computed,
pushed to input ports
high-speed
switching
fabric
Network Layer
Network Layer
4-*
line
termination
link
layer
protocol
(receive)
lookup,
forwarding
queueing
Input port functions
decentralized switching:
given datagram dest., lookup output port using forwarding table in input port memory
goal: complete input port processing at ‘line speed’
queuing: if datagrams arrive faster than forwarding rate into switch fabric
physical layer:
bit-level reception
data link layer:
e.g., Ethernet
see chapter 5
switch
fabric
Network Layer
Network Layer
4-*
Switching fabrics
transfer packet from input buffer to appropriate output buffer
switching rate: rate at which packets can be transferred from inputs to outputs
often measured as multiple of input/output line rate
N inputs: switching rate N times line rate desirable
three types of switching fabrics
memory
memory
bus
crossbar
Network Layer
Network Layer
4-*
Switching via memory
first generation routers:
traditional computers with switching under direct control of CPU
packet copied to system’s memory
speed limited by memory bandwidth (2 bus crossings per datagram)
input
port
(e.g.,
Ethernet)
memory
output
port
(e.g.,
Ethernet)
system bus
Network Layer
Network Layer
4-*
Switching via a bus
datagram from input port memory
to output port memory via a shared bus
bus contention: switching speed limited by bus bandwidth
32 Gbps bus, Cisco 5600: sufficient speed for access and enterprise routers
bus
Network Layer
Network Layer
4-*
Switching via interconnection network
overcome bus bandwidth limitations
forward multiple packets in parallel (not always)
initially developed to connect processors in multiprocessor
Cisco 12000: switches 60 Gbps through the interconnection network
crossbar
Network Layer
Network Layer
4-*
Output ports
buffering required when datagrams arrive from fabric faster than the transmission rate
scheduling discipline chooses among queued datagrams for transmission
line
termination
link
layer
protocol
(send)
switch
fabric
Datagram (packets) can be lost due to congestion, lack of buffers
datagram
buffer
queueing
Network Layer
Network Layer
4-*
Output port queueing
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow!
at t, packets more
from input to output
one packet time later
switch
fabric
switch
fabric
Network Layer
Network Layer
4-*
Input port queuing
fabric slower than input ports combined -> queueing may occur at input queues
queueing delay and loss due to input buffer overflow!
Head-of-the-Line (HOL) blocking: queued datagram at front of queue prevents others in queue from moving forward
output port contention:
only one red datagram can be transferred.
lower red packet is blocked
switch
fabric
one packet time later: green packet experiences HOL blocking
switch
fabric
Network Layer
Network Layer
4-*
Summary
IP
IP fragmentation
IP addressing
CIDR
DHCP
Network Layer