560 likes | 623 Views
Chapter 6 Delivery & Forwarding of IP Packets. ROUTING METHODS. There are various routing methods: Next-Hop Routing – table only holds the address of the next hop (instead info regarding the entire route) – routing table for each host
E N D
ROUTING METHODS There are various routing methods: • Next-Hop Routing – table only holds the address of the next hop (instead info regarding the entire route) – routing table for each host • Network-Specific Routing – instead of an entry for each host (on the same network), only one entry for the network is defined • Host-Specific Routing – for a specific destination host, you might want to control the exact route – in this case, the actual Rx is listed in the routing table and the desired next hop is listed • Default Routing – instead of listing all of the various networks in the Internet, Tx host would use one entry called the Default (network address 0.0.0.0)
Next-hop routing Next-Hop Routing – table only holds the address of the next hop (instead info regarding the entire route) Show more routers in better illustrating the routing table
Network-specific routing Network-Specific Routing – instead of an entry for each host on the same physical network, only one entry for the network is defined
Host-specific Routing Host-Specific Routing – for a specific destination host, you might want to control the exact route – in this case, the actual Rx is listed in the routing table and the desired next hop is listed R1 In this case, you want every packet traveling to Host B to traverse through R3. For the other hosts on N2 and N3, the Network-specific routing approach is used.
Default Routing • Default Routing – instead of listing all of the various networks in the Internet, Tx host would use one entry called the Default (network address 0.0.0.0) In this case, R1 sends to a specific network however, R2 sends to the remainder of the Internet (default)
Simplified forwarding module in classful address without subnetting Using the next-hop address and interface number, ARP searches for the physical address in facilitating the actual hop For the Classful case, per router, a table was needed for each class – this made the searching simple
Simplified forwarding module in classful address with subnetting Recall for the Classful case, subnetting is done within the organization
Configuration for the Classful and Subnetting Case Doesn’t know what network is connected to router here
Routing Table for R1 in the Illustrated Configuration – Classless Case
Address aggregation With the classless approach, routing tables increased – in reducing the size of some tables, use a router to represent multiple blocks – address aggregation
STATIC VERSUS DYNAMIC ROUTING • Host or router uses a routing table • Table can be either static or dynamic in nature • A static routing table contains information entered manually. • A dynamic routing table is updated periodically using one of the dynamic routing protocols such as RIP, OSPF, or BGP • Regarding dynamic routing table: if fiber cut or router failure, the tables are updated
Router’s Table Logistics When the router is looking for the route, it: First check for direct delivery Then host-specific delivery, The network-specific delivery, and Finally, default delivery This order can be organized with in the routing table
Routing Table Mask: used to extract the net id of the Rx. For Host-Specific Routing - the mask is 255.255.255.255 and for Default Routing – the mask is 0.0.0.0. Destination Address: either the destination host address or destination network address Next-hop Address: next hop router address Flags U - The router is up and running. If router is down, the packet discarded G - The destination is in another network. If G flag present, indirect delivery (if not, direct delivery) H – If H flag present, destination field contains Host-specific address (if not present, network address) D – If D flag present, routing info added to host routing table via ICMP’s redirection (cover later) M - If M flag present, routing info was modified via ICMP’s redirection (cover later) Reference count: # of users using this route at any moment Use: # of packets transmitted through this router for the corresponding Rx Interface: name of the interface
A routing example Router R1 receives 500 packets for destination 192.16.7.14 - how does Router R1 uses it’s routing table ???
MaskDest. Next HopI. 255.0.0.0 111.0.0.0 -- m0 255.255.255.224 193.14.5.160 - m2 255.255.255.224 193.14.5.192 - m1 ---------------------------------------------------------------------------255.255.255.255 194.17.21.16 111.20.18.14 m0 ---------------------------------------------------------------------------- 255.255.255.0 192.16.7.0 111.15.17.32 m0 255.255.255.0 194.17.21.0 111.20.18.14 m0 ---------------------------------------------------------------------------- 0.0.0.0 0.0.0.0 111.30.31.18 m0 U case UGH case UG case the router applies the masks to the destination address until a match with the second column Direct delivery 192.16.7.14 & 255.0.0.0 192.0.0.0 no match 192.16.7.14 & 255.255.255.224 192.16.7.0 no match 192.16.7.14 & 255.255.255.224 192.16.7.0 no match
MaskDest. Next HopI. 255.0.0.0 111.0.0.0 -- m0 255.255.255.224 193.14.5.160 - m2 255.255.255.224 193.14.5.192 - m1 ---------------------------------------------------------------------------255.255.255.255 194.17.21.16 111.20.18.14 m0 ---------------------------------------------------------------------------- 255.255.255.0 192.16.7.0 111.15.17.32 m0 255.255.255.0 194.17.21.0 111.20.18.14 m0 ---------------------------------------------------------------------------- 0.0.0.0 0.0.0.0 111.30.31.18 m0 U case UGH case UG case Host-specific 192.16.7.14 & 255.255.255.255 192.16.7.14 no match Network-specific 192.16.7.14 & 255.255.255.0 192.16.7.0 match Router stops when match is made
Example 2 Make the routing table for router R1 in the Figure MaskDestinationNext HopI. 255.255.0.0 134.18.0.0 -- m0 255.255.0.0 129.8.0.0 222.13.16.40 m1 255.255.255.0 220.3.6.0 222.13.16.40 m1 0.0.0.0 0.0.0.0 134.18.5.2 m0 U UG
STRUCTURE OF A ROUTER We represent a router as a black box that accepts incoming packets from one of the input ports (interfaces), uses a routing table to find the departing output port, and sends the packet from this output port. The topics discussed in this section include: Components
Router components Performs layer 1 and 2 functions: signal to bits, packet decapsulated from frame, error control performed on bits, buffers packets before going to the switching fabric This is where delay is incurred Performs layer 1 and 2 functions: bits to signal, packet encapsulated into frame, error control overhead added
Crossbar Switching Fabric Cross Point
A banyan switch Uses a binary string to route across the switch Example Given a packet came in on port 1 and needed to go out of port 6, the binary string of 110 will be used – explain this
Chapter 11 Unicast Routing Protocols (RIP, OSPF, BGP) (How the routers’ tables are filled in)
Routing Protocols • At this stage, we understand how a router uses a routing table in making a next hop decision • However, what dictates HOW the routing tables are filled in ? • Tables are concerned about the next hop only • What’s responsible for looking across the entire path or route – what makes the decision of the best route ? • Routing Protocols and Algorithms are used • Routing protocols allow routers to share info with one another dynamically - as the Internet makes changes, the routing protocols allow routers to inform other routers • Routers communicate to their neighboring routers - gossip • Routing protocols implement the procedures for combining info received from other routers • Routing Algorithms – decision making analysis – the “brains” – using the info provided
Autonomous systems • Because the Internet is so large, one protocol cannot handle all of the updating of tables – create groups and networks and routers called Autonomous Systems • Routing within the autonomous system is called “interior routing” • Routing between the autonomous systems is called “exterior routing” NOTE: different interior routing protocols can be used for each autonomous systems HOWEVER, only one exterior routing protocol is used R1, R2, R3 and R4 use an interior and exterior routing protocol – all other routers only use an interior routing protocol
Tx Rx How does it work ? • A certain “cost” or “metric” is assigned each network • In figuring out the best route from Tx to Rx, the set of networks with the smallest sum is chosen • More generically, the set of networks best meeting the “metric’s” objective is chosen • If #hops was the metric, we would want to traverse the least number of networks in going from Tx to Rx • If max throughput was the metric, a fiber optic network would have a better metric than a coaxial network.
Explain routing using your street/highway analogy • Autonomous systems • Default routing
Popular Unicast Routing protocols • RIP – Routing Information Protocol – treats each network the same (assigns the same cost for each network) • OSPF – Open Shortest Path First protocol – assigns a cost for passing through a network based on the type of service required – routes through the network can have different cost – each router would have several tables • BGP – Border Gateway Protocol – is an exterior routing protocol that uses a policy that defines what paths should be chosen
RIP Algorithm Distance Vector Algorithm built from Bellman-Ford Algorithm Recall: each router sends message to it’s neighbor For the router receiving a RIP response 1st – add one to hop count for each destination advertised 2nd – repeat the following steps for each advertised destination 1. If destination is not in table add destination to table 2. Else if destination is in table 1. If next-hop field is the same replace entry in table with advertised one 2. Else next-hop different replace entry if advertised hop count is less
Example RIP Algorithm • Router receives RIP message for some router C • The RIP message list destination networks, corresponding hop count and next hop (not listed in diagram) • 1st step: increment hop count • Net1: no news, don’t change • Net2: same next hop, so replace 2 with 5 • Net 3: new router, so add • Net 6: different next hop, new hop count less, so replace • Net 8: different next hop, new hop count the same, don’t change • Net 9: different next hop, new hop count larger, do not change
Initial routing tables in a small autonomous system Initial tables are created from config file (and hop counts are set to 1) – next hop fields are empty initially because all networks are directly connected
Final routing tables for the previous figure For example, suppose packet hitting Router A first had a destination of Net 66 ?
RIP message format • Command – 8-bit field specifying the type of message: response (2) or request (1) • Version – 8-bit field specifying RIP version • Family – 16-bit specifying protocol family (TCP/IP=2) • Network Address – address of the destination network • Distance – 32-bit field defining the hop count from advertising router to destination network NOTE: Request can be issued by a newly added router or by a router seeking certain info NOTE: 2 response types: Solicited – response to request, Unsolicited – periodic updates Gray fields repeated for each destination network
Example 1 What is the periodic response sent by router R1 in the figure below. Assume R1 knows about the whole autonomous system.
Solution R1 can advertise three networks 144.2.7.0, 144.2.9.0, and 144.2.12.0. The periodic response (update packet) is shown below
RIP timers • Periodic Timer – each router has timer set to 25-35 secs and when the timer counts down, an update message is sent • Expiration Timer – governs the validity of the next-hop – when router receives next-hop update, timer is set to 180 sec. If there is a problem and the router doesn’t receive it’s 30 sec update, the route info expires (invalid) after the 180 sec count down – then the hop count is set to 16 (infinity) • Garbage Collection Timer – once the route expires, this timer is set to 120 sec and counts downs – allows neighbors time to become aware of invalidity – after count down, info is purged
Problems with RIP • Slow Convergence – the time it takes a change in the Internet to propagate through the rest of the Internet – recall the periodic updates with neighbors. DEPENDING ON THE DATA RATE, millions or billions of bits could be sent in that time – therefore possibly lost nx15s
RIP Problem - Instability • RA and RB has hop counts 1 and 2, respectively for Net1 • Net1 goes down – RA can update fast due to direct connection – sets hop count to 16 • RA has to wait 30 sec to update RB (this is the problem) • In meanwhile, RB sends update to RA with hop count 2 for Net1 (incremented to 3) • Now when RA finally send the update to RB, it sends a hop count of 3 (incremented to 4) – RA thinks it’s another route to Net1 • This INSTABILITY (back-and-forth) continues until both set hop count to 16
Chapter 11 Unicast Routing Protocols (RIP, OSPF, BGP) (How the routers’ tables are filled in)
Popular Unicast Routing protocols • RIP(already covered) – Routing Information Protocol – treats each network the same (assigns the same cost for each network) • OSPF – Open Shortest Path First protocol – assigns a cost for passing through a network based on the type of service required – routes through the network can have different cost – each router would have several tables • BGP – Border Gateway Protocol – is an exterior routing protocol that uses a policy that defines what paths should be chosen
OSPF: Open Shortest Path First • Similar to RIP however, divide autonomous system into areas • Routers with in an area floods the area with routing info – router sends to all it’s neighbors and each neighbor sends to all it’s neighbors and etc.. • At the border of an area, special routers called area border routers are used to (1) summarize info about an area and (2) send info amongst areas • A special area called the backbone is used to tie together all of the areas – backbone is primary area and all other areas are secondary areas – backbone area uses backbone routers • Note: backbone router can also be an area border router • Each area has an ID (backbone’s Id is 0) Explain Current Real World Practices relating to this topic
Recall OSPF: Open Shortest Path First • The OSPF is similar to RIP however, it allows the admin the ability to assign a cost or metric to each route. • The metric can be based on a type of service (ie . Min delay, max throughput, etc..) • For OSPF, a router will have multiple routing tables – one for each TOS • Unlike RIP, sharing or updating is done when there is a change (not periodically) • For OSPF, the objective is for the routers to contain the full picture or topology of the Internet – by having this, the router can figure out the “shortest path” or “least cost” route between itself and each network • To do this, the Internet is represented by a graph – set of edges and nodes
Defining edges or connections/links Point-to-point link Virtual link Direct connection between two routers, no IP address needed Bi-directional Edge When link between two routers are broken, admin creates a new route across multiple routers Transient link Stub link Represents the network Connects to only one router – packets enter and leave through this same router
Dijkstra’s Algorithm Continued At this point, we would have the least cost path from A to all other nodes Note: to find the least cost paths from E to all other nodes, Disjkstra’s algorithm has to run again