Chapter 4 roadmap
description
Transcript of Chapter 4 roadmap
![Page 1: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/1.jpg)
Network Layer 4-1
Chapter 4 roadmap4.1 Introduction and Network Service Models4.2 Routing Principles
Link state routing Distance vector routing
4.3 Hierarchical Routing4.4 The Internet (IP) Protocol4.5 Routing in the Internet4.6 What’s Inside a Router4.7 IPv64.8 Multicast Routing4.9 Mobility
![Page 2: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/2.jpg)
Network Layer 4-2
Routing Algorithm classification
Global or decentralized information?
Global: all routers have complete
topology, link cost info “link state” algorithmsDecentralized: router knows physically-
connected neighbors, link costs to neighbors
iterative process of computation, exchange of info with neighbors
“distance vector” algorithms
Static or dynamic?Static: routes change slowly
over timeDynamic: routes change more
quickly periodic update in response to link
cost changes
![Page 3: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/3.jpg)
Network Layer 4-3
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 gives routing table for
that node iterative: after k iterations,
know least cost path to k dest.’s
Notation: c(i,j): link cost from node
i to j. cost infinite if not direct neighbors
D(v): current value of cost of path from source to dest. v
p(v): predecessor node along path from source to v, that is next to v
N: set of nodes whose least cost path definitively known
![Page 4: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/4.jpg)
Network Layer 4-4
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
![Page 5: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/5.jpg)
Network Layer 4-5
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 dest. Y via
neighbor Z:
D (Y,Z)X
distance from X toY, via Z as next hop
c(X,Z) + min {D (Y,w)}Z
w
=
=
![Page 6: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/6.jpg)
Network Layer 4-6
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!
loop!
![Page 7: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/7.jpg)
Network Layer 4-7
Distance Vector Routing: overview
Iterative, asynchronous: each local iteration caused by:
local link cost change message from neighbor:
its least cost path change from neighbor
Distributed: each node notifies
neighbors only when its least cost path to any destination changes neighbors then notify
their neighbors if necessary
wait for (change in local link cost of msg from neighbor)
recompute distance table
if least cost path to any dest
has changed, notify neighbors
Each node:
![Page 8: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/8.jpg)
Network Layer 4-8
Distance Vector Algorithm: example
X Z12
7
Y
![Page 9: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/9.jpg)
Network Layer 4-9
Distance Vector Algorithm: example
X Z12
7
Y
D (Y,Z)X
c(X,Z) + min {D (Y,w)}w=
= 7+1 = 8
Z
D (Z,Y)X
c(X,Y) + min {D (Z,w)}w=
= 2+1 = 3
Y
![Page 10: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/10.jpg)
Network Layer 4-10
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”
![Page 11: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/11.jpg)
Network Layer 4-11
Distance Vector: link cost changes
Link cost changes: good news travels fast bad news travels slow -
“count to infinity” problem! X Z14
50
Y60
algorithmcontinues
on!
![Page 12: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/12.jpg)
Network Layer 4-12
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 the count to
infinity problem? X Z
14
50
Y60
algorithmterminates
![Page 13: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/13.jpg)
Network Layer 4-13
Comparison of LS and DV algorithms
Message complexity LS: with n nodes, E links,
O(nE) msgs sent each 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
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 • error propagate thru
network
![Page 14: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/14.jpg)
Network Layer 4-14
Chapter 4 roadmap
4.1 Introduction and Network Service Models4.2 Routing Principles4.3 Hierarchical Routing4.4 The Internet (IP) Protocol4.5 Routing in the Internet4.6 What’s Inside a Router4.7 IPv64.8 Multicast Routing4.9 Mobility
![Page 15: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/15.jpg)
Network Layer 4-15
Hierarchical Routing
scale: with 200 million destinations:
can’t store all dest’s 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 - idealization all routers identical network “flat”… not true in practice
![Page 16: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/16.jpg)
Network Layer 4-16
Hierarchical Routing
aggregate routers into regions, “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
![Page 17: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/17.jpg)
Network Layer 4-17
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
link layer
physical layer
a
b
b
aaC
A
Bd
A.a
A.c
C.bB.a
cb
c
![Page 18: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/18.jpg)
Network Layer 4-18
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
![Page 19: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/19.jpg)
Network Layer 4-19
Chapter 4 roadmap4.1 Introduction and Network Service Models4.2 Routing Principles4.3 Hierarchical Routing4.4 The Internet (IP) Protocol
4.4.1 IPv4 addressing 4.4.2 Moving a datagram from source to destination 4.4.3 Datagram format 4.4.4 IP fragmentation 4.4.5 ICMP: Internet Control Message Protocol 4.4.6 DHCP: Dynamic Host Configuration Protocol 4.4.7 NAT: Network Address Translation
4.5 Routing in the Internet4.6 What’s Inside a Router4.7 IPv64.8 Multicast Routing4.9 Mobility
![Page 20: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/20.jpg)
Network Layer 4-20
The Internet Network layer
forwardingtable
Host, router network layer functions:
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
![Page 21: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/21.jpg)
Network Layer 4-21
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 may have
multiple interfaces IP addresses
associated with each interface
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
![Page 22: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/22.jpg)
Network Layer 4-22
IP Addressing IP address:
network part (high order bits)
host part (low order bits)
What’s a network ? (from IP address perspective) device interfaces with
same network part of IP address
can physically reach each other without 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
network consisting of 3 IP networks(for IP addresses starting with 223, first 24 bits are network address)
LAN
![Page 23: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/23.jpg)
Network Layer 4-23
IP AddressingHow to find the
networks? Detach each
interface from router, host
create “islands of isolated networks
223.1.1.1
223.1.1.3
223.1.1.4
223.1.2.2223.1.2.1
223.1.2.6
223.1.3.2223.1.3.1
223.1.3.27
223.1.1.2
223.1.7.0
223.1.7.1223.1.8.0223.1.8.1
223.1.9.1
223.1.9.2
Interconnected system consisting
of six networks
![Page 24: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/24.jpg)
Network Layer 4-24
IP Addresses
0network host
10 network host
110 network host
1110 multicast address
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 notion of “network”, let’s re-examine IP addresses:
“class-full” addressing:
![Page 25: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/25.jpg)
Network Layer 4-25
IP addressing: CIDR Classful addressing:
inefficient use of address space, address space exhaustion
e.g., class B net allocated enough addresses for 65K hosts, even if only 2K hosts 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 network
portion of address
11001000 00010111 00010000 00000000
networkpart
hostpart
200.23.16.0/23
![Page 26: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/26.jpg)
Network Layer 4-26
IP addresses: how to get one?
Q: How does host get IP address?
hard-coded by system admin in a file Wintel: 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”
(more shortly)
![Page 27: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/27.jpg)
Network Layer 4-27
IP addresses: how to get one?
Q: How does network get network 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
![Page 28: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/28.jpg)
Network Layer 4-28
Hierarchical addressing: route aggregation
“Send me anythingwith addresses beginning 200.23.16.0/20”
200.23.16.0/23
200.23.18.0/23
200.23.30.0/23
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-Us“Send me anythingwith addresses beginning 199.31.0.0/16”
200.23.20.0/23Organization 2
...
...
Hierarchical addressing allows efficient advertisement of routing information:
![Page 29: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/29.jpg)
Network Layer 4-29
Hierarchical addressing: more specific routes
ISPs-R-Us has a more specific route to Organization 1
“Send me anythingwith addresses beginning 200.23.16.0/20”
200.23.16.0/23
200.23.18.0/23
200.23.30.0/23
Fly-By-Night-ISP
Organization 0
Organization 7Internet
Organization 1
ISPs-R-Us“Send me anythingwith addresses beginning 199.31.0.0/16or 200.23.18.0/23”
200.23.20.0/23Organization 2
...
...
![Page 30: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/30.jpg)
Network Layer 4-30
IP addressing: the last word...
Q: How does an ISP get block of addresses?
A: ICANN: Internet Corporation for Assigned
Names and Numbers allocates addresses manages DNS assigns domain names, resolves disputes
![Page 31: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/31.jpg)
Network Layer 4-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
miscfields
sourceIP addr
destIP addr data
datagram remains unchanged, as it travels source to destination
addr fields of interest here
Dest. Net. next router Nhops
223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2
forwarding table in A
![Page 32: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/32.jpg)
Network Layer 4-32
Getting a datagram from source to dest.
Starting at A, send IP datagram addressed to B:
look up net. address of B in forwarding table
find B is on same net. as A link layer will send datagram
directly to B inside link-layer frame B and A are directly connected
Dest. Net. next router Nhops
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
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
forwarding table in A
![Page 33: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/33.jpg)
Network Layer 4-33
Getting a datagram from source to dest.
Dest. Net. next router Nhops
223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2
Starting at A, dest. E: look up network address of E
in forwarding table 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.3 data
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
forwarding table in A
![Page 34: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/34.jpg)
Network Layer 4-34
Getting a datagram from source to dest.
Arriving at 223.1.4, destined for 223.1.2.2
look up network address of E in router’s forwarding table
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!!! (hooray!)
miscfields223.1.1.1223.1.2.3 data Dest. Net router Nhops 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
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
forwarding table in router
![Page 35: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/35.jpg)
Network Layer 4-35
IP datagram format
ver length
32 bits
data (variable length,typically a TCP
or UDP segment)
16-bit identifier
Internet checksum
time tolive
32 bit source IP address
IP protocol versionnumber
header length (bytes)
max numberremaining hops
(decremented at each router)
forfragmentation/reassembly
total datagramlength (bytes)
upper layer protocolto deliver payload to
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.
how much overhead with TCP?
20 bytes of TCP 20 bytes of IP = 40 bytes + app
layer overhead
![Page 36: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/36.jpg)
Network Layer 4-36
IP Fragmentation & Reassembly network links have MTU
(max.transfer 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, order related fragments
fragmentation: in: one large datagramout: 3 smaller datagrams
reassembly
![Page 37: Chapter 4 roadmap](https://reader034.fdocuments.in/reader034/viewer/2022051116/5681501b550346895dbe015e/html5/thumbnails/37.jpg)
Network Layer 4-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
Example 4000 byte
datagram MTU = 1500 bytes