ICMP, ARP, RARP, IGMP

Similar documents
Routing, Routing Algorithms & Protocols

Routing. 4. Mar INF-3190: Switching and Routing

Routing. Advanced Computer Networks: Routing 1

TDC 363 Introduction to LANs

Unit 3: Dynamic Routing

Chapter 7 Routing Protocols

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

ICS 351: Today's plan. distance-vector routing game link-state routing OSPF

Network Layer: Routing

CSCE 463/612 Networks and Distributed Processing Spring 2018

Basic Idea. Routing. Example. Routing by the Network

Chapter 7: Routing Dynamically. Routing & Switching

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

Routing by the Network

Why dynamic route? (1)

Distance vector and RIP

ICS 351: Today's plan. OSPF BGP Routing in general

Lecture 19: Network Layer Routing in the Internet

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

Internet Routing Protocols Tuba Saltürk

IP Protocols. ALTTC/Oct

Chapter 22 Network Layer: Delivery, Forwarding, and Routing 22.1

Distance Vector Routing Protocols

ETSF05/ETSF10 Internet Protocols. Routing on the Internet

Topics for This Week

Computer Networks. Routing Algorithms

II. Principles of Computer Communications Network and Transport Layer

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

EEC-684/584 Computer Networks

Top-Down Network Design

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

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

CHAPTER 4: ROUTING DYNAMIC. Routing & Switching

Routing Protocols. Autonomous System (AS)

Module 8. Routing. Version 2 ECE, IIT Kharagpur

ETSF05/ETSF10 Internet Protocols Routing on the Internet

Introduction to routing in the Internet

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

5.2 Routing Algorithms

Routing. Info 341 Networking and Distributed Applications. Addresses, fragmentation, reassembly. end-to-end communication UDP, TCP

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

Routing Algorithms. CS158a Chris Pollett Apr 4, 2007.

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

Course Routing Classification Properties Routing Protocols 1/39

Routing Protocol. Seiya Tsubone. Apr The University of Tokyo. Seiya Tsubone (The University of Tokyo) Routing Protocol Apr. 25.

Introduction to routing in the Internet

BTEC Level 3 Extended Diploma

Routing Protocols of IGP. Koji OKAMURA Kyushu University, Japan

The Interconnection Structure of. The Internet. EECC694 - Shaaban

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

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

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

COMPARATIVE ANALYSIS OF ROUTING PROTOCOLS

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

Chapter 5 (Week 9) The Network Layer ANDREW S. TANENBAUM COMPUTER NETWORKS FOURTH EDITION PP BLM431 Computer Networks Dr.

Chapter 4: outline. Network Layer 4-1

ITEC310 Computer Networks II

Routing. Outline. Algorithms Scalability

ECE 333: Introduction to Communication Networks Fall 2001

CHAPTER 9: PACKET SWITCHING N/W & CONGESTION CONTROL

We will discuss about three different static routing algorithms 1. Shortest Path Routing 2. Flooding 3. Flow Based Routing

CSc 450/550 Computer Networks Internet Routing

Chapter 4: Network Layer, partb

C13b: Routing Problem and Algorithms

RIP Version 2. The Classless Brother

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

Routing in the Internet

Computer Networking Introduction

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

Finish Network Layer Start Transport Layer. CS158a Chris Pollett Apr 25, 2007.

Overview. Information About Layer 3 Unicast Routing. Send document comments to CHAPTER

9.1. Routing Protocols

Chapter 4: Network Layer

Introduction to Routing

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

Lehrstuhl für Informatik 4 Kommunikation und verteilte Systeme. Auxiliary Protocols

CSC 4900 Computer Networks: Routing Protocols

What is the difference between unicast and multicast? (P# 114)

ECE 428 Internet Protocols (Network Layer: Layer 3)

ROUTING INTRODUCTION TO IP, IP ROUTING PROTOCOLS AND PROXY ARP

Routing Protocol comparison

Unit 6 Routing and Layers 3 and 4 Protocols. Chapter 6: Layers 3 and 4 Protocols

2008 NDP Lectures 7 th Semester

Planning for Information Network

Antonio Cianfrani. Routing Protocols

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

Table of Contents 1 Static Routing Configuration RIP Configuration 2-1

Building the Routing Table. Introducing the Routing Table Directly Connected Networks Static Routing Dynamic Routing Routing Table Principles

Prof. Shervin Shirmohammadi SITE, University of Ottawa. Internet Protocol (IP) Lecture 2: Prof. Shervin Shirmohammadi CEG

Campus Networking Workshop CIS 399. Core Network Design

TCPIP Protocol Suite & Utilities. Revision no.: PPT/2K403/02

CS 138: Communication I. CS 138 V 1 Copyright 2012 Thomas W. Doeppner. All rights reserved.

Routing in a network

BLM6196 COMPUTER NETWORKS AND COMMUNICATION PROTOCOLS

Chapter 4: Network Layer. Lecture 12 Internet Routing Protocols. Chapter goals: understand principles behind network layer services:

Two types of routing protocols are used in internetworks: interior gateway protocols (IGPs) and exterior gateway protocols (EGPs).

CSCD 330 Network Programming Spring 2018

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

CSCD 330 Network Programming Spring 2017

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

Transcription:

Internet Layer Lehrstuhl für Informatik 4 Raw division into three tasks: Data transfer over a global network Route decision at the sub-nodes Control of the network or transmission status Routing Protocols Transfer Protocols: IPv4, IPv6 Routing Tables Control Protocols: ICMP, ARP, RARP, IGMP Page

Routing Tables 4.7.. Destination Address.0.0.0/8 7.6.0.0/6 4.7.0.0/6 94.5.4.0/4 0.0.0.0/0 Next Hop 94.5.4. 4.7.. 4.7.. 94.5.4. 4.7.. 4.7.0.0 4.7..7 94.5.4.0 94.5.4. 94.5.4.0 7.6.0.0.0.0.0 Page

Routing in the Internet The Internet consists of a large number of autonomous systems. Each autonomous system is operated by its own operator and can use its own routing protocols. By standardization of usable protocols, gateways can forward packets at the borders of the autonomous systems. Internal Protocol External Protocol Internal Protocol Internal Protocol Autonomous Systems Page

Routing Protocols Interior Gateway Protocols (Routing in autonomous systems, for efficient transmission) Routing Information Protocol (RIP) Internet Gateway Routing Protocol (IGRP) Enhanced IGRP Open Shortest Path First (OSPF) Intermediate System to Intermediate System (IS-IS) Exterior Gateway Protocols (Routing between domains, adherence of policies for the domains) Border Gateway Protocol (BGP) Exterior Gateway Protocol (EGP) Router Discovery Protocols ICMP Router Discovery Protocol (IRDP) Hot Standby Router Protocol (HSRP) Page 4

Routing in a Sub-Network B Sub-network consists of many routers A D E C Routers are connected by several links F K G L H I N J Connections are partially redundant Connections have different characteristics There possibly exist redundant connections M O Therefore optimization of the routes by elimination of long paths Page 5

Sink or Sink Tree F A K G L D H M B E I O N J C As result of the optimization principle a Sink or Sink Tree is constructed (here for router B) Sink Tree contains no loops Can be used as a good indicator for the quality of a routing algorithm A Sink Tree can change immediately (e.g. by crash of a router or by loss of a link) Page 6

Routing Algorithms Routing static deterministic stochastic centralized isolated distributed deterministic stochastic deterministic stochastic. local global deterministic stochastic deterministic stochastic Page 7

Static Routing Lehrstuhl für Informatik 4 Source Routing: Route is determined by the sender Header,5,7,8 Data Internal Routing: - Routing decision by intermediate nodes - Static tables are used within the routers, no reaction to changes in the network - Stable -Simple - No reaction to changing network conditions - Breakdowns in links or routers can have catastrophic results 5 L by node 4 5 via line L L L L L L 4 static Page 8

Flooding Lehrstuhl für Informatik 4 Flooding of the network with copies of the data packet Router propagates packet over all links, except over the incoming one Incoming packet High reliability (in case of failure of single routers) Meaningful for military applications (robustness) But: large number of copied packets Possible loops are problematic Hop counter (TTL), list of all packets already sent Usable as reference for the quality of routing algorithms (delay) Used to support other routing algorithms, e.g. OSPF static Page 9

Network Control Center (NCC) NCC Network Control Center Adaptive, centralized technique The central control center collects information about the network state The NCC provides routing strategies and network information in regular time intervals to all routers Routing decisions are made locally by routers Of use only for very small networks collecting network state information needs time, also the transmission of these information to the routers thus the information is outdated till it comes to the routers. centralized Page 0

Local Estimation Procedure to via router L L L router via a 4 8 7 min a L b 5 b L c 6 4 c L in L L L Routing takes place on the basis of transmission delay estimations Every router estimates for itself Problem: Routers cannot see the whole network isolated Page

Hot Potato Lehrstuhl für Informatik 4 Choose the outgoing link with the lowest load for the next packet L 50% L 0% L4 90% L L 4 A L B Problem: circling of messages Solution: carry a list of the routers visited last variants: Hot Potato - Shortest Queue without Bias Hot Potato with carried router list - Shortest Queue with Bias isolated L Page

Probabilistic Routing Router decides regarding performance measures of sent packets (e.g. delay, jitter) about best routes for a packet Routing can be made proportionally by assigning a proportionality factor p i to each link i A L p(l) 5% 5% 0% 4 0% B L p(l) 75% 5% - 4 - L L L L 4 p p p n static/ isolated Page

Routing: Shortest Path Static variant Router administrates a table with distances to each destination and lines to be used Based on a constant metric (e.g. distance, line costs, transmission capacity etc.) Computation of the shortest path (regarding the metric) according to Dijkstra Adaptive variant Dynamic routing algorithms Dynamic metrics (e.g. current delay, actual transmission capacity) (Regular) update of the routing tables static Page 4

Shortest Path: Dijkstra () Algorithm of Dijkstra (959) for static Routing. Mark source node (the Work node ) as permanent (i.e. distance and line do not change any more). Consider neighbored nodes of the node currently marked as permanent (i.e. the Work node ) and compute the distance to them based on own knowledge and link costs. Choose the node with the smallest distance to the source from the nodes not marked yet and mark it as permanent, it becomes the new Work node. Goto. static Page 5

Shortest Path: Dijkstra () Example: A 6 B G E 7 4 F C H D As metric, exemplarily the distance in kilometers is chosen. Searched is the shortest path from A to D. Step: Marking of node A as permanent. Step: Marking of the neighbor nodes of A static Page 6

Shortest Path: Dijkstra () B (, A) 7 C (, -) In order to be able to trace back the path later on, the predecessor node is stored A 6 E (, -) 4 G (6, A) F (, -) D (, -) H (, -). Step: B becomes permanent, because distance is (< 6). 4. Step: Tentative labeling of the neighbor nodes of B static Page 7

Shortest Path: Dijkstra (4) B (, A) 7 C (9, B) 5. Step: E becomes permanent, since the distance to A is 4 (< 6 < 9). A 6 E (4, B) 4 G (6, A) F (, -) D (, -) H (, -) 6. Step: Tentative labeling of the neighbor nodes of E E (4, B): Distance of A to E sums up to 4, using the path BE static Page 8

Shortest Path: Dijkstra (5) A 6 B (, A) 7 E (4, B) 4 G (5, E) C (9, B) F (6, E) D (, -) H (, -) 5. Step: Preliminary label of G is overwritten 6. Step: G becomes permanent, since the distance of A is 5 (< 6 < 9). 7. Step: Tentative labeling of the neighbor nodes of G static Page 9

Shortest Path: Dijkstra (6) B (, A) 7 C (9, B) 8. Step: Tentative label of G is overwritten A 6 E (4, B) 4 G (5, E) F (6, E) D (, -) H (9, G) 9. Step: F becomes permanent, since the of A is 6 (< 9). 0. Step: Tentative labeling of the neighbor nodes of F static Page 0

Shortest Path: Dijkstra (7) B (, A) 7 C (9, B). Step: H becomes permanent, since the distance of A is 8 (< 9). A 6 E (4, B) 4 G (5, E) F (6, E) D (0, H) H (8, F). Step: Tentative labeling of the neighbor nodes of H. Step: C becomes permanent, since the distance of A is 9 (< 0). static Page

Shortest Path: Dijkstra (8) A 6 B (, A) 7 E (4, B) 4 C (9, B) F (6, E) D (0, H) The distance to D using C is larger than the tentative label of D. No more paths exist, no states are changed - the algorithm terminates. G (5, E) H (8, F) static Page

Shortest Path: Dijkstra (9) B (, A) 7 C (9, B) 4. Step: D is reached on the shortest path and finally becomes permanent. A 6 E (4, B) 4 F (6, E) D (0, H) G (5, E) H (8, F) static Page

Implementation of Dijkstra () Page 4

Implementation of Dijkstra () Page 5

Distance Vector Routing Problem: Static procedures are inflexible, they do not react to problems and must be computed again after each change of the topology etc. Solution: Routers mutually exchange (regularly) information about the current state of outgoing lines Adaptive variant of Shortest Path Routing: Distance Vector Routing (Bellman et al. 957) Also: Distributed Bellmann-Ford Routing, Ford-Fulkerson Routing, RIP (ARPANET, Internet); improved in Cisco routers Page 6

Distance Vector Routing Every router manages a table with (known/estimated) distances to each destination and the assigned lines to neighbor nodes. Each router is assumed to know the distances to its neighbors. Regularly, the distance information of the routing tables is communicated to the neighbors; due to the information from the neighbors and the known distances to the neighbors every router computes its routing table again (without use of the own old routing information). Example of a Distance Vector: V j = ((A=), (B=), (C=), ) (A is reachable with costs, B with costs, and C with costs ) Page 7

Information Exchange Essential here: Global information is exchanged only between neighbors! Page 8

Example Lehrstuhl für Informatik 4 (A) L (B) L (C) L L 4 As transmission costs for each line, is assumed. (D) L 6 (E) L 5 Table of router A after system initialization or cold start From A to Link Costs A locally 0 Table of router B after system initialization or cold start From B to Link Costs B locally 0 Page 9

Example Lehrstuhl für Informatik 4 A transfers (A=0) to its neighbors B and D B and D know, from where the vector comes and so the costs to A can be computed Routing tables of routers B and D, after the vector of router A is processed (A) L (B) L (C) L L 4 (D) L 6 (E) L 5 From B to Link Costs B locally 0 A L From D to Link Costs D locally 0 A L Page 0

Example Lehrstuhl für Informatik 4 B now transfers its vector (B=0, A=) using link, and 4 to its neighbors A, E and C (A) L (B) L (C) L L 4 (D) L 6 (E) L 5 A receives this vector over link and updates its table as follows: A= is larger than A=0 discard B= for link Similar to it the processing of the vector of D takes place Routing table of A after the actualization coming from D and B From A to Link Costs A locally 0 B L D L Page

Example Lehrstuhl für Informatik 4 Router C receives (B=0, A=) From C to Link Costs C locally 0 B L A L Router E receives (B=0, A=) (A) L (B) L (C) From E to Link Costs E locally 0 B L 4 A L 4 L L 4 (D) L 6 (E) L 5 Page

Example Lehrstuhl für Informatik 4 Router E receives the vector (D=0, A=) which it uses to update the routing table with D= and A= using link 6 The entry for A over link 4 is already registered with costs of, therefore no new entry for A is necessary (A) L (B) L (C) L L 4 (D) L 6 (E) L 5 Routing table of E after the update A, C and E now have new routing tables generate distance vectors From E to Link Costs E locally 0 B L 4 A L 4 D L 6 Page

Example Lehrstuhl für Informatik 4 From A: (A=0, B=, D=) over link and From C: (C=0, B=, A=) over link and 5 (A) L (B) L (C) L L 4 (D) L 6 (E) L 5 From E: (E=0, B=, A=, D=) over link 4, 5 and 6 Routing table of B: From B to Link Costs B locally 0 A L D L C L E L 4 Page 4

Example Lehrstuhl für Informatik 4 From A: (A=0, B=, D=) over link and From C: (C=0, B=, A=) over link and 5 From E: (E=0, B=, A=, D=) over link 4, 5 and 6 (A) L (B) L (C) L L 4 (D) L 6 (E) L 5 From D to Link Costs D locally 0 A L B L E L 6 From E to Link Costs E locally 0 B L 4 A L 4 D L 6 C L 5 Page 5

Example Lehrstuhl für Informatik 4 From B: (B=0, A=, D=, C=, E=) over linj, and 4 From D: (D=0, A=, B=, E=) over link and 6 From E: (E=0, B=, A=, D=, C=) over link 4, 5 and 6 (A) L (B) L (C) L L 4 (D) L 6 (E) L 5 From A to Link Costs A locally 0 B L D L C L E L From C to Link Costs C locally 0 B L A L E L 5 D L 5 Page 6

Example Lehrstuhl für Informatik 4 From B: (B=0, A=, D=, C=, E=) over link, and 4 From D: (D=0, A=, B=, E=) over link and 6 From E: (E=0, B=, A=, D=, C=) over link 4, 5 and 6 (A) L (B) L (C) From D to Link Costs D locally 0 A L B L E L 6 C L 6 Algorithm terminates since A, C and D create and send new vectors, but B, D and E do not have to apply updates any longer. L L 4 (D) L 6 (E) L 5 Page 7

Successive Information Propagation Problem with this procedure: Information must be reliable Otherwise: Christmas Deadlock A router j announced U j = (0,, 0) Consequence: Nearly the entire traffic was led over j Collapse Disadvantages: - Unreliable information is dangerous - Cycling load conditions - Additional overhead - And: information propagation lasts a certain time! Page 8

Connection Loss (A) L (B) L (C) From A to Link Costs L L 4 (D) L 6 (E) L 5 A locally 0 B L inf D L C L inf E L inf Router A and B notice the interruption e.g. by control packets Update of their own routing tables inf = infinite From B to Link Costs B locally 0 A L inf D L inf C L E L 4 Page 9

Connection Loss From A: (A=0, B=inf, D=, C=inf, E=inf) over link From B: (B=0, A=inf, D=inf, C=, E=) over link and 4 D receives the vector from A and updates with A=, B=inf, D=, C=inf, E=inf (A) L (B) L (C) L L 4 (D) L 6 (E) L 5 From D to Link Costs D locally 0 A L B L inf E L 6 C L 6 Page 40

Connection Loss From A: (A=0, B=inf, D=, C=inf, E=inf) over link From B: (B=0, A=inf, D=inf, C=, E=) over link und 4 From C to link costs C locally 0 B L A L inf E L 5 D L 5 From E to link costs (A) L (B) L (C) L L 4 (D) L 6 (E) L 5 E locally 0 B L 4 A L 4 inf D L 6 C L 5 Page 4

Connection Loss From D: (D=0, A=, B=inf, E=, C=) over link and 6 From C: (C=0, B=, A=inf, E=, D=) over link and 5 From E: (E=0, B=, A=inf, D=, C=) over link 4, 5 and 6 (A) L (B) L (C) L L 4 (D) L 6 (E) L 5 From A to Link Costs A locally 0 B L inf D L C L E L From B to Link Costs B locally 0 A L inf D L 4 C L E L 4 Page 4

Connection Loss From D: (D=0, A=, B=inf, E=, C=) over link and 6 From C: (C=0, B=, A=inf, E=, D=) over link and 5 From E: (E=0, B=, A=inf, D=, C=) over link 4, 5 and 6 (A) L (B) L (C) L L 4 (D) L 6 (E) L 5 From D to Link Costs D locally 0 A L B L 6 E L 6 C L 6 From E to Link Costs E locally 0 B L 4 A L 6 D L 6 C L 5 Page 4

Connection Loss From A: (A=0, B=inf, D=, C=, E=) over link From B: (B=0, A=inf, D=, C=, D=) over link and 4 From D: (D=0, A=, B=, E=, C=) over link and 6 From E: (E=0, B=, A=, D=, C=) over link 4, 5 and 6 (A) L (B) L (C) L L 4 (D) L 6 (E) L 5 From A to Link Costs A locally 0 B L D L C L E L From B to Link Costs B locally 0 A L 4 D L 4 C L E L 4 Page 44

Connection Loss From A: (A=0, B=inf, D=, C=, E=) over link From B: (B=0, A=inf, D=, C=, D=) over link and 4 From D: (D=0, A=, B=, E=, C=) over link and 6 From E: (E=0, B=, A=, D=, C=) over link 4, 5 and 6 From C to Link Costs C locally 0 B L A L 5 E L 5 D L 5 (A) L (B) L (C) Algorithm terminates, because A, B and C create and send new vectors, but don t cause further updates in the routing tables. L L 4 (D) L 6 (E) L 5 Page 45

The Bouncing Effect So far: Costs of for each link Reality: Different costs per link Example: Link 5 has costs of 0 (A) L (B) L (C) L L 4 0 (D) L 6 (E) L 5 In the following, only the paths to router C are examined. In the case of stable conditions the tables of the other routers have these entries for C: From Link Costs A to C L B to C L C to C locally 0 D to C L E to C L 4 Page 46

The Bouncing Effect Assumption : Connection breaks down. B detects the failure and sets its costs to inf. Temporarily, the following table results: Assumption : A has sent its vector before B. (in case of regular transmission) (A) L (B) L (C) L L 4 0 (D) L 6 (E) L 5 From Link Costs A to C L B to C L inf C to C locally 0 D to C L E to C L 4 Page 47

The Bouncing Effect A reports C over link with costs of Router B adds costs of to link for C Value is lower than inf Table entry for C is replaced by link and costs of Passing on the table to A and E Message comes over link resp. 4, which A and E are using for C Update of A and E (A) L (B) L (C) L L 4 0 (D) L 6 (E) L 5 From Link Costs A to C L 4 B to C L C to C locally 0 D to C L E to C L 4 4 Page 48

The Bouncing Effect Routing tables contain a loop! Packets from C are bouncing between A and B C sends its vector over link 5 E adds costs of 0 to its own costs of 0 E ignores the message, because the costs are higher as before A and E send vectors Update of B and D (A) L (B) L (C) L L 4 0 (D) L 6 (E) L 5 From Link Costs A to C L 4 B to C L 5 C to C locally 0 D to C L 5 E to C L 4 4 Page 49

The Bouncing Effect After several iterations, the following tables result: Entries depend however on random processes (e.g. on the order of the update messages, the arrival times of the vectors, losses of vectors etc.) From Link Costs A to C L B to C L 4 C to C locally 0 D to C L 6 E to C L 5 0 Page 50

Count to Infinity Count to Infinity problem: The Distance Vector Routing achieves a correct solution, but possibly many (up to infinite) update steps are necessary. Example: 5 routers A, B, C, D, E, are connected linear, the distance between neighbor routers in each case is A B C D E Page 5

Count to Infinity Example : A at first is switched off, then it is switched on A B C D E to A A switched on. Update. Update 4. Update 4 Page 5

Count to Infinity Example : A is switched off A B C D E A switched off 4. Update 4. Update 4 4. Update 5 4 5 4 4. Update 5 6 5 6 6. Update 7 : :. 8 : :. 7 : :. 8 : :. Page 5

Split Horizon Algorithm First solution approach: Split-Horizon Algorithm A B Do not send the distance to X over that link used to transfer packets for X (resp. path is reported as inf). However, it does not work always: Link CD is switched off C hears from A and B that they do not reach D C announces A and B that D is unreachable B announces however to A: D has distance A updates and has D with distance B updates for D with distance 4... Count to Infinity C D Router Page 54

Routing Information Protocol (RIP) Early internal gateway routing protocol used in the Internet Bases on the Distance Vector Protocol RIP messages are sent every 0 seconds as UDP datagrams As metric for the evaluation of the paths the number of hops is used (The maximal possible number of hops is limited to 5!) In a message (only) up to 5 entries of the routing table can be sent Fits good for small systems Problems: slow convergence (duration of minutes), Count to Infinity, no considering of subnets RIPv: subnets, authentication, multicast, however: the maximal possible number of hops is still limited to 5. As reaction to the restrictions of RIP, Cisco introduced the Internet Gateway Routing Protocol (IGRP): Extension of the metric, load sharing, more efficient packet format. The protocols did not become generally accepted, because they were Cisco-specific Replacement by a Link State Protocol (OSPF) Page 55

Information Exchange.) Exchange of global information locally (only with neighbors) Distance Vector Routing.) Global exchange of local information Link State Routing Routers exchange Link State Advertisements (LSA) Page 56

Link State Routing Every router determines its neighbors and their addresses (with so-called HELLO packets) measures the distances to the neighbors (with so-called ECHO packets) sends these information in a packet to all other routers (LSA Link State Advertisement) computes on the basis of all the received LSAs from other routers the shortest paths to the other routers (e.g. with the Dijkstra algorithm) This is repeated regularly. Page 57

Link State Routing H First step: Determination of all neighbored routers B D E G I Sending of a HELLO message on all links A C F Routers at the other end answer with their identification If several routers are connected in a (broadcast) network, a new artificial node is introduced for simplification LAN B A D C N E G F H I Page 58

Link State Routing Second step: Discovery of link costs Transmission of ECHO messages Routers at the other end answer immediately (measurement of the delay) Inclusion of load leads to the choice of the lowest loaded link A B D C E F I G J H Side-effect in having two possible links: the less loaded link is loaded immediately heavily and the other link becomes free, with the next measurement the same happens for the other link, (cycling load) Page 59

Link State Routing Third step: Create link state messages Contain list of neighbors with appropriate link costs (Delay, queue length, jitter etc.) Messages additionally contain sender identification, sequence number, age A 4 5 B E 8 6 C F D 7 A Seq.No. B Seq.No. C Seq.No. D Seq.No. E Seq.No. F Seq.No. Age Age Age Age Age Age B 4 E 5 A 4 C B D C F 7 A 5 C B 6 D 7 F 6 E F 8 E 8 Page 60

Packet Buffer for Router B Fourth step: Sending of link state messages Flooding (problem: loops, duplicates, packet losses etc.) Sequence numbers are counted up, packets with outdated numbers (duplicates) are discarded Every router reduces the age by one, with zero a packet is discarded Each router confirms the arrival of a link state packet to the sending router A Transmission flags Confirmation flags Source Seq.No. Age A C A F 60 0 C 0 F 0 Data F 60 0 0 0 E 59 0 0 0 Data structure of router B C D 0 60 59 0 0 0 0 0 0 Page 6

Packet Buffer for Router B Link state message from A arrives directly, therefore Age=60, Seq.No.= Message is sent to C and F and confirmed for A Message of F must be transferred to A and C and be confirmed for F Message of E came twice (over EAB and EFB) therefore only forwarding to C, confirmation for A and F A F Transmission flags Source Seq.No. Age A C A F 60 60 0 0 0 C 0 0 F 0 A 4 5 Confirmation flags B E Data 8 6 C F D 7 E 59 0 0 0 C 0 60 0 0 0 D 59 0 0 0 Page 6

Route Enquiry Lehrstuhl für Informatik 4 Fifth step: Decision on best routes Router collects link state information from all other routers A path graph for the entire sub-network is determined Local execution of e.g. the Dijkstra algorithm for the determination of the optimal route Results are written into the routing table Problems: With n routers and m neighbors, nm table entries are necessary In the case of router failures, the graphs of all routers are outdated Extremely susceptibly to attacks Page 6

Routing Tables Problem: extensive routing tables hierarchical routing Large tables are needing too much memory, CPU time, transmission capacity for link state messages etc. virtual division of the network (Regions) Page 64

Hierarchical Routing Region Region B A B A C C D A B 4B 4A 4C 5B 5A 5E 5C 5D Region Region 4 Region 5 Page 65

Hierarchical Routing Region A A B C B Region 4B 4A Region 4 4C A C Region 5B 5A 5E B D 5C 5D Region 5 Disadvantage: Possibly increasing path length Full routing table for A Destination Link to Hops A B C A B C D A B 4A 4B 4C 5A 5B 5C 5D 5E - - B C B B B B 4 C C C C 4 C 4 C 4 C 5 B 5 C 6 C 5 Hierarchical routing table for A Destination Link to Hops A B C 4 5 - - B C B C C C 4 Page 66

Internal Gateway Routing Protocol - OSPF Open Shortest Path First 990 standardized by IETF (RFC 47) Open protocol (not manufacturer specific) Supports a multiplicity of metrics (distance, delay etc.) Dynamic algorithm for fast adjustment to changing conditions in the network Load sharing between redundant links Supports hierarchical systems Contains security mechanisms to protect routers from wrong routing information or attacks Three types of connections are supported: - Point-to-point links between routers - Broadcast networks (mostly LANs) - Multi-access networks without broadcasting (e.g. packet switching WANs) Page 67

OSPF The Internet is divided into autonomous systems (AS) Very large autonomous systems are divided in areas Each autonomous system has a backbone, which connects all parts of the AS Every router, which belongs to two or more areas, is part of the backbone Within these areas every router has the same link state database and implements the same algorithm for determination of the shortest path A router, which connect two areas, needs the link state databases from both areas OSPF distinguishes four router classes (for reducing the extent of routing tables): - Internal routers, which only belong to one area - Area routers at the border of areas, which connect two or more areas - Backbone routers, which are placed at the backbone - AS border routers, which mediate between several autonomous systems Page 68

OSPF AS AS Backbone Backbone router Area Relationship between autonomous systems, backbones and areas in OSPF Internal router External protocols connect the autonomous systems AS AS 4 Area router Border router of the autonomous system Page 69

External Gateway Protocol - BGP Internal gateway protocols are designed for efficiency: find the best way to the destination host. External gateway protocols must have to consider policies (political, economical, ) BGP - Border Gateway Protocol An external routing protocol Variant of the Distance Vector Protocol: not the costs of a transmission path are being monitored and exchanged, but the complete description of paths Considers security and other rules (Routing Policies) Communicates the neighbor routers the whole path which is to be used (deterministically) Uses TCP for data exchange Page 70

External Gateway Protocol - BGP Assumption: F uses FGCD to reach D Information sent to F F receives the following information about D from its neighbors : A B C G D from B: I use BC from G: I use GCD from I: I use IFGCD from E: I use EFGCD F searches for the optimal route E F H Paths of I and E are directly discarded, because they cross F B and G are possible options I J Application of Policies Routes, which violate policies, are being set to inf Page 7

Choke Messages Routers can also exchange control information. By means of a so-called Choke Message a router can instruct other routers to send less data. Example: Router D is overloaded and instructs F to send fewer data. The message is sent back to the source A. A reduces its data amount. A A BB E BB E C F C F D Choke D A A BB E BB E C F C F D D Variant: each crossed router directly reduces its data amount. A Choke BB E Choke C F D A BB E C F D Page 7