BGP runs in modes depending on who you're talking to.
eBGP (External BGP):
- Sessions between routers in different ASes
- Typically over directly connected links
- TTL of by default (one hop)
- Updates AS_PATH when forwarding routes
iBGP (Internal BGP):
- Sessions between routers in the same AS
- Can span multiple router hops inside the AS
- TTL of (can cross internal network)
- Does NOT modify AS_PATH
Why both? You learn routes from neighbors via eBGP. You must distribute those routes to all your BGP-speaking routers via iBGP. Otherwise, only edge routers know external destinations.