8/14/2019 Routing and ForWording
1/24
Forwarding 1
Instructor: Carey WilliamsonOffice: ICT 740
Email: [email protected]
Class Location: MFH 164Lectures: TR 8:00 9:15
Notes derived from Computer Networking: A TopDown Approach Featuring the Internet, 2005, 3rd
edition, Jim Kurose, Keith Ross, Addison-Wesley.Slides are adapted from the companion web site of the book,
as modified by Anirban Mahanti (and Carey Williamson).
Network Layer: Routing & Forwarding
mailto:[email protected]?subject=CPSC%20441mailto:[email protected]?subject=CPSC%20441mailto:[email protected]?subject=CPSC%204418/14/2019 Routing and ForWording
2/24
8/14/2019 Routing and ForWording
3/24
Forwarding 3
1
23
0111
value in arriving
packets header
routing algorithm
local forwarding table
header value output link
0100
0101
01111001
3
2
21
Interplay between routing and forwarding
8/14/2019 Routing and ForWording
4/24
Forwarding 4
VC Networks: Connection setup
3rd important function in somenetworkarchitectures:r ATM, frame relay, X.25
Before datagrams flow, two hosts andintervening routers establish virtualconnectionr Routers get involved
Network and transport layer cnctn service:r Network: between two hostsr Transport: between two processes
8/14/2019 Routing and ForWording
5/24
Forwarding 5
Network service model
Q: What service modelfor channel transportingdatagrams from sender to rcvr?
Example services for
individual datagrams: guaranteed delivery Guaranteed delivery
with less than 40 msec
delay
Example services for a
flow of datagrams: In-order datagramdelivery
Guaranteed minimum
bandwidth to flow Restrictions on
changes in inter-packet spacing
8/14/2019 Routing and ForWording
6/24
Forwarding 6
Network layer service models:
Network
Architecture
Internet
ATM
ATM
ATM
ATM
Service
Model
best effort
CBR
VBR
ABR
UBR
Bandwidth
none
constantrate
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
)
nocongestion
no
congestion
yes
no
Guarantees ?
8/14/2019 Routing and ForWording
7/24
Forwarding 7
Network layer connection andconnection-less service
Datagram network provides network-layerconnectionless service
VC network provides network-layer
connection service Analogous to the transport-layer services,
but:r
Service: host-to-hostr No choice: network provides one or the otherr Implementation: in the core
8/14/2019 Routing and ForWording
8/24
Forwarding 8
Virtual circuits
call setup, teardown for each call beforedata can flow each packet carries VC identifier (not destination host
address)
everyrouter on source-dest path maintains state foreach passing connection link, router resources (bandwidth, buffers) may be
allocatedto VC
source-to-dest path behaves much like telephonecircuitr performance-wiser network actions along source-to-dest path
8/14/2019 Routing and ForWording
9/24
Forwarding 9
VC implementation
A VC consists of:1. Path from source to destination
2. VC numbers, one number for each link along
path3. Entries in forwarding tables in routers along
path
Packet belonging to VC carries a VC
number. VC number must be changed on each link.
r New VC number comes from forwarding table
8/14/2019 Routing and ForWording
10/24
Forwarding 10
Forwarding table
12
22 32
12
3
VC number
interfacenumber
Incoming interface Incoming VC # Outgoing interface Outgoing VC #
1 12 2 222 63 1 183 7 2 17
1 97 3 87
Forwarding table inNorthwest router:
Routers maintain connection state information!
8/14/2019 Routing and ForWording
11/24
Forwarding 11
Virtual circuits: signaling protocols
used to setup, maintain teardown VC used in ATM, frame-relay, X.25 not used in todays Internet
applicationtransportnetworkdata linkphysical
applicationtransport
networkdata linkphysical
1. Initiate call 2. incoming call
3. Accept call4. Call connected5. Data flow begins 6. Receive data
8/14/2019 Routing and ForWording
12/24
Forwarding 12
Datagram networks no call setup at network layer
routers: no state about end-to-end connectionsr no network-level concept of connection
packets forwarded using destination host addressr packets between same source-dest pair may take
different paths
applicationtransportnetworkdata linkphysical
application
transportnetworkdata linkphysical
1. Send data 2. Receive data
8/14/2019 Routing and ForWording
13/24
Forwarding 13
Datagram or VC network: why?
Internet data exchange among
computersr elastic service, no strict
timing req. smart end systems
(computers)r can adapt, perform
control, error recovery
r simple inside network,complexity at edge
many link typesr different characteristicsr uniform service difficult
ATM evolved from telephony human conversation:
r strict timing, reliability
requirementsr need for guaranteed
service dumb end systems
r telephonesr complexity inside
network
8/14/2019 Routing and ForWording
14/24
Forwarding 14
Inside a Router
8/14/2019 Routing and ForWording
15/24
Forwarding 15
Router Architecture Overview
Two key router functions: run routing algorithms/protocol (RIP, OSPF, BGP) forwardingdatagrams from incoming to outgoing link
8/14/2019 Routing and ForWording
16/24
Forwarding 16
Input Port Functions
Decentralized switching: given datagram dest., lookup output port
using forwarding table in input port
memory (caching of entries?) 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., Ethernet
8/14/2019 Routing and ForWording
17/24
Forwarding 17
Three types of switching fabrics
8/14/2019 Routing and ForWording
18/24
Forwarding 18
Switching Via Memory
First generation routers: traditional computers with switching under directcontrol of CPUpacket copied to systems memory speed limited by memory bandwidth (2 buscrossings per datagram)
Input
Port
Output
Port
Memory
System Bus
8/14/2019 Routing and ForWording
19/24
Forwarding 19
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)
8/14/2019 Routing and ForWording
20/24
Forwarding 20
Switching Via An InterconnectionNetwork
overcome bus bandwidth limitations Banyan networks, other interconnection nets
initially developed to connect processors inmultiprocessor Advanced design: fragmenting datagram into fixed
length cells, switch cells through the fabric.
Cisco 12000: switches Gbps through theinterconnection network
8/14/2019 Routing and ForWording
21/24
Forwarding 21
Output Ports
Bufferingrequired when datagrams arrive from
fabric faster than the transmission rater Need Queue Management Policy (Drop-Tail, AQM)r Also need Packet Scheduling Policy (FCFS, WFQ)
8/14/2019 Routing and ForWording
22/24
Forwarding 22
Output port queueing
buffering when arrival rate via switch exceedsoutput line speed
queueing (delay) and loss due to output portbuffer overflow!
8/14/2019 Routing and ForWording
23/24
Forwarding 23
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 (even though o/p port is free for the
other datagram)
8/14/2019 Routing and ForWording
24/24
Forwarding 24
Next Topic
Routing Algorithms Routing in the Internet Readings: Chapter 4 in the K&R book