I was wrong about BGP on Packet Tracer. Now some basic BGP functions are put in the new Packet Tracer 5.3.
I created this sample Packet Tracer 5.3 practice for BGP.
- pt-bgp-test.pkt, (Backup Link), with IP addressing only.
- pt-bgp-test-sol.pkt, (Backup Link), with BGP configuration.
Router0(config)#router bgp 1
Router0(config-router)#neighbor 1.1.1.2 remote-as 1
Router0(config-router)#
%Packet Tracer does not support internal BGP in this version. Only external neighbors are supported.
How to configure BGP? For short:
- Declare your own AS number by "router bgp as-number".
- Define neighbors with "neighbor Address remote-as as-number".
- Define the networks you own by "network Address mask Mask".
Here is the BGP configuration fragment on "Router1" (AS number 2).
router bgp 2 bgp log-neighbor-changes no synchronization neighbor 4.4.4.1 remote-as 1 neighbor 5.5.5.3 remote-as 3 network 2.2.2.0 mask 255.255.255.0
Cheers!
xD!!!
ReplyDeleteHow come router 0 cannot ping 3.3.3.1 and vice versa? I configured ospf as a test and I can traverse all networks, but with BGP I can only speak to direct neighbors.
ReplyDeleteIf you just PING 3.3.3.1 from Router0, it would pick 4.4.4.1 (its next hop interface) as source IP address. However, Router2 have no information about 4.4.4.0/24 at all, so it does not know how to send ICMP reply. This is why your PING failed.
ReplyDeleteYou should try extended PING instead, that is, use "ping" and follow the default guide and choose "y" at "extended commands", then you can specify which source IP address to use for PING.
Now if you choose 1.1.1.1 (LAN interface of Router0) this time, your PING will be successful!
Cheers!
hell
ReplyDeletevery bad
ReplyDeleteThis comment has been removed by a blog administrator.
ReplyDeleteI personally accept all your comments. However, I really do not know what the above comment is here for.
DeleteI will delete it soon! Sorry for inconveniences!
@author:Rajguru
ReplyDeleteuseless content
This comment has been removed by a blog administrator.
DeleteThis comment has been removed by a blog administrator.
DeleteThis comment has been removed by a blog administrator.
DeleteI personally accept all your comments. However, I really do not know what the above three comments are here for.
DeleteI will delete them soon! Sorry for inconveniences!
thanks.. this post helps me to get the IDEA about how BGP works.. :)
ReplyDeleteI am really glad to know this post helps, Tameem!
ReplyDeleteGreat post Li!, Thank you for sharing, a few questions
ReplyDeleteFirstly, how do i perform the extended ping in order to reach network 3.3.3.1, could you please elaborate on that.
Secondly how do i modify this configuration so that the bgp configured routers can advertise their paths(The AS path ex AS-01,AS-02) for reaching a particular AS because in this configuration we manually define the neighbors right, i mean there is no network reach-ability information spread across by the bgp routers.
Lastly how do i view bgp's routing table, i mean the entries that are kept for various path's that are present
It'll be a BIG help to me if you could answer these questions
Thank You!!
Q1: Extended PING: please type "ping" followed by enter at the command line. You will be in extended PING mode.
DeleteQ2: AS path: AS path information is maintained in PT 5.3, although there are no advanced filtering tools such as route-maps. You can type "show ip bgp" to display learned BGP table.
By the way, in IOS BGP configuration, we can only define neighbors manually by "neighbor" commands. To inject BGP reach-ability information, we also have to use "network" command. You can check in this post's body for a configuration sample for the middle router Router1.
Q3: View BGP table: "show ip bgp".
Let me know if I did not answer your questions.
Thank you all my questions have been answered...just one thing though
ReplyDeleteyou mean to say that in PT we can only define a configuration which will include only bgp neighbors and no other bgp routers other than the neighbors.
I am actually trying to imagine a network with say 10 BGP routers spreading their AS path information to each other, so to achieve this i would have to use the network command too along with the usual commands.
I mean how do i go about implementing that
In real routers, not just Packet Tracer, we have to define one after one by hand each routers we want to talk to in BGP (most documents call such relations as neighbors): there are just NO "auto discovering" mechanisms defined in BGP protocol itself.
DeleteThe BGP "network" command in Cisco IOS only means injection of that routing entry. It does not mean auto-discovery anymore in BGP. This is quite different to other protocols such as RIP, OSPF, and EIGRP.
Let's look back to your 10 BGP routers example. To fully exchange all BGP routing information, we have to discuss in 3 scenarios.
S1: All BGP routers belong to the same company (same AS number): this scenario is called "Internal" BGP exchange. In this case, 10 BGP routers requires 45 BGP sessions, fully meshed, to fully exchange BGP information.
And yes, 100 BGP routers will require 4,950 BGP sessions to be configured. A big problem! That's why we need optimizations such as "Route-Reflector" or "BGP Confederation" to solve this problem.
S2: All BGP routers belong to different companies (different AS numbers): this scenario is called "external" BGP exchange. In this case, any interconnecting-as-one-piece sessions would work because external BGP exchange will relay other companies' (ASes') BGP information. Of course, the simplest one is star-shaped hub-and-spoke interconnection, which requires 9 BGP sessions.
S3: in between S1 and S2: Same-company routers remain fully-meshed, while different companies' routers remain interconnecting-as-one-piece. So the number of sessions is between 45 and 9.
A long BGP story! Maybe I should create other posts to talk BGP more!
I understand the concept of i-BGP and e-BGP...however if you say that the neighboring information has to be defined on each and every router by hand then where does the interchange of "network reach-ability information" take place-i mean we are essentially telling every BGP router that these are your neighbors and these are the networks.
DeleteNow if i consider an e-BGP scenario-say i have fifty sites and each site has a customer edge router and the communication between these sites is done using e-BGP so if i understand you correctly then i would have to configure for every CE router, the information for all other 49 neighbors present in the network.
My question is then what information apart from the route advertisement fact is BGP exchanging with other routers. The textbook definition of BGP is exchange of "network reach ability information". All the information being exchanged is going to be manually defined by us right?!.
I suppose the answer to this would be the use of "route-reflectors and BGP Confederation" as you said, i am not aware of these concepts as of now but i am going to look them up soon.
I believe if you have time you can create a post wherein you explain how the communication is taking place between different AS including exchange of path information and such.
P.S:
I thank you for your time for this discussion.
Q1: "if i consider an e-BGP scenario-say i have fifty sites and each site has a customer edge router and the communication between these sites is done using e-BGP":
DeleteMy answer: No. You only have to connect them into "interconnected one-piece". External BGP protocol itself will propagate what the router learned from neighboring BGP routers. A quick topology example like this is working fine for *External BGP*:
(R1) <-> (R2) <-> ... <-> (R50)
Q2: "what information apart from the route advertisement fact is BGP exchanging with other routers. The textbook definition of BGP is exchange of "network reachability information". All the information being exchanged is going to be manually defined by us right?!":
My answer: Yes! That's correct! Everything exchanged in BGP should be defined manually.
For neighboring BGP routers to speak with BGP protocol, we have to define them one by one using "neighbor remote-as XXX" commands.
For exchanged BGP routes, we have to define the IP prefixes we own manually by "network XXX" commands, or manually define route-maps to redistribute routes from sources other than BGP.
Q3: "I suppose the answer to this would be the use of "route-reflectors and BGP Confederation" as you said":
My Answer: Route-reflectors and BGP Confederation are only for "Internal" BGP talking sessions. For External BGP, everything are simpler because "fully-meshed" is NOT required at all among External BGP routers. You may refer to my answer to Q1.
By the way, I am working on a new post about NLRIs and propagation throughout BGP protocol! Please hold on for a moment!
I created a new post about External BGP. You can take a look and let me know whether it helps or not!
Deletehttp://showipprotocols.blogspot.com/2013/06/propagation-of-ebgp-routing-information.html