bgp-te application level topology …...bgp speaker bgp bgp speaker speaker igp router as1 prefix 1,...
TRANSCRIPT
1 Copyright © 2012 Juniper Networks, Inc. www.juniper.net
BGP-TE APPLICATION LEVEL TOPOLOGY INTELLIGENCE
Hannes Gredler
2 Copyright © 2012 Juniper Networks, Inc. www.juniper.net
MOTIVATION
Look across the “fence”
“Fence” being IGP area/level or AS
boundary
Gain visibility for application(s) which need
complete topology data
ALTO
CDNI
Inter-{Area, AS} TE
High frequency API
3 Copyright © 2012 Juniper Networks, Inc. www.juniper.net
Alto Server
BGP Speaker
BGP Speaker BGP
Speaker
IGP Router AS1
Prefix 1, 2, 3, … Prefix 11, 12, 13, …
Prefix 21, 22, 23, …
BGP Speaker
Prefix 31, 32, 33, …
Alto Client
Alto Client
Alto Client
HTTP IGP Peering
IGP Router
IGP Router
IGP Router
IGP Router
IGP Router Level 2
Backbone Area
Level 1
Non-Backbone Area
Level 1
Non-Backbone Area
Level 1
Non-Backbone Area
Level 1
Non-Backbone Area
IGP Router
HISTORICAL INSIGHT – BUILDING AN ALTO SERVER (1)
ALTO server needs to know all areas topology
Manually crafting of “IGP peering” topology is tedious and error prone !!!
4 Copyright © 2012 Juniper Networks, Inc. www.juniper.net
HISTORICAL INSIGHT – BUILDING AN ALTO SERVER (2)
rpd
Per Protocol: FSM, Encoder, Decoder, DB, route- resolution, IPC
ALTO Server
IPC: FSM, Decoder, DB Session
IPC
BGP Peers
IGP Adjacencies
P2P Clients
DBDB
External Applications need to access rpd internal data
• BGP Internet (SAFI 1) prefixes
• IGP Topology data
Need to define an API (Session and IPC)
• PUSH or PULL model ?
• IPC format ?
• Would it make sense to “standardize” this API ?
5 Copyright © 2012 Juniper Networks, Inc. www.juniper.net
USE CASE – INTER-REGION TRAFFIC ENGINEERING
Area 0Area 51
R2 ABR2
S
R1 ABR1
Main LSP
Bypass LSP
Area 47
R6
D
R4
R3 ABR3
ABR4
R5
SRLG 666
SRLG 666
• RSVP Loose hop expansion has practical deployment limits
• Vanilla RSVP has no crank-back in case it “sees” new information that it did
not see at previous hops. (and RFC4920 has a lot of caveats)
X
6 Copyright © 2012 Juniper Networks, Inc. www.juniper.net
STATUS IETF WORK
draft-gredler-idr-ls-distribution-02
The protocol allows Topology data (links
and nodes) to be shared in a protocol
agnostic (no OSPFism, no IS-IS ism)
form.
Joint work with Cisco
Call for adoption as idr-wg item (Aug 31)
So far positive feedback, Usual criticism
on “BGP bloat”
Want to move further work to SDN-WG
7 Copyright © 2012 Juniper Networks, Inc. www.juniper.net
IMPLEMENTATION IN JUNOS
• Key of IETF draft is “protocol
agnostic representation” of nodes
and links
• Wait a bit – don’t we have something
like this already in JUNOS ???
• Yes its called the Traffic
engineering database (TED)
hannes@R1> show ted link detail
TED database: 0 ISIS nodes 3 INET nodes
ID Type Age(s) LnkIn LnkOut
Protocol
10.0.0.1 Rtr 1013 1 1
OSPF(0.0.0.0)
To: 192.168.56.204-1, Local: 192.168.56.201, Remote:
0.0.0.0
Local interface index: 0, Remote interface index: 0
ID Type Age(s) LnkIn LnkOut
Protocol
*192.168.56.204* *Rtr *1011 1 1 OSPF(0.0.0.0)
*To: 192.168.56.204-1*, Local: 0.0.0.0, Remote: 0.0.0.0
Local interface index: 0, Remote interface index: 0
ID Type Age(s) LnkIn LnkOut
Protocol
*192.168.56.204-1* *Net *1011 2 2 OSPF(0.0.0.0)
To: 10.0.0.1, Local: 0.0.0.0, Remote: 0.0.0.0
Local interface index: 0, Remote interface index: 0
*To: 192.168.56.204*, Local: 0.0.0.0, Remote: 0.0.0.0
Local interface index: 0, Remote interface index: 0 => Need to transcode node/links
information from/to TED into BGP
8 Copyright © 2012 Juniper Networks, Inc. www.juniper.net
TRANSCODING TE LINK INFO INTO BGP NLRI
Carried in
MP_REACH_NLRI path attribute
MP_UNREACH_NLRI path attribute
LS_ATTRIBUTES path attribute
Two NLRI types
Node
Link
Each NLRI describes a single link anchored by at least a pair of router-IDs
Link may be anchored by more than one pair of Router-IDs
Negotiated between BGP speakers using BGP-MP Capability
9 Copyright © 2012 Juniper Networks, Inc. www.juniper.net
TED NLRI TYPES: NODES AND LINKS
9
10 Copyright © 2012 Juniper Networks, Inc. www.juniper.net
ROUTER-ID ANCHORING EXAMPLE: ISO PSEUDONODE
• Broadcast LAN between a pair of routers: – “Real" (=non pseudonode) routers have both an IPv4 Router-ID and IS-IS Node-IDs
– The pseudonode does not have an IPv4 Router-ID.
• Two unidirectional links being generated:
• NRLI #1for (R1, Pseudonode) encodes: – local IPv4 router-ID, local ISO node-ID and remote ISO node-id
• NLRI #2 for (Pseudonode, R2) encodes: – local ISO node-ID, remote IPv4 router-ID and remote ISO node-id.
11 Copyright © 2012 Juniper Networks, Inc. www.juniper.net
STATE FLOW
peer
bgp.traffic-engineering
BGP Import policy BGP Export policy
peer
TED
TED export policy TED import policy
12 Copyright © 2012 Juniper Networks, Inc. www.juniper.net
TRAFFIC ENGINEERING RIB
hannes@R1> show route table bgpte.0
bgpte.0 : 7 destinations, 7 routes (7 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
*LINK { Local { IPv4:10.0.0.1 } Remote { IPv4:192.168.56.204 } OSPF:0 }/576
*[OSPF/512] 00:16:50
Fictitious
*LINK { Local { IPv4:192.168.56.204 } Remote { IPv4:10.0.0.1 } OSPF:0 }/576
*[OSPF/512] 00:16:48
Fictitious
*LINK { Local { IPv4:192.168.56.204 } Remote { IPv4:192.168.56.204 } OSPF:0 }/576
*[OSPF/512] 00:16:48
Fictitious
*LINK { Local { IPv4:88.0.0.100 ISO:0880.0000.0100.00 } Remote { ISO:0880.0000.0101.02 } ISIS-L1:0 }/576
*[BGP/170] 00:09:31, localpref 100, from 88.0.0.100
AS path: I
Fictitious
*LINK { Local { IPv4:88.0.0.101 ISO:0880.0000.0101.00 } Remote { ISO:0880.0000.0101.02 } ISIS-L1:0 }/576
*[BGP/170] 00:09:31, localpref 100, from 88.0.0.100
AS path: I
Fictitious
*LINK { Local { IPv4:88.0.0.101 ISO:0880.0000.0101.00 } Remote { ISO:0880.0000.0101.03 } ISIS-L2:0 }/576
*[BGP/170] 00:08:17, localpref 100, from 88.0.0.104
AS path: I
Fictitious
13 Copyright © 2012 Juniper Networks, Inc. www.juniper.net
BGP-TE SUMMARY
Distribution of node and link data beyond IGP boundaries
Enables Inter {Area,Domain} C-SPF signaling
JUNOS Implementation available for testing in Q3 2012
Please contact Nitin Bahadur ([email protected]) in case you want to test-ride
That’s cool, but is there anything beyond ?
14 Copyright © 2012 Juniper Networks, Inc. www.juniper.net
TRAFFIC ENGINEERING 2.0
15 Copyright © 2012 Juniper Networks, Inc. www.juniper.net
TRAFFIC ENGINEERING 2.0 – THE PROBLEM
AS 1
AS1
R2 ASBR2
S
R1 ASBR1
ASBR4
ASBR6
ASBR3
ASBR5
AS 2
91/8
91/8
91/8
91/8
16 Copyright © 2012 Juniper Networks, Inc. www.juniper.net
ADD A RSVP-TE-LSP –
AS 1
AS1
R2 ASBR2
S
R1 ASBR1
ASBR4
ASBR6
ASBR3
ASBR5
AS 2
91/8
91/8
91/8
91/8RSVP-TE LSP
17 Copyright © 2012 Juniper Networks, Inc. www.juniper.net
COMMON TRAFFIC ENGINEERING PROBLEMS
RSVP-TE LSPs are big Hammers
Lack of egress Control
Node control vs. Link control, ideally per prefix …
Low frequency (sensor) update
TE stats available through SNMP/CLI/File uploads
Low frequency (actor) update
Human interaction
Machine based: Through Config Transactional Interface
18 Copyright © 2012 Juniper Networks, Inc. www.juniper.net
1ST ADD A HIGH-FREQUENCY MP2MP SIGNALING API
AS 1
AS1
ASBR4
ASBR6
ASBR3
ASBR5
AS 2
91/8
91/8
91/8
91/8
R2 ASBR2
S
R1 ASBR1
TE-APPRR
19 Copyright © 2012 Juniper Networks, Inc. www.juniper.net
2ND ADD FURTHER NLRI TYPES TO BGP-TE
Traffic statistics
Interface & TE LSPs
TE LSP status report
Discover MPLS LSPs
Targeted TE LSP setup
(P2P, Protection, P2MP)
IP Prefix to TE Tunnel mapping
(=granular control)
Egress Nexthop control
Add indirection-Layer through BGP-TE
20 Copyright © 2012 Juniper Networks, Inc. www.juniper.net
PUTTING IT ALL TOGETHER ….
• Use Labeled-BGP to discover
remote routers
• Preserve BGP NH of Internet
routes
• Program WAN links to send high
frequency traffic stats
• Setup LSP Transport mesh
(=more than one) for desired
core-link loading
• Send Prefix / Tunnel Map
message to control binding of
Prefixes to LSPs / and BGP NHs
AS 1
AS1
ASBR4
ASBR6
ASBR3
ASBR5
AS 2
91/8
91/8
91/8
91/8
R2
R1
TE-APPRR
S
ASBR1
ASBR2
RSVP-TE LSP #2
MAP 17% 91/8, LSP #1, BGP-NH {ASBR4}
RSVP-TE LSP #1
MAP 5% 91/8, LSP #1, BGP-NH {ASBR3}
MAP 35% 91/8, LSP #1, BGP-NH {ASBR5}
MAP 43% 91/8, LSP #1, BGP-NH {ASBR6}
21 Copyright © 2012 Juniper Networks, Inc. www.juniper.net
SUMMARY & FUTURE
BGP-TE is is foundation for software-defined networking in JUNOS
Topology discovery
TE LSP discovery and setup
IP Prefix to TE Tunnel mapping
High-frequency API
In IETF speak we call this “BGP-TE southbound API”
Internet-draft on BGP-TE Southbound to be published
after SDN-wg constitution, IETF85 Atlanta