![]() |
University of Kansas
|
1. Name three BGP attributes and explain their use. origin - used to identify the origin of the route useful for route selection aspath - sequence of autonomous systems the route has traversed this is useful for loop detection and route selection nexthop - used to tell the peer the next hop for the enclosed nlri localpref - used to assign a degree of preference to a route med - hint to external neighbors of preferred entry points others might have included community, atomic_aggregate, or aggregator. 2. Discuss two reasons why classful addressing had to be changed. Classful addressing was bad because the boundaries between the classes were too large - most organization had a need for more than 256 hosts, but few needed 65k. Because Cs were so small, organizations were having to allocate Bs, which were running out fast. Organizations could use multiple Cs, but this filled up the routing tables. None of the allocations had topological significance. In short, it was a mess. 3. Break 10.2.0.0/22 into networks supporting 100 hosts each. List the network address, broadcast address and one host address for each network. 10.2.0.0/25 10.2.0.127 10.2.0.1-127 10.2.0.128/25 10.2.0.255 10.2.0.129-254 10.2.1.0/25 10.2.1.127 10.2.1.1-127 10.2.1.128/25 10.2.1.255 10.2.1.129-254 10.2.2.0/25 10.2.2.127 10.2.2.1-127 10.2.2.128/25 10.2.2.255 10.2.2.129-254 10.2.3.0/25 10.2.3.127 10.2.3.1-127 10.2.3.128/25 10.2.3.255 10.2.3.129-254 Some of you broke it into 4 networks, which I guess is correct, as I wasn't clear about how many networks I wanted you to create. This made the problem relatively trivial. Because I didn't feel like I could take off points for the people who only did four nets (that was my fault, not theirs) I tried to go easy on the people who did it the hard way. 4. Break 10.2.0.0/22 into one network supporting 514 hosts and the remaining networks supporting 250 hosts. List the network address, broadcast address and one host address for each network. A /22 supports 1024-2 hosts, a /23 supports 512-2 hosts. Because of this, the entire /22 would have to go toward the network supporting 514 hosts with nothing left over for the other nets. So, the answer would be: 10.2.0.0/22 10.2.3.255 10.2.0.1 Many of you said it couldn't be done, which I guess could be implied from my asking for the remaining networks (there just happened to be zero of them.) This was a poor question on my part. I should have used a /21. I gave you full credit if you said it couldn't be done. 5. Aggregate the following prefixes. Assume that unlisted prefixes out of the same blocks are allocated to someone else. 10.1.1.0/24 10.1.2.0/24 10.1.180.0/22 10.1.176.0/22 Show the minimum announcement. the first two don't aggregate, you need 10.1.0.0/24 to aggregate with 10.1.1.0/24 and you need 10.1.3.0/24 to aggregate with 10.1.2.0/24. The second two could aggregate to 10.1.176.0/21. so, the answer would be: 10.1.1.0/24 10.1.2.0/24 10.1.176.0/21 6. Show an access list capable of blocking all announcements with prefixes longer than a /21 (/21s should be allowed). mask for a /21: 11111111.11111111.11111000.00000000 x anything with a one in the bit above the x should be blocked, therefore I will use a mask of all ones and a wildcard with a zero in this position: mask: 11111111.11111111.11111111.11111111 wildcard: 11111111.11111111.11111011.11111111 - ones mean don't care access-list 101 deny ip any 255.255.255.255 255.255.251.255 access-list 101 permit ip any any or, I could do it with a permit: mask for a /21: 11111111.11111111.11111000.00000000 x anything with a zero in the bit above the x should be permitted, therefore I will use a mask of all zeros and a wildcard with a zero in this position: mask: 00000000.00000000.00000000.00000000 wildcard: 11111111.11111111.11111011.11111111 - ones mean don't care access-list 101 permit ip any 0.0.0.0 255.255.251.255 Your answers may vary - this was a pain to grade. Many of you did a deny for the first line but forgot to put in a permit - remember the explicit deny at the end of the access-list! If you have a list that looks like: access-list 101 deny ip [address] ... access-list 101 deny ip [address] ... it will block everything. another popular answer was: access-list 101 deny ip any 255.255.252.0 0.0.3.255 access-list 101 permit ip any any 7. Show an access list capable of blocking only class A space (all of the prefixes within class A, regardless of mask length.) For this problem you need to know what a class A is - a prefix with the first bit set to be zero. We don't care about the length, so all we really need is a standard access list: access-list 1 deny 0.0.0.0 127.255.255.255 ! deny anything with a zero access-list 1 permit any or access-list 1 permit 255.255.255.255 127.255.255.255 ! permit only if it starts with a 1 Many people chose to block based on mask length, even though I tried to be explicit by saying "regardless of mask length. Partial credit was awarded if you did it this way. 8. List 3 criteria used by BGP to select a route. next hop accessible largest weight largest local pref locally originated shortest aspath lowest origin type lowest med ebgp->confed->ibgp closest igp neighbor lowest router id note that prefix length isn't part of the bgp selection, as bgp selection is only comparing identical nlri (ie - same prefix length.) 9. Explain what unfeasables are in a bgp announcement. routes that are no longer reachable and are being withdrawn. 10. Show the regexp to match the following: a) local routes: ^$ b) routes originated on AS 12: _12$ c) routes transiting AS 12: _12space d) routes touching AS 12: _12_ c was probably the most confusing. You need the space after the 12 to make sure it isn't at the end of the path, which would indicate the route was originated by AS 12. This isn't perfect, as it would match 12 12, but to get around that you would have to use a two line access list.