Top Banner
DD2491, p2 2009 Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC DD2491 p2 2009
16

Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC · Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC DD2491 p2 2009. DD2491, p2 2009 JunOS Routing model

Aug 03, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC · Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC DD2491 p2 2009. DD2491, p2 2009 JunOS Routing model

DD2491, p2 2009

Inter-domain routing and BGPBGP in JunOS

Olof Hagsand KTH/CSC

DD2491 p2 2009

Page 2: Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC · Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC DD2491 p2 2009. DD2491, p2 2009 JunOS Routing model

DD2491, p2 2009

JunOS Routing modelNeighbours

Protocols

Neighbours

Protocols

RIB

FIB

ExportImport

Note: Export policies may be applied only to active routes!

Protocol Default import action Default export action

direct and static accept all N/A

RIP accept all RIP routes reject all

BGP accept all BGP routes export all active BGP routes

IS-IS accept all IS-IS routes reject all (IS-IS uses LSAs)

OSPF accept all OSPF routes reject all (OSPF uses LSAs)

MPLS accept all MPLS routes export all active MPLS routes

Page 3: Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC · Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC DD2491 p2 2009. DD2491, p2 2009 JunOS Routing model

DD2491, p2 2009

BGP Routing Process Model

• Pool of routes received from peers

• Import policy for filtering and attribute manipulation

• Decision process to select best routes

• Pool of routes used by router

• Export policy for filtering and attribute manipulation

• Pool of routes that the router advertises

Peer

importpolicy

decisionprocess

RIBRIB exportpolicy

Peer

Peer Peer

Page 4: Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC · Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC DD2491 p2 2009. DD2491, p2 2009 JunOS Routing model

DD2491, p2 2009

BGP Routing Information Bases (BGP RIBs)CISCO version

Adj-RIB-In

Adj-RIB-In

Adj-RIB-In

Adj-RIB-In

BGPdecisionprocess

Loc-RIB

Adj-RIB-Out

Adj-RIB-Out

Adj-RIB-Out

Adj-RIB-Out

Input Policy Engine Output Policy Engine

© 2001 Cisco Press

Page 5: Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC · Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC DD2491 p2 2009. DD2491, p2 2009 JunOS Routing model

DD2491, p2 2009

BGP RIBsBGP routing table consists of three parts• Adj-RIB-In

– One per peer BGP speaker

– Stores routing information learned from peer

– Filtered/manipulated input policy engine

• Loc-RIB– Selected best routes by decision process to each available

destination

• Adj-RIB-Out– One per peer BGP speaker

– Stores routing information selected for advertisement to peer

– Output policy applied to Loc-RIB before going into Adj-RIB-Out

– This is redistributed if REFRESH capability is used

Page 6: Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC · Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC DD2491 p2 2009. DD2491, p2 2009 JunOS Routing model

DD2491, p2 2009

Import/Export Policy• Import policy

– Affects routes received from peer BGP speakers

– Filtering based on IP prefixes, AS_PATH and other BGP attributes

– Manipulates path attributes to influence its own decision process

• Export policy

– Affects routes in Loc-RIB (candidates for advertisement)

• In JunoS: only active BGP routes

– Differentiates between internal and external peers

Page 7: Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC · Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC DD2491 p2 2009. DD2491, p2 2009 JunOS Routing model

DD2491, p2 2009

BGP example policies

AS1

importpolicy

decisionprocess

RIBRIB exportpolicy

AS3

AS2 AS4

10.0.0.0/240/0

10.0.0.0/2410.2.0.0/240/0

•Deny 0/0 from AS1•Give 10.0.0.0/24 from AS1 better pref

•Use 10.0.0.0/24 from AS1•Use 0/0 and 10.2.0.0/24 from AS2

•Do not propagate 0/0•Do not announce 10.2.0.0/24 to AS3•Give 10.0.0.0/24 metric 10 toward AS4

10.0.0.0/24

10.0.0.0/2410.2.0.0/24

0/0 AS2 BGP10.0.0.0/24 AS1 BGP10.2.0.0/24 AS2 BGP

Page 8: Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC · Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC DD2491 p2 2009. DD2491, p2 2009 JunOS Routing model

DD2491, p2 2009

Configuring BGP in JunOS

• Many configurations can be made on global, group and peer level.

• More specific is preferred (peer before group before global)

protocol bgp { mtu-discovery Global properties group external-peers { type external; Group properties peer-as 42; neighbor 192.168.200.13;

neighbor 192.168.200.14;neighbor 192.168.200.14{

peer-as 93; Peer properties}

}}

See: http://www.juniper.net/techpubs/software/junos/junos92/

Page 9: Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC · Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC DD2491 p2 2009. DD2491, p2 2009 JunOS Routing model

DD2491, p2 2009

BGP commands in JunOS (1) advertise-inactive Advertise inactive routes advertise-peer-as Advertise routes received from the same autonomous system authentication-algorithm Authentication algorithm name authentication-key MD5 authentication key authentication-key-chain Key chain name cluster Cluster identifier damping Enable route flap damping description Text description disable Disable BGP+ export Export policy> family Protocol family for NLRIs in updates> graceful-restart BGP graceful restart options> group Define a peer group hold-time Hold time used when negotiating with a peer+ import Import policy include-mp-next-hop Include NEXT-HOP attribute in multiprotocol updates ipsec-sa IPSec SA name keep How to retain routes in the routing table

Page 10: Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC · Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC DD2491 p2 2009. DD2491, p2 2009 JunOS Routing model

DD2491, p2 2009

BGP commands in JunOS (2)

local-address Address of local end of BGP session> local-as Local autonomous system number local-preference Value of LOCAL_PREF path attribute log-updown Log a message for peer state transitions> metric-out Route metric sent in MED mtu-discovery Enable TCP path MTU discovery> multihop Configure an EBGP multihop session no-advertise-peer-as Don't advertise routes received from the same

autonomous system no-aggregator-id Set router ID in aggregator path attribute to 0 out-delay How long before exporting routes from routing table passive Do not send open messages to a peer> path-selection Configure path selection strategy peer-as Peer autonomous system number (1..65535) preference Preference value remove-private Remove well-known private AS numbers tcp-mss Maximum TCP segment size (1..4096)> traceoptions Trace options for BGP

Page 11: Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC · Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC DD2491 p2 2009. DD2491, p2 2009 JunOS Routing model

DD2491, p2 2009

Routing policy: syntax and flow

• Changing the default routing policy

• Syntax:

policy-options {

policy-statement name { term term-name { from {

match; } then {

action; } }

}} term1 term2

defaultpolicy

term3

term1 term2 term3

Policy 1

Policy 2

term

accept

reject

nextroute

Page 12: Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC · Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC DD2491 p2 2009. DD2491, p2 2009 JunOS Routing model

DD2491, p2 2009

Applying policies

• Export policy evaluation order: p4->p2->p0

• If verdict (accept, reject) policy chain is terminated

• Side-effects may still apply

protocol bgp { export p0; Global properties import p1; group external-peers { type external; Group properties export p2;

import p3;neighbor 192.168.200.14{

export p4; Peer propertiesimport p5;

} }}

Page 13: Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC · Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC DD2491 p2 2009. DD2491, p2 2009 JunOS Routing model

DD2491, p2 2009

Policy-options statements

• as-path name reg-exp

– Create a named AS-PATH regular expression

– Example: as-path asp0 “65000{4}”

• as-path-group { [as-path] }

• community name members [ ids ]

– Example: community c0 members 701:555

• damping name [options]

• policy-statement

• prefix-list name { ip-addresses }

– Create a named list of prefixes

– Example: prefix-list p0 {10.0.0.1; 192.168.1.0/24;}

# set policy-options ?

Page 14: Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC · Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC DD2491 p2 2009. DD2491, p2 2009 JunOS Routing model

DD2491, p2 2009

Policy-statement matches

– as-path– community– family– local-preference– metric– neighbor– next-hop– origin– preference– prefix-list– protocol– route-filter– ...

# set policy-options policy-statement <name> term <name> from ?

Page 15: Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC · Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC DD2491 p2 2009. DD2491, p2 2009 JunOS Routing model

DD2491, p2 2009

Policy-statement actions

• accept

• reject

• next policy

• next term

• trace

Side-effects with accept:– as-path-prepend– community– color– external– load-balance per-packet– local-preference– metric– next-hop– origin– preference

# set policy-options policy-statement <name> term <name> then ?

Page 16: Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC · Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC DD2491 p2 2009. DD2491, p2 2009 JunOS Routing model

DD2491, p2 2009

Lab overview

RTX3

RTX2

RTX1

RTX4

Tier1

AS6500X AS6500X+1

10.X.8.0/2410.X.9.0/2410.X.10.0/2410.X.11.0/24

AS65500

0/0/0

0/0/0

1/0/1

1/0/1

1/0/1

1/0/1 1/0/0

1/0/0

1/0/0

1/0/0

192.71.23.32/27

.1

.1.1 .2 .2

.2

AS6500X-1

0/0/0