Chapter 03 Network Layer and IP ST
Chapter 03 Network Layer and IP ST
Address
Network Layer
IP Address
Routing Protocols
Contents
3.3 Routing
3.1 Introduction
algorithms
Link state
3.2 Internet Protocol
Distance
DatagramVector
format
Hierarchical routing
IPv4 addressing
3.4 Routing
DHCP, NAT, in
ARPthe Internet
RIP
ICMP
IPv6
OSPF
BGP
4-2
How TCP/IP works …
segment
datagram
Network layer
4-4
Two Key Network-Layer Functions
routing algorithm
value in arriving
packet’s header
0111 1
3 2
Datagram networks
applicatio
applicatio
n
n
transport
network 1. Send data 2. Receive data transport
network
data link
data link
physical
physical
4-7
Forwarding table 4 billion
possible entries
otherwise 3
Longest prefix matching
Examples
4-10
The Internet Network layer
physical layer
IP – Internet Protocol
IP is the main protocol of the TCP/IP
protocol suite.
Data packet is transmitted as a
datagram.
IP provides an unreliable, connectionless
datagram delivery service.
IP - Datagram delivery
service
Unreliable:
No guarantees that an IP datagram
successfully gets to its destination.
Provides a best effort service.
Reliability must be provided by the upper
layers (e.g., TCP).
Connectionless:
not maintain any state information about
successive datagrams.
IP datagrams can get delivered out of order.
Review: Connectionless vs.
Connection-oriented Protocols
Connectionless protocols
Send data across the network to its
destination without guaranteeing receipt
Fast; require little overhead
Connection-oriented protocols
Establish a formal connection between two
computers, guaranteeing the data will
reach its destination
Slower; more reliable
IP Datagram
Header
10101011101010101010010101010100101010100
11010010101010010101111111010000011101111
10100001011101010100110101011110100000101
00100000000010101000011010000111111010101
......... 1011011001010100011001001010110
Data
IP datagram format
IP protocol version 32 bits
number total datagram
header length type of length (bytes)
ver head. length
(bytes) len service for
“type” of data fragment fragmentation/
16-bit identifier flgs
offset reassembly
max number time to upper header
remaining hops live layer checksum
(decremented at
32 bit source IP address
each router)
32 bit destination IP address
upper layer protocol
to deliver payload to Options (if any) E.g. timestamp,
record route
how much data taken, specify
overhead with (variable length, list of routers
TCP? typically a TCP to visit.
20 bytes of TCP or UDP segment)
20 bytes of IP
= 40 bytes +
IP Addressing: introduction
223.1.1.1
IP address: 32-bit
identifier for host, 223.1.2.1
223.1.1.2
router interface 223.1.1.4 223.1.2.9
interface: 223.1.2.2
223.1.3.27
connection between 223.1.1.3
host/router and
physical link
223.1.3.1 223.1.3.2
router’s typically have
multiple interfaces
host typically has one
interface
223.1.1.1 = 11011111 00000001 00000001 00000001
IP addresses
associated with each 223 1 1 1
interface
IP Address
Version:
IPv4: 32-bits
IPv6: 128-bits
Addressing and Delivering
IPv4
Size: 4 bytes (32 bits)
Format:
10101100.00011101.00000001.00001010
172.29.1.10
Divided into 2 parts:
Network ID (NetID)
Host ID
IPv4
IPv4
Subnet mask:
Use to identify the NetID and HostID
parts of the IPv4 address
4 bytes in size
NetID bits have a value of 1
HostID bits have a value of 0
IPv4
NetAddr = SubnetMask AND HostIP
Example: 172.29.5.128/255.255.192.0
(or 172.29.5.128/18)
HostI 1010 0001 0000 1000
P 1100 1101 0101 0000
Subn
1111 1111 1100 0000
etMa
1111 1111 0000 0000
sk
Net 1010 0001 0000 0000
Addr 1100 1101 0000 0000
IPv4
Network address (NetAddr):
NetID bits: keep the same
Host ID bits: clear to 0
Broadcast address:
NetID bits: keep the same
Host ID bits: up 1
Example: 192.168.1.2/24
NetAddr: 192.168.1.0
Broadcast: 192.168.1.255
Two nodes with the same network address belong to same
network:
Example:
192.168.1.2 and 192.168.1.200: same network
192.168.1.2 and 192.168.2.1: different network
IPv4
Number of valid host addresses in a network:
2^m-2: m is the number of bits in the HostID
=>m = 32-SM=32-16
=>Number of hosts in this network = 2^16-2
IPv4: class
IPv4: class
IPv4:
Default subnet mask:
Class A: 255.0.0.0 (/8)
Class B: 255.255.0.0 (/16)
Class C: 255.255.255.0 (/24)
Example: 15.19.18.29
Class: A
Default Subnet mask: 255.0.0.0
IPv4:
For IP address: 172.29.7.10
Class: B
SubnetMask: 255.255.0.0 (/16)
NetAddr = IP address AND SubnetMask
172.29.7.10 AND
255.255.0.0
172.29.0.0
Number of hosts in the network: 2^m-2=2^16-2
Host addresses range: 172.29.0.1-
>172.29.255.254
Broadcast address: 172.29.1111 1111. 1111 1111
IPv4: Exercise
For IP address: 191.24.197.12/20
Class: ?
SubnetMask: ?
NetAddr : ?
Number of hosts in the network: ?
Host addresses range: ?
Broadcast address: ?
IPv4: Classify
Public address:
Used to exchange on the Internet
Real address
Private address:
Used to address LANs within an organization
Virtual Address
192.168.1.1010 0000
192.168.1.1100 0000
192.168.1.1110 0000
IPv4: Subnetting
Exercise: A company is granted the site
address 172.29.0.0/18. The company
needs 5 subnets. Design the subnets:
+ The number of the appropriate subnets?
+ The number of Hosts in each subnet?
+ New Subnet Mask?
+ Host addresses range of each subnet?
+ Broadcast address of each subnet?
IPv4: Homework
Given 172.100.112.4/19. Please indicate:
1. Which network does the above address belong to?
2. The number of IP addresses that can be used in the network. And please tell me
which addresses include?
3. Broadcast address of that network.
4. With the above network address, divide it into 5 subnets.
+ The number of the appropriate subnets?
+ The number of Hosts in each subnet?
+ New Subnet Mask?
+ Host addresses range of each subnet?
+ Broadcast address of each subnet?
IP addresses: how to get one?
A DHCP 223.1.2.1
223.1.1.1
server
223.1.1.2
223.1.1.4 223.1.2.9
B
223.1.2.2 arriving DHCP
223.1.1.3 223.1.3.27 E client needs
address in this
223.1.3.1 223.1.3.2
network
NAT: Network Address Translation
10.0.0.4
10.0.0.2
138.76.29.7
10.0.0.3
32-bit Internet
Address
ARP RARP
48-bit Ethernet
Address
RARP: Reverse Address Resolution
Protocol
RARP = Reverse ARP.
RARP is the opposite of ARP.
ARP is used when the IP address is
known but the physical address is not
known.
RARP is used when the physical address
is known but the IP address is not known.
RARP is often used in conjunction with
the BOOTP protocol (boot PROM) to boot
diskless workstations.
ICMP - Internet Control Message Protocol
no fragmentation allowed
IPv6 Header (Cont)
Priority: identify priority among datagrams in flow
Flow Label: identify datagrams in same “flow.”
(concept of“flow” not well defined).
Next header: identify upper layer protocol for data
Contents
3.3 Routing
3.1 Introduction
algorithms
Link state
3.2 Internet Protocol
Distance
DatagramVector
format
Hierarchical routing
IPv4 addressing
3.4 Routing
DHCP, NAT, in
ARPthe Internet
RIP
ICMP
IPv6
OSPF
BGP
4-52
Interplay between routing, forwarding
routing algorithm
value in arriving
packet’s header
0111 1
3 2
Graph abstraction
5
3
v w 5
2
u 2 1 z
3
1 2
Graph: G = (N,E)
x 1
y
N = set of routers = { u, v, w, x, y, z }
E = set of links ={ (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) }
4-57
A Link-State Routing Algorithm
Notation: algorithm
Dijkstra’s
net topology, link costs known to all nodes
c(x,y): link cost from node x to y; = ∞ if not direct
neighbors
accomplished via “link state broadcast”
5
3
v w 5
2
u 2 1 z
3
1 2
x 1
y
Dijkstra’s algorithm: example (2)
Resulting shortest-path tree from u:
v w
u z
x y
N
n(n+1)/2 comparisons: O(n2)
O(nlogn)
Oscillations possible:
e.g.,
1 A link cost = amount
1+e A 2+e
of carried
0
A 0
traffic A
2+e 2+e 0
D B D 1+e1 B D
0 0 0 0 B D 1+e1 B
0 e 0 0 1 1+e 0 e
1
C C C C
1
e
… recompute … recompute … recompute
initially
routing
Contents
3.3 Routing
3.1 Introduction
algorithms
Link state
3.2 Internet Protocol
Distance
DatagramVector
format
Hierarchical routing
IPv4 addressing
3.4 Routing
DHCP, NAT, in
ARPthe Internet
RIP
ICMP
IPv6
OSPF
BGP
4-63
Distance Vector Algorithm
Bellman-Ford Equation (dynamic
programming)
Define
dx(y) := cost of least-cost path from x to y
Then
v
dx(y) = min {c(x,v) + dv(y) }
from
y ∞∞ ∞ y 2 0 1
z ∞∞ ∞ z 7 1 0
node y table
cost to
x y z y
2 1
x ∞ ∞ ∞
x z
from
y 2 0 1 7
z ∞∞ ∞
node z table
cost to
x y z
x ∞∞ ∞
from
y ∞∞ ∞
z 71 0
4-69
time
Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)} Dx(z) = min{c(x,y) +
= min{2+0 , 7+1} = 2 Dy(z), c(x,z) + Dz(z)}
node x table = min{2+1 , 7+0} = 3
cost to cost to cost to
x y z x y z x y z
x 0 2 7 x 0 2 3 x 0 2 3
from
from
from
y ∞∞ ∞ y 2 0 1 y 2 0 1
z ∞∞ ∞ z 7 1 0 z 3 1 0
node y table
cost to cost to cost to
x y z x y z x y z y
2 1
x ∞ ∞ ∞ x 0 2 7 x 0 2 3 x z
from
from
from
y 2 0 1 y 2 0 1 y 2 0 1 7
z ∞∞ ∞ z 7 1 0 z 3 1 0
node z table
cost to cost to cost to
x y z x y z x y z
x ∞∞ ∞ x 0 2 7 x 0 2 3
from
from
from
y ∞∞ ∞ y 2 0 1 y 2 0 1
z 71 0 z 3 1 0 z 3 1 0
4-70
time
Distance Vector: link cost changes
distance vector
if DV changes,
At time tnotify
0, y detects the link-cost change, updates its DV,
neighbors
and informs its neighbors.
“good
At time t1, z receives the update from y and updates its table.
news
It computes a new least cost to x and sends its neighbors its D
travels
fast” At time t2, y receives z’s update and updates its distance table
y’s least costs do not change and hence y does not send any
message to z.
Distance Vector: link cost changes
Example:
Consider the three-node topology shown in
Figure 4.30. Rather than having the link costs
shown in Figure 4.30, the link costs are c(x,y) =
3, c(y,z) = 6, c(z,x) = 4. Compute the distance
tables after the initialization step and after each
iteration of a synchronous version of the
distance-vector algorithm
y
3 6
x z
4
Comparison of LS and DV algorithms
4-74
Hierarchical Routing
Our routing study thus far - idealization
all routers identical
network “flat”
… not true in practice
4-76
Interconnected ASes
3c
3a 2c
3b 2a
AS3 2b
1c AS2
1a 1b AS1
1d forwarding table
configured by both
intra- and inter-AS
Intra-AS
Routing
Inter-AS
Routing routing algorithm
algorithm algorithm
intra-AS sets entries
Forwarding for internal dests
table
inter-AS & intra-As sets
entries for external
dests
Inter-AS tasks
suppose router in AS1 must:
AS1 receives 1. learn which dests are
datagram destined reachable through AS2,
outside of AS1: which through AS3
router should 2. propagate this
forward packet to reachability info to all
gateway router, routers in AS1
but which one? Job of inter-AS routing!
3c
3a 2c
3b 2a
AS3 2b
1c AS2
1a 1b AS1
1d
Contents
3.3 Routing
3.1 Introduction
algorithms
Link state
3.2 Internet Protocol
Distance
DatagramVector
format
Hierarchical routing
IPv4 addressing
3.4 Routing
DHCP, NAT, in
ARPthe Internet
RIP
ICMP
IPv6
OSPF
BGP
4-79
Intra-AS Routing
u destination hops
v
u 1
A B w v 2
w 2
x 3
x y 3
z C D z 2
y
RIP advertisements
distance vectors: exchanged among
neighbors every 30 sec via Response
Message (also called advertisement)
each advertisement: list of up to 25
destination subnets within AS
RIP: Example
z
w x y
A D B
C
Destination Network Next Router Num. of hops
to dest.
w A 2
y B 2
z B 7
x -- 1
…. …. ....
Routing/Forwarding table in D
RIP: Example
Dest Next hops
w - 1 Advertisement
x - 1 from A to D
z C 4
…. … ...
z
w x y
A D B
C
Destination Network Next Router Num. of hops
to dest.
w A 2
y B 2
z BA 75
x -- 1
…. ….
Routing/Forwarding table in D ....
RIP: Link Failure and Recovery
If no advertisement heard after 180 sec -->
neighbor/link declared dead
routes via neighbor invalidated
new advertisements sent to neighbors
neighbors in turn send out new
advertisements (if tables changed)
link failure info quickly (?) propagates to
entire net
poison reverse used to prevent ping-pong
loops (infinite distance = 16 hops)
RIP Table processing
Transprt Transprt
(UDP) (UDP)
network forwarding network
forwarding table (IP)
(IP)
link table link
physical physical
OSPF (Open Shortest Path First)
“open”: publicly available
uses Link State algorithm
LS packet dissemination
topology map at each node
route computation using Dijkstra’s algorithm
Policy:
Inter-AS: admin wants control over how its traffic
routed, who routes through its net.
Intra-AS: single admin, so no policy decisions
needed
Scale:
hierarchical routing saves table size, reduced
update traffic
Performance:
Intra-AS: can focus on performance
4-95