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

Similar documents
Overview 4.2: Routing

Most important (cont d) What s most important in Project 1. Important for individuals. From from Most Important

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

Routing. Outline. Algorithms Scalability

Routing in Internet. Problem. Given set of nodes, how do routers acquire info about neighbors to construct the routing tables?

Routing in Switched Networks

Packet Switching. Raj Jain. Professor of CIS. The Ohio State University

CSE/EE 461 Lecture 11. Inter-domain Routing. This Lecture. Structure of the Internet. Focus How do we make routing scale?

Inter-domain Routing. Outline. Border Gateway Protocol

CSC458 Lecture 6. Administrivia. Inter-domain Routing IP Addressing. Midterm will Cover Following Topics (2) Midterm will Cover Following Topics

Basic Idea. Routing. Example. Routing by the Network

Routing by the Network

Internet Protocol (IP)

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

Network Layer: Routing

C13b: Routing Problem and Algorithms

EECS 122, Lecture 16. Link Costs and Metrics. Traffic-Sensitive Metrics. Traffic-Sensitive Metrics. Static Cost Metrics.

ETSF05/ETSF10 Internet Protocols. Routing on the Internet

ETSF05/ETSF10 Internet Protocols Routing on the Internet

BLM6196 COMPUTER NETWORKS AND COMMUNICATION PROTOCOLS

CSE 461 Interdomain routing. David Wetherall

Why dynamic route? (1)

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

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

Unit 3: Dynamic Routing

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

TDC 363 Introduction to LANs

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

Inter-Domain Routing: BGP

Lecture 4. The Network Layer (cont d)

Unicast Routing. TCP/IP class

Link State Routing & Inter-Domain Routing

CSc 450/550 Computer Networks Internet Routing

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

Chapter 7 Routing Protocols

Chapter 7: Routing Dynamically. Routing & Switching

Review of Internet Architecture and Protocols

CSCE 463/612 Networks and Distributed Processing Spring 2018

Planning for Information Network

CHAPTER 4: ROUTING DYNAMIC. Routing & Switching

CS 43: Computer Networks Internet Routing. Kevin Webb Swarthmore College November 16, 2017

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

Top-Down Network Design

Routing Unicast routing protocols

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

Routing Protocols. Autonomous System (AS)

CS 43: Computer Networks. 24: Internet Routing November 19, 2018

Routing in a network

Routing in the Internet

Chapter 3. Introduction to Dynamic Routing Protocols. CCNA2-1 Chapter 3

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

Routing. Jens A Andersson Communication Systems

CS321: Computer Networks Unicast Routing

Routing Protocols of IGP. Koji OKAMURA Kyushu University, Japan

Routing Protocols. The routers in an internet are responsible for receiving and. forwarding IP datagrams through the interconnected set of

Routing Protocols --- Exterior Gateway Protocol

Routing. Advanced Computer Networks: Routing 1

ITEC310 Computer Networks II

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

Introduction to IP Routing. Geoff Huston

Internetworking. Problem: There is more than one network (heterogeneity & scale)

Last time. Transitioning to IPv6. Routing. Tunneling. Gateways. Graph abstraction. Link-state routing. Distance-vector routing. Dijkstra's Algorithm

Initial motivation: 32-bit address space soon to be completely allocated. Additional motivation:

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

Internet Protocol: Routing Algorithms. Srinidhi Varadarajan

Network Layer Protocols

Chapter 4: outline. Network Layer 4-1

BTEC Level 3 Extended Diploma

CS 43: Computer Networks Internet Routing. Kevin Webb Swarthmore College November 14, 2013

Hierarchical Routing. Our routing study thus far - idealization all routers identical network flat not true in practice

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

To contain/reduce broadcast traffic, we need to reduce the size of the network (i.e., LAN).

Internetworking Part 2

Lecture 9. Reminder: Homework 3, Programming Project 2 due today. Questions? Thursday, September 22 CS 475 Networks - Lecture 9 1

CS 457 Networking and the Internet. Shortest-Path Problem. Dijkstra s Shortest-Path Algorithm 9/29/16. Fall 2016

Internet Routing Protocols Tuba Saltürk

IP Addressing & Interdomain Routing. Next Topic

COMP/ELEC 429/556 Introduction to Computer Networks

Module 8. Routing. Version 2 ECE, IIT Kharagpur

Determining IP Routes. 2000, Cisco Systems, Inc. 9-1

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

Inter-AS routing. Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley

CS 640: Introduction to Computer Networks. Intra-domain routing. Inter-domain Routing: Hierarchy. Aditya Akella

Computer Networking. Intra-Domain Routing. RIP (Routing Information Protocol) & OSPF (Open Shortest Path First)

2008 NDP Lectures 7 th Semester

Lecture 16: Interdomain Routing. CSE 123: Computer Networks Stefan Savage

COMPUTER NETWORKS CS CS 55201

Politecnico di Milano Scuola di Ingegneria Industriale e dell Informazione. 06 Routing protocols. Fundamentals of Communication Networks

Routing, Routing Algorithms & Protocols

CS BGP v4. Fall 2014

CSCD 330 Network Programming Spring 2018

Shortest Paths Algorithms and the Internet: The Distributed Bellman Ford Lecturer: Prof. Chiara Petrioli

CS118 Discussion Week 7. Taqi

CSCD 330 Network Programming Spring 2017

COM-208: Computer Networks - Homework 6

Open Shortest Path First (OSPF)

Chapter 4: Network Layer, partb

CS118 Discussion 1A, Week 7. Zengwen Yuan Dodd Hall 78, Friday 10:00 11:50 a.m.

5.1 introduction 5.5 The SDN control 5.2 routing protocols plane. Control Message 5.3 intra-as routing in Protocol the Internet

CS4/MSc Computer Networking. Lecture 4 The network layer: Forwarding, Routing, IP and Internet routing protocols

Transcription:

Routing Dr. Arjan Durresi Department of Computer Science Louisiana State University Overview Routing vs. Forwarding Routing Algorithms, Distance Vector, Link State Dijkstra s Algorithm ARPAnet Routing Subnetting Routing Protocols: RIP, OSPF, EGP, BGP- Louisiana State University Routing - Louisiana State University Routing - Why Routing How do the hosts determine the address(es) of the routers attached to their network? How does an host determine the address of other hosts attached to its network? How does an host select a specific router when sending an NPDU? How does an router determine the addresses of other routers that are attached to the same network? How does an router select a specific router to route an NPDU to a given destination host? Louisiana State University Routing - Overview Forwarding vs. Routing forwarding: to select an output port based on destination address and routing table routing: process by which routing table is built Network as a Graph A Problem: Find lowest cost path between two nodes Factors static: topology dynamic: load Louisiana State University Routing - C B 9 D E F Routing Routing vs. Forwarding Fig. Louisiana State University Routing - Louisiana State University Routing -

The routing function A network-layer packet contains: Transport layer packet (port, seq, ack, data, checksum, etc) Addressing info (e.g., source, destination address or VC identifier) Other fields (e.g., version, length, time-to-live) Router/switch actions simple on packet receipt: Look up packet identifier (dest. address or VC id) in routing table and forward on appropriate outgoing link (or upwards if at destination) Routing Table: issues How are routing tables determined/updated? who determines table entries? what info used in determining table entries? when do routing table entries change? where is routing info stored? how to control table size? why are routing tables determined a particular way. What is the theoretical basis? Louisiana State University Routing - 7 Louisiana State University Routing - 8 Routing Techniques Elements Performance criterion: Hops, Distance, Speed, Delay, Cost Decision time: Packet, session Decision place: Distributed, centralized, Source Network information source: None, local, adjacent nodes, nodes along route, all nodes Routing strategy: Fixed, adaptive, random, flooding Adaptive routing update time: Continuous, periodic, topology change, major load change Routing Algorithms Centralized versus Decentralized Centralized: central site computes and distributed routes (equivalently: information for computing routes known globally, each router makes same computation) Decentralized: each router sees only local information (itself and physically-connected neighbors) and computes routes on this basis pros and cons? Louisiana State University Routing - 9 Louisiana State University Routing - Routing Algorithms (cont.) Static versus adaptive static: routing tables change very slowly, often in response to human intervention dynamic: routing tables change as network traffic or topology change pros and cons? Two basic approaches adopted in practice: link-state routing: centralized, dynamic (periodically run) distance vector: distributed, dynamic (in direct response to changes) Distance Vector vs Link State Distance Vector: Each router sends a vector of distances to its neighbors. The vector contains distances to all nodes in the network. Older method. Count to infinity problem. Link State: Each router sends a vector of distances to all nodes. The vector contains only distances to neighbors. Newer method. Used currently in internet. Louisiana State University Routing - Louisiana State University Routing -

Distance Vector Each node maintains a set of triples (Destination, Cost, NextHop) Exchange updates directly connected neighbors periodically (on the order of several seconds) whenever table changes (called triggered update) Each update is a list of pairs: (Destination, Cost) Update local table if receive a better route smaller cost came from next-hop Refresh existing routes; delete if they time out Louisiana State University Routing - A F B E Example Louisiana State University Routing - C G D Destination Cost NextHop A A C C D C E A F A G A Example Routing Loops F detects that link to G has failed F sets distance to G to infinity and sends update t o A A sets distance to G to infinity since it uses F to reach G A receives periodic update from C with -hop path to G A sets distance to G to and sends update to F F decides it can reach G in hops via A Example link from A to E fails A advertises distance of infinity to E B and C advertise a distance of to E B decides it can reach E in hops; advertises this to A A decides it can read E in hops; advertises this to C C decides that it can reach E in hops Louisiana State University Routing - Loop-Breaking Heuristics Set infinity to Split horizon Split horizon with poison reverse Louisiana State University Routing - Strategy Link State send to all nodes (not just neighbors) information about directly connected links (not entire routing table) Link State Packet (LSP) id of the node that created the LSP cost of link to each directly connected neighbor sequence number (SEQNO) time-to-live (TTL) for this packet Link State (cont.) Reliable flooding store most recent LSP from each node forward LSP to all nodes but one that sent it generate new LSP periodically increment SEQNO start SEQNO at when reboot decrement TTL of each stored LSP discard when TTL= Louisiana State University Routing - 7 Louisiana State University Routing - 8

Dijkstra s s Algorithm Goal: Find the least cost paths from a given node to all other nodes in the network Notation: d ij = Link cost from i to j if i and j are connected D n = Total path cost from s to n M = Set of nodes so far for which the least cost path is known Method: Example Initialize: M={s}, D n = d sn Find node w M, whose Dn is minimum Update D n Louisiana State University Routing - 9 Louisiana State University Routing - Example (Cont) M D Path D Path D Path D Path D Path {} - - - - - {,} - -- - -- - {,,} - -- - -- - {,,,} - --- - -- --- {,,,,} - --- - -- --- {,,,,,} - --- - -- --- Dijkstra's Routing Algorithm Apply to the following network and compute paths from node. M D Path D Path D Path D Path D Path Table.a Louisiana State University Routing - Louisiana State University Routing - Dijkstra's routing algorithm Apply to the following network and compute paths from node. M D Path D Path D Path D Path D Path {} - - - - - {,} - -- - {,,} - -- - -- --- {,,,} - --- --- -- --- {,,,,} - --- --- -- ---- Bellman-Ford Algorithm Notation: h = Number of hops being considered D (h) n = Cost of h-hop path from s to n Method: Find all nodes hop away Find all nodes hops away Find all nodes hops away Initialize: D (h) n = for all n s; D (h) n = for all h Find jth node for which h+ hops cost is minimum D (h+) n = min j [D(h) j +D jn ] {,,,,,} - --- --- -- ---- Louisiana State University Routing - Louisiana State University Routing -

Example Example (Cont) h D(h ) Path D(h ) Path D(h ) Path D(h )Path D(h ) Path - - - - - - - - - - - -- - -- -- - --- - -- --- - --- - -- --- Louisiana State University Routing - Fig 9.b Table.b Louisiana State University Routing - Flooding Uses all possible paths Uses minimum hop path Used for source routing Flooding (a) First hop (b) Second hop Fig.8 Louisiana State University Routing - 7 Fig.8 Louisiana State University Routing - 8 (c) Third hop ARPAnet Routing (99-78) Features: Metric = Queue length, measures number of packets enqueued on each link took neither latency or bandwidth into consideration Each node sends a vector of costs (to all nodes) to neighbors. Distance vector Each node computes new cost vectors based on the new info using Bellman-Ford algorithm ARPAnet Routing Algorithm Desti- Next nation Delay node 8 Ñ Desti- Next nation Delay node Ñ D S D D D, =, =, = Louisiana State University Routing - 9 (a) Node ås routing table before update (b) Delay vectors sent t neighbor nodes Fig. Louisiana State University Routing - (c) Node ås routing table after update and link c

ARPAnet Routing (979-8) Problem with earlier algorithm: Thrashing (packets went to areas of low queue length rather than the destination), Speed not considered Solution: Cost=Measured delay over seconds Each node floods a vector of cost to neighbors. Link-state. Converges faster after topology changes. Each node computes new cost vectors based on the new info using Dijkstra s algorithm ARPAnet Routing (987+) Problem with nd Method: Correlation between delays reported and those experienced later : High in light loads, low during heavy loads Oscillations under heavy loads Unused capacity at some links, over-utilization of others, More variance in delay more frequent updates More overhead Fig. Louisiana State University Routing - Fig. Louisiana State University Routing - Routing Algorithm Delay is averaged over s Link utilization = r = (s-t)/(s-t) where t=measured delay, s=service time per packet ( bit times) Exponentially weighted average utilization U(n+) = α U(n)+(-α)r(n+) =. U(n)+. r(n+) with α =. Link cost = fn(u) How to Make Routing Scale Flat versus Hierarchical Addresses Inefficient use of Hierarchical Address Space class C with hosts (/ =.78% efficient) class B with hosts (/ =.9% efficient) Still Too Many Networks routing tables do not scale route propagation protocols do not scale Fig. Louisiana State University Routing - Louisiana State University Routing - Internet Structure Internet Structure Recent Past Today Stanford BARRNET regional Berkeley PARC NCAR NSFNET backbone Westnet regional UA UNM UNL ISU MidNet regional KU Peering point Consumer ISP Small corporation Large corporation Backbone service provider Large corporation Consumer ISP Consumer ISP Peering point Louisiana State University Routing - Louisiana State University Routing -

Subnetting Add another level to address/routing hierarchy: subnet Subnet masks define variable partition of host part Subnets visible only within site Network number Class B address Host number Subnet mask (...) Network number Subnet ID Subnetted address Host ID Subnet Example Subnet mask:...8 Subnet number: 8.9.. 8.9.. 8.9.. H R Subnet mask:...8 8.9.. Subnet number: 8.9..8 8.9..9 8.9..9 H R H 8.9.. 8.9.. Subnet mask:... Subnet number: 8.9.. Forwarding table at router R Subnet Number Subnet Mask Next Hop 8.9.....8 interface 8.9..8...8 interface 8.9..... R Louisiana State University Routing - 7 Louisiana State University Routing - 8 Forwarding Algorithm D = destination IP address for each entry (SubnetNum, SubnetMask, NextHop) D = SubnetMask & D if D = SubnetNum if NextHop is an interface deliver datagram directly to D else deliver datagram to NextHop Use a default router if nothing matches Not necessary for all s in subnet mask to be contiguous Can put multiple subnets on one physical network Subnets not visible from the rest of the Internet Supernetting Assign block of contiguous network numbers to nearby networks Called CIDR: Classless Inter-Domain Routing Represent blocks with a single pair (first_network_address, count) Restrict block sizes to powers of Use a bit mask (CIDR mask) to identify block size All routers must understand CIDR addressing Louisiana State University Routing - 9 Louisiana State University Routing - Route Propagation Know a smarter router hosts know local router local routers know site routers site routers know core router core routers know everything Autonomous System (AS) corresponds to an administrative domain examples: University, company, backbone network assign each AS a -bit number Two-level route propagation hierarchy interior gateway protocol (each AS selects its own) exterior gateway protocol (Internet-wide standard) Autonomous Systems An internet connected by homogeneous routers under the administrative control of a single entity Subnet. Subnet. R R R Interior Subnet. R Subnet. Subnet. R7 R8 R R Subnet. Exterior Subnet. Subnet. Fig. Louisiana State University Routing - Louisiana State University Routing -

Routing Protocols There is a difference between a routing protocol and a routable protocol. A routing protocol is one that is used to propagate route path information on a network A routable protocol is one that has the ability to be routed as opposed to a non-routable protocol such as NetBIOS IP is a routable protocol, it needs a routing protocol to route between subnets. Routing Protocols Interior Router Protocol (IRP): Used for passing routing information among routers internal to an autonomous system Exterior Router Protocol (ERP): Used for passing routing information among routers between autonomous systems Routing Information Protocol (RIP): First generation ARPAnet IRP protocol. Entire routing table sent to neighbors. Distance vector routing. Louisiana State University Routing - Louisiana State University Routing - Popular Interior Gateway Protocols - RIP RIP: Route Information Protocol First generation ARPAnet IRP protocol. Entire routing table sent to neighbors. developed for XNS distributed with Unix distance-vector algorithm based on hop-count OSPF Open Shortest Path First (OSPF): Interior routing protocol. Recent Internet standard Uses link-state algorithm, Link costs flooded Supports load balancing, provides least-cost path routes using a fully user configurable routing metric (any fn of delay, data rate, dollar cost, etc.) Supports authentication Louisiana State University Routing - Louisiana State University Routing - EGP: Exterior Gateway Protocol Overview designed for tree-structured Internet concerned with reachability, not optimal routes Protocol messages neighbor acquisition: one router requests that another be its peer; peers exchange reachability information neighbor reachability: one router periodically tests if the another is still reachable; exchange HELLO/ACK messages; uses a k-out-of-n rule routing updates: peers periodically exchange their routing tables (distance-vector) BGP-: Border Gateway Protocol AS Types stub AS: has a single connection to one other AS carries local traffic only multihomed AS: connections to more than one AS refuses to carry transit traffic transit AS: has connections to more than one AS carries both transit and local traffic Each AS has: one or more border routers one BGP speaker that advertises: local networks other reachable networks (transit AS only) gives path information Louisiana State University Routing - 7 Louisiana State University Routing - 8

BGP Example Speaker for AS advertises reachability to P and Q network 8.9, 9.., 9.., and 9.., can be reached directly from AS Backbone network (AS ) Regional provider A (AS ) Regional provider B (AS ) Customer P (AS ) Customer Q (AS ) Customer R (AS ) Customer S (AS 7) 8.9 9.. 9.. 9.. 9..9 9.. 9.. Speaker for backbone advertises networks 8.9, 9.., 9.., and 9.. can be reached along the path (AS, AS). Speaker can cancel previously advertised paths Routing vs. Forwarding Summary Routing Algorithms, Distance Vector, Link State Dijkstra s Algorithm ARPAnet Routing Subnetting Routing Protocols: RIP, OSPF, EGP, BGP- Louisiana State University Routing - 9 Louisiana State University Routing -