The Network LayerThe Network Layer
IntroductionIntroduction
functionality and service modelsfunctionality and service models
TheoryTheory
link state and distance vector algorithmslink state and distance vector algorithms
broadcast algorithmsbroadcast algorithms
hierarchical routinghierarchical routing
Case Study: IPCase Study: IP
servicesservices
packet formats, addressingpacket formats, addressing
routing protocols: RIP, OSPF, BGProuting protocols: RIP, OSPF, BGP
ICMPICMP
IPV6IPV6
The Network Layer (cont)The Network Layer (cont)
Case Study: ATMCase Study: ATM
servicesservices
cell formatscell formats
VP's and VC'sVP's and VC's
Routers and SwitchesRouters and Switches
how they workhow they work
ReadingsReadings
textbook: sections 5.1, 5.2, 5.4-5.7textbook: sections 5.1, 5.2, 5.4-5.7
H:\courses\s98\graphics\IMG00031.GIF
Network Layer: IntroductionNetwork Layer: Introduction
Network layer: network-wide concernNetwork layer: network-wide concern
transport layer: between two hoststransport layer: between two hosts
data link layer: between two physically connectedhosts, routersdata link layer: between two physically connectedhosts, routers
 network layer: involves each and every router, host,gateway in the network network layer: involves each and every router, host,gateway in the network
Network Layer Service: Virtual CircuitNetwork Layer Service: Virtual Circuit
Virtual: looks like circuit but isn'tVirtual: looks like circuit but isn't
generally associated with connection-oriented servicegenerally associated with connection-oriented service
all packets within connection follow same routeall packets within connection follow same route
H:\courses\s98\graphics\IMG00032.GIF
At connection establishment time:At connection establishment time:
connection setup packet flows from sender toreceiverconnection setup packet flows from sender toreceiver
routing tables updated at intermediate nodes toreflect new VCrouting tables updated at intermediate nodes toreflect new VC
key issue: per-connection state at routerkey issue: per-connection state at router
fits well with QoS guarantees: reserve resourcesand/or accept/reject call based on resources at thisrouterfits well with QoS guarantees: reserve resourcesand/or accept/reject call based on resources at thisrouter
Analogy: telephone networkAnalogy: telephone network
Network Layer Service: datagramsNetwork Layer Service: datagrams
no notion of connection in network layerno notion of connection in network layer
no routes set up at connection establishmenttime each packet in "connection" may followdifferent pathno routes set up at connection establishmenttime each packet in "connection" may followdifferent path
no guarantee of reliable, or in-order deliveryno guarantee of reliable, or in-order delivery
advantages:advantages:
no connection state in routersno connection state in routers
robust with respect to link failuresrobust with respect to link failures
recovery at end-systems (transport level)recovery at end-systems (transport level)
Burning question: to VC or not to VC?Burning question: to VC or not to VC?
Answer: support both, offering different servicemodels:Answer: support both, offering different servicemodels:
best effort service: datagramsbest effort service: datagrams
service with performance guarantees: QOSservice with performance guarantees: QOS
H:\courses\s98\graphics\IMG00033.GIF
The routing functionThe routing function
network-layer packet contains:network-layer packet contains:
transport layer packet (port, seq, ack, data,checksum, etc)transport layer packet (port, seq, ack, data,checksum, etc)
addressing info (e.g., source, dest. address or VCidentifier)addressing info (e.g., source, dest. address or VCidentifier)
other fields (e.g., version, length, time-to-live)other fields (e.g., version, length, time-to-live)
Router/switch actions simple on packetreceipt:Router/switch actions simple on packetreceipt:
look up packet identifier (dest. address or VC id) inrouting table and forward on appropriate out-goinglink (or upwards if at destination)look up packet identifier (dest. address or VC id) inrouting table and forward on appropriate out-goinglink (or upwards if at destination)
Routing Table: issuesRouting Table: issues
Key question: how are routing tablesdetermined/updated?Key question: how are routing tablesdetermined/updated?
who determines table entries?who determines table entries?
what info used in determining table entries?what info used in determining table entries?
when do routing table entries change?when do routing table entries change?
where is routing info stored?where is routing info stored?
how to control table size?how to control table size?
why are routing tables determined particular way.What is the theoretical basis?why are routing tables determined particular way.What is the theoretical basis?
Answer these and we are done!Answer these and we are done!
Routing issues:Routing issues:
scalability: must be able to support largenumbers of hosts, routers, networksscalability: must be able to support largenumbers of hosts, routers, networks
adapt to changes in topology or significantchanges in traffic, quickly and efficientlyadapt to changes in topology or significantchanges in traffic, quickly and efficiently
self-healing: little or not human interventionself-healing: little or not human intervention
route selection may depend on differentcriteriaroute selection may depend on differentcriteria
performance: "choose route with smallestdelay"performance: "choose route with smallestdelay"
policy: "choose route that doesn't cross agovernment network" (equivalently: "let nonon-government traffic cross this network")policy: "choose route that doesn't cross agovernment network" (equivalently: "let nonon-government traffic cross this network")
Classification of RoutingAlgorithmsClassification of RoutingAlgorithms
Centralized versus decentralizedCentralized versus decentralized
centralized: central site computes and distributedroutes (equivalently: information for computing routesknown globally, each router makes samecomputation)centralized: central site computes and distributedroutes (equivalently: information for computing routesknown globally, each router makes samecomputation)
decentralized: each router sees only localinformation (itself and physically-connectedneighbors) and computes routes on this basisdecentralized: each router sees only localinformation (itself and physically-connectedneighbors) and computes routes on this basis
pros and cons?pros and cons?
Classification (cont)Classification (cont)
Static versus adaptiveStatic versus adaptive
static: routing tables change very slowly, often inresponse to human interventionstatic: routing tables change very slowly, often inresponse to human intervention
dynamic: routing tables change as network traffic ortopology changedynamic: routing tables change as network traffic ortopology change
pros and cons?pros and cons?
Two basic approaches adopted in practice:Two basic approaches adopted in practice:
link-state routing: centralized, dynamic (periodicallyrun)link-state routing: centralized, dynamic (periodicallyrun)
distance vector: distributed, dynamic (in directresponse to changes)distance vector: distributed, dynamic (in directresponse to changes)