0% found this document useful (0 votes)
14 views95 pages

Chapter 03 Network Layer and IP ST

Uploaded by

duy505092
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views95 pages

Chapter 03 Network Layer and IP ST

Uploaded by

duy505092
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 95

Chapter 3: Network Layer and IP

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

 transport segment from applicatio

sending to receiving host n


transport
network
 on sending side data link
physical
network network
encapsulates segments into network
data link data link
physical physical
datagrams data link
physical network network
 on rcving side, delivers data link
physical
data link
physical
segments to transport layer
network network
 network layer protocols in data link data link
physical
physical
every host, router network
data link
physical
 router examines header applicatio
n
network
fields in all IP datagrams data link network
transport
network
physical
passing through it. network
data link
data link
physical
data link
physical
physical

4-4
Two Key Network-Layer Functions

 forwarding: move packets from


router’s input to appropriate
router output
 routing: determine route taken
by packets from source to dest.
 routing algorithms
Interplay between routing and forwarding

routing algorithm

local forwarding table


header value output link
0100 3
0101 2
0111 2
1001 1

value in arriving
packet’s header
0111 1

3 2
Datagram networks

 no call setup at network layer


 routers: no state about end-to-end connections
 no network-level concept of “connection”
 packets forwarded using destination host address
 packets between same source-dest pair may take different
paths

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

Destination Address Range Link Interface

11001000 00010111 00010000 00000000


through 0
11001000 00010111 00010111 11111111

11001000 00010111 00011000 00000000


through 1
11001000 00010111 00011000 11111111

11001000 00010111 00011001 00000000


through 2
11001000 00010111 00011111 11111111

otherwise 3
Longest prefix matching

Prefix Match Link Interface


11001000 00010111 00010 0
11001000 00010111 00011000 1
11001000 00010111 00011 2
otherwise 3

Examples

DA: 11001000 00010111 00010110 10100001 Which interface?

DA: 11001000 00010111 00011000 10101010 Which interface?


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-10
The Internet Network layer

Host, router network layer functions:

Transport layer: TCP, UDP

Routing protocols IP protocol


•path selection •addressing conventions
•RIP, OSPF, BGP •datagram format
Network •packet handling conventions
layer forwarding
ICMP protocol
table •error reporting
•router
“signaling”
Link 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:

— Each byte is represented by a decimal number,


called a octet
— two octets separated by a dot “.”
 Example:

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

 Host addresses range:

(Network address + 1) -> (Broadcast address –


1)
 Example: 172.29.1.1/16

=>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

Clas Address (range) Networ Total Private


s ks Hosts
A 10.0.0.0 1 16,777,214
B 172.16.0.0-172.31.0.0 16 1,048,544
C 192.168.0.0- 256 65,024
192.168.255.0
 Loopback address: 127.0.0.0 – 127.255.255.255
IPv4: Public address Vs. Private address
IPv4: Subnetting
 Reasons for subnetting:
 Reduce the number of nodes => Increase
network throughput
 Increased security
 Ease of administration
 Ease of maintenance
 Avoid wasting IP addresses
IPv4: Subnetting
 Rule:
 Borrow the first bits in HostID => NetID
 Number of subnets = 2^n (n: number of
bits borrowed from HostID)
 New Subnet Mask = SM + n
 Planning:
 (1) Number of subnets to divide <=2^n,
=>n=?
 (2) Number of nodes in each subnet
<=2^m – 2, =>n=?
IPv4: Subnetting
A company is granted the site address
192.168.1.0 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: Subnetting
192.168.1.0/SM
Class: C (N.N.N.H), =>SM=24
+ The number of the appropriate subnets:
5 subnets <=2^n, => n=3 (n: number of bits
borrowed from HostID)
The number of the appropriate subnets: 2^3 = 8
+ The number of Hosts in each subnet:
m is the number of bits in the HostID: m= (32-24) –
3=5
The number of Hosts in each subnet: 2^m – 2 =
2^5 – 2 = 30
+ New Subnet Mask?
NewSM=SM+n=24+3=27
IPv4: Subnetting
+ Host addresses range of each subnet?
192.168.1.xxxh hhhh

192.168.1.0000 0000 : 192.168.1.0 (Subnet No.1)


Host range: 192.168.1.1 - > 192.168.1.30
Broadcast: 192.168.1.0001 1111 : 192.168.1.31

192.168.1.0010 0000 : 192.168.1.32 (Subnet No.2)


Host range: 192.168.1.33 - > 192.168.1.62
Broadcast: 192.168.1.0011 1111 : 192.168.1.63

192.168.1.0100 0000 : 192.168.1.64 (Subnet No.3)


Host range: 192.168.1.65 - > 192.168.1.94
Broadcast: 192.168.1. 0101 1111 : 192.168.1.95
IPv4: Subnetting
+ Host addresses range of each subnet?
192.168.1.0110 0000 : 192.168.1.96 (Subnet No.4)
Host range: 192.168.1.97 - > 192.168.1.126
Broadcast: 192.168.1. 0111 1111 : 192.168.1.127

192.168.1.1000 0000 : 192.168.1.128 (Subnet No.5)


Host range: 192.168.1.129 - > 192.168.1.158
Broadcast: 192.168.1. 1001 1111 : 192.168.1.159

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?

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”
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 an “on”)
Support for mobile users who want to join network (more shortly)
DHCP overview:
 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
DHCP client-server scenario

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

rest of local network


Internet (e.g., home network)
10.0.0/24 10.0.0.1

10.0.0.4
10.0.0.2
138.76.29.7

10.0.0.3

All datagrams leaving local Datagrams with source or


network have same single source destination in this network
NAT IP address: 138.76.29.7, have 10.0.0/24 address for
different source port numbers source, destination (as usual)
NAT: Network Address Translation
 Motivation: local network uses just one IP address
as far as outside world is concerned:
 range of addresses not needed from ISP: just
one IP address for all devices
 can change addresses of devices in local
network without notifying outside world
 can change ISP without changing addresses of
devices in local network
 devices inside local net not explicitly
addressable, visible by outside world (a
security plus).
NAT: Network Address Translation
NAT translation table
2: NAT router 1: host 10.0.0.1
WAN side addr LAN side addr
changes datagram sends datagram to
138.76.29.7, 5001 10.0.0.1, 3345 128.119.40.186, 80
source addr from
…… ……
10.0.0.1, 3345 to
138.76.29.7, 5001, S: 10.0.0.1, 3345
updates table D: 128.119.40.186,
80 10.0.0.1
1
S: 138.76.29.7,
2 5001 10.0.0.4
D: 128.119.40.186, 10.0.0.2
80
138.76.29.7 S: 128.119.40.186,
80 4
S: 128.119.40.186,
80 3 D: 10.0.0.1, 3345
10.0.0.3
D: 138.76.29.7, 4: NAT router
3: Reply
5001 arrives changes datagram
dest. address: dest addr from
138.76.29.7, 5001 138.76.29.7, 5001 to 10.0.0.1, 3345
ARP: Address Resolution Protocol

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

 Data sent to a remote computer often travels


through one or more routers.
 These routers can encounter a number of
problems in sending the message to its
ultimate destination.
 Routers use Internet Control Message
Protocol (ICMP) messages to notify the source
IP of these problems.
 ICMP is also used for other diagnosis and
troubleshooting functions.
 ICMP messages encapsulated within an IP
datagram.
IPv6
 Initial motivation: 32-bit address space
soon to be completely allocated.
 Additional motivation:
 header format helps speed
processing/forwarding
 header changes to facilitate QoS

IPv6 datagram format:


 fixed-length 40 byte header

 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

local forwarding table


header value output link
0100 3
0101 2
0111 2
1001 1

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) }

Remark: Graph abstraction is useful in other network contexts

Example: P2P, where N is set of peers and E is set of TCP connections


Graph abstraction: costs
5 • c(x,x’) = cost of link (x,x’)
3
v w 5
2 - e.g., c(w,z) = 5
u 2 1 z
3 • cost could always be 1, or
1 2 inversely related to bandwidth,
x 1
y
or inversely related to
congestion

Cost of path (x1, x2, x3,…, xp) = c(x1,x2) + c(x2,x3) + … + c(xp-1,xp)

Question: What’s the least-cost path between u and z ?

Routing algorithm: algorithm that finds least-cost path


Routing Algorithm classification
Global or decentralized Static or dynamic?
information?
Global:
Static:
 routes change slowly
 all routers have complete
topology, link cost info over time
 “link state” algorithms Dynamic:
Decentralized:
 routes change more
 router knows physically-
connected neighbors, link quickly
costs to neighbors  periodic update
 iterative process of
computation, exchange of
 in response to
info with neighbors link cost changes
 “distance vector” algorithms
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-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”

 all nodes have same info


 D(v): current value of cost of path from source to dest. v

 computes least cost
p(v): predecessor paths
node from
along onefrom
path node (‘source”)
source to v to all
other nodes
 N': set offorwarding
 gives nodes whose least
table for cost path definitively known
that node
 iterative: after k iterations, know least cost path to k dest.’s
Dijsktra’s Algorithm
1 Initialization:
2 N' = {u}
3 for all nodes v
4 if v adjacent to u
5 then D(v) = c(u,v)
6 else D(v) = ∞
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'
Dijkstra’s algorithm: example
Step N' D(v),p(v) D(w),p(w) D(x),p(x) D(y),p(y) D(z),p(z)
0 u 2,u 5,u 1,u ∞ ∞
1 ux 2,u 4,x 2,x ∞
2 uxy 2,u 3,y 4,y
3 uxyv 3,y 4,y
4 uxyvw 4,y
5 uxyvwz

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

Resulting forwarding table in u:


destination link
v (u,v)
x (u,x)
y (u,x)
w (u,x)
z (u,x)
Dijkstra’s algorithm, discussion
Algorithm complexity: n nodes
 each iteration: need to check all nodes, w, not in

N
 n(n+1)/2 comparisons: O(n2)

 more efficient implementations possible:

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) }

where min is taken over all neighbors v of x


Bellman-Ford example
5
3
Clearly, dv(z) = 5, dx(z) = 3, dw(z) = 3
v w 5
2
u 2 1 z B-F equation says:
3
1 du(z) = min { c(u,v) + dv(z),
2
x 1
y
c(u,x) + dx(z),
c(u,w) + dw(z) }
= min {2 + 5,
1 + 3,
5 + 3} = 4
Node that achieves minimum is next
hop in shortest path ➜ forwarding table
Distance Vector Algorithm
 Dx(y) = estimate of least cost from x to y
 Node x knows cost to each neighbor v:
c(x,v)
 Node x maintains distance vector Dx =
[Dx(y): y є N ]
 Node x also maintains its neighbors’
distance vectors
 For each neighbor v, x maintains
Dv = [Dv(y): y є N ]
Distance vector algorithm
(4)
Basic idea:
 From time-to-time, each node sends its own

distance vector estimate to neighbors


 Asynchronous

 When a node x receives new DV estimate from

neighbor, it updates its own DV using B-F


equation:
Dx(y) ← minv{c(x,v) + Dv(y)} for each node y ∊ N

 Under minor, natural conditions, the estimate


Dx(y) converge to the actual least cost dx(y)
Distance Vector Algorithm (5)

Iterative, Each node:


asynchronous: each
local iteration caused by:
wait for (change in local link
 local link cost change
cost or msg from neighbor)
 DV update message from
neighbor
Distributed: recompute estimates
 each node notifies
neighbors only when its
if DV to any dest has
DV changes
changed, notify neighbors
 neighbors then notify
their neighbors if
necessary
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
x y z x y z
x 0 2 7 x 0 2 3
from

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

Link cost changes: 1


 node detects local link cost y
4 1
change
 updates routing info, recalculates x z
50

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

Message complexity Robustness: what happens


 LS: with n nodes, E links, if router malfunctions?
O(nE) msgs sent LS:
 DV: exchange between  node can advertise
neighbors only incorrect link cost
 convergence time varies  each node computes only
its own table
Speed of Convergence
 LS: O(n2) algorithm requires DV:
O(nE) msgs  DV node can advertise
 may have oscillations incorrect path cost
 each node’s table used by
 DV: convergence time varies
others
 may be routing loops
 error propagate thru
 count-to-infinity problem
network
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-74
Hierarchical Routing
Our routing study thus far - idealization
 all routers identical
 network “flat”
… not true in practice

scale: with 200 million administrative


destinations: autonomy
 can’t store all dest’s in  internet = network of
routing tables! networks
 routing table exchange  each network admin may
would swamp links! want to control routing in
its own network
Hierarchical Routing
 aggregate
Gateway routers
router
into regions,
 Direct link to router in another AS
“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

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

 also known as Interior Gateway Protocols (IGP)


 most common Intra-AS routing protocols:

 RIP: Routing Information Protocol


 OSPF: Open Shortest Path First
 IGRP: Interior Gateway Routing Protocol
(Cisco proprietary)
RIP ( Routing Information Protocol)
 distance vector algorithm
 included in BSD-UNIX Distribution in 1982
 distance metric: # of hops (max = 15 hops)

From router A to subnets:

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

 RIP routing tables managed by application-


level process called route-d (daemon)
 advertisements sent in UDP packets, periodically
repeated
routed routed

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

 OSPF advertisement carries one entry per


neighbor router
 advertisements disseminated to entire AS (via
flooding)
 carried in OSPF messages directly over IP (rather than
TCP or UDP
Link-State Advertisement
(LSA)
OSPF “advanced” features (not in RIP)

 security: all OSPF messages authenticated (to


prevent malicious intrusion)
 multiple same-cost paths allowed (only one path
in RIP)
 For each link, multiple cost metrics for different
TOS (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.
Hierarchical OSPF
Hierarchical OSPF
 two-level hierarchy: local area, backbone.
 Link-state advertisements only in area
 each nodes 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 AS’s.
Internet inter-AS routing: BGP

 BGP (Border Gateway Protocol): the de


facto standard
 BGP provides each AS a means to:
1. Obtain subnet reachability information
from neighboring ASs.
2. Propagate reachability information to all
AS-internal routers.
3. Determine “good” routes to subnets based
on reachability information and policy.
 allows subnet to advertise its existence
to rest of Internet: “I am here”
BGP basics
 pairs of routers (BGP peers) exchange routing
info over semi-permanent TCP connections: BGP
sessions
 BGP sessions need not correspond to physical
links.
 when AS2 advertises a prefix to AS1:
 AS2 promises it will forward datagrams
towards that prefix.
 AS2 can aggregate prefixes in its
advertisement
3c
eBGP session
iBGP session
3a 2c
3b 2a
AS3 2b
1c AS2
1a 1b
AS1 1d
Why different Intra- and Inter-AS routing ?

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

 Inter-AS: policy may dominate over performance


Summary
 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-95

You might also like