BGP

From neil.tappsville.com
Revision as of 04:26, 21 May 2020 by Gonzo (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

BGP Basics

https://academy.apnic.net/en/virtual-labs/

https://www.juniper.net/documentation/software/erx/erx41x/swconfig-routing-vol2/html/bgp-config.html


RFC 4271

  • IBGP - Carry summarised network routes across an AS
  • EBGP - Exchange summarised network routes between different AS

IBGP does not need to be directly connected - generally uses the loopback address.

IBGP doesnt advertise routes learned from other IBGP nodes (only ebgp) - thus all nodes need to learn - thus where a route reflector comes into play

4 Messages

  • OPEN - Hello - must have router id, AS #
  • KEEPALIVE - Heartbeat
  • UPDATE - Carries routes and deletes
  • NOTIFICATION - Error - Connection is closed immedately

States

  • Idle (trying to initiate a TCP connection with the BGP Peer)
  • Connect (3way TCP handshake)
  • Open Sent (connect sent but not confirmed)
  • Active
  • Open Confirm (BGP waits for a Keepalive or Notification message)
  • Established (BGP session is established. BGP neighbors exchange routes via Update messages)


Path Attributes

Well-known Mandatory

Requried in every update message

  • ORIGIN
  • AS_PATH
  • NEXT_HOP

Well-known discretionary

  • LOCAL_PREF
  • ATOMIC_AGGREGATE

Optional transitive

  • AGGREGATOR
  • COMMUNITY

Optional non-transitive

  • MULTI_EXIT_DISC
  • ORIGINATOR_ID
  • CLUSTER_LIST


Bgp peer.png