4-network
-
Upload
abid-ur-rehman -
Category
Documents
-
view
230 -
download
0
Transcript of 4-network
![Page 1: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/1.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 1/141
Network Layer 4-1
Chapter 4: Network Layer
Chapter goals:! understand principles behind network layer
services:" network layer service models" forwarding versus routing" how a router works" routing (path selection)
" dealing with scale" advanced topics: IPv6, mobility
! instantiation, implementation in the Internet
![Page 2: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/2.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 2/141
Network Layer 4-2
Chapter 4: Network Layer
! 4. 1 Introduction
! 4.2 Virtual circuit anddatagram networks
! 4.3 What’s inside arouter
! 4.4 IP: InternetProtocol" Datagram format
" IPv4 addressing
" NAT
" 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
![Page 3: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/3.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 3/141
Network Layer 4-3
Network layer
! on sending side encapsulatessegments into datagrams
! on rcving side, deliverssegments to transport layer
! network layer protocols inevery host, router
! Router examines header fieldsin all IP datagrams passingthrough it
networkdata linkphysical
network
data linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata linkphysical
networkdata link
physical
networkdata linkphysical
applicationtransportnetworkdata linkphysical
applicationtransportnetworkdata linkphysical
![Page 4: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/4.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 4/141
Network Layer 4-4
Key Network-Layer Functions
! forwarding: movepackets from router’sinput to appropriate
router output
! routing: determineroute taken by
packets from sourceto dest.
" Routing algorithms
analogy:
! routing: process of
planning trip fromsource to dest
! forwarding: processof correct left turns,right turns, exits,etc.
![Page 5: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/5.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 5/141
Network Layer 4-5
1
23
0111
value in arriving
packet’s header
routing algorithm
local forwarding table
header value output link
0100
0101
01111001
3
2
21
Interplay between routing and forwarding
![Page 6: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/6.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 6/141
Network Layer 4-6
Connection setup! important function in some network
architectures:" ATM, frame relay, X.25
! Before datagrams flow, two hosts andintervening routers establish virtualconnection" Routers get involved
! Network and transport layer cnctn service:" Network: between two hosts" Transport: between two processes
![Page 7: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/7.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 7/141
Network Layer 4-7
Network service model
Q: What service model for “channel” transportingdatagrams from sender to rcvr?
Example services for
individual datagrams:! guaranteed delivery
! Guaranteed deliverywith less than 40 msec
delay
Example services for a
flow of datagrams:! In-order datagram
delivery
! Guaranteed minimumbandwidth to flow
! Restrictions onchanges in inter-packet spacing
![Page 8: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/8.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 8/141
Network Layer 4-8
Network layer service models:
Network
Architecture
Internet
ATM
ATM
ATM
ATM
Service
Model
best effort
CBR
VBR
ABR
UBR
Bandwidth
none
constant
rate
guaranteed
rate
guaranteed
minimumnone
Loss
no
yes
yes
no
no
Order
no
yes
yes
yes
yes
Timing
no
yes
yes
no
no
Congestion
feedback
no (inferred
via loss)
no
congestion
no
congestion
yes
no
Guarantees ?
![Page 9: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/9.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 9/141
Network Layer 4-9
Chapter 4: Network Layer
! 4. 1 Introduction
! 4.2 Virtual circuit anddatagram networks
! 4.3 What’s inside arouter
! 4.4 IP: InternetProtocol" 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
![Page 10: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/10.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 10/141
Network Layer 4-10
Network layer connection and
connection-less service! Datagram network provides network-layer
connectionless service
! VC network provides network-layerconnection service
! Analogous to the transport-layer services,but:" Service: host-to-host
" No choice: network provides one or the other
" Implementation: in the core
![Page 11: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/11.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 11/141
Network Layer 4-11
Virtual circuits
! call setup, teardown for each call before data can flow
! each packet carries VC identifier (not destination hostaddress)
!
every router on source-dest path maintains “state” foreach passing connection
! link, router resources (bandwidth, buffers) may beallocated to VC
“source-to-dest path behaves much like telephonecircuit”" performance-wise
" network actions along source-to-dest path
![Page 12: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/12.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 12/141
Network Layer 4-12
VC implementation
A VC consists of:1. Path from source to destination
2. VC numbers, one number for each link along path
3. 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
Example next slide
![Page 13: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/13.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 13/141
Network Layer 4-13
Forwarding table
12 22 32
12
3
VC number
interfacenumber
Incoming interface Incoming VC # Outgoing interface Outgoing VC #
1 12 3 222 63 1 183 7 2 17
1 97 3 87… … … …
Forwarding table in
northwest router:
Routers maintain connection state information!
![Page 14: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/14.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 14/141
Network Layer 4-14
Virtual circuits: signaling protocols
! used to setup, maintain teardown VC
! used in ATM, frame-relay, X.25
! not used in today’s Internet
applicationtransportnetwork
data linkphysical
applicationtransport
networkdata linkphysical
1. Initiate call 2. incoming call
3. Accept call4. Call connected5. Data flow begins 6. Receive data
![Page 15: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/15.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 15/141
Network Layer 4-15
Datagram networks
! no call setup at network layer! routers: no state about end-to-end connections
" no network-level concept of “connection”
! packets forwarded using destination host address" packets between same source-dest pair may take
different paths
applicationtransport
networkdata linkphysical
application
transportnetworkdata linkphysical
1. Send data 2. Receive data
![Page 16: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/16.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 16/141
Network Layer 4-16
Forwarding table
Destination Address Range Link Interface
11001000 00010111 00010000 00000000
through 0
11001000 00010111 00010111 11111111
11001000 00010111 00011000 00000000
through 1
11001000 00010111 00011000 11111111
11001000 00010111 00011001 00000000 through 2
11001000 00010111 00011111 11111111
otherwise 3
4 billionpossible entries
![Page 17: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/17.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 17/141
Network Layer 4-17
Prefix Match Link Interface
11001000 00010111 00010 0
11001000 00010111 00011000 1
11001000 00010111 00011 2
otherwise 3
Longest prefix matching
DA: 11001000 00010111 00011000 10101010
Examples
DA: 11001000 00010111 00010110 10100001 Which interface?
Which interface?
![Page 18: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/18.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 18/141
Network Layer 4-18
Datagram or VC network: why?
Internet! data exchange among
computers
" “elastic” service, no strict
timing req.! “smart” end systems
(computers)
" can adapt, performcontrol, error recovery
"
simple inside network,complexity at “edge”
! many link types
" different characteristics
" uniform service difficult
ATM! evolved from telephony
! human conversation:
" strict timing, reliabilityrequirements
" need for guaranteedservice
! “dumb” end systems
" telephones
" complexity insidenetwork
![Page 19: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/19.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 19/141
Network Layer 4-19
Chapter 4: Network Layer
! 4. 1 Introduction
! 4.2 Virtual circuit anddatagram networks
! 4.3 What’s inside arouter
! 4.4 IP: InternetProtocol" 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
![Page 20: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/20.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 20/141
Network Layer 4-20
Router Architecture Overview
Two key router functions:! run routing algorithms/protocol (RIP, OSPF, BGP)
! forwarding datagrams from incoming to outgoing link
![Page 21: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/21.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 21/141
Network Layer 4-21
Input Port Functions
Decentralized switching: ! given datagram dest., lookup output port
using forwarding table in input port
memory! goal: complete input port processing at
‘line speed’! queuing: if datagrams arrive faster than
forwarding rate into switch fabric
Physical layer:bit-level reception
Data link layer:e.g., Ethernetsee chapter 5
![Page 22: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/22.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 22/141
Network Layer 4-22
Three types of switching fabrics
![Page 23: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/23.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 23/141
Network Layer 4-23
Switching Via Memory
First generation routers:! traditional computers with switching under directcontrol of CPU
!packet copied to system’s memory
!
speed limited by memory bandwidth (2 buscrossings per datagram)
Input
PortOutput
Port
Memory
System Bus
![Page 24: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/24.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 24/141
Network Layer 4-24
Switching Via a Bus
! datagram from input port memory
to output port memory via a sharedbus
! bus contention: switching speedlimited by bus bandwidth
!
1 Gbps bus, Cisco 1900: sufficientspeed for access and enterpriserouters (not regional or backbone)
![Page 25: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/25.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 25/141
Network Layer 4-25
Switching Via An Interconnection
Network
! overcome bus bandwidth limitations
! Banyan networks, other interconnection nets
initially developed to connect processors inmultiprocessor
! Advanced design: fragmenting datagram into fixedlength cells, switch cells through the fabric.
!
Cisco 12000: switches Gbps through theinterconnection network
![Page 26: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/26.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 26/141
Network Layer 4-26
Output Ports
! Buffering required when datagrams arrive from
fabric faster than the transmission rate! Scheduling discipline chooses among queued
datagrams for transmission
![Page 27: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/27.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 27/141
Network Layer 4-27
Output port queueing
! buffering when arrival rate via switch exceedsoutput line speed
! queueing (delay) and loss due to output port buffer overflow!
![Page 28: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/28.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 28/141
Network Layer 4-28
Input Port Queuing
! Fabric slower than input ports combined -> queueingmay occur at input queues
! Head-of-the-Line (HOL) blocking: queued datagramat front of queue prevents others in queue frommoving forward
! queueing delay and loss due to input buffer overflow!
![Page 29: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/29.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 29/141
Network Layer 4-29
Chapter 4: Network Layer
! 4. 1 Introduction
! 4.2 Virtual circuit anddatagram networks
! 4.3 What’s inside arouter
! 4.4 IP: InternetProtocol" Datagram format
" IPv4 addressing
" ICMP
" IPv6
! 4.5 Routing algorithms" Link state
" Distance Vector
" Hierarchical routing
! 4.6 Routing in theInternet" RIP
" OSPF
" BGP! 4.7 Broadcast and
multicast routing
![Page 30: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/30.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 30/141
Network Layer 4-30
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 31: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/31.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 31/141
Network Layer 4-31
Chapter 4: Network Layer
! 4. 1 Introduction
! 4.2 Virtual circuit anddatagram networks
! 4.3 What’s inside arouter
! 4.4 IP: InternetProtocol" Datagram format
" IPv4 addressing
" ICMP
" IPv6
! 4.5 Routing algorithms" Link state
" Distance Vector
" Hierarchical routing
! 4.6 Routing in theInternet" RIP
" OSPF
" BGP! 4.7 Broadcast and
multicast routing
![Page 32: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/32.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 32/141
Network Layer 4-32
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 version
numberheader length (bytes)
max numberremaining hops
(decremented ateach router)
forfragmentation/reassembly
total datagramlength (bytes)
upper layer protocolto deliver payload to
head.len
type ofservice
“type” of data flgsfragment offset
upper layer
32 bit destination IP address
Options (if any) E.g. timestamp,record routetaken, specifylist of routersto visit.
how much overhead
with TCP?! 20 bytes of TCP
! 20 bytes of IP
! = 40 bytes + applayer overhead
![Page 33: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/33.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 33/141
Network Layer 4-33
IP Fragmentation & Reassembly! network links have MTU
(max.transfer size) - largestpossible link-level frame.
" different link types,different MTUs
! large IP datagram divided(“fragmented”) within net
" one datagram becomesseveral datagrams
" “reassembled” only at finaldestination
"
IP header bits used toidentify, order relatedfragments
fragmentation:in: one large datagramout: 3 smaller datagrams
reassembly
![Page 34: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/34.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 34/141
Network Layer 4-34
IP Fragmentation and Reassembly
ID=x
offset=0
fragflag=0
length=4000
ID=x
offset=0
fragflag=1
length=1500
ID=x
offset=185
fragflag=1
length=1500
ID=x
offset=370
fragflag=0
length=1040
One large datagram becomesseveral smaller datagrams
Example
! 4000 bytedatagram
!
MTU = 1500 bytes
1480 bytes indata field
offset =1480/8
![Page 35: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/35.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 35/141
Network Layer 4-35
Chapter 4: Network Layer
! 4. 1 Introduction
! 4.2 Virtual circuit anddatagram networks
! 4.3 What’s inside arouter
! 4.4 IP: InternetProtocol" Datagram format
" IPv4 addressing" ICMP
" IPv6
! 4.5 Routing algorithms" Link state
" Distance Vector
" Hierarchical routing
! 4.6 Routing in theInternet" RIP
" OSPF
" BGP! 4.7 Broadcast and
multicast routing
![Page 36: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/36.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 36/141
Network Layer 4-36
IP Addressing: introduction
! IP address: 32-bitidentifier for host,router interface
! interface: connection
between host/routerand physical link" router’s typically have
multiple interfaces
" host typically has one
interface" IP addresses
associated with eachinterface
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 37: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/37.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 37/141
Network Layer 4-37
Subnets! IP address:
" subnet part (highorder bits)
" host part (low orderbits)
! What’s a subnet ? " device interfaces with
same subnet part of IPaddress
" can physically reacheach other withoutintervening 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 subnets
subnet
![Page 38: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/38.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 38/141
Network Layer 4-38
Subnets 223.1.1.0/24223.1.2.0/24
223.1.3.0/24
Recipe
! To determine thesubnets, detach eachinterface from itshost or router,creating islands ofisolated networks.Each isolated network
is called a subnet.Subnet mask: /24
![Page 39: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/39.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 39/141
Network Layer 4-39
SubnetsHow many? 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
![Page 40: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/40.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 40/141
Network Layer 4-40
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 insubnet portion of address
11001000 00010111 00010000 00000000
subnetpart hostpart
200.23.16.0/23
![Page 41: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/41.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 41/141
Network Layer 4-41
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: D ynamic Host Configuration Protocol:
dynamically get address from server" “plug-and-play”
(more in next chapter)
![Page 42: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/42.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 42/141
Network Layer 4-42
IP addresses: how to get one?
Q: How does network get subnet part of IPaddr?
A: gets allocated portion of its provider ISP’s
address spaceISP'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 43: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/43.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 43/141
Network Layer 4-43
Question
! Alice’s IP Add: 121.36.6.13
! Bob’s IP Add: 121.36.7.18
True or False?
Alice and Bob are in different subnets.
![Page 44: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/44.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 44/141
Network Layer 4-44
Hierarchical addressing: route aggregation
“Send me anythingwith addressesbeginning200.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 addressesbeginning199.31.0.0/16”
200.23.20.0/23Organization 2
...
...
Hierarchical addressing allows efficient advertisement of routinginformation:
Note This
![Page 45: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/45.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 45/141
Network Layer 4-45
Hierarchical addressing: more specific
routesISPs-R-Us has a more specific route to Organization 1
“Send me anythingwith addressesbeginning200.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 addressesbeginning 199.31.0.0/16or 200.23.18.0/23”
200.23.20.0/23Organization 2
...
.
..
![Page 46: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/46.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 46/141
Network Layer 4-46
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 47: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/47.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 47/141
Network Layer 4-47
NAT: Network Address Translation
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 ofInternet
Datagrams with source or
destination in this networkhave 10.0.0/24 address forsource, destination (as usual)
All datagrams leaving local
network have same single sourceNAT IP address: 138.76.29.7,different source port numbers
![Page 48: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/48.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 48/141
Network Layer 4-48
NAT: Network Address Translation
! Motivation: local network uses just one IP address asfar as outside world is concerned:
" range of addresses not needed from ISP: just one
IP address for all devices" can change addresses of devices in local network
without notifying outside world
" can change ISP without changing addresses ofdevices in local network
" devices inside local net not explicitly addressable,visible by outside world (a security plus).
![Page 49: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/49.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 49/141
Network Layer 4-49
NAT: Network Address TranslationImplementation: NAT router must:
" outgoing datagrams: replace (source IP address, port #)of every outgoing datagram to (NAT IP address, newport #)
. . . remote clients/servers will respond using (NAT IPaddress, new port #) as destination addr.
" remember (in NAT translation table) every (source IPaddress, port #) to (NAT IP address, new port #)translation pair
" incoming datagrams: replace (NAT IP address, new port#) in dest fields of every incoming datagram withcorresponding (source IP address, port #) stored inNAT table
![Page 50: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/50.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 50/141
Network Layer 4-50
NAT: Network Address Translation
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.1sends datagram to128.119.40.186, 80
NAT translation tableWAN side addr LAN side addr
138.76.29.7, 5001 10.0.0.1, 3345…… ……
S: 128.119.40.186, 80D: 10.0.0.1, 3345 4
S: 138.76.29.7, 5001D: 128.119.40.186, 802
2: NAT routerchanges datagramsource addr from10.0.0.1, 3345 to138.76.29.7, 5001,
updates table
S: 128.119.40.186, 80D: 138.76.29.7, 5001 33: Reply arrives dest. address: 138.76.29.7, 5001
4: NAT routerchanges datagramdest addr from138.76.29.7, 5001 to 10.0.0.1, 3345
![Page 51: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/51.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 51/141
Network Layer 4-51
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 byIPv6
![Page 52: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/52.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 52/141
Network Layer 4-52
Chapter 4: Network Layer
! 4. 1 Introduction
! 4.2 Virtual circuit anddatagram networks
!
4.3 What’s inside arouter
! 4.4 IP: InternetProtocol" Datagram format
" IPv4 addressing" ICMP
" IPv6
! 4.5 Routing algorithms" Link state
" Distance Vector
" Hierarchical routing
! 4.6 Routing in theInternet" RIP
" OSPF
"
BGP! 4.7 Broadcast and
multicast routing
![Page 53: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/53.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 53/141
Network Layer 4-53
ICMP: Internet Control Message Protocol
! used by hosts & routers tocommunicate network-levelinformation
" error reporting:unreachable host, network,
port, protocol" echo request/reply (used
by ping)
! network-layer “above” IP:
" ICMP msgs carried in IPdatagrams
! ICMP message: type, code plusfirst 8 bytes of IP datagramcausing error
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 advertisement10 0 router discovery
11 0 TTL expired
12 0 bad IP header
![Page 54: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/54.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 54/141
Network Layer 4-54
Traceroute and ICMP
! Source sends series ofUDP 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 anICMP message (type 11,
code 0)" Message includes name of
router& IP address
! When ICMP messagearrives, source calculatesRTT
! Traceroute does this 3
timesStopping criterion
! UDP segment eventuallyarrives at destination host
! Destination returns ICMP“host unreachable” packet(type 3, code 3)
! When source gets thisICMP, stops.
![Page 55: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/55.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 55/141
Network Layer 4-55
Chapter 4: Network Layer
! 4. 1 Introduction
! 4.2 Virtual circuit anddatagram networks
!
4.3 What’s inside arouter
! 4.4 IP: InternetProtocol" Datagram format
" IPv4 addressing" ICMP
" IPv6
! 4.5 Routing algorithms" Link state
" Distance Vector
" Hierarchical routing
! 4.6 Routing in theInternet" RIP
" OSPF
"
BGP! 4.7 Broadcast and
multicast routing
![Page 56: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/56.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 56/141
Network Layer 4-56
IPv6
! Initial motivation: 32-bit address space soonto 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
![Page 57: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/57.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 57/141
Network Layer 4-57
IPv6 Header (Cont)
Priority: identify priority among datagrams in flowFlow Label: identify datagrams in same “flow.”
(concept of“flow” not well defined).Next header: identify upper layer protocol for data
![Page 58: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/58.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 58/141
Network Layer 4-58
Other Changes from IPv4
! Checksum : removed entirely to reduceprocessing 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
![Page 59: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/59.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 59/141
Network Layer 4-59
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
![Page 60: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/60.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 60/141
Network Layer 4-60
Tunneling
A B EF
IPv6 IPv6 IPv6 IPv6
tunnelLogical view:
Physical view:A B E F
IPv6 IPv6 IPv6 IPv6IPv4 IPv4
![Page 61: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/61.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 61/141
Network Layer 4-61
Tunneling
A B EF
IPv6 IPv6 IPv6 IPv6
tunnelLogical view:
Physical view:A B E F
IPv6 IPv6 IPv6 IPv6
C D
IPv4 IPv4
Flow: XSrc: ADest: F
data
Flow: XSrc: ADest: F
data
Flow: XSrc: ADest: F
data
Src:BDest: E
Flow: XSrc: ADest: F
data
Src:BDest: E
A-to-B:IPv6
E-to-F:IPv6
B-to-C:IPv6 inside
IPv4
B-to-C:IPv6 inside
IPv4
![Page 62: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/62.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 62/141
Network Layer 4-62
Chapter 4: Network Layer
! 4. 1 Introduction
! 4.2 Virtual circuit anddatagram networks
!
4.3 What’s inside arouter
! 4.4 IP: InternetProtocol" Datagram format
" IPv4 addressing" ICMP
" IPv6
! 4.5 Routing algorithms" Link state
" Distance Vector
" Hierarchical routing
! 4.6 Routing in theInternet" RIP
" OSPF
"
BGP! 4.7 Broadcast and
multicast routing
![Page 63: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/63.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 63/141
Network Layer 4-63
123
0111
value in arriving
packet’s header
routing algorithm
local forwarding table
header value output link
0100
01010111
1001
3
22
1
Interplay between routing, forwarding
![Page 64: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/64.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 64/141
Network Layer 4-64
u
yx
wv
z2
2
1
3
1
1
2
53
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) }
Graph abstraction
Remark: Graph abstraction is useful in other network contexts
Example: P2P, where N is set of peers and E is set of TCP connections
![Page 65: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/65.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 65/141
Network Layer 4-65
Graph abstraction: costs
u
yx
wv
z2
2
1
3
1
1
2
53
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 tocongestion
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
![Page 66: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/66.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 66/141
Network Layer 4-66
Routing Algorithm classification
Global or decentralizedinformation?
Global:
! all routers have completetopology, link cost info
! “link state” algorithms
Decentralized:
! router knows physically-connected neighbors, linkcosts to neighbors
! iterative process ofcomputation, exchange ofinfo with neighbors
! “distance vector” algorithms
Static or dynamic?Static:
! routes change slowlyover time
Dynamic:
! routes change morequickly
" periodic update
" in response to linkcost changes
![Page 67: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/67.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 67/141
Network Layer 4-67
Chapter 4: Network Layer
! 4. 1 Introduction
! 4.2 Virtual circuit anddatagram networks
!
4.3 What’s inside arouter
! 4.4 IP: InternetProtocol" Datagram format
" IPv4 addressing" ICMP
" IPv6
! 4.5 Routing algorithms" Link state
" Distance Vector
" Hierarchical routing
! 4.6 Routing in theInternet" RIP
" OSPF
"
BGP! 4.7 Broadcast and
multicast routing
![Page 68: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/68.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 68/141
Network Layer 4-68
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 pathsfrom one node (‘source”) toall other nodes
" gives forwarding tablefor that node
! iterative: after kiterations, know least costpath to k dest.’s
Notation:
! c(x,y): link cost from nodex to y; = ! if not directneighbors
! D(v): current value of costof path from source todest. v
! p(v): predecessor nodealong path from source to v
! N': set of nodes whoseleast cost path definitivelyknown
![Page 69: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/69.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 69/141
Network Layer 4-69
Dijsktra’s Algorithm
1 Initialization:
2 N' = {u}
3 for all nodes v
4 if v adjacent to u
5 then D(v) = c(u,v)
6 else D(v) =!
7
8 Loop
9 find w not in N' such that D(w) is a minimum
10 add w to N'
11 update D(v) for all v adjacent to w and not in N' :
12 D(v) = min( D(v), D(w) + c(w,v) )13 /* new cost to v is either old cost to v or known
14 shortest path cost to w plus cost from w to v */
15 until all nodes in N'
![Page 70: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/70.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 70/141
Network Layer 4-70
Dijkstra’s algorithm: example
Step
0
1
2
3
45
N'
u
ux
uxy
uxyv
uxyvwuxyvwz
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
wvz
22
13
1
1
2
5
3
5
![Page 71: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/71.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 71/141
Network Layer 4-71
Dijkstra’s algorithm: example
Step
0
1
2
3
45
N'
u
ux
uxy
uxyv
uxyvwuxyvwz
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
z2
2
13
1
1
2
5
3
5
![Page 72: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/72.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 72/141
Network Layer 4-72
Dijkstra’s algorithm: example
Step
0
1
2
3
45
N'
u
ux
uxy
uxyv
uxyvwuxyvwz
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
z2
2
13
1
1
2
5
3
5
![Page 73: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/73.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 73/141
Network Layer 4-73
Dijkstra’s algorithm: example
Step
0
1
2
3
45
N'
u
ux
uxy
uxyv
uxyvwuxyvwz
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
z2
2
13
1
1
2
5
3
5
![Page 74: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/74.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 74/141
Network Layer 4-74
Dijkstra’s algorithm: example
Step
0
1
2
3
45
N'
u
ux
uxy
uxyv
uxyvwuxyvwz
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
z2
2
13
1
1
2
5
3
5
![Page 75: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/75.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 75/141
Network Layer 4-75
Dijkstra’s algorithm: example
Step
0
1
2
3
45
N'
u
ux
uxy
uxyv
uxyvwuxyvwz
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
z2
2
13
1
1
2
5
3
5
![Page 76: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/76.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 76/141
Network Layer 4-76
Dijkstra’s algorithm: example (2)
u
yx
wv
z
Resulting shortest-path tree from u:
vx
y
w
z
(u,v)
(u,x)
(u,x)
(u,x)
(u,x)
destination link
Resulting forwarding table in u:
![Page 77: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/77.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 77/141
Network Layer 4-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
A
D
C
B1 1+e
e0
e
1 1
00
A
D
C
B2+e 0
00 1+e 1
A
D
C
B0 2+e
1+e1 0 0
A
DC
B
2+e 0
e0 1+e 1
initially… recompute
routing… recompute … recompute
In reality, link cost =f(traffic on link)
Does that lead to a problem?
![Page 78: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/78.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 78/141
Network Layer 4-78
Chapter 4: Network Layer
! 4. 1 Introduction
! 4.2 Virtual circuit anddatagram networks
!
4.3 What’s inside arouter
! 4.4 IP: InternetProtocol" Datagram format
" IPv4 addressing" ICMP
" IPv6
! 4.5 Routing algorithms" Link state
" Distance Vector
" Hierarchical routing
! 4.6 Routing in theInternet" RIP
" OSPF
"
BGP! 4.7 Broadcast and
multicast routing
![Page 79: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/79.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 79/141
Network Layer 4-79
Distance Vector Algorithm
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 v of x
v
![Page 80: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/80.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 80/141
Network Layer 4-80
Bellman-Ford example
u
yx
wv
z2
2
1
3
1
1
2
53
5Clearly, 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} = 4Node that achieves minimum is nexthop in shortest path ➜ forwarding table
B-F equation says:
![Page 81: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/81.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 81/141
Network Layer 4-81
Distance Vector Algorithm
! 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 ]
![Page 82: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/82.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 82/141
Network Layer 4-82
Distance vector algorithm (4)
Basic idea:
! Each node periodically sends its own distancevector estimate to neighbors
!
When a node x receives new DV estimate fromneighbor, it updates its own DV using B-F equation:
D x(y)! minv {c(x,v) + Dv(y)} for each node y ∊ N
!
Under minor, natural conditions, the estimate D
x(y)
converge to the actual least cost dx(y)
![Page 83: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/83.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 83/141
Network Layer 4-83
Distance Vector Algorithm (5)
Iterative, asynchronous:each local iteration causedby:
! local link cost change
! DV update message from
neighborDistributed:! each node notifies
neighbors only when its DVchanges
" neighbors then notifytheir neighbors ifnecessary
wait for (change in local link
cost of msg from neighbor)
recompute estimates
if DV to any dest has
changed, notify neighbors
Each node:
D (y) min{c(x y) + D (y) c(x z) + D (y)} D (z) = min{c(x y) +
![Page 84: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/84.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 84/141
Network Layer 4-84
x y zx
yz
0 2 7
! ! !
! ! !
f r o m
cost to
f r o m
f r o m
x y z
x yz
0 2 3
f r o m
cost to
x y zx
yz
0 2 3
f r o m
cost to
x y zx
yz
! !
! ! !
cost to
x y zx
yz
0 2 7
f r o m
cost to
x y z
x yz
0 2 3
f r o m
cost to
x y zx
yz
0 2 3
f r o m
cost to
x y zx
yz
0 2 7
f r o m
cost to
x y z
x yz
! ! !
7 1 0
cost to
!
2 0 1
! ! !
2 0 17 1 0
2 0 17 1 0
2 0 13 1 0
2 0 13 1 0
2 0 1
3 1 0
2 0 1
3 1 0
time
x z12
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
D x (z) = min{c(x,y) +D y (z), c(x,z) + D z (z) }
= min{2+1 , 7+0} = 3
![Page 85: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/85.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 85/141
Network Layer 4-85
Distance Vector: link cost changes
Link cost changes:! node detects local link cost change
! updates routing info, recalculatesdistance vector
! if DV changes, notify neighbors
“goodnewstravelsfast”
x z
14
50
y1
At time t 0 , y detects the link-cost change, updates its DV,and informs its neighbors.
At time t 1 , 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 t 2 , y receives z ’s update and updates its distance table.y ’s least costs do not change and hence y does not send anymessage to z .
![Page 86: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/86.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 86/141
Network Layer 4-86
Distance Vector: link cost changes
x z
14
50
y
60
What happens now ?
![Page 87: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/87.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 87/141
Network Layer 4-87
Distance Vector: link cost changes
Link cost changes:! good news travels fast
! bad news travels slow -“count to infinity” problem!
! 44 iterations before
algorithm stabilizes: seetext
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’troute to X via Z)
! will this completely solvecount to infinity problem?
x z
14
50
y60
![Page 88: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/88.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 88/141
Network Layer 4-88
Comparison of LS and DV algorithms
Message complexity! LS: with n nodes, E links,
O(nE) msgs sent
! DV: exchange betweenneighbors 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 happensif router malfunctions?
LS:" node can advertise
incorrect link cost
" each node computes onlyits own table
DV:" DV node can advertise
incorrect path cost
" each node’s table used byothers
• error propagate thrunetwork
![Page 89: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/89.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 89/141
Network Layer 4-89
Chapter 4: Network Layer
! 4. 1 Introduction
! 4.2 Virtual circuit anddatagram networks
! 4.3 What’s inside arouter
! 4.4 IP: InternetProtocol" Datagram format
" IPv4 addressing" ICMP
" IPv6
! 4.5 Routing algorithms" Link state
" Distance Vector
" Hierarchical routing
! 4.6 Routing in theInternet" RIP
" OSPF
" BGP
! 4.7 Broadcast andmulticast routing
![Page 90: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/90.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 90/141
Network Layer 4-90
Hierarchical Routing
scale: with 200 milliondestinations:
! can’t store all dest’s inrouting tables!
! routing table exchangewould swamp links!
administrative autonomy! internet = network of
networks
! each network admin may
want to control routing in itsown network
Our routing study thus far - idealization
! all routers identical
! network “flat”
… not true in practice
![Page 91: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/91.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 91/141
Network Layer 4-91
Hierarchical Routing
! aggregate routers intoregions, “autonomoussystems” (AS)
! routers in same AS
run same routingprotocol" “intra-AS” routing
protocol
" routers in different AS
can run different intra-AS routing protocol
Gateway router
! Direct link to router inanother AS
![Page 92: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/92.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 92/141
Network Layer 4-92
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
Intra-AS
Routing
algorithm
Inter-AS
Routing
algorithm
Forwarding
table
3c
Interconnected ASes
! Forwarding table isconfigured by bothintra- and inter-ASrouting algorithm"
Intra-AS sets entriesfor internal dests
" Inter-AS & Intra-Assets entries forexternal dests
I t AS t k
![Page 93: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/93.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 93/141
Network Layer 4-93
3b
1d
3a
1c2aAS3
AS1
AS21a
2c2b
1b
3c
Inter-AS tasks! Suppose router in AS1
receives datagram forwhich dest is outsideof AS1" Router should forward
packet towards one of
the gateway routers,but which one?
AS1 needs:
1. to learn which destsare reachable throughAS2 and whichthrough AS3
2. to propagate this
reachability info to allrouters in AS1
Job of inter-AS routing!
Example: Setting forwarding table
![Page 94: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/94.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 94/141
Network Layer 4-94
Example Setting forwarding tablein router 1d
! Suppose AS1 learns from the inter-ASprotocol that subnet x is reachable fromAS3 (gateway 1c) but not from AS2.
! Inter-AS protocol propagates reachabilityinfo to all internal routers.
! Router 1d determines from intra-ASrouting info that its interface I is on the
least cost path to 1c.! Puts in forwarding table entry (x,I) .
![Page 95: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/95.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 95/141
Network Layer 4-95
Learn from inter-AS
protocol that subnetx is reachable via
multiple gateways
Use routing info
from intra-AS
protocol to
determine
costs of least-cost
paths to each
of the gateways
Hot potato routing:
Choose thegateway
that has the
smallest least cost
Determine from
forwarding table the
interface I that leadsto least-cost gateway.
Enter (x,I) in
forwarding table
Example: Choosing among multiple ASes
! Now suppose AS1 learns from the inter-AS protocolthat subnet x is reachable from AS3 and from AS2.
! To configure forwarding table, router 1d mustdetermine towards which gateway it should forwardpackets for dest x.
! This is also the job on inter-AS routing protocol!! Hot potato routing: send packet towards closest of
two routers.
![Page 96: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/96.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 96/141
Network Layer 4-96
Chapter 4: Network Layer
! 4. 1 Introduction
! 4.2 Virtual circuit anddatagram networks
! 4.3 What’s inside arouter
! 4.4 IP: InternetProtocol" Datagram format
" IPv4 addressing" ICMP
" IPv6
! 4.5 Routing algorithms" Link state
" Distance Vector
" Hierarchical routing
! 4.6 Routing in theInternet" RIP
" OSPF
" BGP
! 4.7 Broadcast andmulticast routing
![Page 97: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/97.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 97/141
Network Layer 4-97
Intra-AS Routing
! Also known as Interior Gateway Protocols (IGP)
! Most common Intra-AS routing protocols:
" RIP: Routing Information Protocol
" OSPF: Open Shortest Path First
" IGRP: Interior Gateway Routing Protocol (Ciscoproprietary)
![Page 98: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/98.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 98/141
Network Layer 4-98
Chapter 4: Network Layer
! 4. 1 Introduction
! 4.2 Virtual circuit anddatagram networks
! 4.3 What’s inside arouter
! 4.4 IP: InternetProtocol" Datagram format
" IPv4 addressing" ICMP
" IPv6
! 4.5 Routing algorithms" Link state
" Distance Vector
" Hierarchical routing
! 4.6 Routing in theInternet" RIP
" OSPF
" BGP
! 4.7 Broadcast andmulticast routing
![Page 99: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/99.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 99/141
Network Layer 4-99
RIP ( Routing Information Protocol)
! Distance vector algorithm
! Included in BSD-UNIX Distribution in 1982
! Distance metric: # of hops (max = 15 hops)
DC
BA
u v
w
x
yz
destination hops u 1 v 2 w 2
x 3 y 3 z 2
From router A to subsets:
![Page 100: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/100.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 100/141
Network Layer 4-100
RIP advertisements
! Distance vectors: exchanged amongneighbors every 30 sec via ResponseMessage (also called advertisement)
! Each advertisement: list of up to 25destination nets within AS
![Page 101: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/101.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 101/141
Network Layer 4-101
RIP: Example
Destination Network Next Router Num. of hops to dest.
w A 2y B 2
z B 7x -- 1…. …. ....
w x y
z
A
C
D B
Routing table in D
RIP: Example
![Page 102: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/102.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 102/141
Network Layer 4-102
RIP: Example
Destination Network Next Router Num. of hops to dest.
w A 2
y B 2 z B A 7 5
x -- 1…. …. ....
Routing table in D
w x y
z
A
C
D B
Dest Next hops
w - 1 x - 1 z C 4 …. … ...
Advertisementfrom A to D
![Page 103: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/103.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 103/141
Network Layer 4-103
RIP: Link Failure and Recovery
If no advertisement heard after 180 sec -->neighbor/link declared dead
" routes via neighbor invalidated
" new advertisements sent to neighbors
" neighbors in turn send out new advertisements (iftables changed)
" link failure info quickly propagates to entire net
" poison reverse used to prevent ping-pong loops
(infinite distance = 16 hops)
![Page 104: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/104.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 104/141
Network Layer 4-104
RIP Table processing
! RIP routing tables managed by application-levelprocess called route-d (daemon)
! advertisements sent in UDP packets, periodicallyrepeated
physical
link
network forwarding (IP) table
Transprt (UDP)
routed
physical
link
network (IP)
Transprt (UDP)
routed
forwardingtable
![Page 105: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/105.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 105/141
Network Layer 4-105
Chapter 4: Network Layer
! 4. 1 Introduction
! 4.2 Virtual circuit anddatagram networks
! 4.3 What’s inside arouter
! 4.4 IP: InternetProtocol" Datagram format
" IPv4 addressing" ICMP
" IPv6
! 4.5 Routing algorithms" Link state
" Distance Vector
" Hierarchical routing
! 4.6 Routing in theInternet" RIP
" OSPF
" BGP
! 4.7 Broadcast andmulticast routing
![Page 106: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/106.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 106/141
Network Layer 4-106
OSPF (Open Shortest Path First)
! “open”: publicly available
! Uses Link State algorithm" LS packet dissemination
" Topology map at each node
" Route computation using Dijkstra’s algorithm
! OSPF advertisement carries one entry per neighborrouter
! Advertisements disseminated to entire AS (viaflooding)" Carried in OSPF messages directly over IP (rather than TCP
or UDP
![Page 107: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/107.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 107/141
Network Layer 4-107
OSPF “advanced” features (not in RIP)
! Security: all OSPF messages authenticated (toprevent malicious intrusion)
! Multiple same-cost paths allowed (only one path inRIP)
! For each link, multiple cost metrics for differentTOS (e.g., satellite link cost set “low” for besteffort; high for real time)
! Integrated uni- and multicast support:
" Multicast OSPF (MOSPF) uses same topology database as OSPF
! Hierarchical OSPF in large domains.
![Page 108: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/108.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 108/141
Network Layer 4-108
Hierarchical OSPF
![Page 109: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/109.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 109/141
Network Layer 4-109
Hierarchical OSPF
! Two-level hierarchy: local area, backbone.
" Link-state advertisements only in area
" each nodes has detailed area topology; only knowdirection (shortest path) to nets in other areas.
! Area border routers: “summarize” distances to netsin own area, advertise to other Area Border routers.
! Backbone routers: run OSPF routing limited tobackbone.
! Boundary routers: connect to other AS’s.
h 4 N k L
![Page 110: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/110.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 110/141
Network Layer 4-110
Chapter 4: Network Layer
! 4. 1 Introduction
! 4.2 Virtual circuit anddatagram networks
! 4.3 What’s inside arouter
! 4.4 IP: InternetProtocol" Datagram format
" IPv4 addressing" ICMP
" IPv6
! 4.5 Routing algorithms" Link state
" Distance Vector
" Hierarchical routing
! 4.6 Routing in theInternet" RIP
" OSPF
" BGP
! 4.7 Broadcast andmulticast routing
![Page 111: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/111.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 111/141
Network Layer 4-111
Internet inter-AS routing: BGP
! BGP (Border Gateway Protocol): the defacto standard
! BGP provides each AS a means to:1. Obtain subnet reachability information from
neighboring ASs.2. Propagate the reachability information to all
routers internal to the AS.3. Determine “good” routes to subnets based on
reachability information and policy.! Allows a subnet to advertise its existence
to rest of the Internet: “I am here”
BGP basics
![Page 112: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/112.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 112/141
Network Layer 4-112
BGP basics! Pairs of routers (BGP peers) exchange routing info over semi-
permanent TCP conctns: BGP sessions! Note that BGP sessions do not correspond to physical links.! When AS2 advertises a prefix to AS1, AS2 is promising it will
forward any datagrams destined to that prefix towards theprefix." AS2 can aggregate prefixes in its advertisement
3b
1d
3a
1c2a
AS3
AS1
AS21a
2c
2b
1b
3c
eBGP session
iBGP session
Distributing reachability info
![Page 113: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/113.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 113/141
Network Layer 4-113
Distributing reachability info! With eBGP session between 3a and 1c, AS3 sends prefix
reachability info to AS1.! 1c can then use iBGP do distribute this new prefix reach info
to all routers in AS1! 1b can then re-advertise the new reach info to AS2 over the
1b-to-2a eBGP session! When router learns about a new prefix, it creates an entry
for the prefix in its forwarding table.
3b
1d
3a
1c
2aAS3
AS1
AS21a
2c
2b
1b
3c
eBGP session
iBGP session
P th tt ib t & BGP t
![Page 114: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/114.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 114/141
Network Layer 4-114
Path attributes & BGP routes
! When advertising a prefix, advert includes BGPattributes." prefix + attributes = “route”
! Two important attributes:" AS-PATH: contains the ASs through which the advert
for the prefix passed: AS 67 AS 17
" NEXT-HOP: Indicates the specific internal-AS router tonext-hop AS. (There may be multiple links from currentAS to next-hop-AS.)
! When gateway router receives route advert, usesimport policy to accept/decline.
BGP t l ti
![Page 115: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/115.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 115/141
Network Layer 4-115
BGP route selection
! Router may learn about more than 1 routeto some prefix. Router must select route.
! Elimination rules:
1. Local preference value attribute: policydecision
2. Shortest AS-PATH
3. Closest NEXT-HOP router: hot potato routing
4.
Additional criteria
BGP
![Page 116: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/116.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 116/141
Network Layer 4-116
BGP messages
! BGP messages exchanged using TCP.
! BGP messages:
" OPEN: opens TCP connection to peer andauthenticates sender
" UPDATE: advertises new path (or withdraws old)" KEEPALIVE keeps connection alive in absence of
UPDATES; also ACKs OPEN request
" NOTIFICATION: reports errors in previous msg;
also used to close connection
BGP ti li
![Page 117: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/117.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 117/141
Network Layer 4-117
BGP routing policy
Figure 4.5BGPnew: a simple BGP scenario
A
B
C
WX
Y
legend:
customenetwork:
providernetwork
! A,B,C are provider networks
! X,W,Y are customer (of provider networks)
! X is dual-homed: attached to two networks
" X does not want to route from B via X to C
" .. so X will not advertise to B a route to C
BGP ti li (2)
![Page 118: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/118.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 118/141
Network Layer 4-118
BGP routing policy (2)
Figure 4.5BGPnew: a simple BGP scenario
A
B
C
WX
Y
legend:
customenetwork:
providernetwork
! A advertises to B the path AW
! B advertises to X the path BAW
! Should B advertise to C the path BAW?" No way! B gets no “revenue” for routing CBAW since neither
W nor C are B’s customers
" B wants to force C to route to w via A
" B wants to route only to/from its customers!
Wh diff t I t d I t AS ti ?
![Page 119: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/119.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 119/141
Network Layer 4-119
Why different Intra- and Inter-AS routing ?
Policy:! Inter-AS: admin wants control over how its traffic
routed, who routes through its net.
! Intra-AS: single admin, so no policy decisions needed
Scale:! hierarchical routing saves table size, reduced update
traffic
Performance:
! Intra-AS: can focus on performance! Inter-AS: policy may dominate over performance
Ch t 4 N t k L
![Page 120: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/120.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 120/141
Network Layer 4-120
Chapter 4: Network Layer
! 4. 1 Introduction
! 4.2 Virtual circuit anddatagram networks
! 4.3 What’s inside arouter
! 4.4 IP: InternetProtocol" Datagram format
"
IPv4 addressing" ICMP
" IPv6
! 4.5 Routing algorithms" Link state
" Distance Vector
" Hierarchical routing
! 4.6 Routing in theInternet" RIP
" OSPF
" BGP
! 4.7 Broadcast andmulticast routing
Broadcast Routing
![Page 121: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/121.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 121/141
Network Layer 4-121
R1
R2
R3 R4
source
duplication
R1
R2
R3 R4
in-network
duplication
duplicate
creation/transmissionduplicate
duplicate
Broadcast Routing
! Deliver packets from source to all other nodes! Source duplication is inefficient:
! Source duplication: how does sourcedetermine recipient addresses?
In n t k dupli ti n
![Page 122: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/122.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 122/141
Network Layer 4-122
In-network duplication
! Flooding: when node receives brdcst pckt,sends copy to all neighbors" Problems: cycles & broadcast storm
! Controlled flooding: node only brdcsts pktif it hasn’t brdcst same packet before" Node keeps track of pckt ids already brdcsted" Or reverse path forwarding (RPF): only forward
pckt if it arrived on shortest path between
node and source! Spanning tree
" No redundant packets received by any node
Spannin Tree
![Page 123: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/123.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 123/141
Network Layer 4-123
A
B
G
DE
c
F
A
B
G
DE
c
F
(a) Broadcast initiated at A (b) Broadcast initiated at D
Spanning Tree
! First construct a spanning tree
! Nodes forward copies only along spanningtree
Spanning Tree: Creation
![Page 124: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/124.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 124/141
Network Layer 4-124
A
B
G
D
E
c
F1
2
3
4
5
(a) Stepwise construction
of spanning tree
A
B
G
D
E
c
F
(b) Constructed spanning
tree
Spanning Tree Creation
!
Center node! Each node sends unicast join message to center
node" Message forwarded until it arrives at a node already
belonging to spanning tree
Multic st R utin : Pr bl m St t m nt
![Page 125: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/125.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 125/141
Multicast Routing: Problem Statement
! Goal: find a tree (or trees) connectingrouters having local mcast group members" tree: not all paths between routers used
" source-based: different tree from each sender to rcvrs
" shared-tree: same tree used by all group members
Shared tree Source-based trees
l
![Page 126: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/126.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 126/141
Approaches for building mcast trees
Approaches:
! source-based tree: one tree per source" shortest path trees
" reverse path forwarding! group-shared tree: group uses one tree
" minimal spanning (Steiner)
" center-based trees
…we first look at basic approaches, then specificprotocols adopting these approaches
Shortest Path Tree
![Page 127: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/127.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 127/141
Shortest Path Tree
! mcast forwarding tree: tree of shortestpath routes from source to all receivers" Dijkstra’s algorithm
R1
R2
R3
R4
R5
R6 R7
21
63 4
5
i
router with attachedgroup member
router with no attached
group memberlink used for forwarding,i indicates order linkadded by algorithm
LEGENDS: source
Reverse Path Forwarding
![Page 128: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/128.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 128/141
Reverse Path Forwarding
if (mcast datagram received on incoming linkon shortest path back to center)
then flood datagram onto all outgoing links
else ignore datagram
! rely on router’s knowledge of unicastshortest path from it to sender
! each router has simple forwarding behavior:
Reverse Path Forwarding: example
![Page 129: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/129.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 129/141
Reverse Path Forwarding: example
• result is a source-specific reverse SPT – may be a bad choice with asymmetric links
R1
R2
R3
R4
R5
R6 R7
router with attachedgroup member
router with no attached
group member
datagram will beforwarded
LEGENDS: source
datagram will not beforwarded
Reverse Path Forwarding: pruning
![Page 130: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/130.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 130/141
Reverse Path Forwarding pruning
! forwarding tree contains subtrees with no mcastgroup members
" no need to forward datagrams down subtree
" “prune” msgs sent upstream by router with nodownstream group members
R1
R2
R3
R4
R5
R6 R7
router with attachedgroup member
router with no attached
group memberprune message
LEGENDS: source
links with multicastforwarding
P
P
P
Shared Tree: Steiner Tree
![Page 131: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/131.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 131/141
Shared-Tree: Steiner Tree
! Steiner Tree: minimum cost treeconnecting all routers with attached groupmembers
!
problem is NP-complete! excellent heuristics exists
! not used in practice:" computational complexity
" information about entire network needed" monolithic: rerun whenever a router needs to
join/leave
Center based trees
![Page 132: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/132.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 132/141
Center-based trees
! single delivery tree shared by all
! one router identified as “center” of tree
! to join:
" edge router sends unicast join-msg addressedto center router
" join-msg “processed” by intermediate routersand forwarded towards center
"
join-msg either hits existing tree branch forthis center, or arrives at center
" path taken by join-msg becomes new branch oftree for this router
Center-based trees: an example
![Page 133: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/133.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 133/141
Center-based trees: an example
Suppose R6 chosen as center:
R1
R2
R3
R4
R5
R6 R7
router with attachedgroup member
router with no attachedgroup member
path order in which joinmessages generated
LEGEND
21
3
1
I t t M lti ti R ti DVMRP
![Page 134: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/134.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 134/141
Internet Multicasting Routing: DVMRP
! DVMRP: distance vector multicast routingprotocol, RFC1075
! flood and prune: reverse path forwarding,
source-based tree" RPF tree based on DVMRP’s own routing tables
constructed by communicating DVMRP routers
" no assumptions about underlying unicast
" initial datagram to mcast group floodedeverywhere via RPF
" routers not wanting group: send upstream prunemsgs
DVMRP: continued
![Page 135: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/135.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 135/141
DVMRP: continued…
! soft state: DVMRP router periodically (1 min.)“forgets” branches are pruned:" mcast data again flows down unpruned branch
" downstream router: reprune or else continue to
receive data! routers can quickly regraft to tree
" following IGMP join at leaf
! odds and ends" commonly implemented in commercial routers
" Mbone routing done using DVMRP
Tunneling
![Page 136: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/136.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 136/141
Tunneling
Q: How to connect “islands” of multicastrouters in a “sea” of unicast routers?
! mcast datagram encapsulated inside “normal” (non-multicast-
addressed) datagram! normal IP datagram sent thru “tunnel” via regular IP unicast to
receiving mcast router
! receiving mcast router unencapsulates to get mcast datagram
physical topology logical topology
PIM P t l I d d t M lti t
![Page 137: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/137.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 137/141
PIM: Protocol Independent Multicast
! not dependent on any specific underlying unicastrouting algorithm (works with all)
! two different multicast distribution scenarios :
Dense :! group members
densely packed, in“close” proximity.
!
bandwidth moreplentiful
Sparse: ! # networks with group
members small wrt #interconnected networks
!
group members “widelydispersed”
! bandwidth not plentiful
C s s f S s D s Di h t
![Page 138: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/138.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 138/141
Consequences of Sparse-Dense Dichotomy:
Dense ! group membership by
routers assumed untilrouters explicitly prune
! data-driven constructionon mcast tree (e.g., RPF)
! bandwidth and non-group-router processingprofligate
Sparse :! no membership until
routers explicitly join! receiver- driven
construction of mcasttree (e.g., center-based)
! bandwidth and non-group-router processingconservative
PIM Dense Mode
![Page 139: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/139.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 139/141
PIM- Dense Mode
flood-and-prune RPF, similar to DVMRP but! underlying unicast protocol provides RPF info
for incoming datagram
!
less complicated (less efficient) downstreamflood than DVMRP reduces reliance onunderlying routing algorithm
! has protocol mechanism for router to detect itis a leaf-node router
PIM - Sparse Mode
![Page 140: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/140.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 140/141
PIM Sparse Mode
! center-based approach
! router sends join msgto rendezvous point(RP)" intermediate routers
update state andforward join
! after joining via RP,router can switch to
source-specific tree" increased performance:
less concentration,shorter paths
R1
R2
R3
R4
R5
R6R7
join
join
join
all data multicastfrom rendezvouspoint
rendezvouspoint
PIM - Sparse Mode
![Page 141: 4-network](https://reader034.fdocuments.us/reader034/viewer/2022051103/5695d0541a28ab9b02920baf/html5/thumbnails/141.jpg)
7/23/2019 4-network
http://slidepdf.com/reader/full/4-network 141/141
PIM Sparse Mode
sender(s):
! unicast data to RP,which distributes downRP-rooted tree
! RP can extend mcasttree upstream tosource
! RP can send stop msg
if no attachedreceivers" “no one is listening!”
R1
R2
R3
R4
R5
R6R7
join
join
join
all data multicastfrom rendezvouspoint
rendezvouspoint