Welcome

First of all, may I welcome you to my site. My name is Chris and I'm from the UK and work as a Systems Engineer for Cisco. This blog was initially created to post up my subnetting technique but has now got more stuff to do with attaining Cisco certifications. Either way I really hope that the content is sufficent for your needs and I look forward to hearing your feedback. If you find that the content really helps you please feel free to donate using the PayPal link on the right.

To view the index of all my articles please click here.

Showing posts with label CCIE. Show all posts
Showing posts with label CCIE. Show all posts

CCIE - Warm Up Phase - Multicast

Some general notes from the ATC -

(*,G) = I know what group I want to join but I don't know who is sourcing that traffic

Shared Tree uses shortest path to the RP and all traffic passes through the RP

Source tree uses shortest path to the source and traffic may or may not pass through the RP

Bi-directional PIM uses Shared Trees only

Multicast Source Discovery Protocol (MSDP) is a logical peering between RPs in order to exchange Source Active (SA) information. RPF checks are used to prevent loops. Additionally, able to limit or filter SAs. Specifiy the MSDP peer using "ip msdp peer "

Anycast RP - RPs use same IP address. The IGP determines which RP is "closest". If one RP fails, the other RP will be used once IGP reconverges. Used in conjunction with MSDP for exchanging information.

Useful commands:

show ip pim neighbor
show ip pim interface
show ip pim rp mapping
show ip mroute
debug ip mpacket (may need to use "no ip mroute-cache" to see thru-traffic)
debug ip pim

Auto-RP, by default, will not work in a pure Sparse Mode domain as router will not join 224.0.1.39 and 224.0.1.40 as it doesn't know of an RP. However, without joining those groups it won't know what the RP is. There are three workarounds:

a. Default RP assignment where you assign a static RP for 224.0.1.39 and 224.0.1.40 but this defeats the purpose of Auto-RP

b. Configure sparse-dense-mode. This acts as dense mode for those groups with no RP (e.g. 224.0.1.39 and 224.0.1.40).

c. Configure ip pim autorp listener which automatically goes in dense mode for 224.0.1.39 and 224.0.1.40.

Sample Network
--------------

R1--R2--R3--R4--R5--R6

R3 is RP on Lo0 interface. All devices configured with "ip pim rp-address 150.1.3.3" including R3 itself.

All interfaces connected to another router confogured for PIM Sparse Mode.

On R1 configure "ip igmp join-group 224.101.101.101".

R3 should now have a (*,224.101.101.101) as will all routers in the path between R1 and R3.

On R6 try pinging 224.101.101.101 which effectively makes R6 a source for the 224.101.101.101 group.

R3 should now have a (S,G) entry (assume R6 interface is 155.1.146.6) the entry will be (155,1,146,6, 224.101.101.101).

You could use the "ip igmp static-group" command but this will not respond t pings, however, traffic is still processed the normal way and you ought to be able to see the (*,G) and (S,G) entries associated with the static group.



8.1 - A 3560 requires "ip multicast-routing distributed" to be configured.

To test a configuration make an interface join a group and try to ping that group from another router. that interface must also be configured for PIM. What happens here is the interface acts as a host which is listening to a multicast group and the router that is pinging that group address is acting as the multicast source. Example:

int lo0
ip pim dense-mode
ip igmp join-group 224.10.10.10

8.2 If the RPF check fails (i.e. the IGP prefers a path to a source via a different interface, maybe because PIM is not enabled on that interface) then you could always add a static route to the mroute table.

ip mroute 155.1.146.0 255.255.255.0 155.1.0.4

In this example on R5, the IGP preferred a route in EIGRP via the point-to-point serial link to R4. However, PIM was not enabled on that interface but instead on the frame Relay cloud between R4 and R5. Hence, multicast traffic was attempting to go over the Frame Relay cloud but was failing the RPF check (e.g. 155.1.146.6 is meant to be reachable via the point-to-point link and not the Frame Realy cloud).

To change how often a router checks RPF use the "ip multicast rpf interval" command.

To configure a router to perform triggered RPF checks after a topology change and specify a maximum delay use "ip multicast rpf backoff "

8.3 - There is a nother RPF failure but that is because R5's Lo0 interface was being advertised as a /32 by OSPF and therefore was the longest match when compared to the /24 advertised by EIGRP. By changing the OSPF network type to point-to-point under the Lo0 interface of R5, the RPF check passed and traffic flowed.

To specify a traffic limit when the Shortest Path Tree (SPT) is used (switched over to) use the "ip pim spt-threshold" command.

8.4 - note that Dense Mode uses (*,G) tuples and Sparse Mode uses (S,G) tuples. to specify which groups an RP can be an RP for, create an access-list and apply that to the rp-address command:

ip access-list standard ACL_ALLOWED_GROUPS
permit 224.0.0.0 0.0.0.255
!
ip pim rp-address 150.1.5.5 ACL_ALLOWED_GROUPS

8.5 - the PIM Assert message tells a shared segment which router should be forwarding on that segment for that particular group. The tiebreak on this is the administrative distance used to reach the source. So, for example, you had a device using EIGRP and one using OSPF, the one using EIGRP would win the assertion due to the lower AD (90 versus 110). To change this you would need to alter the AD of the routing protocol.

8.6 - The Accept RP tells a router to only accept specific groups from trying to join an RP.

For example, if R5 Lo0 is the RP (150.1.5.5) and you only wanted groups 224.10.10.10 and 224.110.110.110 to be able to reach that RP use the following:

ip access-list standard ACL_ACCEPT_RP
permit 224.10.10.10
permit 224.110.110.110
!
ip pim accept-rp 150.1.5.5 ACL_ACCEPT_RP

8.7 - The PIM DR Election process is pre-emptive, unlike OSPF DR election. The winner is the router with the highest priority (default of 1) and if they are tied then the router with the highest IP address will be the PIM DR.

ip pim dr-priority

The "show ip pim interface detail" command will tell you whether the interface is PIM DR.

8.8. The PIM Accept Register is configured on a RP and tells the RP which sources can register with it. If a source tries to register with the RP that is not on the register you will see Register-Stop messages (assuming "debug ip pim" is configured).

8.9 Multicast tunnelling is straightforward. Try using ip unnumbered on the tunnel as its IP address. Must ensure PIM is configured on tunnel interface and make the tunnel interface passive under the routing process. May also need a static mroute to ensure that the RPF checks do not fail.

Posted byChris Bloomfield at 16:59 0 comments  

CCIE - Warm-Up Phase - BGP

Hi,

I am pretty happy with BGP but still there are a few things that I need to get into my head.

7.5 - Disable Connected Check - this allows eBGP peers to use an IP address to peer that is not directly connected to the neighbor (e.g. a loopback interface). The difference between this and ebgp-multihop is that the TTL is not adjusted for disable-connected-check and that eBGP sessions will not form over transit routers.

7.8 - The bgp cluster-id is applied to the route reflector only.

7.9 - The confederation AS is used in the "router bgp" command and the bgp-confederation identifier refers to the proper AS. You must also specify bgp confederation peers otherwise the adjacency won't come up. In addition, confederation peers are treated as eBGP neighbors and should use directly connected interfaces, otherwise need to use things like update-source and ebgp-multihop.

7.11 - Instead of using next-hop-self you can create a route-map to "set ip next-hop" and apply that to the neighbor (e.g. neighbor 1.2.3.4 route-map ROUTE_MAP_NAME in/out"

7.12 - iBGP synchronization - Do not advertise a BGP route unless it is also learned by the IGP running in the network. In essence this requires the edge router to redistribute the eBGP routes into the IGP in order for iBGP to advertise the routes. Be careful when redistributing routes into IGP. Use an AS PATH access-list:

ip as-path access-list 1 permit ^_54
!
route-map MATCH_AS_PATH permit 10
match as-path 1
!
router eigrp 100
redistribute bgp 100 metric 100000 1000 255 1 1500 route-map MATCH_AS_PATH

Posted byChris Bloomfield at 08:52 0 comments  

CCIE - Warm-Up Phase - OSPF

This is in relation to INE Workbook 1 and their 48 week program to get up to speed with passing the CCIE exam.

What have I learned?

6.1 - A network statement of "network 0.0.0.0 0.0.0.0 area 0" gets changed to "network 0.0.0.0 255.255.255.255 area 0" which is basically a single network statement that covers all interfaces.

6.2 - By default Frame Relay defaults to an OSPF network type of non-broadcast. This means that a DR/BDR is elected, however, hellos are sent as UNICASTS therefore you must configure static neighbor commands. This needs to be done only on one end of the link but it may be best practice to configure it at both ends for clarity. In addition, as a DR is elected it does not change the next-hop value when it sends out Type 2 LSAs hence spoke routers need a path to the next-hop value via the PVC to the hub (e.g. frame-relay map ip 155.1.0.4 105 -- this will send traffic to 155.1.0.4 via DLCI 105 which is the PVC to R5 which is the hub for this network).

6.4 - Point-to-point uses multicast hellos and no need for DR/BDR election or neighbor statements.

6.5 - Point-to-multipoint. As this is over Frame Relay and the initial Frame Relay maps did not include the "broadcast" keyword no adjacencies formed. Point-to-multipoint uses multicast hellos so you have to specify the "broadcast" keyword. There are also no DR/BDR elections so the hub (R5 in this case) changes the next-hop to itself (155.1.0.5). As each router (R1 to R4) has a Frame Relay map to R5 full-reachability is made.

6.6 - Point-to-multipoint non-broadcast. The only difference here is that it sends hellos as unicast and requires a neighbor statement.

6.7 - Changing the network type on Loopback interfaces to point-to-point advertises the network with its correct mask (in this example /24) rather than the default Loopback type which advertises them as a stub with a /32 even if they are not configured as /32.

6.8 - The reference bandwidth is configured in Mbps.

6.10 - OSPF Path selection with Bandwidth - Change the bandwidth on an interface that RECEIVES the LSA and that is downstream from the device you wish to be affected (e.g. this example requires R6 to route via R1 so change the bandwidth value on R1 Se0/0 to a greater value to affect the overall cost. Note that R1, R4, and R6 share an Ethernet segment)

6.11 - Changing the cost per neighbor. To find out what cost OSPF would assign a bandwidth value change the bandwidth on an interface and use "show ip ospf interface | inc Cost" to find out that value. Assign that value to the neighbor using "neighbor cost ". Don't forget to change the bandwidth back to the correct value!

6.12 - If a router connects two areas together and neither of those areas are Area 0 then the ABR will not act as an ordinary ABR and will not forward Inter-Area routes as all Inter_Area routes must be advertised via Area 0. Therefore you need to use a Virtual Link.

6.13 - OSPF Path Selection with Non-Backbone Transit Areas. After the virtual link was formed and I adjusted some costs on R4, routes to SW2 were being routed via Area 1 (specifically, via R4) and not to R1 even though that link is effectively Area 0 as it is a virtual link. To allow the use of the virtual link you must use "no capability transit" command at BOTH ends of the virtual link.

6.14 - OSPF virtual links will not come up if the cost used to reach the other end of the virtual link is 65535 which is the maximum cost associated with an interface. You must therefore change the OSPF cost at BOTH ENDS of the virtual link.

Posted byChris Bloomfield at 16:58 0 comments  

CCIE Study - Written v4 Chapters 1 to 3 - 22/02/10

Well I've learned lots actually, or more accurately put, I remembered lots of stuff that I had forgotten. Stupid stuff that I should have known right off the bat but slipped the mind.

Etherchannel
Cisco recommends for PAgP that both ends of the link be configured as Desirable.

Ethernet Basics
802.3ab defines GigabitEthernet over UTP whereas 802.3z defines GigabitEthernet over Fibre. 802.3u defines FastEthernet.

MAC addresses are in canonical format which means that the most significant bit is on the right. Take the first two hexidecimal values from a MAC address and convert them to binary to give you an 8-bit string. The Individual/Group bit (I/G) is the right-most bit (i.e. the most signficant bit). If that is set to 0 then the MAC address is a unicast. If it is set to 1 then the MAC address is a broadcast or multicast. The second right-most bit is the Universal/Local bit (U/L). If this is set to 0 then the MAC address has been assigned by the vendor. If it is set to 1 then the MAC address has been administratively assigned.

Q-in-Q
VPLS and EoMPLS offer alternatives to Q-in-Q.

Spanning Tree
If a switch does not have any trunks configured at boot time but has the "spanning-tree root primary" command issued the priority of the switch will go to 24576 which is 8192 less than the default priority of 32768. If a trunk link is then formed and a switch has a higher priority then it will become the root and not the one with the root primary macro.

If you want to configure BPDUGuard at interface level you must take off any interface-level PortFast configuration first.

If running 802.1D and the root port does not receive any BPDUs the switch will wait for the Max Age timer to expire (default 20 seconds) before using another port.

Port priority and port number when used as a tiebreaker are those on the advertising switch and not on the switch that receives the BPDU.

If a root port fails then switchover to an alternative port is almost immediate.

SPAN/RSPAN
Destination ports do not forward Layer 2 protocols such as CDP, DTP, VTP, and STP.

Up to 64 destination ports may be configured.

The monitor session number can range between 1 and 66.

VLANs
The only VLANs that can be pruned are VLANs 2-1001. VLANs 1, and 1002-1005 are not prune eligible and can never be deleted.

Posted byChris Bloomfield at 18:37 0 comments  

QoS - Bandwidth, Bandwidth Percent, Bandwidth Remaining Percent

OK, I need to get this firmly lodged in my brain. What exactly are the differences in all of the bandwidth statements when using Modular QoS CLI (MQC)?


Let's start with two values:

The actual total bandwidth of the interface which we'll call int-bw.

The maximum bandwidth that can be reserved on an interface (default 75%) which we'll call max-resv-bw.

There are 3 bandwidth statements that can be used in MQC but note that you must only use one type of bandwidth statement per policy map (e.g. you cannot use bandwidth and bandwidth percent in the same policy map).

The first statement is simply bandwidth [kbps] which reserves the value specified from the actual total bandwidth, int-bw. Remember that the total value of all of the bandwidth statements cannot exceed the maximum bandwidth that can be reserved max-resv-bw.

The second statement is bandwidth percent [percent] which reserves the specified percentage of the actual total bandwidth, int-bw. Remember that the total value of all of the bandwidth percent statements cannot exceed the maximum bandwidth that can be reserved max-resv-bw.

The third statement is bandwidth remaining percent [percent] which reserves the specified percentage of the remaining maximum reservable bandwidth. Remember that the total value of all of the bandwidth remaining percent statements cannot exceed the maximum bandwidth that can be reserved max-resv-bw.

This is probably all better served with an example. Let's say that we have a policy-map with two classes in there, class1 and class2, applied to an interface whose bandwidth is 256kbps. We have the following two values:

int-bw = 256kbps
max-resv-bw = 256kbps * 0.75 = 192kbps

Note 0.75 in the max-resv-bw calculation as by default max-resv-bw is 75% of int-bw.

Let's see how the bandwidth statement affects the policy map:

class class1
bandwidth 64
class class2
bandwidth 32

Quite simply, class1 will be reserved a minimum of 64kbps and class2 will be reserved a minimum of 32kbps. However, if the total of all of the bandwidth statements exceeded the max-resv-bw of the interface (192kbps in this case) Cisco IOS would not allow the policy-map to be applied to the interface. In the example above the total of all of the bandwidth statements is 96kbps which is less than the max-resv-bw of 192kbps.

Let's see how the bandwidth percent statement affects the policy map:

class class1
bandwidth percent 20
class class2
bandwidth percent 10

In this case, class1 will be reserved a minimum of 20% of int-bw which is 52kbps in this example and class2 will be reserved a minimum of 10% of int-bw which is 25.6kbps. However, if the total of all of the bandwidth percent statements exceeded the max-resv-bw of the interface (192kbps in this case) Cisco IOS would not allow the policy-map to be applied to the interface. In the example above the total of all of the bandwidth statements is 77.6kbps which is less than the max-resv-bw of 192kbps.

Let's see how the bandwidth remaining percent statement affects the policy map:

class class1
bandwidth remaining percent 20
class class2
bandwidth remaining percent 10

In this case, class1 will be reserved a minimum of 20% of max-resv-bw which is 38.4kbps in this example and class2 will be reserved a minimum of 10% of max-resv-bw which is 19.2kbps. However, if the total of all of the bandwidth remaining percent statements exceeded the max-resv-bw of the interface (192kbps in this case) Cisco IOS would not allow the policy-map to be applied to the interface. In the example above the total of all of the bandwidth statements is 57.6kbps which is less than the max-resv-bw of 192kbps.

In essence the following formulas hold true:

Bandwidth - Reserves value specified. Total of all statements in same policy map cannot exceed max-resv-bw.

Bandwidth Percent - Reserves specified percentage of int-bw. Total of all statements in same policy-map cannot exceed max-resv-bw.

Bandwidth Remaining Percent - Reserves specified percentage of max-resv-bw. Total of all statements in same policy-map cannot exceed max-resv-bw.

Finally, you can change the value of max-resv-bw at the interface level. However, Cisco does not recommend that you do this as to allow for control traffic. To do this use the max-reserved-bandwidth [percent] command. For example, if I wanted to be able to reserve 85% of Serial 0/0 bandwidth I would do the following:

interface Serial0/0
max-reserved-bandwidth 85

I hope this has helped you as much as it has helped me bt typing it out.

Good luck with your studies!

Posted byChris Bloomfield at 09:34 0 comments  

MPLS Command Memorizer Review

Some time ago I purchased the CCIE Command Memorizer from http://www.configureterminal.com which bundled in the MPLS Command Memorizer. For those of you that give a damn, I am currently taking my CCIP due to the CCIE v4 blueprint change which focuses more on MPLS. I'm halfway there with MPLS slated for 18th May leaving QoS which I aim to complete by the Summer.

UPDATE: Passed with 987 in no small part to the MPLS Command Memorizer :-)

I've played a lot with the MPLS Command Memoriser and have found it to be a wonderful tool to exercise fingers and mind and a couple of typos in the correct answers actually showed me that I knew more about the commands than I thought. Perhaps this has deliberately been put in by David ;-)

It covers a wide range of topics including basic setting up of an MPLS network through to the various IGPs that can be used between CE and PE. There were also some useful exercises on those commands that may slip out of your mind such as "no ip mpls propagate-ttl forwarded" and conditional label advertisement. You have to type the commands in full as well so for me that is a great way of remembering the commands.

My only recommendation for this product would be to include an AToM link and most definitely for me a section on MPLS Traffic Engineering - that would be real boon.

Overall though I cannot recommend the Command Memorisers highly enough and would like to thank David Bombal for a terrific application which is not only a great standalone product but perfectly complements all other training materials such as books and labbing. I would also like to thank David for his support while I have been going through PCs like no tomorrow :-)

Posted byChris Bloomfield at 10:23 0 comments