1

I was in a technical interview yesterday and my interviewer asked me a question:

If you have a single router connected to a private LAN and also connecting to two ISPs (single multihomed design) like this topology: BGP Single-multihomed

Assume that the Enterprise Router E1 connected to a LAN (whatever its IP) and running eBGP between each of those ISPs.

How could you route your LAN's UPLOAD traffic via ISP1 and your DOWNLOAD traffic via ISP2?

I told him that my knowledge is just about CCNA R&S and CCNP ROUTE because I thought that this question is very advanced for a CCNP ROUTE certificate holder. He told me that this question is within the CCNP ROUTE syllabus.

I wondered if I can answer this question by CCNP ROUTE knowledge and also wonder how to answer this question by using BGP attributes or by any means?

I hope if someone could help me answering this question.

Thanks in advance.

  • I think the wording 'upload' & 'download' traffic is misleading. Did the interviewer mean upstream vs downstream? Definitely involves a routemap. I dont know of any way to split a tcp flow like that. But I would've told him that asymmetric routing is poor design and traffic should be split based on other factors – LucentMoon Sep 29 '14 at 12:43
  • @LucentMoon Thanks for replying. He said upload & download not upstream and downstream but I think they are the same. I was 100% sure that I have to use route-map but I couldn't translate his words into commands or imagine how can I do this at all. Regardless of the asymmetric routing which as you say its poor and I agree, you know these questions are just to test the interviewee knowledge. – ABC Sep 29 '14 at 13:54
1

He might have asked you not to implement this, but just to test your knowledge about BGP.

Regarding upstream traffic: Ask ISP1 to advertise only a default route to your router. Filter all routes received from ISP2.

Regarding downstream traffic: Advertise all your routes through ISP2. Advertise none through ISP1.

Bonus point: Instead of filtering all routes from ISP2, create a policy stating that it should receive a default route, only with a metric higher than the one from ISP1. If you have more specific routes, those are preferred so if you have a /23, advertise a /23 to ISP1 and two /24 to ISP2. These would cover you should one of the ISPs fail.

Other ways of doing this would be local preference and weight (cisco proprietary) for upstream traffic and MED for downstream traffic, but you would have to ask your ISPs if it's accepted.

| improve this answer | |
  • Thanks for replying. I realized that I can use your last point which is manipulating the BGP attribute for both directions but for the Bonus point I know that longest match networks are preferred but I don't get the whole point of your "Bonus point". Could you clarify it more please? Thanks. – ABC Sep 29 '14 at 13:58
  • If you did exactly as asked by your interviewer, if any of the ISPs had problems, you would lose your connectivity. If you did as in the bonus point, it would provide a failover mechanism and should your ISP have problems, you'd still be connected. There's also a "and advertise" that is extra and I will edit the answer when I get to the PC again, sorry – Pedro Brito Sep 29 '14 at 14:05
  • I think if I used the last point I won't face any problems because ever since an ISP is failed, the attributes of e.g. ISP1 which are manipulated would never have other attributes of ISP2 in the enterprise router's BGP table to be compared with because e.g. if a specific NLRI that both ISPs are advertising is removed from the advertisement by either ISP whilst maintained by the other, I think the enterprise router should failover. Right? Thanks and I'm await for you. – ABC Sep 29 '14 at 14:16
  • Yes. As soon as the BGP session stops working, all the information from ISP1 (or ISP2) is removed from the routing tables and everything starts flowing automatically through the other ISP that is still active. No packets would be lost because the two routes are already on the table and would not need recomputing or anything like that. – Pedro Brito Sep 29 '14 at 14:22
  • Then every solution you said is providing a failover mechanism not only the bonus. Anyways I'm still a little bit confused about how to implement your bonus point. Hope you give a short example as soon as you return home or as possible. Thanks. – ABC Sep 29 '14 at 14:25
3

I agree the question is a little vague, but if I had asked the question, I would be looking for your general understanding of BGP and techniques, not a specific configuration.

As an aside, if you think the question is vague, you should always ask for clarification.

To influence how traffic is received by E1, you control what you advertise to the ISPs. So to have traffic only come from ISP2, you only advertise your network to ISP2. You could also advertise specific subnets to ISP2, and a larger network to both ISPs.

EDIT: I forgot to mention that you can also use AS-PATH prepending (to ISP1) to have traffic use ISP2 over ISP1 (I clearly have not had enough coffee this morning). Note that in real life, this only works for some ISPs.

To control traffic to the ISPs, you can manipulate BGP advertisements received from the ISPs, so that outbound traffic uses ISP1. For example, you can use the WEIGHT attribute on routes received from ISP1 to have all traffic go to ISP1. Or, you can dispense with BGP altogether and use static routes, PBR, etc.

In a real network there would be lots of other factors that determine which techniques you use. The point here is to demonstrate that you know at least some ways to manipulate BGP to control routing.

| improve this answer | |
  • 1
    Thanks for replying. I got other questions where I asked for more clarifications but I just stopped at this because I couldn't even understand how is this exists at all! I was thinking it is impossible because I was NOT thinking on the fact that "uploading = sending" or "downloading = receiving". My mind stopped working when I started to think how can I translate these words into configuration commands or imagine how can I use the attributes to manipulate something like this. I also thought of PBR but I think this would only work for uploading. Right? Thanks for your time. – ABC Sep 29 '14 at 14:05
  • 1
    Yes. You have to use separate techniques to control upload path and download path. Which, by the way, is an important feature of BGP. Also, asymmetric routing is the rule rather than the exception on the Internet. – Ron Trunk Sep 29 '14 at 14:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.