iBGP is used when two BGP neighbors are established within the same AS.
eBGP is where neighbors are formed between two routers in different Autonomous Systems.
BGP Neighbors are not necessarily directly connected. BGP sits on top of your existing internal structure – IGP or static routes.
Example of a “Transit AS” is where routes are advertised in to your AS from one ISP and advertised out by you to another ISP via BGP.
To avoid BGP blackholes, there are three solutions: – redistribute BGP routes into IGP (NOT recommended given size of BGP table), run BGP in some form on the Internal network or directly connect the two BGP neighbors.