Distributed Systems 8. Network Layer Theory Simon Razniewski Faculty of Computer Science Free University of Bozen-Bolzano A.Y. 2015/2016.

Slides:



Advertisements
Similar presentations
Network Layer – Routing 2 Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
Advertisements

COS 461 Fall 1997 Routing COS 461 Fall 1997 Typical Structure.
TELE202 Lecture 8 Congestion control 1 Lecturer Dr Z. Huang Overview ¥Last Lecture »X.25 »Source: chapter 10 ¥This Lecture »Congestion control »Source:
Review: Routing algorithms Distance Vector algorithm. –What information is maintained in each router? –How to distribute the global network information?
1 The Network Layer Chapter 5. 2 Network Layer Design Isues Store-and-Forward Packet Switching Services Provided to the Transport Layer Implementation.
Network Layer Chapter 5 Design Issues Routing Algorithms Congestion Control Quality of Service Internetworking Network Layer of the Internet.
Network Layer Chapter 5 Design Issues Routing Algorithms
UNIT-IV Computer Network Network Layer. Network Layer Prepared by - ROHIT KOSHTA In the seven-layer OSI model of computer networking, the network layer.
Courtesy: Nick McKeown, Stanford
1 LINK STATE PROTOCOLS (contents) Disadvantages of the distance vector protocols Link state protocols Why is a link state protocol better?
Wide Area Networks School of Business Eastern Illinois University © Abdou Illia, Spring 2007 (Week 11, Thursday 3/22/2007)
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 22 Introduction to Computer Networks.
Teknik Routing Pertemuan 20 Matakuliah: H0484/Jaringan Komputer Tahun: 2007.
Network Layer Design Isues Store-and-Forward Packet Switching Services Provided to the Transport Layer The service should be independent of the router.
Chapter 10 Introduction to Wide Area Networks Data Communications and Computer Networks: A Business User’s Approach.
CS335 Networking & Network Administration Tuesday, April 20, 2010.
1 Computer Networks Routing Algorithms. 2 IP Packet Delivery Two Processes are required to accomplish IP packet delivery: –Routing discovering and selecting.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 21 Introduction to Computer Networks.
EECC694 - Shaaban #1 lec #7 Spring The OSI Reference Model Network Layer.
1 Chapter 10 Introduction to Metropolitan Area Networks and Wide Area Networks Data Communications and Computer Networks: A Business User’s Approach.
Jennifer Rexford Princeton University MW 11:00am-12:20pm Wide-Area Traffic Management COS 597E: Software Defined Networking.
CECS 474 Computer Network Interoperability WAN Technologies & Routing
Mobile IP Performance Issues in Practice. Introduction What is Mobile IP? –Mobile IP is a technology that allows a "mobile node" (MN) to change its point.
The Network Layer Chapter 5.
Routing Algorithms (Ch5 of Computer Network by A. Tanenbaum)
SAvPS – úvod Genči 2009 (bsaed on Tanenbaum’s slides.
1 Pertemuan 20 Teknik Routing Matakuliah: H0174/Jaringan Komputer Tahun: 2006 Versi: 1/0.
Review: routing algorithms. –Choose the appropriate paths. –Routing algorithms Flooding Shortest path routing (example). –Dijkstra algorithm. –Bellman-Ford.
Network Layer r Introduction r Datagram networks r IP: Internet Protocol m Datagram format m IPv4 addressing m ICMP r What’s inside a router r Routing.
Packet-Switching Networks Routing in Packet Networks.
Chi-Cheng Lin, Winona State University CS412 Introduction to Computer Networking & Telecommunication Chapter 5 Network Layer.
WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example.
Network and Communications Ju Wang Chapter 5 Routing Algorithm Adopted from Choi’s notes Virginia Commonwealth University.
Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
Chi-Cheng Lin, Winona State University CS 313 Introduction to Computer Networking & Telecommunication Chapter 5 Network Layer.
The Network Layer Introduction  functionality and service models Theory  link state and distance vector algorithms  broadcast algorithms  hierarchical.
1 Week 5 Lecture 2 IP Layer. 2 Network layer functions transport packet from sending to receiving hosts transport packet from sending to receiving hosts.
CSCI 465 D ata Communications and Networks Lecture 15 Martin van Bommel CSCI 465 Data Communications & Networks 1.
The Network Layer.
Netprog: Routing and the Network Layer1 Routing and the Network Layer (ref: Interconnections by Perlman)
1 Computer Communication & Networks Lecture 21 Network Layer: Delivery, Forwarding, Routing Waleed.
TELE202 Lecture 6 Routing in WAN 1 Lecturer Dr Z. Huang Overview ¥Last Lecture »Packet switching in Wide Area Networks »Source: chapter 10 ¥This Lecture.
Data Communications and Computer Networks Chapter 4 CS 3830 Lecture 20 Omar Meqdadi Department of Computer Science and Software Engineering University.
Teknik Routing Pertemuan 10 Matakuliah: H0524/Jaringan Komputer Tahun: 2009.
Network Layer Chapter 5 Design Issues Routing Algorithms
Review of key networking techniques: –Reliable communication over unreliable channels –Error detection and correction –Medium access control –routing –Congestion.
Network Layer (2). Review Physical layer: move bits between physically connected stations Data link layer: move frames between physically connected stations.
Network Layer Chapter 5 CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011 Design Issues Routing Algorithms Congestion.
Distance Vector Routing
Distance Vector and Link State Routing Pragyaditya Das.
Day 13 Intro to MANs and WANs. MANs Cover a larger distance than LANs –Typically multiple buildings, office park Usually in the shape of a ring –Typically.
7. Network Layer Design Issues Routing Algorithms −distance vector −link state routing Congestion Control Quality of Service Network Layer of the Internet.
Chapter 5 The Network Layer Computer Networks. Network Layer Chapter 5 CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall,
Assignment 1  Chapter 1:  Question 11  Question 13  Question 14  Question 33  Question 34  Chapter 2:  Question 6  Question 39  Chapter 3: 
Computer Networks, Fifth Edition by Andrew Tanenbaum and David Wetherall, © Pearson Education-Prentice Hall, 2011 The Network Layer Chapter
The Network Layer UNIT-4 snistforum.com. Network Layer Design Issues Store-and-Forward Packet Switching Services Provided to the Transport Layer Implementation.
Network Layer Routing Networks: Routing.
Network Layer COMPUTER NETWORKS Networking Standards (Network LAYER)
Chapter 4 Network Layer Computer Networking: A Top Down Approach 6th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 CPSC 335 Data Communication.
Network Layer.
THE NETWORK LAYER.
Chapter 5 The Network Layer.
Intra-Domain Routing Jacob Strauss September 14, 2006.
Revised: August 2011 and February 2018
ECE453 – Introduction to Computer Networks
The Network Layer Network Layer Design Issues:
PRESENTATION COMPUTER NETWORKS
Network Layer Routing Networks: Routing.
Routing.
Routing and the Network Layer (ref: Interconnections by Perlman
Presentation transcript:

Distributed Systems 8. Network Layer Theory Simon Razniewski Faculty of Computer Science Free University of Bozen-Bolzano A.Y. 2015/2016

Network Layer 1.Design Issues 2.Routing Algorithms −Distance vector −Link state routing 3.Congestion Control 4.Quality of Service

The Network Layer Service: Delivering packets between endpoints over multiple links Which service does it use from the link layer? Physical Link Network Transport Application

Design Issues Forward packet switching −Connectionless service – datagrams −Connection-oriented service – virtual circuits Comparison of virtual-circuits and datagrams

Core function: Forward Packet Switching Hosts send packets into the network; packets are forwarded by routers ISP’s equipment

Connectionless Service – Datagrams Packet is forwarded using destination address inside it Different packets may take different paths ISP’s equipment A’s table (initially) A’s table (later) C’s Table E’s Table Dest. Line Routing tables:

Connection-Oriented – Virtual Circuits Packet is forwarded along a virtual circuit using tag inside it Virtual circuit (VC) is set up ahead of time ISP’s equipment A’s table C’s Table E’s Table In: Line Tag Line Tag: Out

Comparison of Virtual-Circuits & Datagrams

7. Network Layer 1.Design Issues 2.Routing Algorithms −distance vector −link state routing 3.Congestion Control 4.Quality of Service

Routing Algorithms (1) Dijkstra’s Shortest path algorithm Distance vector routing Link state routing Hierarchical routing Routing for mobile hosts

Routing Algorithms (2) Routing is the process of discovering network paths (creating a routing table) Model the network as a graph of nodes and links Decide what to optimize (e.g., fairness vs efficiency) Update routes for changes in topology (e.g., failures) Forwarding is the sending of packets along a path, using routing tables

Shortest Path Algorithm (1) Dijkstra’s algorithm computes shortest path to all nodes from one node in a graph Foundations: −Each link is assigned a non-negative weight/distance −Shortest path is the one with lowest total weight −Using weights of 1 gives paths with fewest hops Algorithm: −Start with source, set distance to other nodes to infinity −Update distances to reachable nodes −Pick the lowest distance node, add it to set of visited nodes −Repeat until all nodes are visited

Shortest Path Algorithm (2) A network and first five steps in computing the shortest paths from A to D. Pink arrows show the sink tree so far. How to formalize this?

Dijkstra(StartingNode A) { Queue theQueue; theQueue.addAll(A.reachableNodesWithDistance); Integer[] shortestDistances = new Integer[maxNodeCount]; while (theQueue.isNotEmpty()) { Node nearest = theQueue.removeNearest(); shortestDistances[nearest.id] = nearest.distance; for (Node n : nearest.reachableNodesWithinDistance) { int newDistance = nearest.distanceTo(n) + nearest.Distance; if (!queue.containsKey(n) && shortestDistances[n.id] == null || queue.containsKey(n) && queue.get(n)>newDistance) queue.put(n,newDistance); } N.B.: This is close to java, the queue could be implemented as PriorityQueue

Your turn Shortest paths from A?

Dijkstra’s algorithm is nice, but… …how do we actually compute it?  Decentralized (Distance vector routing)  Centralized (Link state routing)

Distance Vector Routing (1) Distance vector is a distributed routing algorithm Shortest path computation is split across nodes Algorithm: Each node knows distance of links to its neighbors Each node advertises vector of lowest known distances to all neighbors Each node uses received vectors to update its own Repeat periodically

Distance Vector Routing (2) Network Vectors received at J from Neighbors A, I, H and K New vector for J

The Count-to-Infinity Problem Failures can cause DV to “count to infinity” while seeking a path to an unreachable node Good news of a path to A spreads quickly X Bad news of no path to A is learned slowly +

Link State Routing (1) Link state is an alternative to distance vector More computation but simpler dynamics Widely used in the Internet (OSPF, IS-IS) Algorithm: Each node floods information about its neighbors in LSPs (Link State Packets); all nodes learn the full network graph Each node runs Dijkstra’s algorithm to compute the path to take for each destination How can we send LSPs to all nodes? −Remember: No broadcast functionality in WANs!

Link State Routing (2) – LSPs LSP (Link State Packet) for a node lists neighbors and weights of links to reach them Network LSP for each node

Link State Routing (3) – Reliable Flooding Seq. number and age are used for reliable flooding New LSPs are acknowledged on the lines they are received and sent on all other lines Example shows the LSP database at router B

Distance Vector vs. Link State Routing Distance Vector Routing Link State Routing Functionality Message Content Message Number Challenge

Routing tables for the internet IPv4: 32-bit addresses IPv6: 128-bit addresses

Hierarchical Routing Hierarchical routing reduces the work of route computation but may result in slightly longer paths than flat routing Best choice to reach nodes in 5 except for 5C

Routing for Mobile Hosts Mobile hosts can be reached via a home agent Fixed home agent tunnels packets to reach the mobile host; reply can optimize path for subsequent packets No changes to routers or fixed hosts

1.Design Issues 2.Routing Algorithms −distance vector −link state routing 3.Congestion Control 4.Quality of Service

Congestion Control (1) Handling congestion is the responsibility of the Network and Transport layers working together −We look at the Network portion here

Congestion Control (2) Congestion results when too much traffic is offered; performance degrades due to loss/retransmissions Goodput (=useful packets) trails offered load

What can be done?

Congestion Control (3) – Approaches Network must do its best with the offered load Different approaches at different timescales Nodes should also reduce offered load (Transport)

Traffic-Aware Routing Choose routes depending on traffic, not just topology E.g., use EI for West-to-East traffic if CF is loaded But take care to avoid oscillations

Admission Control Admission control allows a new traffic load only if the network has sufficient capacity, e.g., with virtual circuits Can combine with looking for an uncongested route Network with some congested nodes Uncongested portion and route AB around congestion

Traffic Throttling Congested routers signal hosts to slow down traffic ECN (Explicit Congestion Notification) marks packets and receiver returns signal to sender

Load Shedding (1) When all else fails, network will drop packets (shed load) Upper layers usually notice shedding and throttle load (TCP for instance) Which packets to throw away?  Milk-or-wine problem

1.Design Issues 2.Routing Algorithms −distance vector −link state routing 3.Congestion Control 4.Quality of Service

Application Requirements (1) Different applications care about different properties We want all applications to get what they need. “High” means a demanding requirement, e.g., low delay

How can we make guarantees? Traffic shaping regulates the average rate and burstiness of data entering the network Lets us make guarantees Seen already: Sliding window (regulates indirectly the traffic) Shape traffic here

Traffic Shaping: Token Bucket Token bucket limits both the average rate (R) and short-term burst (B) of traffic Bucket size is B, water enters at rate R and is removed to send  See demonstration

Traffic Shaping: Token Bucket (2) Shaped by R=25 MB/s B=9,6 MB Shaped by R=25 MB/s B=0 KB Host traffic Smaller bucket size delays traffic and reduces burstiness How much is sent How much can be sent

Your turn Router with two inputs A, B and C, and one output, D, and 100 MB internal memory - A has token bucket with R= 10 Mbit/s, size 40 MB - B has token bucket with R= 20 Mbit/s, size 70 MB - D has token bucket with R= 55 Mbit/s, size 50 MB - C would like token bucket with R=10 Mbit/s, size 60 MB Can C’s wish be satisfied?

Buckets in series A single token bucket may allow strong bursts  Put smaller buckets with higher rate behind Token bucket with B=0 is called leaky bucket

Take home Connectionless vs connection-oriented routing Routing Distance vector −Problem: Count to infinity Link state −Challenge: Information propagation Techniques for congestion control Traffic shaping: Token-bucket