Do you like this site? Remember to share it to all your friends on Facebook and Twitter!

Friday, April 30, 2010

BGP sample practice, in the new Packet Tracer 5.3

I created this practice to test the Packet Tracer 5.3 features of BGP.

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.
Only external BGP is supported at this moment. A pity!
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:

  1. Declare your own AS number by "router bgp as-number".
  2. Define neighbors with "neighbor Address remote-as as-number".
  3. 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!
Do you like this post? You really should consider Subscribing by Email!


Related Posts with Thumbnails

21 comments:

  1. How 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.

    ReplyDelete
  2. If 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.

    You 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!

    ReplyDelete
  3. This comment has been removed by a blog administrator.

    ReplyDelete
    Replies
    1. I personally accept all your comments. However, I really do not know what the above comment is here for.

      I will delete it soon! Sorry for inconveniences!

      Delete
  4. @author:Rajguru
    useless content

    ReplyDelete
    Replies
    1. This comment has been removed by a blog administrator.

      Delete
    2. This comment has been removed by a blog administrator.

      Delete
    3. This comment has been removed by a blog administrator.

      Delete
    4. I personally accept all your comments. However, I really do not know what the above three comments are here for.

      I will delete them soon! Sorry for inconveniences!

      Delete
  5. thanks.. this post helps me to get the IDEA about how BGP works.. :)

    ReplyDelete
  6. I am really glad to know this post helps, Tameem!

    ReplyDelete
  7. Great post Li!, Thank you for sharing, a few questions

    Firstly, 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!!

    ReplyDelete
    Replies
    1. Q1: Extended PING: please type "ping" followed by enter at the command line. You will be in extended PING mode.

      Q2: 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.

      Delete
  8. Thank you all my questions have been answered...just one thing though

    you 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

    ReplyDelete
    Replies
    1. 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.

      The 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!

      Delete
    2. 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.

      Now 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.

      Delete
    3. 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":

      My 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!

      Delete
    4. I created a new post about External BGP. You can take a look and let me know whether it helps or not!

      http://showipprotocols.blogspot.com/2013/06/propagation-of-ebgp-routing-information.html

      Delete

Tip: you can also anonymously comment here.

Popular Posts