Outline. Routing. Introduction to Wide Area Routing. Classification of Routing Algorithms. Introduction. Broadcasting and Multicasting

Similar documents
Recap. Recap. Internetworking. First mile problem. Internet. End Users. Last mile problem. Direct link networks Packet switching.

Internetworking - We are heterogeneity to our network (variable network technologies, bandwidth, MTU, latency, etc. etc.)

Address Translation. Map IP addresses into physical addresses destination host next hop router

Review of Internet Architecture and Protocols

CS 457 Networking and the Internet. Problems. Mechanisms 9/21/16. Fall 2016 Indrajit Ray

Administrivia CSC458 Lecture 4 Bridging LANs and IP. Last Time. This Time -- Switching (a.k.a. Bridging)

Internet Protocol. Outline Introduction to Internet Protocol Header and address formats ICMP Tools CS 640 1

Internet Protocol (IP)

CSCI-1680 Network Layer: IP & Forwarding Rodrigo Fonseca

Internetworking Part 2

CSCI-1680 Network Layer: IP & Forwarding John Jannotti

CSCI-1680 Network Layer: IP & Forwarding Rodrigo Fonseca

Switching and Forwarding

Copyright 2010, Elsevier Inc. All rights Reserved

CSE/EE 461 The Network Layer. Application Presentation Session Transport Network Data Link Physical

L10: Simple Internetworking. Hui Chen, Ph.D. Department of Engineering & Computer Science Virginia State University Petersburg, VA 23806

Inter-networking. Problem. 3&4-Internetworking.key - September 20, LAN s are great but. We want to connect them together. ...

CSCI-1680 Network Layer: IP & Forwarding Rodrigo Fonseca Instructor: Nicholas DeMarinis

Lecture 8. Basic Internetworking (IP) Outline. Basic Internetworking (IP) Basic Internetworking (IP) Service Model

Lecture 8. Reminder: Homework 3, Programming Project 2 due on Thursday. Questions? Tuesday, September 20 CS 475 Networks - Lecture 8 1

IP - The Internet Protocol. Based on the slides of Dr. Jorg Liebeherr, University of Virginia

CS475 Networks Lecture 8 Chapter 3 Internetworking. Ethernet or Wi-Fi).

Switching and Forwarding - continued

Lecture 4 The Network Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

CompSci 356: Computer Network Architectures. Lecture 8: Spanning Tree Algorithm and Basic Internetworking Ch & 3.2. Xiaowei Yang

ECE 4450:427/527 - Computer Networks Spring 2017

Network Layer: Internet Protocol

Network Layer: Routing

Switching and Forwarding - continued

Internetworking Terms. Internet Structure. Internet Structure. Chapter 15&16 Internetworking. Internetwork Structure & Terms

CIS 551 / TCOM 401 Computer and Network Security. Spring 2006 Lecture 16

EEC-684/584 Computer Networks

IP Protocols. ALTTC/Oct

C14a: Internetworks and The Internet

Routing by the Network

Internetworking Part 2

Lecture 12. Introduction to IP Routing. Why introduction? Routing

Dongsoo S. Kim Electrical and Computer Engineering Indiana U. Purdue U. Indianapolis

Lecture 5 The Network Layer part II. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Basic Idea. Routing. Example. Routing by the Network

Why dynamic route? (1)

Internetworking. different kinds of network technologies that can be interconnected by routers and other networking devices to create an internetwork

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

The Interconnection Structure of. The Internet. EECC694 - Shaaban

SWITCHING, FORWARDING, AND ROUTING

CS 356: Computer Network Architectures. Lecture 10: IP Fragmentation, ARP, and ICMP. Xiaowei Yang

NET2-2 Internet Protocol and Routing Network Science Certificate George Mason University

Routing. Advanced Computer Networks: Routing 1

CIS 551 / TCOM 401 Computer and Network Security

Routing Protocols. Autonomous System (AS)

Vorlesung Kommunikationsnetze

EC441 Fall 2018 Introduction to Computer Networking Chapter4: Network Layer Data Plane

Introduction to Internetworking

Routing. Routing. Overview. Overview. Routing vs. Forwarding. Why Routing

CS610 Computer Network Final Term Papers Solved MCQs with reference by Virtualians Social Network

EEC-484/584 Computer Networks

Data Communication Prof. A. Pal Department of Computer Science & Engineering Indian Institute of Technology, Kharagpur Lecture 34 TCP/ IP I

Chapter 09 Network Protocols

HWP2 Application level query routing HWP1 Each peer knows about every other beacon B1 B3

IP : Internet Protocol

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

Overview. Problem: Find lowest cost path between two nodes Factors static: topology dynamic: load

OSI Network Layer. Network Fundamentals Chapter 5. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

Network Protocols. Routing. TDC375 Autumn 03/04 John Kristoff - DePaul University 1

Unit 3: Dynamic Routing

TSIN02 - Internetworking

HY 335 Φροντιστήριο 8 ο

Exercise Sheet 4. Exercise 1 (Routers, Layer-3-Switches, Gateways)

Research paper Measured Capacity of an Ethernet: Myths and Reality

CompSci 356: Computer Network Architectures. Lecture 12: Dynamic routing protocols: Link State Chapter Xiaowei Yang

Operation Manual IPv4 Routing H3C S3610&S5510 Series Ethernet Switches. Table of Contents

The Internet. The Internet is an interconnected collection of netw orks.

Administrivia. Homework on class webpage If you are having problems following me in class (or doing the homework problems), please buy the textbook

Internet Routing Protocols Tuba Saltürk

EPL606. Internetworking. Part 2a. 1Network Layer

ROUTING INTRODUCTION TO IP, IP ROUTING PROTOCOLS AND PROXY ARP

Lecture 4. The Network Layer (cont d)

ARP, IP. Chong-Kwon Kim. Each station (or network interface) should be uniquely identified Use 6 byte long address

CPSC 826 Internetworking. The Network Layer: Routing & Addressing Outline. The Network Layer

IP Routing Volume Organization

Networking: Network layer

Lecture 9. Network Layer (cont d) Network Layer 1-1

Topics for This Week

Computer Networks ICS 651. IP Routing RIP OSPF BGP MPLS Internet Control Message Protocol IP Path MTU Discovery

CH. 3 IP FORWARDING AND ROUTING

Lecture 3: Packet Forwarding

II. Principles of Computer Communications Network and Transport Layer

ECE 333: Introduction to Communication Networks Fall 2001

Vendor: Alcatel-Lucent. Exam Code: 4A Exam Name: Alcatel-Lucent Interior Routing Protocols and High Availability.

Agenda L2 versus L3 Switching IP Protocol, IP Addressing IP Forwarding ARP and ICMP IP Routing First Hop Redundancy

Top-Down Network Design, Ch. 7: Selecting Switching and Routing Protocols. Top-Down Network Design. Selecting Switching and Routing Protocols

Network Protocols. Routing. TDC375 Winter 2002 John Kristoff - DePaul University 1

CSCD 330 Network Programming Spring 2018

Routing. Outline. Algorithms Scalability

CSCD 330 Network Programming Spring 2017

ECE 428 Internet Protocols (Network Layer: Layer 3)

CIS 551 / TCOM 401 Computer and Network Security. Spring 2007 Lecture 8

Computer Science 425 Distributed Systems CS 425 / ECE 428. Fall 2013

History Page. Barracuda NextGen Firewall F

cs/ee 143 Communication Networks

Transcription:

Outline Routing Fundamentals of Computer Networks Guevara Noubir Introduction Broadcasting and Multicasting Shortest Path Unicast Routing Link Weights and Stability F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 1 F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 2 Introduction to Wide Area Routing Classification of Routing Algorithms Routing is implemented within layer 3 Main issues: Selection of routes for (origin, destination) pairs Delivery of messages to their correct destination Performance measures: throughput, average delay Focus of the lecture: Selection of routes for fixed networks (no mobility) F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 3 Centralized versus Distributed Algorithms may be equivalent at some abstraction level Static versus Adaptive In static routing the path used by a session is fixed regardless of traffic conditions (e.g., congestion) The routing algorithm changes the path if a congestion occurs on some of the used links F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 4 1

Broadcasting and Multicasting Broadcasting: Sending a message from one node to all nodes in the network Multicasting: Sending a message from one node to a set of nodes (multicast group) Unicast: Sending a message from one node to another node Advantages of broadcasting and multicasting: Saves bandwidth, and increases overall throughput Use of broadcasting: e.g., update the nodes on link status Use of multicasting: newspaper, stock-market info, video streaming, etc. Difficulty of multicasting: reliability, optimality, response to group dynamic F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 5 Broadcasting (Flooding) Simple broadcast algorithms: flooding, spanning tree Simple flooding algorithm: Source sends out the message to each of its adjacent nodes When a node receives a message it sends it out to all its adjacent nodes (except to the one from which it received it) Problem? How to solve it? F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 6 Broadcasting (Flooding) Broadcasting (Spanning Tree) Complexity of flooding: Time complexity: Message complexity (communication complexity): A spanning tree is a connected sub-graph that contains all nodes and has no cycles A spanning tree can implement broadcasting with no use of sequence numbers Complexity of spanning tree: time, message Constructing a spanning tree that minimizes the diameter or total weight (delay/cost) in a distributed manner is difficult F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 7 F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 8 2

Broadcasting (Spanning Tree) Minimum Spanning Tree: Minimum cost tree which spans all nodes (Prim-Dijkstra s algorithm: add nearest members one by one to the tree) Example: Building a spanning tree: A node sends a spanning tree message to all its neighbors Whenever a node u receives such a message from v, u sets v as its parent Whenever a node that has already determined its parent receives such a message, it ignores it F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 9 Bridges and Extended LANs One use of spanning trees at the LAN level in Bridges LANs have physical limitations (e.g., 2500m) Connect two or more LANs with a bridge Accept and forward strategy Level 2 connection (does not add packet header) A Bridge Ethernet Switch is a LAN Switch = Bridge B C Port 1 Port 2 X Y Z F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 10 Learning Bridges Do not forward when unnecessary Maintain forwarding table A B C Bridge Port 1 Port 2 X Y Z Host Port A 1 B 1 C 1 X 2 Y 2 Z 2 Learn table entries based on source address Table is an optimization; need not be complete Always forward broadcast frames F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 11 Problem: loops Spanning Tree Algorithm Bridges run a distributed spanning tree algorithm Select which bridges actively forward Developed by Radia Perlman Now in IEEE 802.1 specification C E G A B2 I B3 B6 F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 12 D B1 B5 B4 B7 F H J B K 3

Algorithm Overview Algorithm Details Each bridge has unique id (e.g., B1, B2, B3) Select bridge with smallest id as root Select bridge on each LAN closest to root as designated bridge (use id to break ties) Each bridge forwards frames over each LAN for which it is the designated bridge C E A B2 B3 D B1 B5 B7 F B K Bridges exchange configuration messages Id for bridge sending the message Id for what the sending bridge believes to be root bridge Distance (hops) from sending bridge to root bridge Each bridge records current best configuration message for each port Initially, each bridge believes it is the root G H B6 B4 I J F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 13 F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 14 Algorithm Detail (cont) When learn not root, stop generating config messages in steady state, only root generates configuration messages When learn not designated bridge, stop forwarding config messages in steady state, only designated bridges forward config messages Root continues to periodically send config messages If any bridge does not receive config message after a period of time, it starts generating config messages claiming to be the root Broadcast and Multicast Forward all broadcast/multicast frames current practice Learn when no group members downstream Accomplished by having each member of group G send a frame to bridge multicast address with G in source field F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 15 F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 16 4

Limitations of Bridges Do not scale Spanning tree algorithm does not scale Broadcast does not scale Do not accommodate heterogeneity Caution: beware of transparency Bridged LANs do not always behave as single shared medium LAN: they drop packets when congested, higher latency Shortest Path Unicast Routing Each link is assigned a number called length The length depends on the direction (asymmetric links) The length may depend on the link bandwidth, delay, congestion, etc. In general the length may change with time (ignored during the next slides) Two famous algorithms: Bellman-Ford s algorithm (Routing Information Protocol:R) Dijkstra s algorithm (Open Shortest Path First: OSPF) F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 17 F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 18 Bellman-Ford s Algorithm Goal: computer the shortest path from any node u to t Start: 0 D u = Iteration i: Invariant: each node u has determined a shortest path to t using at most i hops i+ D 1 min{ (, ) i u = d u v + Dv} v Illustration on a graph: Complexity: Time = V -1 iterations; Computations = at most O( V 3 ), F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 19 Distributed Bellman-Ford Alg. Synchronous environment: easy Asynchronous: Even if the nodes are not synchronized (different iterations) Even if the starting value of nodes different from the destination are not accurate Even if the weights change The Bellman-Ford will converge Illustration on a graph with non accurate starting values F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 20 5

Routing Information Protocol Uses Bellman-Ford s algorithm Protocol over UDP, port 520 Distance-vector protocol Protocol overview: Init: send a request packet over all interfaces On response reception: update the routing table On request reception: if request for complete table (address family=0) send the complete table else send reply for the specified address (infinity=16) Regular routing updates: every 30 seconds part/entire routing table is sent (broadcast) to neighboring routers Triggered updates: on metric change for a route Simple authentication scheme F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 21 Dijkstra s Algorithm Assumption: all weights are non-negative Goal: grow a tree with root the destination node Start: tree T = destination node Iterate: Add to the tree a node u such that D u = min v T D v Every node v T updates D v = min w T {D w +d(v,w)} Efficient implementation: Every node v T updates D v = min {D v, D u +d(v, u)} Complexity: Number of iterations = V -1; each iteration takes O( V ) Thus the running time is: O( V 2 ) F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 22 Open Shortest Path First protocol (not over UDP), reliable (sequence numbers, acks) Protocol overview: link state protocol The link status (cost) is sent/forwarded to all routers (LSP) Each router knows the exact topology of the network Each router can compute a route to any address simple authentication scheme Advantages over R Faster to converge The router can compute multiple routes (e.g., depending on the type of services, load balancing) Use of multicasting instead of broadcasting (concentrate on OSPF routers) F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 23 Routing using Dijkstra s Alg. = Forward Search (OSPF) Each node s: Collects the LSPs for the whole network Maintains two lists: tentative, confirmed 1. Confirmed = {(s, 0, s)} 2. Last added node to confirmed list is called Next, 3. For each Neighbor of Next: cost = d(s,next)+d(next, Neighbor) 1. If Neighbor is neither on tentative nor on confirmed lists: add (Neighbor, cost, NextHop) to tentative list 2. If Neighbor is on the tentative list: update the list 4. If the tentative list is empty stop. Otherwise, pick the entry from the tentative list with the lowest cost and move it to the confirmed list F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 24 6

Link Length and Stability Issues Unicast Routing Protocols Issues: Dynamic link status, Computation of the link weights: fct(latency, bandwidth, congestion) Static costs: fct(latency, capacity) = hop metric Problems in a heavily loaded network Dynamic costs: fct(average queue size) Problem of oscillation Hybrid costs: 1. f1(latency, capacity) + α* f2(average queue size) 2. Average dynamic costs over more then one shortest path update Internet is constituted of Autonomous Systems (AS) Interior Gateway Protocols (IGP) inside an AS Routing Information Protocol (R: RFC1388) Open Shortest Path First (OSPF: RFC1247) Exterior Gateway Protocols (EGP) between AS Border Gateway Protocol (BGP: RFC1267) Classless Inter-domain Routing (CIDR: RFC1518, RFC1519) F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 25 F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 26 Internet Concatenation of Networks Protocol Stack H1 H2 H3 Network 2 (Ethernet) R1 H4 Network 3 (FDDI) H5 H6 R2 Network 1 (Ethernet) H7 R3 H8 Network 4 (point-to-point) Service Model Connectionless (datagram-based) Best-effort delivery (unreliable service) packets are lost packets are delivered out of order duplicate copies of a packet are delivered packets can be delayed for a long time Datagram format 0 4 8 16 19 31 Version HLen TOS Length Ident Flags Offset H1 TCP R1 R2 R3 H8 TCP TTL Protocol Checksum SourceAddr DestinationAddr Options (variable) Pad (variable) ETH ETH FDDI FDDI PPP PPP ETH ETH Data F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 27 F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 28 7

Fragmentation and Reassembly Each network has some MTU Strategy fragment when necessary (MTU < Datagram) re-fragmentation is possible fragments are self-contained datagrams use CS-PDU (not cells) for ATM delay reassembly until destination host do not recover from lost fragments hosts are encouraged to perform path MTU discovery Example H1 R1 R2 R3 H8 ETH (1400) FDDI (1400) PPP (512) ETH (512) PPP (512) ETH (512) PPP (376) ETH (376) Start of header Ident= x 0 Offset= 0 Rest of header 1400 data bytes Start of header Ident= x 1 Offset= 0 Rest of header 512 data bytes Start of header Ident= x 1 Offset= 512 Rest of header 512 data bytes Start of header Ident= x 0 Offset= 1024 Rest of header 376 data bytes F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 29 F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 30 Internet Control Message Protocol (ICMP) RFC 792 Integral part of but runs as ProtocolType = 1 using an packet Codes: Echo (ping) Redirect (from router to source host) Destination unreachable (protocol, port, or host) TTL exceeded (so datagrams don t cycle forever) Checksum failed Reassembly failed F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 31 Global Addresses Properties globally unique hierarchical: network + host Dot Notation 10.3.2.4 128.96.33.81 192.12.69.77 A: B: C: 7 24 Network Host F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 32 0 1 0 1 1 0 D: 1 1 1 0 Multicast 14 16 Network Network Host 21 8 28 Group Host 8

Datagram Forwarding Address Translation Strategy every datagram contains destination s address if directly connected to destination network, then forward to host if not directly connected to destination network, then forward to some router forwarding table maps network number into next hop each host has a default router each router maintains a forwarding table Example (R2) Network Number Next Hop 1 R3 2 R1 3 interface 1 4 interface 0 Map addresses into physical addresses destination host next hop router Techniques encode physical address in host part of address table-based ARP table of to physical address bindings broadcast request if address not in table target machine responds with its physical address table entries are discarded if not refreshed F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 33 F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 34 ARP Details ARP Packet Format Request Format HardwareType: type of physical network (e.g., Ethernet) ProtocolType: type of higher layer protocol (e.g., ) HLEN & PLEN: length of physical and protocol addresses Operation: request or response Source/Target-Physical/Protocol addresses Notes table entries timeout in about 15 minutes update table with source when you are the target update table if already have an entry do not refresh table entries upon reference 0 8 16 31 Hardware type = 1 ProtocolT ype = 0x0800 HLen = 48 PLen = 32 Operation SourceHardwareAddr (bytes 0 3) SourceHardwareAddr (bytes 4 5) SourceProtocolAddr (bytes 0 1) SourceProtocolAddr (bytes 2 3) TargetHardwareAddr (bytes 0 1) TargetHardwareAddr (bytes 2 5) TargetProtocolAddr (bytes 0 3) F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 35 F2003, CSG150 Fundamentals of Computer Networks Lecture 5, 36 9