Register now or log in to join your professional community.
routing protocol
Very simply, eBGP is used for inter-AS routing, where as iBGP is used in intra-AS routing. Everything else in every other answer is detail surrounding this core difference.
Now; it is not quite accurate that a BGP session between2 BGP routers is an eBGP session - one counter example scenario is connecting a customer to an ISP, whether or not that customer has an own AS number; eBGP doesn't need to run between the customer's border BGP router and the ISP's.
In short
ibgp is "internal". It is commonly used to distribute external routes inside your AS
ebgp is the only one protocol to send routes (both internal and external, depends on requirements) to another AS.
A BGP Session between two BGP routers that are in the same Autonomous System is called iBGP while a BGP session between 2 BGP routers that are in different Autonomous System is called eBGP.