CSS 432: Routing 1 CSS432 Routing Textbook Ch4.2 Professor: Munehiro Fukuda Augmented By Rob Nash.

Slides:



Advertisements
Similar presentations
CPSC Network Layer4-1 IP addresses: how to get one? Q: How does a host get IP address? r hard-coded by system admin in a file m Windows: control-panel->network->configuration-
Advertisements

CSE Computer Networks Prof. Aaron Striegel Department of Computer Science & Engineering University of Notre Dame Lecture 11 – February 16, 2010.
1 LINK STATE PROTOCOLS (contents) Disadvantages of the distance vector protocols Link state protocols Why is a link state protocol better?
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization –All routers are identical –Network is flat. Not true in Practice Hierarchical.
Spring 2003CS 4611 Routing Outline Algorithms Scalability.
CSE331: Introduction to Networks and Security Lecture 9 Fall 2002.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 22 Introduction to Computer Networks.
1 Relates to Lab 4. This module covers link state routing and the Open Shortest Path First (OSPF) routing protocol. Dynamic Routing Protocols II OSPF.
1 ELEN 602 Lecture 19 Routing. 2 Overview Forwarding vs Routing –forwarding: to select an output port based on destination address and routing table –routing:
Extending Networks. Three Levels of Extension Physical Layer –Repeaters Link Layer –Bridges –Switches Network –Routers: “Connecting networks”
Routing.
COS 420 Day 17. Agenda Finished Grading Individualized Projects Very large disparity in student grading No two students had same ranking for other students.
Spring Routing & Switching Umar Kalim Dept. of Communication Systems Engineering 06/04/2007.
1 Computer Networks Routing Algorithms. 2 IP Packet Delivery Two Processes are required to accomplish IP packet delivery: –Routing discovering and selecting.
COS 420 Day 13. Agenda Assignment 3 Posted Covers chapters Due March 23 2 Days till Daytona Beach Bike Week Midterm Exam is Due Today Today we will.
Spring 2002CS 4611 Routing Outline Algorithms Scalability.
CSS432 Routing Textbook Ch 3.3
1 Relates to Lab 4. This module covers link state routing and the Open Shortest Path First (OSPF) routing protocol. Dynamic Routing Protocols II OSPF.
TCP/IP Protocol Suite1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 11 Unicast Routing Protocols.
Network Layer4-1 NAT: Network Address Translation local network (e.g., home network) /24 rest of.
Network Layer Lecture # 2 MAHS. 4: Network Layer 4b-2 Hierarchical Routing scale: with 200 million destinations: r can’t store all dest’s in routing tables!
Interior Gateway Protocols: RIP & OSPF
Routing Information Protocol (RIP). Intra-and Interdomain Routing An internet is divided into autonomous systems. An autonomous system (AS) is a group.
1 Computer Communication & Networks Lecture 22 Network Layer: Delivery, Forwarding, Routing (contd.)
1 Routing Protocols. 2 Distributed Routing Protocols Rtrs exchange control info Use it to calculate forwarding table Two basic types –distance vector.
13-Sep-154/598N: Computer Networks Address Translation Map IP addresses into physical addresses –destination host –next hop router Techniques –encode physical.
1 Routing Outline Algorithms Scalability. 2 Overview Forwarding vs Routing –forwarding: to select an output port based on destination address and routing.
Spring 2008CS 3321 Intradomain Routing Outline Algorithms Scalability.
Unicast Routing Protocols  A routing protocol is a combination of rules and procedures that lets routers in the internet inform each other of changes.
Routing protocols Basic Routing Routing Information Protocol (RIP) Open Shortest Path First (OSPF)
1 Routing Distance Vector Routing Link State Routing Hierarchical Routing Routing for Mobile Hosts.
10/13/2015© 2008 Raymond P. Jefferis IIILect 07 1 Internet Protocol.
1 Introduction to Computer Networks University of Ilam By: Dr. Mozafar Bag-Mohammadi Routing.
RIP2 (Routing Information Protocol) Team Agile. Routing Protocols Link State – OSPF – ISIS Distance vector – RIP (version 1 and 2) – IGRP (Cisco Proprietary)
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.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 11 Unicast Routing Protocols.
CSS 432: Routing 1 CSS432 Routing Textbook Ch3.3 Professor: Munehiro Fukuda.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 06_a Routing Protocols: RIP, OSPF, BGP Instructor: Dr. Li-Chuan Chen Date: 10/06/2003 Based in part upon.
7400 Samsung Confidential & Proprietary Information Copyright 2006, All Rights Reserved. -0/35- OfficeServ 7x00 Enterprise IP Solutions Quick Install Guide.
1 4.2 Routing Network as a Graph Distance Vector (RIP) Link State (OSPF) Metrics Routing for Mobile Hosts.
Spring 2006CS 3321 Intradomain Routing Outline Algorithms Scalability.
Routing and Routing Protocols
1 Computer Communication & Networks Lecture 21 Network Layer: Delivery, Forwarding, Routing Waleed.
ICS 156: Networking Lab Magda El Zarki Professor, ICS UC, Irvine.
CSCI-1680 Network Layer: Intra-domain Routing Based partly on lecture notes by David Mazières, Phil Levis, Rodrigo Fonseca John Jannotti.
Internet Protocols. ICMP ICMP – Internet Control Message Protocol Each ICMP message is encapsulated in an IP packet – Treated like any other datagram,
23-Dec-154/598N: Computer Networks Overview 4.2: Routing Forwarding vs Routing –forwarding: to select an output port based on destination address and routing.
Dynamic Routing Protocols II OSPF
Spring 2000CS 4611 Routing Outline Algorithms Scalability.
1 Chapter 4: Internetworking (IP Routing) Dr. Rocky K. C. Chang 16 March 2004.
Spring Routing: Part I Section 4.2 Outline Algorithms Scalability.
Lecture 7. Building Forwarding Tables There are several methods Static Method Dynamic Methods Centralized Distributed Distance Vector Link State.
CS 6401 Intra-domain Routing Outline Introduction to Routing Distance Vector Algorithm.
1 Relates to Lab 4. This module covers link state routing and the Open Shortest Path First (OSPF) routing protocol. Dynamic Routing Protocols II OSPF.
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
CSS432 Routing Textbook Ch3.3
Dynamic Routing Protocols part2
Routing and Switching Fabrics
Routing Information Protocol (RIP)
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
Routing.
Intradomain Routing Outline Introduction to Routing
2. Fragmentation and Reassembly
Internetworking - We are heterogeneity to our network (variable network technologies, bandwidth, MTU, latency, etc. etc.) Goal is to use this opportunity.
Communication Networks
Routing Outline Algorithms Scalability Spring 2003 CS 332.
Routing and Switching Fabrics
Routing.
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
Presentation transcript:

CSS 432: Routing 1 CSS432 Routing Textbook Ch4.2 Professor: Munehiro Fukuda Augmented By Rob Nash

IP on Scale Addresses are hierarchical  Reduces total information storage required to forward packets Forward packets towards a single network  Then deliver to the host on that network CSS 432: Routing 2

IP on Heterogeneity A under-demanding model: “best-effort”  Due to this, IP has been shown to be interoperable with any type of network Even ones invented after IP Carrier Pigeons?!  Zebra’s are so much cooler…  Don’t like IP? Aren’t compatible? Try tunneling. CSS 432: Routing 3

Terms IGPs – Interior Gateway Protocols BGPs – Border Gateway Protocols RIP - Route Information Protocol OSPF – Open Shortest Path First Protocol ARP – Address Resolution Protocol  Maps IP addrs to physical adapters (MAC addrs) CSS 432: Routing 4

ARP The mechanism that translates from IP GuIDs to underlying physical adapter addressing  From IP to MAC, for example CSS 432: Routing 5

6 What Is Routing? Forwarding vs Routing  forwarding: To map a network # to an outgoing interface and some MAC information in a forwarding table. To send a packet to an interface as consulting a local and static forwarding table OSI Layer 2: data link level Implemented in specialized hardware (switch)  routing: To build a dynamic routing table To update table contents in a dynamic and distributed fashion OSI Layer 3: network level (internet) Using complex distributed algorithms

CSS 432: Routing 7 Overview Network as a Graph Goal  Find lowest cost path between two nodes Static approach has shortcomings:  Hardware failures  Static network topology  Static band width Distributed, dynamic routing algorithms  Distance vector routing (RIP)  Link state routing (OSPF) At Node A E3F E1E E2D E6C E2B Next HopCostDestination

CSS 432: Routing 8 Distance Vector Each node maintains a set of triples  (Destination, Cost, NextHop) DestinationCostNext hop B1B C1C D∞- E1E F1F G∞- An initial distance vector at node A

CSS 432: Routing 9 Distance Vector 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) From B:(A, 1), (C, 1) From C:(A, 1), (B, 1), (D, 1) From E:(A, 1) From F:(A, 1), (G, 1) Update local table if receive a “better” route  From B: (C,1) (C, 1, C) < (C, 2, B)  From C: (D, 1) (D, ∞, - ) > (D, 2, C)  From F: (G, 1) (G, ∞, - ) > (G, 2, F) Refresh existing routes; delete if they are expired DestinationCostNext hop B1B C1C D2C E1E F1F G2F

CSS 432: Routing 10 Routing Loop Failure-recovering scenario  F detects the link to G has failed  F sets distance to G to ∞ and sends an update to A  A sets distance to G to ∞  A receives periodic update from C with a 2-hop path to G  A sets distance to G to 3 and sends update to F  F sets distance to G in 4 hops via A Count-to-infinity problem  The link from A to E fails  A advertises distance of infinity to E  C advertise a distance of 2 to E  B decides it can reach E in 3 hops  B advertises this to A  A decides it can read E in 4 hops  A advertises this to C  C decides that it can reach E in 5 hops… ∞ To G in 2 ∞ To G in 1 To G in 3 To G in 4 (2) To E in ∞ (1) To E in 2 (3) To E in 3 (5) To E in 4 A E B C (4) To E in ∞ (6) To E in 5

CSS 432: Routing 11 Loop-Breaking Heuristics Set infinity to 16  Scheme: Stop an infinity loop in 16.  Problem: No more 16 hops Split horizon  Scheme: Don’t send a neighbor the routing information learned from this neighbor. Ex. B includes (E, 2, A) and thus doesn’t send (E, 3). Split horizon with poison reverse  Scheme: Send the routing information learned from this neighbor as setting hop count to ∞. Ex. B includes (E, 2, A) and thus sends (E, ∞, A)  Problem: Its slow convergence speed

CSS 432: Routing 12 Routing Information Protocol (RIP) Cmd: 1-6  1: request  2: reply Port: 520  Used by routed Advertisement: 30secs Table entry timeout: 3 mins.  Deleted in 60secs Unix commands  Ripquery (BSD)  Tcpdump (available in Linux, too)  Snoop (Solaris) frame header datagram heaader UDP header RIP Message Cmd Ver Addr family (net addr) Address of net 1 Routing domain Route tag Subnet mask Next hop address (1-16) Distance to net 1 Addr family (net addr) Address of net 2 Route tag Subnet mask Next hop address Distance to net 2 (1-16) 25 entries

CSS 432: Routing 13 Link State Strategy  Reliable dissemination of link-state information to all nodes over a system.  Calculation of routes from the sum of all the accumulated link-state knowledge. Link State Packet (LSP)  ID of the node that created the LSP  A cost of link to each directly connected neighbor  A sequence number (SEQNO)  A time-to-live (TTL) for this packet

CSS 432: Routing 14 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 0 when reboot  Decrement TTL of each stored LSP Discard when TTL=0 A C D X B

CSS 432: Routing 15 Dijkstra’s Shortest-Path Algorithm* put (myself, 0, -) in the confirmed list Next = myself; while( true ) {  for each edge (X, distance, Next) where X is N’s neighbor if neither confirmed or tentative list has (X, distance, Y) where Y != Next, put (X, distance, Next) in the confirmed list if the tentative list has (X, distance, Y) where Y != Next, and (X, distance, Y) > (X, distance, Next)  Replace (X, distance, Y) with (X, distance, Next)  If the tentative list is empty, exit  else move the shortest edge (A, distance, B) from the tentative to the confirmed list. Next = A }  // O((|E|+|V|) log |V|) time (which is dominated by O(|E| log |V|),

Forward Search From the Text M = {me} For each node n in N - {me}  C(n) = l(me, n) //cost function init While ( N != M )  M = M U {w} s.t. C(w) is the min w for all (N-M)  for each n in (N-M) C(n) = MIN( C(n), C(w) + l(w+n)) CSS 432: Routing 16

Another OSPF Algorithm Initialize costs, and start with {me} While set M is not empty (tentative list)  Pick a node from the tentative list with the lowest cost = m Move this to the confirmed list  List m’s neigbors, add each to tentative list If I have a neighbor route already in my tentative list with a higher cost, replace that route CSS 432: Routing 17

Graph Theory Visually…. CSS 432: Routing 18

CSS 432: Routing 19 Dijkstra’s Shortest-Path Algorithm (A, 0, -) (B, 5, B) (C, 10, C) (E, 2, E) (F, 4, F) (A, 0, -) (E, 2, E) (B, 5, B) (C, 10, C) (F, 4, F) (A, 0, -) (E, 2, E) (F, 4, F) (C, 10, C) (B, 5, B) (A, 0, -) (E, 2, E) (F, 4, F) (C, 10, C) (B, 5, B) (G, 15, F) (A, 0, -) (E, 2, E) (B, 5, B) (F, 4, F) (C, 8, B) (G, 18, B) (A, 0, -) (E, 2, E) (B, 5, B) (F, 4, F) (C, 8, B) (G, 15, F) (A, 0, -) (E, 2, E) (B, 5, B) (F, 4, F) (C, 8, B) (D, 14, C) (G, 15, F) (A, 0, -) (E, 2, E) (B, 5, B) (F, 4, F) (D, 14, C) (G, 15, F) (A, 0, -) (E, 2, E) (B, 5, B) (F, 4, F) (C, 8, B) (G, 15, F) (A, 0, -) (E, 2, E) (B, 5, B) (F, 4, F) (C, 8, B) (D, 14, C) (G, 15, F) (A, 0, -) (E, 2, E) (B, 5, B) (F, 4, F) (C, 8, B) (D, 14, C) (G, 15, F)

CSS 432: Routing 20 Open Shortest Path First Protocol (OSPF) Header 1. Hello (reachability) 2. Database description (topology) 3. Link status request 4. Link status update 5. Link status acknowledgment Advertisement (header type=4)  LS Age: = TTL  Type=1: link cost b/w routers  Link-State ID = Advertising Router  Seq # from the same router  Link ID = the other end route ID of link  Link data = used if there are two or more links to the same router  Metric = link cost  Link type = P2P, ethernet, etc  TOS = delay-sensitive, etc frame header datagram heaader OSPF header OSPF Message Version Type(=4) AreaId Message Length Checksum Authentication 0-3 Authentication type SourceAddr Authentication 4-7 # of link status advertisements Link-state ID LS Age Options Advertising router LS sequence number Link Checksum Length 0Flag0# of links Type=1 Link ID Link data Metric Num TOS Link type Optional TOS information

CSS 432: Routing 21 OSPF Con’td Gated daemon: directly uses IP datagram. Header Type2: Database description (topology) message  Used when the current topology has changed.  Sent from an initialized router to another router which has a topology information LS Sequence number  Used to determine which message is the latest  Send a message with a new sequence number and metric= ∞ when a router or a link fails.

Link State V.S. OSPF Historically, OSPF has demonstrated more desirable properties  Less bandwidth usage on large networks After init, OSPF LPSs are deltas  Convergence speed Rip can take 10, 30, even 60 seconds  OSPF supports CIDR & netmasks CSS 432: Routing 22

Practically Speaking… RIP tells each direct neighbor about everyone  So, neighbor-to-neighbor dissemination OSPF (P) tells everyone about my direct neighbors  “Reliable” Flooding to all CSS 432: Routing 23

CSS 432: Routing 24 Metrics Original ARPANET metric  measures number of packets enqueued on each link  took neither latency or bandwidth into consideration New ARPANET metric  stamp each incoming packet with its arrival time ( AT )  record departure time ( DT )  when link-level ACK arrives, compute Delay = (DT - AT) + Transmit + Latency  if timeout, reset DT to departure time for retransmission  link cost = average delay over some time period Fine Tuning  compressed dynamic range  replaced Delay with link utilization

CSS 432: Routing 25 Internet Virtual Private Networks and Tunnels B A Company Branch Company Branch A B C A B Application Level Router Level Physical Network Level Source router Dest router Router To: To: To: To: To: To:

CSS 432: Routing 26 Why VPN? 1. Security The final destination/contents of packet cannot be easily intercepted. 2. Routers Routers with special features such as multicasting can form a virtual network. 3. No-IP packets Packets may be non-IP compatible packets. 4. Mobile IPs The final destination may be a mobile computer.

CSS 432: Routing 27 Mobile IP Home agent Internet Mobile Host ( ) DHCP server Mobile Host Sending host Invariant: Sending hosts want to use the same IP address mapped to a mobile host regardless of its location. Questions  How does the home agent intercept a packet that is destined for the mobile agent? --- Use ARP  How does the home agent then deliver the packet to the mobile host? – Use DHCP and VPN

CSS 432: Routing 28 Mobile IP (Cont’d) Home agent Internet Mobile Host ( ) DHCP server Mobile Host 1. ARP request: What’s the physical addr corresponding to ? 2. ARP response: sends back MAC of instead of IP tunneling: wraps the packet inside an IP header destined for the mobile host ( ). 1. DHCP: receives a new IP in the foreign network. Sending host 3. Packet request: sends a packet destined for to the home agent’s MAC address 2. Care-of-address: a mobile host informs its Home agent of its original and new IPs

CSS 432: Routing 29 Reviews  RIP: distance vector, routing loop and breaking heurictics  OSPF: link state, Dijkstra’s shortest path algorithm  VPN and mobile IP Exercises in Chapter 4  Ex. 15 (RIP)  Ex. 18 (RIP)  Ex. 28 (OSPF)  Ex. 30 (OSPF)

CSS432: Applications 30 File Transfer Protocol Transfer file to/from remote host Client/server model  Client: initiates a control TCP connection to a server on port 21.  Client: sends a user ID and password as part of FTP commands.  Server: authorizes the client  Client: opens a data TCP connection to a server on port 20.  Server: maintains state: current directory, earlier authentication. A ftp client is allowed to initiate a transfer between two ftp servers. FTP local file system remote file system FTP server FTP client FTP user interface TCP port 20 for data transfer (not persistent) TCP port 21 for control (persistent)

CSS432: Applications 31 FTP Commands delimits each command (and reply). Commands consist of four uppercase ASCII characters, some with optional arguments:  USER username : sends a user identification to server.  PASS password : sends the user password to the server.  PASV: requests the server to send back its IP and port on which it listens to a data TCP connection from the user.  LIST : ask the server to send back its current directory contents through the data connection.  RETR filename : gets a file from the current remote directory.  STOR filename : stores a file into the current remote directory. Each command is followed by a reply:  331 Username OK, password required  125 Data connection already open; transfer starting  425 Can't open data connection  452 Error writing file FTP

CSS432: Applications 32 FTP Example FTP telnet ftp.tripod.com 21 Trying … Connected to ftp.tripod.com ( ). Escape character is ‘^]’. 220 Welcome to Tripod FTP. USER css Username set to css432. Now enter your password. PASS ******** 230 User ‘css432’ logged on. LIST 425 Can’t open data connection for LIST. PASV 227 Entering Passiv Mode (209,202,240,80,195,210) // Open another xterm and telnet (=195* ) // Trying … // Connected to ftp.tripod.com ( ). // Escape character is ‘^]’. // drwxr-xr-x 1 css432 Tripod 0 Sep 15 21:22 cgi-bin // -rw-r--r-- 1 css432 Tripod Sep 16 18:28 ttcp.c // -rw-r--r-- 1 css432 Tripod 8236 Sep 15 21:22 index.htm // drwxr-xr-x 1 css432 Tripod 0 Sep 16 18:33 project // Connection closed by foreign host. LIST 150 Opening ASCII mode data connection for LIST. 226 Transfer complete. QUIT 221 Goodbye Connection closed by foreign host. _

CSS432: Applications 33 FTP passive mode FTP server FTP client TCP port 21 for control (persistent) Client request: connect( ), USER, PASS, LIST Server Reply: 220 server ready, 331 send password, 230 login ok, 425 connection timeout TCP port 20 for data transfer (one time) FTP server FTP client TCP port 21 for control (persistent) Client request: connect( ), USER, PASS, PASV, LIST Server Reply: 220 server ready, 331 send password, 230 login ok, 227 Entering Passive Mode (140,142,12,173,195,54), 226 complete TCP port 195* = for data transfer (one time) data

CSS432: Applications 34 FTP proxy command FTP Server 2 FTP Server 1 FTP client (1) USER, PASS, SYST (2) USER, PASS, SYST (3) TYPE I, PASV (4) TYPE I, PORT (140,142,12,173,195,54), STOR file (5) RETR file (3’) 227 Entering Passive Mode (140,142,12,173,195,54) TCP port 195* = for data transfer (one time) data ftp> open server1 ftp> proxy open server2 ftp> proxy get file …(1) …(2) …(3)~(5)

Final Project Introduction FTP project is live on the site  We’ll worry with the last few steps during lecture Signing our archives, etc. CSS 432: Routing 35

FTP is Fun Transfer Protocol! (If you tend to think bytes are fun) We’re making a client to interface with an existing server (a class of servers) CSS 432: Routing 36

Remote Tips You can always remote into the lab You could install Ubuntu on a USB stick  Has a good ftp server to play with /ftp-server.html /ftp-server.html  You write the client to interact with this server CSS 432: Routing 37

General Tips Observe Dr. Fukuda’s output  It gives away hints left and right RFC 959 – light reading Telnet to port 21  Act as the client! For example, what does the server return when you issue a “USER” or “PASV” request? CSS 432: Routing 38

Telnet Line Terminators Carridge-Return, Line Feed Find this out CSS 432: Routing 39

How Many Lines Of Code? Decompose the project  A network component Resue code here from previous projects  A filesystem component Reuse code here if you have it! From Pseudocode to C, or  Pseudocode->intermediary language -> C CSS 432: Routing 40

Overarching Strategy (0) Introduce yourself to the server (1) Relay a request to the server (2) Get a socket for data transmission  See PASV (3) Exchange data in ASCII or Binary (4) Loop to (1) or QUIT CSS 432: Routing 41