Notes 08‐1 - LPouliot/Junior-Spring-NET-330-01-Network-Design GitHub Wiki
NET-330 Module 8: Interior Routing
A day in a life of a router
find path
forward packet, forward packet, forward packet, forward packet...
find alternate path
forward packet, forward packet, forward packet, forward packet…
repeat until powered off
Routing versus Forwarding
Routing = building maps and giving directions
Forwarding = moving packets between interfaces according to the “directions”
IP Routing – finding the path
Path derived from information received from a routing protocol
Several alternative paths may exist
- best path stored in forwarding table
Decisions are updated periodically or as topology changes (event driven)
Decisions are based on:
- topology, policies and metrics (hop count, filtering, delay, bandwidth, etc.)
IP route lookup
Based on destination IP address
“longest match” routing
- More specific prefix preferred over less specific prefix
- Example: packet with destination of 10.1.1.1/32 is sent to the router announcing 10.1/16 rather than the router announcing 10/8.
IP route lookup
Based on destination IP address
IP Forwarding
Router decides which interface a packet is sent to
Forwarding table populated by routing process
Forwarding decisions:
- destination address
- class of service (fair queuing, precedence, others)
- local requirements (packet filtering)
Forwarding is usually aided by special hardware
Routing Tables Feed the Forwarding Table
RIBs and FIBs
FIB is the Forwarding Table
- It contains destinations and the interfaces to get to those destinations
- Used by the router to figure out where to send the packet
- Careful! Some people still call this a route!
RIB is the Routing Table
- It contains a list of all the destinations and the various next hops used to get to those destinations – and lots of other information too!
- One destination can have lots of possible next-hops – only the best next-hop goes into the FIB
Routing Protocols
Routers use “routing protocols” to exchange routing information with each other
- IGP is used to refer to the process running on routers inside an organization’s network
- EGP is used to refer to the process running between routers bordering directly connected ISP networks
What Is an IGP?
Interior Gateway Protocol
Within an Organization
Carries information about internal infrastructure prefixes
Two widely used IGPs:
- OSPF
- ISIS
What Is an EGP?
Exterior Gateway Protocol
Used to convey routing information between Organizations
De-coupled from the IGP
Current widely-use EGP is BGP (Border Gateway Protocol)
Why Do We Need an EGP?
Scaling to large network Hierarchy Limit scope of failure
Define Administrative Boundary Policy
- Control reachability of prefixes
- Merge separate organisations
- Connect multiple IGPs
Routing Protocols
Types of routing protocols:
- Interior Gateway Protocols (IGP)
- Exterior Gateway Protocols (EGP)
Interior versus Exterior Routing Protocols
Interior
- automatic neighbor discovery
- generally trust your IGP routers
- prefixes go to all IGP routers
- binds routers in one Autonomous System (AS) together
Exterior
- specifically configured peers
- connecting with outside networks
- set administrative boundaries
- binds AS’s together
Dynamic IGP Types
Distance Vector
-
Routers send out broadcasts/multicasts with their routing table
-
Other routers listen, and update their tables accordingly
-
Typically send tables every 30-60 seconds
-
Routing preference is based solely on Hops (how many routers between networks)
-
Noisy (lot’s of broadcasts), slow to converge, does not scale to large or complex networks
-
RIP v2 is common example
Link State IGP
More popular method for IGP
Routers figure out who their neighbors
After initial convergence – only send Hello’s (keep-alives) and Link State updates with changes
Uses more advanced route-selection metrics (notably – bandwidth)
Open Shortest Path First (OSPF) is most popular IGP
OSPF
Does not use a transport protocol (UDP or TCP)
- It is its own layer 4 – IP Protocol 89
Uses “Area” to determine which routers listen/talk to each other
Can just be one, or many if you have a large network
Configuring OSPF
Relatively easy on Cisco
Create an OSPF instance: The process ID specific to that router
#(config) router ospf instance_number (usually just 1)
Do not confuse “instance” and “area”
- Instance: A router can have multiple OSPF processes running. Imagine a router connecting two totally different organizations and configuring OSPF for both
- Area: Must be the same among all routers that need to share info within a particular instance
Add all of the Directly Connected Networks on that router
Network address with wildcard mask and area #
#(config-router) network 192.168.3.0 0.0.0.255 area 0