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

Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC · OSPF accept all OSPF routes reject all (OSPF uses LSAs) MPLS accept all MPLS routes export all active MPLS routes.

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 · OSPF accept all OSPF routes reject all (OSPF uses LSAs) MPLS accept all MPLS routes export all active MPLS routes.

DD2491, p1 2008

Inter-domain routing and BGP

BGP in JunOS

Olof Hagsand KTH/CSC

DD2491 p1 2008

Page 2: Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC · OSPF accept all OSPF routes reject all (OSPF uses LSAs) MPLS accept all MPLS routes export all active MPLS routes.

DD2491, p1 2008

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 · OSPF accept all OSPF routes reject all (OSPF uses LSAs) MPLS accept all MPLS routes export all active MPLS routes.

DD2491, p1 2008

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 · OSPF accept all OSPF routes reject all (OSPF uses LSAs) MPLS accept all MPLS routes export all active MPLS routes.

DD2491, p1 2008

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 · OSPF accept all OSPF routes reject all (OSPF uses LSAs) MPLS accept all MPLS routes export all active MPLS routes.

DD2491, p1 2008

BGP RIBs

BGP 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 · OSPF accept all OSPF routes reject all (OSPF uses LSAs) MPLS accept all MPLS routes export all active MPLS routes.

DD2491, p1 2008

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 · OSPF accept all OSPF routes reject all (OSPF uses LSAs) MPLS accept all MPLS routes export all active MPLS routes.

DD2491, p1 2008

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 BGP

10.2.0.0/24 AS2 BGP

Page 8: Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC · OSPF accept all OSPF routes reject all (OSPF uses LSAs) MPLS accept all MPLS routes export all active MPLS routes.

DD2491, p1 2008

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/junos90/

Page 9: Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC · OSPF accept all OSPF routes reject all (OSPF uses LSAs) MPLS accept all MPLS routes export all active MPLS routes.

DD2491, p1 2008

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 · OSPF accept all OSPF routes reject all (OSPF uses LSAs) MPLS accept all MPLS routes export all active MPLS routes.

DD2491, p1 2008

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 · OSPF accept all OSPF routes reject all (OSPF uses LSAs) MPLS accept all MPLS routes export all active MPLS routes.

DD2491, p1 2008

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 · OSPF accept all OSPF routes reject all (OSPF uses LSAs) MPLS accept all MPLS routes export all active MPLS routes.

DD2491, p1 2008

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 properties

import p5;

}

}

}

Page 13: Inter-domain routing and BGP BGP in JunOS Olof Hagsand KTH/CSC · OSPF accept all OSPF routes reject all (OSPF uses LSAs) MPLS accept all MPLS routes export all active MPLS routes.

DD2491, p1 2008

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 · OSPF accept all OSPF routes reject all (OSPF uses LSAs) MPLS accept all MPLS routes export all active MPLS routes.

DD2491, p1 2008

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 · OSPF accept all OSPF routes reject all (OSPF uses LSAs) MPLS accept all MPLS routes export all active MPLS routes.

DD2491, p1 2008

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 · OSPF accept all OSPF routes reject all (OSPF uses LSAs) MPLS accept all MPLS routes export all active MPLS routes.

DD2491, p1 2008

Lab overview

RTX3

RTX2

RTX1

RTX4

Tier1

ASX ASX+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

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

172.16.10X.0/30

172.16.X+1.0/30

172.16.X.0/30

.1

.1.1 .2 .2

.2

ASX­1