Вы находитесь на странице: 1из 45

| 


  

|


m    
 
  
| 

‡ Introduction
‡ Motivation
‡ OSPF Basics
‡ Hierarchical Routing in OSPF
‡ Summary
r 

‡ Development began in 1987


‡ OSPF Working Group (part of IETF)
‡ OSPFv2 first established in 1991
‡ Many new features added since then
‡ Updated OSPFv2 specification in RFC 2178
   

‡ Original IGP used was RIP


‡ Based on Bellman-Ford Algorithm
‡ Worked well in small systems
‡ Suffered from problems of Distance Vector
Protocol
± Count to Infinity Problem
± Slow Convergence
   

‡ Problems with Distance Vector Protocol


± Large update packets
± Slow response to topological changes
‡ Need for a Link State Protocol
‡ A long list of functional requirements
follows
    |

‡ Faster Convergence and less consumption


of network resources
‡ A more descriptive routing metric
± configurable
± value ranges between 1 and 65,535
± no restriction on network diameters
‡ Equal-cost multipath
± a way to do load balancing
    

‡ Routing Hierarchy
± support large routing domains
‡ Separate internal and external routes
‡ Support of flexible subnetting schemes
± route to arbitrary [address,mask] combinations
using VLSMs
‡ Security
‡ Type of Service Routing
|
 
 

‡ Distributed, replicated database model


± describes complete routing topology
‡ Link state advertisements
± carry local piece of routing topology
‡ Distribution of LSAs using reliable flooding
‡ Link state database
± identical for all the routers
s    s 

LS Age
Options LS Type

Link State ID

Advertising Router

LS Sequence Number

LS Checksum
Length
- 16

sm
s 

‡ Identifying LSAs
± LS type field
± Link State ID field
‡ mostly carries addressing information
‡ e.g. IP address of externally reachable network
± Advertising Router field
‡ originating router¶s OSPF router ID
s 

‡ Identifying LSA instances


± needed to update self-originated LSAs
± LS Sequence Number field
‡ 32 bit values
‡ monotonically increasing until some max value
‡ 6-- years to roll over!
‡ LSA checksum and LS Age guard against potential
problems
s 

‡ Verifying LSA contents


± LS Checksum field
‡ computed by the originating router and left
unchanged thereafter
‡ LS age field not included in checksum
‡ Removing LSAs from databases
± LS Age field
‡ ranges from - to 3- min.
‡ Max Age LSAs used to delete outdated LSAs
s 

‡ Other LSA Header fields


± Options field
‡ sometimes used to give special treatment during
flooding or routing calculations
± Length field
‡ includes LSA header and contents
‡ ranges from 2--65535 bytes
  s

1-.1.1.1 1-.1.1.2 1-.1.1.4 1-.1.1.6

1-.1.1.3 1-.1.1.5
  s
LS Age - seconds
Options LS Type E-bit,LS Type 1

Link State ID 1-.1.1.1

Advertising Router 1-.1.1.1

LS Sequence Number -x8------6

LS Checksum -x9b47
Length 6- bytes
Router Type - - (ordinary)
of links 3
Link ID 1-.1.1.3

Link 1 Link Data Ifindex 2 (unnumbered link)

Link Type TOS Metrics 1(point to point), -

Metric 5
s     

‡ Collection of all OSPF LSAs


‡ databases exchanged between neighbors
‡ synchronization thru reliable flooding
‡ gives the complete routing topology
‡ each OSPF router has identical link-state
database
s     

‡ Example of a link state database


LS Type Link State ID Adv Router LS Checksum LS Seq No LS Age

Router LSA 1-.1.1.1 1-.1.1.1 -x9b47 -x8------6 -

.. ... .. .. . ...


È   |


‡ OSPF packets encapsulated in IP packets


± standard 24 byte header
± OSPF packet type field
± OSPF router ID of sender
± Packet checksum
± Authentication fields
± OSPF Area ID
  !   

‡ OSPF Hello Protocol


‡ Hello packets sent out every 1- seconds
‡ helps to detect failed neighbors
‡ RouterDeadInterval (default 4- seconds)
‡ also ensures that link is bidirectional
‡ neighboring routers agree on intervals
± hello interval set so that a link is not accidentally
brought down
   ! "  

‡ Crucial to ensure correct and loop free routing


‡ must be done before 2 neighbors start
communication
‡ also whenever new LSAs are introduced
± uses reliable flooding
‡ each router sends LSA headers to its neighbor
when connection comes up
‡ requests only those LSAs which are recent
   #$  

‡ Neighboring routers first exchange hellos


‡ a database description packet packet establishes
the sequence number
‡ the other router sends LSA headers
‡ sequence number incremented for every pair od
database description packets
± implicit acknowledgement for the previous pair
‡ after examining LSA headers explicit request sent
for complete LSAs
   

‡ Starts when a router wants to update self-


originated LSAs
‡ Link State Update packets
‡ Neighbor installs more recent LSAs into its
database
‡ floods out on all interfaces except the one on
which it arrived
‡ reliability-retransmissions until acks received
    

1-.1.1.1 1-.1.1.2 1-.1.1.4 1-.1.1.6

Time T1

u
u
u

1-.1.1.3 1-.1.1.5
    

1-.1.1.1 1-.1.1.2 u 1-.1.1.4 1-.1.1.6


u
Time T2
u

1-.1.1.3 1-.1.1.5
    

1-.1.1.1 1-.1.1.2 1-.1.1.4 u 1-.1.1.6

Time T3
u

1-.1.1.3 1-.1.1.5
    

1-.1.1.1 1-.1.1.2 1-.1.1.4 1-.1.1.6

Time T3+

ack ack ack ack

1-.1.1.3 ack 1-.1.1.5


    

‡ Robustness
± updates flooded over all the links , so failure of any link
doesn¶t affect database synchronization
± LSAs refreshed every 3- minutes
± LSA checksum field detects corruption
± flooding loops avoided by LS Age field
± MinLSInterval limits rate of LSA origination
± Receivers can refuse to accept LSA updates if they
received an update less than a second ago
  È   

‡ Link costs configurable by administrator


‡ Smaller values for more preferred links
‡ must make sense to add link costs
‡ different costs for each link direction possible
‡ Dijkstra¶s shortest path algorithm
± incrementally calculates tree of shortest paths
± each link in the network examined once
± computes multiple shortest paths (equal-cost multipath)
°     
‡ Technique used to build large networks
‡ minimizes consumption of network resources such
as
± router memory
± router computing resources
± link bandwidth
‡ with flat routing linear increase in routing table
size
‡ with hierarchical, size increases logarithmically
$  

1-.3.3 1-.3

1-.-.-.-8
1-.3.2
1-.3.1

1-.1.3 1-.2.3
1-.1 1-.2

1-.1.1 1-.1.2 1-.2.1 1-.2.2


$  

‡ Consider a router in 1-.1.1


‡ assume 16 entries in each of the first level
partitions
‡ with flat routing, 9*16 = 144 entriesrouter
‡ with 3 level hierarchy, the router has 16 entries
within 1-.1.1.-24 + entries for 1-.1.2.-24,
1-.1.3.-24,1-.1.-.-16 for a total of 19 entries.
‡ Marked reduction in routing table size
‡ but might lead to suboptimal routing
|


‡ Two-level hierarchical routing scheme through the


use of areas
‡ areas identified by 32-bit id
‡ each area has its own link state database which is a
collection of network-LSAs and router-LSAs
‡ area¶s topology hidden from all other areas
‡ interconnection of areas through area border
routers (ABRs)
‡ ABR leaks IP addressing information to other
areas through summary LSAs
   È   
Area -.-.-.1
1-.2.1.-24 1-.2.2.-24

1 3 1
 

3 3

Area -.-.-.2 Area -.-.-.3


1-.1.2.-24 1 1  1

1 2 2 3
3 1-.3.7.-24
1 Area -.-.-.-
AÖ  3 1-.8.2.-24
1-.1.1.-24 1

 3 
1 3 1
|
 

‡ Example of Summary LSA(router B)


LS Age -
Options LS Type -x2, Type 3(summary-LSA)

Link State ID 1-.2.-.-

Advertising Router Router B¶s router ID

LS Sequence Number -x8------1

LS Checksum
Length 28 bytes

Network Mask 255.255.-.-

TOS TOS - (normal)


Metric Cost of 7
|
 

‡ Reduction in link state databases of an area


‡ reduction in amount of flooding traffic needed for
synchronization
‡ reduction in the cost of the shortest path
calculations
‡ increased robustness
‡ routing protection
‡ Hidden prefixes
 |  "  

‡ All the areas are connected to area -.-.-.- also


called the backbone area
‡ need not have a direct physical connection though
± virtual links provide logical link to backbone
± summary LSAs tunneled across non backbone areas
‡ exchange of routing information between areas
using Distance Vector Protocol
± absence of redundant paths between areas
± not subject to convergence problems
r    $      

‡ Special routers called AS boundary routers at the


edge of OSPF domain
‡ ASBRs originate AS-External LSAs
‡ only routes for which the choice of an ASBR
makes sense are imported
‡ otherwise default routes are used
‡ AS external LSAs similar to Summary LSAs with
2 additional fields
± Forwarding address
± external route tag
r    

‡ AS-External LSAs flooded across borders


‡ ASBR summary LSAs used to know the location
of the originator of AS-External LSA
‡ Link State ID of ASBR Summary LSA set to the
OSPF router ID of the ASBR whose location is
advertised
‡ similar to summary LSA in all other respects
|
 %! 

‡ Restrict the amount of external routing


information within an area
‡ used when resources especially router memory is
very limited
‡ two types of restricted areas
± Stub Areas
± NSSAs or Not-So-Stubby-Areas
|
 %! 

‡ Stub Areas
± don¶t support ASBRs and hence no AS-External-LSAs
± routing to external destinations based on default routes
originated by the area¶s border routers
± summary LSAs also made optional
± must lie on the edge of OSPF routing domain
± inter-area routing may also be based on default routes
± improved scaling
± but not preferred due to the possibility of suboptimal
routes
|
 %!  

‡ NSSAs
± import small amount of routing information
± this information flooded to other areas by the NSSA
Border router
± Use Type-7 LSAs to import external routing
information
± translated into AS-External-LSA at the NSSA Border
± one-way filter
 !
‡ Why OSPF is needed in the Internet?
‡ The basics of the protocol
± The Link state Advertisements
± Neighbor Discovery (Hello Protocol)
± Database Synchronization and reliable flooding
‡ Hierarchical Routing in OSPF
± OSPF Areas and Area Organization
± Interaction with External Routing Information
± OSPF Area Types viz. Stub Areas and NSSAs
r  

‡ OSPF Network Types


± Broadcast subnets
± NBMA Subnets
‡ OSPF Extensions
‡ Multicast Routing using OSPF (MOSPF)
‡ OSPF Management
‡ and a whole lot of others!
  

‡ John T. Moy, OSPF - An Anatomy of an Internet


Routing Protocol
‡ Christian Huitema, Routing in the Internet
‡ RFC 2178
È   

Thank You!

Вам также может понравиться