SlideShare une entreprise Scribd logo
1  sur  87
SCO 300 1
Network Layer
Reference:
Computer Networking: A Top Down Approach Featuring the
Internet,
3rd edition.
Jim Kurose, Keith Ross
Addison-Wesley, July 2004.
Network layer
• Transport segment from
sending to receiving host
• On sending side
encapsulates segments into
datagrams
• On receving side, delivers
segments to transport layer
• Network layer protocols in
every host and router
• Router examines header
fields in all IP datagrams
passing through it
SCO 300 2
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
network
data link
physical
application
transport
network
data link
physical
application
transport
network
data link
physical
Key Network-Layer Functions
• forwarding: move
packets from router’s
input to appropriate
router output
• routing: determine
route to be taken by
packets from source
to dest.
– Routing algorithms
SCO 300 3
analogy:
 forwarding: process of
getting through single
interchange/juction
 routing: process of
planning trip from source
to dest
SCO 300 4
1
23
0111
value in arriving
packet’s header
routing algorithm
local forwarding table
header value output link
0100
0101
0111
1001
3
2
2
1
Interplay between routing and forwarding
Connection setup
• 3rd important function in some network
architectures:
– ATM, frame relay, X.25
• Before datagrams flow, two hosts and intervening
routers establish virtual connection
– Routers get involved in creating the circuit
• Network and transport layer connection service:
– Network: between two hosts
– Transport: between two processes
SCO 300 5
Network layer connection and
connection-less service
• Datagram network provides network-layer
connectionless service
• Virtual circuit (VC) network provides network-layer
connection service
• Analogous to the transport-layer services, but:
– Service: host-to-host
– No choice: network provides one or the other
– Implementation: in the core
SCO 300 6
Virtual circuits
• call setup, teardown for
each call before data
can flow
• each packet carries VC
identifier (not
destination host
address)
• “source-to-dest path
behaves much like
telephone circuit”
– performance-wise
– network actions along
source-to-dest path
SCO 300 7
VC implementation
• A VC consists of:
– Path from source to destination
– VC numbers, one number for each link along path
– Entries in forwarding tables in routers along path
• Packet belonging to VC carries a VC number.
• VC number must be changed on each link.
– New VC number comes from forwarding table
SCO 300 8
Forwarding table
SCO 300 9
12 22 32
1
2
3
VC number
interface
number
Incoming interface Incoming VC # Outgoing interface Outgoing VC #
1 12 2 22
2 63 1 18
3 7 2 17
1 97 3 87
… … … …
Forwarding table in
northwest router:
Routers maintain connection state information!
Virtual circuits: signaling protocols
• used to setup, maintain
teardown VC
• used in ATM, frame-relay (WAN
protocol), X.25 (WAN protocol)
• not used in today’s Internet
SCO 300 10
application
transport
network
data link
physical
application
transport
network
data link
physical
1. Initiate call 2. incoming call
3. Accept call4. Call connected
5. Data flow begins 6. Receive data
Datagram networks
• no call setup at network layer
• packets forwarded using destination host address
– packets between same source-dest pair may take different paths
SCO 300 11
application
transport
network
data link
physical
application
transport
network
data link
physical
1. Send data 2. Receive data
Datagram or VC network: why?
Internet
• data exchange among
computers
– “elastic” service, no strict
timing req.
• “smart” end systems
(computers)
– can adapt, perform control,
error recovery
– simple inside network,
complexity at “edge”
• many link types
– different characteristics
– uniform service difficult
ATM
• evolved from telephony
• human conversation:
– strict timing, reliability
requirements
– need for guaranteed
service
• “dumb” end systems
– telephones
– complexity inside
network
SCO 300 12
The Internet Network layer
• Host, router network layer
functions:
SCO 300 13
forwarding
table
Routing protocols
•path selection
•RIP, OSPF, BGP
IP protocol
•addressing conventions
•datagram format
ICMP protocol
•error reporting
•router “signaling”
Transport layer: TCP, UDP
Link layer
physical layer
Network
layer
IP datagram format
SCO 300 14
ver length
32 bits
data
(variable length,
typically a TCP
or UDP segment)
16-bit identifier
Internet
checksum
time to
live
32 bit source IP address
IP protocol version
number
header length
(bytes)
max number
remaining hops
(decremented at
each router)
for
fragmentation/
reassembly
total datagram
length (bytes)
upper layer protocol
to deliver payload to
head.
len
type of
service
“type” of data
flgs
fragment
offset
upper
layer
32 bit destination IP address
Options (if any) E.g. timestamp,
record route
taken, specify
list of routers
to visit.
how much overhead
with TCP?
 20 bytes of TCP
 20 bytes of IP
 = 40 bytes + app
layer overhead
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
SCO 300 15
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
IP Addressing & Subnetting
Octets
• An IP address is made up of 4 bits
• The 32-bit IP address is broken up into 4
octets, which are arranged into a dotted-
decimal notation scheme.
• An octet is a set of 8 bits
• Example of an IP version 4:
172.64.126.52
IP Address Classes
• IP addresses are divided into 5 classes, each of
which is designated with the alphabetic letters
A to E.
• Class D addresses are used for multicasting.
• Class E addresses are reserved for testing &
some mysterious future use.
IP Address Classes (Cont.)
• The 5 IP classes are split up based on the
value in the 1st octet:
IP Address Classes (Cont.)
• Using the ranges, you can determine the class
of an address from its 1st octet value.
• An address beginning with 120 is a Class A
address, 155 is a Class B address & 220 is a
Class C address.
Are You the Host or the Network?
• The 32 bits of the IP address are divided into
Network & Host portions, with the octets
assigned as a part of one or the other.
Network & Host Representation
By IP Address Class
Class Octet1 Octet2 Octet3 Octet4
Class A Network Host Host Host
Class B Network Network Host Host
Class C Network Network Network Host
Are You the Host or the Network?
(Cont.)
• Each Network is assigned a network address &
every device or interface (such as a router
port) on the network is assigned a host
address.
• There are only 2 specific rules that govern the
value of the address.
Are You the Host or the Network?
(Cont.)
• A host address cannot be designated by all
zeros or all ones.
• These are special addresses that are reserved
for special purposes.
Class A Addresses
• Class A IP addresses use the 1st 8 bits (1st Octet) to
designate the Network address.
• The 1st bit which is always a 0, is used to indicate the
address as a Class A address & the remaining 7 bits
are used to designate the Network.
• The other 3 octets contain the Host address.
Class A Addresses (Cont.)
• There are 128 Class A Network Addresses, but
because addresses with all zeros aren’t used &
address 127 is a special purpose address, 126
Class A Networks are available.
Class A Addresses (Cont.)
• There are 16,777,214 Host addresses available in a
Class A address.
• Rather than remembering this number exactly, you
can use the following formula to compute the
number of hosts available in any of the class
addresses, where “n” represents the number of bits
in the host portion:
(2n – 2) = Number of available hosts
Class A Addresses (Cont.)
• For a Class A network, there are:
224 – 2 or 16,777,214 hosts.
• Half of all IP addresses are Class A addresses.
• You can use the same formula to determine the
number of Networks in an address class.
• Eg., a Class A address uses 7 bits to designate the
network, so (27 – 2) = 126 or there can be 126 Class
A Networks.
Class B IP Addresses
• Class B addresses use the 1st 16 bits (two octets) for
the Network address.
• The last 2 octets are used for the Host address.
• The 1st 2 bit, which are always 10, designate the
address as a Class B address & 14 bits are used to
designate the Network. This leaves 16 bits (two
octets) to designate the Hosts.
Class B IP Addresses (Cont.)
• So how many Class B Networks can there be?
• Using our formula, (214 – 2), there can be
16,382 Class B Networks & each Network can
have (216 – 2) Hosts, or 65,534 Hosts.
Class C IP Addresses
• Class C addresses use the 1st 24 bits (three
octets) for the Network address & only the
last octet for Host addresses.the 1st 3 bits of
all class C addresses are set to 110, leaving 21
bits for the Network address, which means
there can be 2,097,150 (221 – 2) Class C
Networks, but only 254 (28 – 2) Hosts per
Network.
Class C IP Addresses (Cont.)
Special Addresses
• A few addresses are set aside for specific
purposes.
• Network addresses that are all binary zeros, all
binary ones & Network addresses beginning
with 127 are special Network addresses.
Special Addresses (Cont.)
Special Addresses (Cont.)
• Within each address class is a set of addresses
that are set aside for use in local networks
sitting behind a firewall or NAT (Network
Address Translation) device or Networks not
connected to the Internet.
Special Addresses (Cont.) – Private
adress space
• A list of these addresses for each IP address
class that are available for use in a LAN.
• This is the private address space
Subnet Mask
• An IP address has 2 parts:
– The Network identification.
– The Host identification.
• Frequently, the Network & Host portions of the
address need to be separately extracted.
• In most cases, if you know the address class, it’s easy
to separate the 2 portions.
Subnet Mask (Cont.)
• With the rapid growth of the internet & the ever-
increasing demand for new addresses, the
standard address class structure has been
expanded by borrowing bits from the Host
portion to allow for more Networks.
• Under this addressing scheme, called Subnetting,
separating the Network & Host requires a special
process called Subnet Masking.
Subnet Mask (Cont.)
• The subnet masking process was developed to
identify & extract the Network part of the
address.
• A subnet mask, which contains a binary bit
pattern of ones & zeros, is applied to an address
to determine whether the address is on the local
Network.
• If it is not, the process of routing it to an outside
network begins.
Subnet Mask (Cont.)
• The function of a subnet mask is to determine
whether an IP address exists on the local network
or whether it must be routed outside the local
network.
• It is applied to a message’s destination address to
extract the network address.
• If the extracted network address matches the
local network ID, the destination is located on the
local network.
Subnet Mask (Cont.)
• However, if they don’t match, the message
must be routed outside the local network.
Default Standard Subnet Masks
• There are default standard subnet masks
for Class A, B and C addresses:
Classless Interdomain
Routing (CIDR)
Features of CIDR
• Elimination of classful addressing
• Classless Addressing
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
SCO 300 44
11001000 00010111 00010000 00000000
subnet
part
host
part
200.23.16.0/23
Classless Addressing
• E.g. 172.110.20.2/24
• Network address 172.110.20.0
• Broadcast address 172.110.20.255
• Number of network bits 24
• Number of host bits 8
Subnets
• IP address:
– Subnet/network part
(high order bits)
– host part (low order bits)
• What’s a subnet ?
– device interfaces with
same subnet/network
part of IP address
– can physically reach each
other without
intervening router
SCO 300 46
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 subnets
LAN
Subnets
• 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.
SCO 300 47
223.1.1.0/24
223.1.2.0/24
223.1.3.0/24
Subnet mask: /24
Subnets
• How many?
SCO 300 48
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.1
223.1.8.0223.1.8.1
223.1.9.1
223.1.9.2
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 in next chapter)
SCO 300 49
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
SCO 300 50
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
Hierarchical addressing: route
aggregation
SCO 300 51
“Send me anything
with 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 7
Internet
Organization 1
ISPs-R-Us
“Send me anything
with addresses
beginning
199.31.0.0/16”
200.23.20.0/23
Organization 2
.
.
.
.
.
.
Hierarchical addressing allows efficient advertisement of routing
information:
Hierarchical addressing: more specific
routes
SCO 300 52
ISPs-R-Us has a more specific route to Organization 1
“Send me anything
with 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 7
Internet
Organization 1
ISPs-R-Us
“Send me anything
with addresses
beginning 199.31.0.0/16
or 200.23.18.0/23”
200.23.20.0/23
Organization 2
.
.
.
.
.
.
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 (Domain Name System)
– DNS – Converts web address to IP address.
– assigns domain names, resolves disputes
SCO 300 53
NAT: Network Address Translation
SCO 300 54
10.0.0.1
10.0.0.2
10.0.0.3
10.0.0.4
138.76.29.7
local network
(e.g., home network)
10.0.0/24
rest of
Internet
Datagrams with source or
destination in this network
have 10.0.0/24 address for
source, destination (as usual)
All datagrams leaving local
network have same single source NAT IP
address: 138.76.29.7,
different source port numbers
NAT: Network Address Translation
• Motivation: local network uses just one IP
address as far as outside word is concerned:
– no need to be allocated range of addresses from
ISP: - just one IP address is used 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).
SCO 300 55
NAT: Network Address Translation
• Implementation: NAT router must:
– outgoing datagrams: replace (source IP address, port #) of every
outgoing datagram to (NAT IP address, new port #)
• . . . remote clients/servers will respond using (NAT IP address, new
port #) as destination addr.
– remember (in NAT translation table) every (source IP address,
port #) to (NAT IP address, new port #) translation pair
– incoming datagrams: replace (NAT IP address, new port #) in
dest fields of every incoming datagram with corresponding
(source IP address, port #) stored in NAT table
SCO 300 56
NAT: Network Address Translation
SCO 300 57
10.0.0.1
10.0.0.2
10.0.0.3
S: 10.0.0.1, 3345
D: 128.119.40.186, 80
1
10.0.0.4
138.76.29.7
1: host 10.0.0.1
sends datagram to
128.119.40, 80
NAT translation table
WAN side addr LAN side addr
138.76.29.7, 5001 10.0.0.1, 3345
…… ……
S: 128.119.40.186, 80
D: 10.0.0.1, 3345
4
S: 138.76.29.7, 5001
D: 128.119.40.186, 802
2: NAT router
changes datagram
source addr from
10.0.0.1, 3345 to
138.76.29.7, 5001,
updates table
S: 128.119.40.186, 80
D: 138.76.29.7, 5001 3
3: Reply arrives
dest. address:
138.76.29.7, 5001
4: NAT router
changes datagram
dest addr from
138.76.29.7, 5001 to 10.0.0.1, 3345
NAT: Network Address Translation
• 16-bit port-number field:
– 60,000 simultaneous connections with a single
LAN-side address!
• NAT is controversial:
– routers should only process up to layer 3
– violates end-to-end argument
• NAT possibility must be taken into account by app
designers, eg, P2P applications
– address shortage should instead be solved by IPv6
SCO 300 58
Chapter 4: Network Layer
• 4. 1 Introduction
• 4.2 Virtual circuit and
datagram networks
• 4.3 What’s inside a
router
• 4.4 IP: Internet Protocol
– Datagram format
– IPv4 addressing
– ICMP
– IPv6
• 4.5 Routing algorithms
– Link state
– Distance Vector
– Hierarchical routing
• 4.6 Routing in the
Internet
– RIP
– OSPF
– BGP
• 4.7 Broadcast and
multicast routing
SCO 300 59
ICMP: Internet Control Message
Protocol
• used by hosts & routers to
communicate network-level
information
– error reporting: unreachable
host, network, port, protocol
– echo request/reply (used by
ping)
• network-layer “above” IP:
– ICMP msgs carried in IP
datagrams
• ICMP message: type, code
plus first 8 bytes of IP
datagram causing error
SCO 300 60
Type Code description
0 0 echo reply (ping)
3 0 dest. network unreachable
3 1 dest host unreachable
3 2 dest protocol unreachable
3 3 dest port unreachable
3 6 dest network unknown
3 7 dest host unknown
4 0 source quench (congestion
control - not used)
8 0 echo request (ping)
9 0 route advertisement
10 0 router discovery
11 0 TTL expired
12 0 bad IP header
Traceroute
• Source sends series of
UDP segments to dest
– First has TTL =1
– Second has TTL=2, etc.
– Unlikely port number
• When nth datagram
arrives to nth router:
– Router discards datagram
– And sends to source an
ICMP message (type 11,
code 0)
– Message includes name of
router& IP address
• When ICMP message
arrives, source calculates
RTT
• Traceroute does this 3 times
• Stopping criterion
• UDP segment eventually
arrives at destination host
• Destination returns ICMP
“host unreachable” packet
(type 3, code 3)
• When source gets this ICMP,
stops.
SCO 300 61
Chapter 4: Network Layer
• 4. 1 Introduction
• 4.2 Virtual circuit and
datagram networks
• 4.3 What’s inside a
router
• 4.4 IP: Internet Protocol
– Datagram format
– IPv4 addressing
– ICMP
– IPv6
• 4.5 Routing algorithms
– Link state
– Distance Vector
– Hierarchical routing
• 4.6 Routing in the
Internet
– RIP
– OSPF
– BGP
• 4.7 Broadcast and
multicast routing
SCO 300 62
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
SCO 300 63
IPv6 Header (Cont)
SCO 300 64
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
Other Changes from IPv4
• Checksum: removed entirely to reduce
processing time at each hop
• Options: allowed, but outside of header,
indicated by “Next Header” field
• ICMPv6: new version of ICMP
– additional message types, e.g. “Packet Too Big”
– multicast group management functions
SCO 300 65
Transition From IPv4 To IPv6
• Not all routers can be upgraded simultaneous
– no “flag days”
– How will the network operate with mixed IPv4 and
IPv6 routers?
• Tunneling: IPv6 carried as payload in IPv4
datagram among IPv4 routers
SCO 300 66
Tunneling
SCO 300 67
A B E F
IPv6 IPv6 IPv6 IPv6
tunnelLogical view:
Physical view:
A B E F
IPv6 IPv6 IPv6 IPv6
C D
IPv4 IPv4
Flow: X
Src: A
Dest: F
data
Flow: X
Src: A
Dest: F
data
Flow: X
Src: A
Dest: F
data
Src:B
Dest: E
Flow: X
Src: A
Dest: F
data
Src:B
Dest: E
A-to-B:
IPv6
E-to-F:
IPv6
B-to-C:
IPv6 inside
IPv4
B-to-C:
IPv6 inside
IPv4
Chapter 4: Network Layer
• 4. 1 Introduction
• 4.2 Virtual circuit and
datagram networks
• 4.3 What’s inside a
router
• 4.4 IP: Internet Protocol
– Datagram format
– IPv4 addressing
– ICMP
– IPv6
• 4.5 Routing algorithms
– Link state
– Distance Vector
– Hierarchical routing
• 4.6 Routing in the
Internet
– RIP
– OSPF
– BGP
• 4.7 Broadcast and
multicast routing
SCO 300 68
Interplay between routing and
forwarding
SCO 300 69
1
23
0111
value in arriving
packet’s header
routing algorithm
local forwarding table
header value output link
0100
0101
0111
1001
3
2
2
1
Graph abstraction
SCO 300 70
u
yx
wv
z
2
2
1
3
1
1
2
5
3
5
Graph: G = (N,E)
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
SCO 300 71
u
yx
wv
z
2
2
1
3
1
1
2
5
3
5
• c(x,x’) = cost of link (x,x’)
- e.g., c(w,z) = 5
• cost could always be 1, or
inversely related to bandwidth,
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
information?
• Global:
• all routers have complete
topology, link cost info
• “link state” algorithms
• Decentralized:
• 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 time
• Dynamic:
• routes change more
quickly
– periodic update
– in response to link cost
changes
SCO 300 72
Chapter 4: Network Layer
• 4. 1 Introduction
• 4.2 Virtual circuit and
datagram networks
• 4.3 What’s inside a
router
• 4.4 IP: Internet Protocol
– Datagram format
– IPv4 addressing
– ICMP
– IPv6
• 4.5 Routing algorithms
– Link state
– Distance Vector
– Hierarchical routing
• 4.6 Routing in the
Internet
– RIP
– OSPF
– BGP
• 4.7 Broadcast and
multicast routing
SCO 300 73
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 forwarding table for
that node
• iterative: after k iterations,
know least cost path to k
dest.’s
• Notation:
• c(x,y): link cost from node x
to y; = ∞ 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
• N': set of nodes whose least
cost path definitively known
SCO 300 74
Dijsktra’s Algorithm
SCO 300 75
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
SCO 300 76
Step
0
1
2
3
4
5
N'
u
ux
uxy
uxyv
uxyvw
uxyvwz
D(v),p(v)
2,u
2,u
2,u
D(w),p(w)
5,u
4,x
3,y
3,y
D(x),p(x)
1,u
D(y),p(y)
∞
2,x
D(z),p(z)
∞
∞
4,y
4,y
4,y
u
yx
wv
z
2
2
1
3
1
1
2
5
3
5
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., link cost = amount of carried traffic
SCO 300 77
A
D
C
B
1 1+e
e0
e
1 1
0 0
A
D
C
B
2+e 0
00
1+e 1
A
D
C
B
0 2+e
1+e1
0 0
A
D
C
B
2+e 0
e0
1+e 1
initially
… recompute
routing
… recompute … recompute
Chapter 4: Network Layer
• 4. 1 Introduction
• 4.2 Virtual circuit and
datagram networks
• 4.3 What’s inside a
router
• 4.4 IP: Internet Protocol
– Datagram format
– IPv4 addressing
– ICMP
– IPv6
• 4.5 Routing algorithms
– Link state
– Distance Vector
– Hierarchical routing
• 4.6 Routing in the
Internet
– RIP
– OSPF
– BGP
• 4.7 Broadcast and
multicast routing
SCO 300 78
Distance Vector Algorithm (1)
• Bellman-Ford Equation (dynamic programming)
• Define
• dx(y) := cost of least-cost path from x to y
• Then
• dx(y) = min {c(x,v) + dv(y) }
• where min is taken over all neighbors of x
SCO 300 79
Bellman-Ford example (2)
SCO 300 80
u
yx
wv
z
2
2
1
3
1
1
2
5
3
5
Clearly, dv(z) = 5, dx(z) = 3, dw(z) = 3
du(z) = min { c(u,v) + dv(z),
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
B-F equation says:
Distance Vector Algorithm (3)
• Dx(y) = estimate of least cost from x to y
• Distance vector: Dx = [Dx(y): y є N ]
• Node x knows cost to each neighbor v: c(x,v)
• Node x maintains Dx = [Dx(y): y є N ]
• Node x also maintains its neighbors’ distance
vectors
– For each neighbor v, x maintains
Dv = [Dv(y): y є N ]
SCO 300 81
Distance vector algorithm (4)
• Basic idea:
• Each node periodically sends its own distance vector
estimate to neighbors
• When node a node x receives new DV estimate from
neighbor, it updates its own DV using B-F equation:
SCO 300 82
Dx(y) ← minv{c(x,v) + Dv(y)} for each node y ∊ N
 Under minor, natural conditions, the estimate Dx(y)
converge the actual least cost dx(y)
Distance Vector Algorithm (5)
• Iterative, asynchronous:
each local iteration
caused by:
• local link cost change
• DV update message from
neighbor
• Distributed:
• each node notifies
neighbors only when its
DV changes
– neighbors then notify their
neighbors if necessary
SCO 300 83
wait for (change in local link
cost of msg from neighbor)
recompute estimates
if DV to any dest has
changed, notify neighbors
Each node:
SCO 300 84
x y z
x
y
z
0 2 7
∞∞ ∞
∞∞ ∞
from
cost to
fromfrom
x y z
x
y
z
0 2 3
from
cost to
x y z
x
y
z
0 2 3
from
cost to
x y z
x
y
z
∞ ∞
∞∞ ∞
cost to
x y z
x
y
z
0 2 7
from
cost to
x y z
x
y
z
0 2 3
from
cost to
x y z
x
y
z
0 2 3
from
cost to
x y z
x
y
z
0 2 7
from
cost to
x y z
x
y
z
∞∞ ∞
7 1 0
cost to
∞
2 0 1
∞ ∞ ∞
2 0 1
7 1 0
2 0 1
7 1 0
2 0 1
3 1 0
2 0 1
3 1 0
2 0 1
3 1 0
2 0 1
3 1 0
time
x z
12
7
y
node x table
node y table
node z table
Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)}
= min{2+0 , 7+1} = 2
Dx(z) = min{c(x,y) +
Dy(z), c(x,z) + Dz(z)}
= min{2+1 , 7+0} = 3
Distance Vector: link cost changes
SCO 300 85
Link cost changes:
 node detects local link cost change
 updates routing info, recalculates
distance vector
 if DV changes, notify neighbors
“good
news
travels
fast”
x z
14
50
y
1
At time t0, y detects the link-cost change, updates its DV,
and informs its neighbors.
At time t1, z receives the update from y and updates its table.
It computes a new least cost to x and sends its neighbors its DV.
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
SCO 300 86
Link cost changes:
 good news travels fast
 bad news travels slow - “count
to infinity” problem!
 44 iterations before algorithm
stabilizes: see text
Poissoned 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 count
to infinity problem?
x z
14
50
y
60
Comparison of LS and DV algorithms
• Message complexity
• LS: with n nodes, E links,
O(nE) msgs sent
• 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
SCO 300 87

Contenu connexe

Tendances

Computer networks network layer,routing
Computer networks network layer,routingComputer networks network layer,routing
Computer networks network layer,routingDeepak John
 
Routing table and routing algorithms
Routing table and routing algorithmsRouting table and routing algorithms
Routing table and routing algorithmslavanyapathy
 
Network layer ip address assignment and routing
Network layer ip address assignment and routingNetwork layer ip address assignment and routing
Network layer ip address assignment and routingHamzahMohammed4
 
Ch 19 Network-layer protocols - section 2
Ch 19   Network-layer protocols - section 2Ch 19   Network-layer protocols - section 2
Ch 19 Network-layer protocols - section 2Hossam El-Deen Osama
 
Routing, Different types of forwarding technique
Routing, Different types of forwarding techniqueRouting, Different types of forwarding technique
Routing, Different types of forwarding techniquerajib_
 
Packet transfer mechanism using routers and IP addresses
Packet transfer mechanism using routers and IP addresses Packet transfer mechanism using routers and IP addresses
Packet transfer mechanism using routers and IP addresses myrajendra
 

Tendances (20)

Media Access Layer
Media Access LayerMedia Access Layer
Media Access Layer
 
Unit 3 - Data Link Layer - Part B
Unit 3 - Data Link Layer - Part BUnit 3 - Data Link Layer - Part B
Unit 3 - Data Link Layer - Part B
 
Computer networks network layer,routing
Computer networks network layer,routingComputer networks network layer,routing
Computer networks network layer,routing
 
Routing
RoutingRouting
Routing
 
Routing table and routing algorithms
Routing table and routing algorithmsRouting table and routing algorithms
Routing table and routing algorithms
 
Network layer
Network layerNetwork layer
Network layer
 
Network Layer
Network LayerNetwork Layer
Network Layer
 
Network layer ip address assignment and routing
Network layer ip address assignment and routingNetwork layer ip address assignment and routing
Network layer ip address assignment and routing
 
Unit 4 - Network Layer
Unit 4 - Network LayerUnit 4 - Network Layer
Unit 4 - Network Layer
 
Routing
RoutingRouting
Routing
 
Chapter4 l4
Chapter4 l4Chapter4 l4
Chapter4 l4
 
Week14 lec2
Week14 lec2Week14 lec2
Week14 lec2
 
Link state routing protocol
Link state routing protocolLink state routing protocol
Link state routing protocol
 
Cs8591 Computer Networks
Cs8591 Computer NetworksCs8591 Computer Networks
Cs8591 Computer Networks
 
Ch 19 Network-layer protocols - section 2
Ch 19   Network-layer protocols - section 2Ch 19   Network-layer protocols - section 2
Ch 19 Network-layer protocols - section 2
 
IPV4 Frame Format
IPV4 Frame FormatIPV4 Frame Format
IPV4 Frame Format
 
Routing, Different types of forwarding technique
Routing, Different types of forwarding techniqueRouting, Different types of forwarding technique
Routing, Different types of forwarding technique
 
Routing protocols
Routing protocolsRouting protocols
Routing protocols
 
Ccna day1
Ccna day1Ccna day1
Ccna day1
 
Packet transfer mechanism using routers and IP addresses
Packet transfer mechanism using routers and IP addresses Packet transfer mechanism using routers and IP addresses
Packet transfer mechanism using routers and IP addresses
 

Similaire à Lecture 3 network layer

https://diplomasolutionstudents.blogspot.com/
https://diplomasolutionstudents.blogspot.com/https://diplomasolutionstudents.blogspot.com/
https://diplomasolutionstudents.blogspot.com/Rathodpradip1
 
IP and CIDR ipv6 addressing.ppt
IP and CIDR ipv6 addressing.pptIP and CIDR ipv6 addressing.ppt
IP and CIDR ipv6 addressing.pptAkkiKumar26
 
module03-ipaddr.ppt
module03-ipaddr.pptmodule03-ipaddr.ppt
module03-ipaddr.pptImXaib
 
this is a presentationon ip and cidr.ppt
this is a presentationon ip and cidr.pptthis is a presentationon ip and cidr.ppt
this is a presentationon ip and cidr.pptBlackHat41
 
Ip addressing
Ip addressingIp addressing
Ip addressingsid1322
 
IDC lectureA - Network Layer & IP Addressing with Cisco Notes.ppt
IDC lectureA - Network Layer & IP Addressing with Cisco Notes.pptIDC lectureA - Network Layer & IP Addressing with Cisco Notes.ppt
IDC lectureA - Network Layer & IP Addressing with Cisco Notes.pptJayaprasanna4
 
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 5
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 5CCNA (R & S) Module 01 - Introduction to Networks - Chapter 5
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 5Waqas Ahmed Nawaz
 
Chapter_6_ Network Layer.pptx
Chapter_6_ Network Layer.pptxChapter_6_ Network Layer.pptx
Chapter_6_ Network Layer.pptxduotchol
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdfankushspencer015
 
network-addressing.pptx
network-addressing.pptxnetwork-addressing.pptx
network-addressing.pptxFidaBaloch8
 
Ipaddress presentationdemoclass
Ipaddress presentationdemoclassIpaddress presentationdemoclass
Ipaddress presentationdemoclassaskme
 

Similaire à Lecture 3 network layer (20)

Reserved ip addresses
Reserved ip addressesReserved ip addresses
Reserved ip addresses
 
IP Routing.pptx
IP Routing.pptxIP Routing.pptx
IP Routing.pptx
 
https://diplomasolutionstudents.blogspot.com/
https://diplomasolutionstudents.blogspot.com/https://diplomasolutionstudents.blogspot.com/
https://diplomasolutionstudents.blogspot.com/
 
Ip address
Ip address Ip address
Ip address
 
IP and CIDR ipv6 addressing.ppt
IP and CIDR ipv6 addressing.pptIP and CIDR ipv6 addressing.ppt
IP and CIDR ipv6 addressing.ppt
 
module03-ipaddr.ppt
module03-ipaddr.pptmodule03-ipaddr.ppt
module03-ipaddr.ppt
 
this is a presentationon ip and cidr.ppt
this is a presentationon ip and cidr.pptthis is a presentationon ip and cidr.ppt
this is a presentationon ip and cidr.ppt
 
Ip addressing
Ip addressingIp addressing
Ip addressing
 
chapter 4.pptx
chapter 4.pptxchapter 4.pptx
chapter 4.pptx
 
IDC lectureA - Network Layer & IP Addressing with Cisco Notes.ppt
IDC lectureA - Network Layer & IP Addressing with Cisco Notes.pptIDC lectureA - Network Layer & IP Addressing with Cisco Notes.ppt
IDC lectureA - Network Layer & IP Addressing with Cisco Notes.ppt
 
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 5
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 5CCNA (R & S) Module 01 - Introduction to Networks - Chapter 5
CCNA (R & S) Module 01 - Introduction to Networks - Chapter 5
 
Chapter_6_ Network Layer.pptx
Chapter_6_ Network Layer.pptxChapter_6_ Network Layer.pptx
Chapter_6_ Network Layer.pptx
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
tcpip.ppt
tcpip.ppttcpip.ppt
tcpip.ppt
 
IP Addressing.ppt
IP Addressing.pptIP Addressing.ppt
IP Addressing.ppt
 
network-addressing.pptx
network-addressing.pptxnetwork-addressing.pptx
network-addressing.pptx
 
15 3
15 315 3
15 3
 
Chapter6
Chapter6Chapter6
Chapter6
 
Tcpip
TcpipTcpip
Tcpip
 
Ipaddress presentationdemoclass
Ipaddress presentationdemoclassIpaddress presentationdemoclass
Ipaddress presentationdemoclass
 

Dernier

VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...SUHANI PANDEY
 
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.soniya singh
 
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.soniya singh
 
Al Barsha Night Partner +0567686026 Call Girls Dubai
Al Barsha Night Partner +0567686026 Call Girls  DubaiAl Barsha Night Partner +0567686026 Call Girls  Dubai
Al Barsha Night Partner +0567686026 Call Girls DubaiEscorts Call Girls
 
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night StandHot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Standkumarajju5765
 
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024APNIC
 
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.soniya singh
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445ruhi
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Servicegwenoracqe6
 
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Delhi Call girls
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...singhpriety023
 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersDamian Radcliffe
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Sheetaleventcompany
 
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableSeo
 

Dernier (20)

VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
 
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
 
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
 
Al Barsha Night Partner +0567686026 Call Girls Dubai
Al Barsha Night Partner +0567686026 Call Girls  DubaiAl Barsha Night Partner +0567686026 Call Girls  Dubai
Al Barsha Night Partner +0567686026 Call Girls Dubai
 
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
 
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night StandHot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
Hot Call Girls |Delhi |Hauz Khas ☎ 9711199171 Book Your One night Stand
 
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
 
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
 
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
DDoS In Oceania and the Pacific, presented by Dave Phelan at NZNOG 2024
 
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Sarai Rohilla Escort Service Delhi N.C.R.
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
 
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
 
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service ☎️ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
 
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
 
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
Call Girls Service Chandigarh Lucky ❤️ 7710465962 Independent Call Girls In C...
 
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Model Towh Delhi 💯Call Us 🔝8264348440🔝
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
 

Lecture 3 network layer

  • 1. SCO 300 1 Network Layer Reference: Computer Networking: A Top Down Approach Featuring the Internet, 3rd edition. Jim Kurose, Keith Ross Addison-Wesley, July 2004.
  • 2. Network layer • Transport segment from sending to receiving host • On sending side encapsulates segments into datagrams • On receving side, delivers segments to transport layer • Network layer protocols in every host and router • Router examines header fields in all IP datagrams passing through it SCO 300 2 network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical network data link physical application transport network data link physical application transport network data link physical
  • 3. Key Network-Layer Functions • forwarding: move packets from router’s input to appropriate router output • routing: determine route to be taken by packets from source to dest. – Routing algorithms SCO 300 3 analogy:  forwarding: process of getting through single interchange/juction  routing: process of planning trip from source to dest
  • 4. SCO 300 4 1 23 0111 value in arriving packet’s header routing algorithm local forwarding table header value output link 0100 0101 0111 1001 3 2 2 1 Interplay between routing and forwarding
  • 5. Connection setup • 3rd important function in some network architectures: – ATM, frame relay, X.25 • Before datagrams flow, two hosts and intervening routers establish virtual connection – Routers get involved in creating the circuit • Network and transport layer connection service: – Network: between two hosts – Transport: between two processes SCO 300 5
  • 6. Network layer connection and connection-less service • Datagram network provides network-layer connectionless service • Virtual circuit (VC) network provides network-layer connection service • Analogous to the transport-layer services, but: – Service: host-to-host – No choice: network provides one or the other – Implementation: in the core SCO 300 6
  • 7. Virtual circuits • call setup, teardown for each call before data can flow • each packet carries VC identifier (not destination host address) • “source-to-dest path behaves much like telephone circuit” – performance-wise – network actions along source-to-dest path SCO 300 7
  • 8. VC implementation • A VC consists of: – Path from source to destination – VC numbers, one number for each link along path – Entries in forwarding tables in routers along path • Packet belonging to VC carries a VC number. • VC number must be changed on each link. – New VC number comes from forwarding table SCO 300 8
  • 9. Forwarding table SCO 300 9 12 22 32 1 2 3 VC number interface number Incoming interface Incoming VC # Outgoing interface Outgoing VC # 1 12 2 22 2 63 1 18 3 7 2 17 1 97 3 87 … … … … Forwarding table in northwest router: Routers maintain connection state information!
  • 10. Virtual circuits: signaling protocols • used to setup, maintain teardown VC • used in ATM, frame-relay (WAN protocol), X.25 (WAN protocol) • not used in today’s Internet SCO 300 10 application transport network data link physical application transport network data link physical 1. Initiate call 2. incoming call 3. Accept call4. Call connected 5. Data flow begins 6. Receive data
  • 11. Datagram networks • no call setup at network layer • packets forwarded using destination host address – packets between same source-dest pair may take different paths SCO 300 11 application transport network data link physical application transport network data link physical 1. Send data 2. Receive data
  • 12. Datagram or VC network: why? Internet • data exchange among computers – “elastic” service, no strict timing req. • “smart” end systems (computers) – can adapt, perform control, error recovery – simple inside network, complexity at “edge” • many link types – different characteristics – uniform service difficult ATM • evolved from telephony • human conversation: – strict timing, reliability requirements – need for guaranteed service • “dumb” end systems – telephones – complexity inside network SCO 300 12
  • 13. The Internet Network layer • Host, router network layer functions: SCO 300 13 forwarding table Routing protocols •path selection •RIP, OSPF, BGP IP protocol •addressing conventions •datagram format ICMP protocol •error reporting •router “signaling” Transport layer: TCP, UDP Link layer physical layer Network layer
  • 14. IP datagram format SCO 300 14 ver length 32 bits data (variable length, typically a TCP or UDP segment) 16-bit identifier Internet checksum time to live 32 bit source IP address IP protocol version number header length (bytes) max number remaining hops (decremented at each router) for fragmentation/ reassembly total datagram length (bytes) upper layer protocol to deliver payload to head. len type of service “type” of data flgs fragment offset upper layer 32 bit destination IP address Options (if any) E.g. timestamp, record route taken, specify list of routers to visit. how much overhead with TCP?  20 bytes of TCP  20 bytes of IP  = 40 bytes + app layer overhead
  • 15. 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 SCO 300 15 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
  • 16. IP Addressing & Subnetting
  • 17. Octets • An IP address is made up of 4 bits • The 32-bit IP address is broken up into 4 octets, which are arranged into a dotted- decimal notation scheme. • An octet is a set of 8 bits • Example of an IP version 4: 172.64.126.52
  • 18. IP Address Classes • IP addresses are divided into 5 classes, each of which is designated with the alphabetic letters A to E. • Class D addresses are used for multicasting. • Class E addresses are reserved for testing & some mysterious future use.
  • 19. IP Address Classes (Cont.) • The 5 IP classes are split up based on the value in the 1st octet:
  • 20. IP Address Classes (Cont.) • Using the ranges, you can determine the class of an address from its 1st octet value. • An address beginning with 120 is a Class A address, 155 is a Class B address & 220 is a Class C address.
  • 21. Are You the Host or the Network? • The 32 bits of the IP address are divided into Network & Host portions, with the octets assigned as a part of one or the other. Network & Host Representation By IP Address Class Class Octet1 Octet2 Octet3 Octet4 Class A Network Host Host Host Class B Network Network Host Host Class C Network Network Network Host
  • 22. Are You the Host or the Network? (Cont.) • Each Network is assigned a network address & every device or interface (such as a router port) on the network is assigned a host address. • There are only 2 specific rules that govern the value of the address.
  • 23. Are You the Host or the Network? (Cont.) • A host address cannot be designated by all zeros or all ones. • These are special addresses that are reserved for special purposes.
  • 24. Class A Addresses • Class A IP addresses use the 1st 8 bits (1st Octet) to designate the Network address. • The 1st bit which is always a 0, is used to indicate the address as a Class A address & the remaining 7 bits are used to designate the Network. • The other 3 octets contain the Host address.
  • 25. Class A Addresses (Cont.) • There are 128 Class A Network Addresses, but because addresses with all zeros aren’t used & address 127 is a special purpose address, 126 Class A Networks are available.
  • 26. Class A Addresses (Cont.) • There are 16,777,214 Host addresses available in a Class A address. • Rather than remembering this number exactly, you can use the following formula to compute the number of hosts available in any of the class addresses, where “n” represents the number of bits in the host portion: (2n – 2) = Number of available hosts
  • 27. Class A Addresses (Cont.) • For a Class A network, there are: 224 – 2 or 16,777,214 hosts. • Half of all IP addresses are Class A addresses. • You can use the same formula to determine the number of Networks in an address class. • Eg., a Class A address uses 7 bits to designate the network, so (27 – 2) = 126 or there can be 126 Class A Networks.
  • 28. Class B IP Addresses • Class B addresses use the 1st 16 bits (two octets) for the Network address. • The last 2 octets are used for the Host address. • The 1st 2 bit, which are always 10, designate the address as a Class B address & 14 bits are used to designate the Network. This leaves 16 bits (two octets) to designate the Hosts.
  • 29. Class B IP Addresses (Cont.) • So how many Class B Networks can there be? • Using our formula, (214 – 2), there can be 16,382 Class B Networks & each Network can have (216 – 2) Hosts, or 65,534 Hosts.
  • 30. Class C IP Addresses • Class C addresses use the 1st 24 bits (three octets) for the Network address & only the last octet for Host addresses.the 1st 3 bits of all class C addresses are set to 110, leaving 21 bits for the Network address, which means there can be 2,097,150 (221 – 2) Class C Networks, but only 254 (28 – 2) Hosts per Network.
  • 31. Class C IP Addresses (Cont.)
  • 32. Special Addresses • A few addresses are set aside for specific purposes. • Network addresses that are all binary zeros, all binary ones & Network addresses beginning with 127 are special Network addresses.
  • 34. Special Addresses (Cont.) • Within each address class is a set of addresses that are set aside for use in local networks sitting behind a firewall or NAT (Network Address Translation) device or Networks not connected to the Internet.
  • 35. Special Addresses (Cont.) – Private adress space • A list of these addresses for each IP address class that are available for use in a LAN. • This is the private address space
  • 36. Subnet Mask • An IP address has 2 parts: – The Network identification. – The Host identification. • Frequently, the Network & Host portions of the address need to be separately extracted. • In most cases, if you know the address class, it’s easy to separate the 2 portions.
  • 37. Subnet Mask (Cont.) • With the rapid growth of the internet & the ever- increasing demand for new addresses, the standard address class structure has been expanded by borrowing bits from the Host portion to allow for more Networks. • Under this addressing scheme, called Subnetting, separating the Network & Host requires a special process called Subnet Masking.
  • 38. Subnet Mask (Cont.) • The subnet masking process was developed to identify & extract the Network part of the address. • A subnet mask, which contains a binary bit pattern of ones & zeros, is applied to an address to determine whether the address is on the local Network. • If it is not, the process of routing it to an outside network begins.
  • 39. Subnet Mask (Cont.) • The function of a subnet mask is to determine whether an IP address exists on the local network or whether it must be routed outside the local network. • It is applied to a message’s destination address to extract the network address. • If the extracted network address matches the local network ID, the destination is located on the local network.
  • 40. Subnet Mask (Cont.) • However, if they don’t match, the message must be routed outside the local network.
  • 41. Default Standard Subnet Masks • There are default standard subnet masks for Class A, B and C addresses:
  • 43. Features of CIDR • Elimination of classful addressing • Classless Addressing
  • 44. 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 SCO 300 44 11001000 00010111 00010000 00000000 subnet part host part 200.23.16.0/23
  • 45. Classless Addressing • E.g. 172.110.20.2/24 • Network address 172.110.20.0 • Broadcast address 172.110.20.255 • Number of network bits 24 • Number of host bits 8
  • 46. Subnets • IP address: – Subnet/network part (high order bits) – host part (low order bits) • What’s a subnet ? – device interfaces with same subnet/network part of IP address – can physically reach each other without intervening router SCO 300 46 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 subnets LAN
  • 47. Subnets • 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. SCO 300 47 223.1.1.0/24 223.1.2.0/24 223.1.3.0/24 Subnet mask: /24
  • 48. Subnets • How many? SCO 300 48 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.1 223.1.8.0223.1.8.1 223.1.9.1 223.1.9.2
  • 49. 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 in next chapter) SCO 300 49
  • 50. 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 SCO 300 50 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
  • 51. Hierarchical addressing: route aggregation SCO 300 51 “Send me anything with 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 7 Internet Organization 1 ISPs-R-Us “Send me anything with addresses beginning 199.31.0.0/16” 200.23.20.0/23 Organization 2 . . . . . . Hierarchical addressing allows efficient advertisement of routing information:
  • 52. Hierarchical addressing: more specific routes SCO 300 52 ISPs-R-Us has a more specific route to Organization 1 “Send me anything with 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 7 Internet Organization 1 ISPs-R-Us “Send me anything with addresses beginning 199.31.0.0/16 or 200.23.18.0/23” 200.23.20.0/23 Organization 2 . . . . . .
  • 53. 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 (Domain Name System) – DNS – Converts web address to IP address. – assigns domain names, resolves disputes SCO 300 53
  • 54. NAT: Network Address Translation SCO 300 54 10.0.0.1 10.0.0.2 10.0.0.3 10.0.0.4 138.76.29.7 local network (e.g., home network) 10.0.0/24 rest of Internet Datagrams with source or destination in this network have 10.0.0/24 address for source, destination (as usual) All datagrams leaving local network have same single source NAT IP address: 138.76.29.7, different source port numbers
  • 55. NAT: Network Address Translation • Motivation: local network uses just one IP address as far as outside word is concerned: – no need to be allocated range of addresses from ISP: - just one IP address is used 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). SCO 300 55
  • 56. NAT: Network Address Translation • Implementation: NAT router must: – outgoing datagrams: replace (source IP address, port #) of every outgoing datagram to (NAT IP address, new port #) • . . . remote clients/servers will respond using (NAT IP address, new port #) as destination addr. – remember (in NAT translation table) every (source IP address, port #) to (NAT IP address, new port #) translation pair – incoming datagrams: replace (NAT IP address, new port #) in dest fields of every incoming datagram with corresponding (source IP address, port #) stored in NAT table SCO 300 56
  • 57. NAT: Network Address Translation SCO 300 57 10.0.0.1 10.0.0.2 10.0.0.3 S: 10.0.0.1, 3345 D: 128.119.40.186, 80 1 10.0.0.4 138.76.29.7 1: host 10.0.0.1 sends datagram to 128.119.40, 80 NAT translation table WAN side addr LAN side addr 138.76.29.7, 5001 10.0.0.1, 3345 …… …… S: 128.119.40.186, 80 D: 10.0.0.1, 3345 4 S: 138.76.29.7, 5001 D: 128.119.40.186, 802 2: NAT router changes datagram source addr from 10.0.0.1, 3345 to 138.76.29.7, 5001, updates table S: 128.119.40.186, 80 D: 138.76.29.7, 5001 3 3: Reply arrives dest. address: 138.76.29.7, 5001 4: NAT router changes datagram dest addr from 138.76.29.7, 5001 to 10.0.0.1, 3345
  • 58. NAT: Network Address Translation • 16-bit port-number field: – 60,000 simultaneous connections with a single LAN-side address! • NAT is controversial: – routers should only process up to layer 3 – violates end-to-end argument • NAT possibility must be taken into account by app designers, eg, P2P applications – address shortage should instead be solved by IPv6 SCO 300 58
  • 59. Chapter 4: Network Layer • 4. 1 Introduction • 4.2 Virtual circuit and datagram networks • 4.3 What’s inside a router • 4.4 IP: Internet Protocol – Datagram format – IPv4 addressing – ICMP – IPv6 • 4.5 Routing algorithms – Link state – Distance Vector – Hierarchical routing • 4.6 Routing in the Internet – RIP – OSPF – BGP • 4.7 Broadcast and multicast routing SCO 300 59
  • 60. ICMP: Internet Control Message Protocol • used by hosts & routers to communicate network-level information – error reporting: unreachable host, network, port, protocol – echo request/reply (used by ping) • network-layer “above” IP: – ICMP msgs carried in IP datagrams • ICMP message: type, code plus first 8 bytes of IP datagram causing error SCO 300 60 Type Code description 0 0 echo reply (ping) 3 0 dest. network unreachable 3 1 dest host unreachable 3 2 dest protocol unreachable 3 3 dest port unreachable 3 6 dest network unknown 3 7 dest host unknown 4 0 source quench (congestion control - not used) 8 0 echo request (ping) 9 0 route advertisement 10 0 router discovery 11 0 TTL expired 12 0 bad IP header
  • 61. Traceroute • Source sends series of UDP segments to dest – First has TTL =1 – Second has TTL=2, etc. – Unlikely port number • When nth datagram arrives to nth router: – Router discards datagram – And sends to source an ICMP message (type 11, code 0) – Message includes name of router& IP address • When ICMP message arrives, source calculates RTT • Traceroute does this 3 times • Stopping criterion • UDP segment eventually arrives at destination host • Destination returns ICMP “host unreachable” packet (type 3, code 3) • When source gets this ICMP, stops. SCO 300 61
  • 62. Chapter 4: Network Layer • 4. 1 Introduction • 4.2 Virtual circuit and datagram networks • 4.3 What’s inside a router • 4.4 IP: Internet Protocol – Datagram format – IPv4 addressing – ICMP – IPv6 • 4.5 Routing algorithms – Link state – Distance Vector – Hierarchical routing • 4.6 Routing in the Internet – RIP – OSPF – BGP • 4.7 Broadcast and multicast routing SCO 300 62
  • 63. 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 SCO 300 63
  • 64. IPv6 Header (Cont) SCO 300 64 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
  • 65. Other Changes from IPv4 • Checksum: removed entirely to reduce processing time at each hop • Options: allowed, but outside of header, indicated by “Next Header” field • ICMPv6: new version of ICMP – additional message types, e.g. “Packet Too Big” – multicast group management functions SCO 300 65
  • 66. Transition From IPv4 To IPv6 • Not all routers can be upgraded simultaneous – no “flag days” – How will the network operate with mixed IPv4 and IPv6 routers? • Tunneling: IPv6 carried as payload in IPv4 datagram among IPv4 routers SCO 300 66
  • 67. Tunneling SCO 300 67 A B E F IPv6 IPv6 IPv6 IPv6 tunnelLogical view: Physical view: A B E F IPv6 IPv6 IPv6 IPv6 C D IPv4 IPv4 Flow: X Src: A Dest: F data Flow: X Src: A Dest: F data Flow: X Src: A Dest: F data Src:B Dest: E Flow: X Src: A Dest: F data Src:B Dest: E A-to-B: IPv6 E-to-F: IPv6 B-to-C: IPv6 inside IPv4 B-to-C: IPv6 inside IPv4
  • 68. Chapter 4: Network Layer • 4. 1 Introduction • 4.2 Virtual circuit and datagram networks • 4.3 What’s inside a router • 4.4 IP: Internet Protocol – Datagram format – IPv4 addressing – ICMP – IPv6 • 4.5 Routing algorithms – Link state – Distance Vector – Hierarchical routing • 4.6 Routing in the Internet – RIP – OSPF – BGP • 4.7 Broadcast and multicast routing SCO 300 68
  • 69. Interplay between routing and forwarding SCO 300 69 1 23 0111 value in arriving packet’s header routing algorithm local forwarding table header value output link 0100 0101 0111 1001 3 2 2 1
  • 70. Graph abstraction SCO 300 70 u yx wv z 2 2 1 3 1 1 2 5 3 5 Graph: G = (N,E) 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
  • 71. Graph abstraction: costs SCO 300 71 u yx wv z 2 2 1 3 1 1 2 5 3 5 • c(x,x’) = cost of link (x,x’) - e.g., c(w,z) = 5 • cost could always be 1, or inversely related to bandwidth, 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
  • 72. Routing Algorithm classification • Global or decentralized information? • Global: • all routers have complete topology, link cost info • “link state” algorithms • Decentralized: • 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 time • Dynamic: • routes change more quickly – periodic update – in response to link cost changes SCO 300 72
  • 73. Chapter 4: Network Layer • 4. 1 Introduction • 4.2 Virtual circuit and datagram networks • 4.3 What’s inside a router • 4.4 IP: Internet Protocol – Datagram format – IPv4 addressing – ICMP – IPv6 • 4.5 Routing algorithms – Link state – Distance Vector – Hierarchical routing • 4.6 Routing in the Internet – RIP – OSPF – BGP • 4.7 Broadcast and multicast routing SCO 300 73
  • 74. 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 forwarding table for that node • iterative: after k iterations, know least cost path to k dest.’s • Notation: • c(x,y): link cost from node x to y; = ∞ 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 • N': set of nodes whose least cost path definitively known SCO 300 74
  • 75. Dijsktra’s Algorithm SCO 300 75 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'
  • 76. Dijkstra’s algorithm: example SCO 300 76 Step 0 1 2 3 4 5 N' u ux uxy uxyv uxyvw uxyvwz D(v),p(v) 2,u 2,u 2,u D(w),p(w) 5,u 4,x 3,y 3,y D(x),p(x) 1,u D(y),p(y) ∞ 2,x D(z),p(z) ∞ ∞ 4,y 4,y 4,y u yx wv z 2 2 1 3 1 1 2 5 3 5
  • 77. 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., link cost = amount of carried traffic SCO 300 77 A D C B 1 1+e e0 e 1 1 0 0 A D C B 2+e 0 00 1+e 1 A D C B 0 2+e 1+e1 0 0 A D C B 2+e 0 e0 1+e 1 initially … recompute routing … recompute … recompute
  • 78. Chapter 4: Network Layer • 4. 1 Introduction • 4.2 Virtual circuit and datagram networks • 4.3 What’s inside a router • 4.4 IP: Internet Protocol – Datagram format – IPv4 addressing – ICMP – IPv6 • 4.5 Routing algorithms – Link state – Distance Vector – Hierarchical routing • 4.6 Routing in the Internet – RIP – OSPF – BGP • 4.7 Broadcast and multicast routing SCO 300 78
  • 79. Distance Vector Algorithm (1) • Bellman-Ford Equation (dynamic programming) • Define • dx(y) := cost of least-cost path from x to y • Then • dx(y) = min {c(x,v) + dv(y) } • where min is taken over all neighbors of x SCO 300 79
  • 80. Bellman-Ford example (2) SCO 300 80 u yx wv z 2 2 1 3 1 1 2 5 3 5 Clearly, dv(z) = 5, dx(z) = 3, dw(z) = 3 du(z) = min { c(u,v) + dv(z), 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 B-F equation says:
  • 81. Distance Vector Algorithm (3) • Dx(y) = estimate of least cost from x to y • Distance vector: Dx = [Dx(y): y є N ] • Node x knows cost to each neighbor v: c(x,v) • Node x maintains Dx = [Dx(y): y є N ] • Node x also maintains its neighbors’ distance vectors – For each neighbor v, x maintains Dv = [Dv(y): y є N ] SCO 300 81
  • 82. Distance vector algorithm (4) • Basic idea: • Each node periodically sends its own distance vector estimate to neighbors • When node a node x receives new DV estimate from neighbor, it updates its own DV using B-F equation: SCO 300 82 Dx(y) ← minv{c(x,v) + Dv(y)} for each node y ∊ N  Under minor, natural conditions, the estimate Dx(y) converge the actual least cost dx(y)
  • 83. Distance Vector Algorithm (5) • Iterative, asynchronous: each local iteration caused by: • local link cost change • DV update message from neighbor • Distributed: • each node notifies neighbors only when its DV changes – neighbors then notify their neighbors if necessary SCO 300 83 wait for (change in local link cost of msg from neighbor) recompute estimates if DV to any dest has changed, notify neighbors Each node:
  • 84. SCO 300 84 x y z x y z 0 2 7 ∞∞ ∞ ∞∞ ∞ from cost to fromfrom x y z x y z 0 2 3 from cost to x y z x y z 0 2 3 from cost to x y z x y z ∞ ∞ ∞∞ ∞ cost to x y z x y z 0 2 7 from cost to x y z x y z 0 2 3 from cost to x y z x y z 0 2 3 from cost to x y z x y z 0 2 7 from cost to x y z x y z ∞∞ ∞ 7 1 0 cost to ∞ 2 0 1 ∞ ∞ ∞ 2 0 1 7 1 0 2 0 1 7 1 0 2 0 1 3 1 0 2 0 1 3 1 0 2 0 1 3 1 0 2 0 1 3 1 0 time x z 12 7 y node x table node y table node z table Dx(y) = min{c(x,y) + Dy(y), c(x,z) + Dz(y)} = min{2+0 , 7+1} = 2 Dx(z) = min{c(x,y) + Dy(z), c(x,z) + Dz(z)} = min{2+1 , 7+0} = 3
  • 85. Distance Vector: link cost changes SCO 300 85 Link cost changes:  node detects local link cost change  updates routing info, recalculates distance vector  if DV changes, notify neighbors “good news travels fast” x z 14 50 y 1 At time t0, y detects the link-cost change, updates its DV, and informs its neighbors. At time t1, z receives the update from y and updates its table. It computes a new least cost to x and sends its neighbors its DV. 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.
  • 86. Distance Vector: link cost changes SCO 300 86 Link cost changes:  good news travels fast  bad news travels slow - “count to infinity” problem!  44 iterations before algorithm stabilizes: see text Poissoned 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 count to infinity problem? x z 14 50 y 60
  • 87. Comparison of LS and DV algorithms • Message complexity • LS: with n nodes, E links, O(nE) msgs sent • 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 SCO 300 87