a hierarchical model for bgp routing policies
play

A Hierarchical Model for BGP Routing Policies Laurent Vanbever , - PowerPoint PPT Presentation

A Hierarchical Model for BGP Routing Policies Laurent Vanbever , Bruno Quoitin and Olivier Bonaventure UCL, Belgium PRESTO09 Friday, 21 Aug 2009 http://inl.info.ucl.ac.be Human factors are responsible for 50 to 80 percent of network device


  1. A Hierarchical Model for BGP Routing Policies Laurent Vanbever , Bruno Quoitin and Olivier Bonaventure UCL, Belgium PRESTO’09 Friday, 21 Aug 2009 http://inl.info.ucl.ac.be

  2. Human factors are responsible for 50 to 80 percent of network device outages Juniper Networks , What’s Behind Network Downtime? , 2008 2

  3. A Hierarchical Model for BGP Routing Policies Introduction and Motivation Towards a hierarchical model of routing policies Implementation Conclusion

  4. A Hierarchical Model for BGP Routing Policies Introduction and Motivation Towards a hierarchical model of routing policies Implementation Conclusion

  5. A BGP Router at a Glance BGP sessions BGP Adj-RIB-In BGP Loc-Rib BGP Adj-RIB-Out BGP sessions Input filters Output filters All Attribute Attribute Neighor 1 acceptable Neighor 1 Manipulation Manipulation routes Input filters Output filters Attribute Attribute Neighor 2 Neighor 2 Manipulation Manipulation BGP Decision Process ... ... Input filters Output filters Attribute Attribute Best route Neighor n Neighor n Manipulation Manipulation to each destination 5

  6. Talk is about BGP Policies BGP sessions BGP Adj-RIB-In BGP Loc-Rib BGP Adj-RIB-Out BGP sessions Input filters Output filters All Attribute Attribute Neighor 1 acceptable Neighor 1 Manipulation Manipulation routes Input filters Output filters Attribute Attribute Neighor 2 Neighor 2 Manipulation Manipulation BGP Decision Process ... ... Input filters Output filters Attribute Attribute Best route Neighor n Neighor n Manipulation Manipulation to each destination 6

  7. BGP Policies give operators control over routes selection Policies are mainly used to filter incoming routes ignore routes you don’t want to consider modify routes’ attributes influence path selection modify the way routes are perceived filter outgoing routes enforce business relationships 7

  8. BGP Policies are defined at different abstraction levels A E C B D 8

  9. Some BGP Policies are defined all on all sessions A E C B D 9

  10. Some BGP Policies are defined all group on groups of sessions A provider peer peer E C B customer D 10

  11. Some BGP Policies are defined all group on AS sessions as A sessions w/ A session w/ B session w/ E E C B sessions w/ D D 11

  12. Some BGP Policies are defined all group on invidivual sessions as session A sessions w/ RA 1 sessions w/ RA 2 E C B sessions w/ RD 1 sessions w/ RD 2 D 12

  13. Some BGP Policies are defined all group on prefixes as session A prefix 100.104.0.0/16 100.104.0.0/16 MED: 0 MED: 0 120.104.0.0/16 120.104.0.0/16 MED: 0 MED: 10 E C B D 13

  14. However, policies are often defined at low level all session group neighbor
206.196.178.45
{ 



description
"Mid‐Atlantic
Crossroads
(MAX)"; 



import
[
SANITY‐IN
SET‐CONNECTOR‐PREF
MAX‐IN
CONNECTOR‐IN
]; 



peer‐as
10886; } neighbor
192.88.192.137
{ 



description
OSCnet; 



import
[
SANITY‐IN
SET‐CONNECTOR‐PREF
OARNET‐IN
CONNECTOR‐IN
]; 



peer‐as
3112; } neighbor
204.238.76.5
{ 



description
"Drexel
University"; 



import
[
SANITY‐IN
SET‐CONNECTOR‐PREF
DREXEL‐IN
CONNECTOR‐IN
]; 



peer‐as
36412; } neighbor
192.88.115.24
{ 



description
3ROX; 



import
[
SANITY‐IN
SET‐CONNECTOR‐PREF
PSC‐IN
CONNECTOR‐IN
]; 



peer‐as
5050; } ... neighbor
199.18.156.241
{ 



description
"OSCnet
mcast‐only
for
their
non‐I2
customers"; 



import
[
SANITY‐IN
SET‐CONNECTOR‐PREF
CONNECTOR‐IN
]; 



peer‐as
600; } 14

  15. A Hierarchical Model for BGP Routing Policies Introduction and Motivation Towards a hierarchical model of routing policies Implementation Conclusion 15

  16. Towards a hierarchical model of routing policies Our model aims to express a policy at the appropriate level represent network-wide policies ease policy addition and modification be vendor agnostic 16

  17. Our model at a glance BGP Session’s abstraction associated to templates BGP Session’s abstraction s 1 s 1 s 2 s 2 . . . . . . Chains of routing filters s N s N 17

  18. Our model is structured around chains of filters Policies are modeled by chains a node is a sequence of rules a rule is a couple ( predicate , template ) a predicate conditions the association of the template to the session’s filters a template is a sequence of routing filters statements 18

  19. Our model is structured around chains of filters IMPORT - W - F P G Y G E O U T N A R K I L - I N F T M R P C L E A S N A I - O A R T R S X I B C E P F N S P I All Group Session Group Group EXPORT T I S N A R true, ( r.pfx ∈ BOGONS ) ⇒ reject T Group predicate template rule session s : route r : 19

  20. Our model is structured around chains of filters IMPORT - W - F P G Y G E O U T N A R K I L - I N F T M R P C L E A S N A I - O A R T R S X I B C E P F N S P I All Group Session Group Group EXPORT T I S N s.group = CUST, r.comm ⊎ { CUST } A R T s.group = PEER, r.comm ⊎ { PEER } Group s.group = PROV, r.comm ⊎ { PROV } session s : route r : 20

  21. A Hierarchical Model for BGP Routing Policies Introduction and Motivation Towards a hierarchical model of routing policies Implementation Conclusion 21

  22. How is it implemented ? Each BGP session is specified with a textual representation BXL:CUST:2611:<130.104.0.2>:backup Predicates are modeled by regular expressions s.type=backup
modeled
*.backup$ Templates are represented by using StringTemplate policy‐statement
BACKUP‐PREF
{ 

term
down‐pref
{
 



then
{
 





local‐preference
subtract
 $value$ ;
 





accept;
 ... 22

  23. How does it work ? IMPORT - W - F P G Y G E O U T N A R K I L - I N F T M R P C L E A S N A I - O A R T R S X I B C E P F N S P I All Group Session Group Group EXPORT T I S N A R T Group BXL:CUST:2611:<130.104.0.2>:backup 23

  24. How does it work ? IMPORT - W - F P G Y G E O U T N A R K I L - I N F T M R P C L E A S N A I - O A R T R S X I B C E P F N S P I All Group Session Group Group EXPORT T I S N A R T Group BXL:CUST:2611:<130.104.0.2>:backup ( r.pfx ∈ BOGONS ) ⇒ reject 24

  25. How does it work ? IMPORT - W - F P G Y G E O U T N A R K I L - I N F T M R P C L E A S N A I - O A R T R S X I B C E P F N S P I All Group Session Group Group EXPORT T I S N A R T Group BXL: CUST :2611:<130.104.0.2>:backup ( r.pfx ∈ BOGONS ) ⇒ reject r.lp = 5000 25

  26. How does it work ? IMPORT - W - F P G Y G E O U T N A R K I L - I N F T M R P C L E A S N A I - O A R T R S X I B C E P F N S P I All Group Session Group Group EXPORT T I S N A R T Group BXL:CUST:2611:<130.104.0.2>: backup ( r.pfx ∈ BOGONS ) ⇒ reject r.lp = 5000 r.lp = r.lp − 500 26

  27. How does it work ? IMPORT - W - F P G Y G E O U T N A R K I L - I N F T M R P C L E A S N A I - O A R T R S X I B C E P F N S P I All Group Session Group Group EXPORT T I S N A R T Group BXL: CUST :2611:<130.104.0.2>:backup ( r.pfx ∈ BOGONS ) ⇒ reject r.lp = 5000 r.lp = r.lp − 500 r.comm ⊎ { CUST } 27

  28. How does it work ? IMPORT - W - F P G Y G E O U T N A R K I L - I N F T M R P C L E A S N A I - O A R T R S X I B C E P F N S P I All Group Session Group Group EXPORT T I S N A R T Group BXL: CUST :2611:<130.104.0.2>:backup ( r.pfx ∈ BOGONS ) ⇒ reject r.lp = 5000 r.lp = r.lp − 500 r.comm ⊎ { CUST } ( r.pfx �∈ RIR PFX ( s.asn )) ⇒ reject 28

  29. How does it work ? IMPORT - W - F P G Y G E O U T N A R K I L - I N F T M R P C L E A S N A I - O A R T R S X I B C E P F N S P I All Group Session Group Group EXPORT T I S N A R T Group BXL: CUST :2611:<130.104.0.2>:backup announce default route ( r.pfx ∈ BOGONS ) ⇒ reject r.lp = 5000 r.lp = r.lp − 500 r.comm ⊎ { CUST } ( r.pfx �∈ RIR PFX ( s.asn )) ⇒ reject 29

  30. How does it work ? IMPORT - W - F P G Y G E O U T N A R K I L - I N F T M R P C L E A S N A I - O A R T R S X I B C E P F N S P I All Group Session Group Group EXPORT T I S N A R T Group BXL:PROVIDER:2611:<130.104.0.2> 30

  31. How does it work ? IMPORT - W - F P G Y G E O U T N A R K I L - I N F T M R P C L E A S N A I - O A R T R S X I B C E P F N S P I All Group Session Group Group EXPORT T I S N A R T Group BXL:PROVIDER:2611:<130.104.0.2> ( r.pfx ∈ BOGONS ) ⇒ reject 31

Recommend


More recommend