一杯清茶

道,可道,非常道;名,可名,非常名。

zebra/quagga ospf and unh test section 4


Calculation of the routing table

1.Calculating the shortest-path tree for an area,
  -yields the set of intra-area routes
  -examine router-LSAs and network-LSAs
  -consider those links between routers and transit networks at first, then the stub networks.
2.Calculating the inter-area routes.
  -The inter-area routes are calculated by examining summary-LSAs.
  -If the router has active attachments to multiple areas, only backbone summary-LSAs are examined.
  -Routers attached to a single area examine that area’s summary-LSAs.
3.Examining transit areas’ summary-LSAs
  -only performed by area border routers attached to one or more non-backbone transit areas(transit  area is different from transit network).
  -updates backbone intra-area routes found in Step 1 and inter-area routes found in Step 2.
  -never makes unreachable destinations reachable.
4.Calculating AS external routes

ospf
  |--new_table(route_table)--ospf_route  (for network route)
  |--new_rtrs(route_table)--list--ospf_route (for ABR/ASBR route)


case 4.1
ospf_spf_calculate_timer
  |--ospf_ia_routing
       |--ospf_examine_summaries
            |--process_summary_lsa
                 |--ospf_ia_network_route
                      |--ospf_route_cmp
                 |--ospf_ia_router_route
                      |--ospf_route_cmp


case 4.2
ospf_spf_calculate_timer
  |--ospf_ia_routing
       |--ospf_examine_summaries
            |--process_transit_summary_lsa
                 |--ospf_update_network_route
                     
                 |--ospf_update_router_route
                
                
case 4.3
ospf_ase_calculate_timer     
  |--ospf_ase_calculate_route         
       |--ospf_find_asbr_route (forwarding address is not set)
      
       |--route_node_match(ospf->new_table) (forwarding address is set)
      
case 4.4      
ospf_ase_calculate_timer     
  |--ospf_ase_calculate_route         
       |--ospf_find_asbr_route
                     
case 4.5
ospf_ase_calculate_timer     
  |--ospf_ase_calculate_route         
       |--route_node_lookup (ospf->new_table)
      
      
case 4.6       
ospf_ase_calculate_timer     
  |--ospf_ase_calculate_route         
       |--ospf_route_cmp (line: 472)
      
case 4.7
ospf_route
  |--cost
  |--u.ext.type2_cost

for type 1 ase, cost is asbr_route->cost + metric
for type 2 ase, cost is asbr_route->cost

ospf_ase_calculate_timer     
  |--ospf_ase_calculate_route  
       |--ospf_ase_calculate_new_route  
       |--ospf_route_cmp      


case 4.8
ospf_ase_calculate_timer     
  |--ospf_ase_calculate_route  
       |--ospf_route_cmp
            |--ospf_asbr_route_cmp
           
           
case 4.9
case 4.10
ospf_ase_calculate_timer     
  |--ospf_ase_calculate_route  
       |--ospf_route_cmp
            |--ospf_asbr_route_cmp
                 
these two cases check for intra-area backbone paths vs inter-area paths, case 4.7 and 4.8 check for intra-area non-backbone paths vs intra-area backbone paths

阅读更多
个人分类: Network
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭