Internet Routing
Read Chapters 7 & 8 Routing - Process of choosing a path over which to send packets Router - A computer making such a choice Goal: “… provide a virtual network that encompasses multiple physical networks and offers a connectionless datagram delivery service.” - Comer
© MMII JW Ryder
CS 428 Computer Networking
1
Routers
An internet composed of multiple physical networks interconnected by computers called routers Router - direct connections to 2 or more physical networks Host computer - a single, direct connection
© MMII JW Ryder
CS 428 Computer Networking
2
Routers
Multi-homed hosts - direct connections to 2 or more physical networks Both hosts and routers route IP datagrams Hosts?? Two or more routers on network? Which to send to? Host must make decision Any computer with multiple network connections can act as a router
© MMII JW Ryder
CS 428 Computer Networking
3
Delivery
Direct - Local
Sender encapsulates datagram in a physical frame Binds dest IP addr to a physical hardware addr Sends frame to destination
Known local because netid matches host’s netid Indirect - Between physical networks
© MMII JW Ryder
CS 428 Computer Networking
4
Indirect Delivery
Sender must identify a router to send datagram to Router then forwards it toward its destination When frame reaches the router Software extract the encapsulated datagram IP software selects next router along the path Datagram again placed in a frame Sent over physical network to next router
© MMII JW Ryder
CS 428 Computer Networking
5
Table Driven Routing
IP Routing Table on each machine
netstat -nr
Want to contain most minimal information at all times Next hop routing done by using the routing tables (N, R) pairs
N = netid part of IP addr R = Next router along path to N
© MMII JW Ryder
CS 428 Computer Networking
6
Next Hop Routing
Important - all routers identified in machine M’s routing table are physically located on the same network as M When a datagram ready to leave M
IP software locates dest IP addr extracts the network portion to make routing decision M will select a router which M can directly reach
Hosts have minimal information, rely on routers
© MMII JW Ryder
CS 428 Computer Networking
7
Routing Example
10.0.0.0 10.0.0.5 Q
20.0.0.5 20.0.0.0 R
20.0.0.6 30.0.0.6 30.0.0.0
S
IP Addr Gateway 20.0.0.0
Direct Delivery
30.0.0.0
Direct Delivery
10.0.0.0
20.0.0.5
40.0.0.0
30.0.0.7
30.0.0.7 40.0.0.7 40.0.0.0
© MMII JW Ryder
CS 428 Computer Networking
8
Consequences
All traffic destined for given network use same path Even when multiple paths exist, won’t be used Only final router can determine if dest. host exists or is operational Need way for routers to return delivery problem errors Datagrams travelling from A to B may follow a different path from B to A
© MMII JW Ryder
CS 428 Computer Networking
9
Default Routes
Especially useful when local network has small set of hosts and 1 connection to internet 2 tests
One for local network Default that points to default router
© MMII JW Ryder
CS 428 Computer Networking
10
A Routing Algorithm RouteDatagram (Datagram, RoutingTable) Extract destination IP addr, D, from the datagram and compute the network prefix, N; If N matches any directly connected network address, deliver datagram to destination D over that network (This involves resolving D to a physical address, encapsulating the datagram, and sending the frame) else if the table contains a host-specific route for D send the datagram to next hop specified in the table else if the table contains a route for network N, send datagram to next hop specified in the table else if the table contains a default route, send datagram to the default router specified in the table else declare a routing error © MMII JW Ryder
CS 428 Computer Networking
11