Monday, March 3, 2008

Cisco CCNP Certification / BCMSN Exam Tutorial: Writing QoS Policy

QoS - Quality of Service - is a huge topic on both the BCMSN exam and real-world networks. QoS is so big today that Cisco's created separate specialist certifications that cover nothing but QoS! It can be an overwhelming topic at first, but master the fundamentals and you're on your way to exam and job success.

If you work with QoS at any level - and sooner or later, you will - you've got to know how to write and apply QoS policies.

Creating and applying such a policy is a three-step process.

1. Create a QoS class to identify the traffic that will be affected by the policy.

2. Create a QoS policy containing the actions to be taken by traffic identified by the class.

3. Apply the policy to the appropriate interfaces.

If the phrase "identify the traffic" sounds like it's time to write an access-list, you're right! Writing an ACL is one of two ways to classify traffic, and is the more common of the two. Before we get to the less-common method, let's take a look at how to use an ACL to classify traffic.

You can use either a standard or extended ACL with QoS policies. The ACL will be written separately, and then called from the class map.

SW1(config)#access-list 105 permit tcp any any eq 80

SW1(config)#class-map WEBTRAFFIC

SW1(config-cmap)#match access-group 105

Now that we've identified the traffic to be affected by the policy, we better get around to writing the policy! QoS policies are configured with the policy-map command, and each clause of the policy will contain an action to be taken to traffic matching that clause.

SW1(config)#policy-map LIMIT_WEBTRAFFIC_BANDWIDTH

SW1(config-pmap)#class WEBTRAFFIC

SW1(config-pmap-c)#police 5000000 exceed-action drop

SW1(config-pmap-c)#exit

This is a simple policy, but it illustrates the logic of QoS policies. The policy map LIMIT_WEBTRAFFIC_BANDWIDTH calls the map-class WEBTRAFFIC. We already know that all WWW traffic will match that map class, so any WWW traffic that exceeds the stated bandwidth limitation will be dropped.

Finally, apply the policy to the appropriate interface.

SW1(config-if)#service-policy LIMIT_WEBTRAFFIC_BANDWIDTH in

Getting your CCNP is a great way to boost your career, and learning QoS is a tremendous addition to your skill set. Like I said, learn the fundamentals, don't get overwhelmed by looking at QoS as a whole, and you're on your way to success!

Chris Bryant, CCIE #12933, is the owner of The Bryant Advantage (http://www.thebryantadvantage.com), home of free CCNP and CCNA tutorials! For my FREE "How To Pass The CCNA" or "CCNP" ebook, visit the website and download your copies. Pass your CCNP exam with The Bryant Advantage!

Labels: , ,

Sunday, March 2, 2008

Cisco CCNA Certification Exam Tutorial: Frame Relay DLCIs And Mappings

Passing the CCNA is tough, and one of the toughest parts is keeping all the acronyms straight! Frame Relay has plenty of those, and today we're going to examine what DLCIs do and how they're mapped on a Cisco router.

Frame Relay VCs use Data-Link Connection Identifiers (DLCI - pronounced "del-see") as their addresses. Unlike other Cisco technologies, VCs have only a single DLCI in their header. They do not have a source and destination. DLCIs have local significance only. DLCI numbers are not advertised to other routers, and other routers can use the same DLCI numbers without causing connectivity issues.

Cisco uses the term global addressing to describe a technique by which a router in a frame relay network is reached via the same DLCI number from each router in the network. For example, in a 25-router network, the same DLCI number would be used to reach "Router A" by each router.

Global Addressing is an organizational tool that does not affect the fact that DLCIs have local significance only.

The locally significant DLCI must be mapped to the destination router's IP address. There are two options for this, Inverse ARP and static mapping.

In both of the following examples, the single physical Serial interface on Router 1 is configured with two logical connections through the frame relay cloud, one to Router 2 and one to Router 3.

Inverse ARP runs by default once Frame Relay is enabled, and starts working as soon as you open the interface. By running show frame-relay map after enabling Frame Relay, two dynamic mappings are shown on this router. If a dynamic mapping is shown, Inverse ARP performed it.

R1#show frame map

Serial0 (up): ip 200.1.1.2 dlci 122(0x7A,0x1CA0), dynamic,

broadcast,, status defined, active

Serial0 (up): ip 200.1.1.3 dlci 123(0x7B,0x1CB0), dynamic,

broadcast,, status defined, active

Static mappings require the use of a frame map statement. To use static mappings, turn Inverse ARP off with the no frame-relay inverse-arp statement, and configure a frame map statement for each remote destination that maps the local DLCI to the remote IP address. Frame Relay requires the broadcast keyword to send broadcasts to the remote device.

R1#conf t

R1(config)#interface serial0

R1(config-if)#no frame-relay inverse-arp

R1(config-if)#frame map ip 200.1.1.2 122 broadcast

R1(config-if)#frame map ip 200.1.1.3 123 broadcast

The syntax of the frame map statement maps the remote IP address to the local DLCI. Broadcasts will not be transmitted by default; the broadcast option must be configured.

R1#show frame map

Serial0 (up): ip 200.1.1.2 dlci 122(0x7A,0x1CA0), static,

broadcast,

CISCO, status defined, active

Serial0 (up): ip 200.1.1.3 dlci 123(0x7B,0x1CB0), static,

broadcast,

CISCO, status defined, active

Hands-on practice is the best way to prepare for CCNA exam success. Working with Frame Relay in a lab environment practically guarantees that you'll truly master the concepts shown here - and then you're on your way to the CCNA and becoming a master network engineer.

Chris Bryant, CCIE #12933, is the owner of The Bryant Advantage , home of free CCNA and CCNP tutorials! Pass the CCNA exam with Chris Bryant!

Labels: , ,

Sunday, February 3, 2008

Cisco CCNP/BSCI Exam Tutorial: Introduction To Policy Routing

Policy routing is a major topic on your BSCI exam, and you'll find quite a bit of policy routing going on in today's production networks. But what exactly is policy routing?

Policy-based routing, generally referred to as "policy routing", is the use of route maps to determine the path a packet will take to get to its final destination. As you progress through your CCNP studies and go on to the CCIE (or to a Cisco Quality Of Service certification), you'll find that traffic can be "marked" by policy routing in order to give different levels of service to various classes of traffic. (This is done by marking the traffic and placing the different classes of traffic in different queues in the router, allowing the administrator to give some traffic higher priority for transmission.)

There are some basic policy routing rules you should know:

Policy routing doesn't affect the destination of the packet, but does affect the path that is taken to get there.

Policy routing can forward traffic based on the source IP address or the destination IP address (with the use of an extended ACL).

Policy routing can be configured at the interface level, or globally.

Applying policy routing on an interface affects only packets arriving on that interface:

R2(config)#int s0

R2(config-if)#ip policy route-map CHANGE_NEXT_HOP

Applying the policy globally applies the route map to packets generated on the router, not on all packets received on all interfaces.

Whether you're running policy routing at the interface level, on packets created locally, or both, always run the command show ip policy to make sure you've got the right route maps on the proper interfaces.

R2#show ip policy

Interface Route map

local CHANGE_NEXT_HOP

Serial0 CHANGE_NEXT_HOP

And here's the big rule to remember....

If a packet doesn't match any of the specific criteria in a route map, or does match a line that has an explicit deny statement, the data is sent to the routing process and will be processed normally. If you don't want to route packets that do not meet any route map criteria, the set command must be used to send those packets to the null0 interface. This set command should be the final set command in the route map.

There are four possibilities for an incoming packet when route maps are in use. The following example illustrates all of them.

R2(config)#access-list 29 permit host 20.1.1.1

R2(config)#access-list 30 permit host 20.2.2.2

R2(config)#access-list 31 permit host 20.3.3.3

R2(config)#access-list 32 permit host 20.4.4.4

R2(config)#route-map EXAMPLE permit 10

R2(config-route-map)#match ip address 29

R2(config-route-map)#set ip next-hop 40.1.1.1

R2(config-route-map)#route-map EXAMPLE permit 20

R2(config-route-map)#match ip address 30

Assuming the route map has been applied to the router's ethernet0 interface, a packet sourced from 20.1.1.1 would meet the first line of the route map and have its next-hop IP address set to 40.1.1.1.

A packet sourced from 20.2.2.2 would match the next permit statement (sequence number 20). Since there is no action listed, this packet would return to the routing engine to undergo the normal routing procedure. All traffic that did not match these two addresses would also be routed normally - there would be no action taken by the route map.

Perhaps we want to specifically block traffic sourced from 20.3.3.3 or 20.4.4.4. We can use multiple match statements in one single route map, and have packets matching those two addresses sent to the bit bucket - the interface null0.

R2(config)#route-map EXAMPLE permit 30

R2(config-route-map)#match ip address 31

R2(config-route-map)#match ip address 32

R2(config-route-map)#set ?

as-path Prepend string for a BGP AS-path attribute

automatic-tag Automatically compute TAG value

comm-list set BGP community list (for deletion)

community BGP community attribute

dampening Set BGP route flap dampening parameters

default Set default information

extcommunity BGP extended community attribute

interface Output interface

ip IP specific information

level Where to import route

local-preference BGP local preference path attribute

metric Metric value for destination routing protocol

metric-type Type of metric for destination routing protocol

origin BGP origin code

tag Tag value for destination routing protocol

weight BGP weight for routing table

R2(config-route-map)#set interface null0

Any traffic matching ACLs 31 or 32 will be sent to null0, resulting in its being discarded by the router. Any traffic that didn't match any of the route map statements will be returned to the routing engine for normal processing.

Knowing policy routing and how to apply it are essential skills for passing the BSCI exam, earning your CCNP, and becoming more valuable in today's job market. Get some hands-on practice in a CCNA / CCNP home lab or rack rental to go along with learning the theory, and you'll be writing and applying policy routing in no time at all.
Chris Bryant, CCIE #12933, is the owner of The Bryant Advantage (http://www.thebryantadvantage.com ), home of free CCNA and CCNP tutorials, and The Ultimate CCNA and CCNP Study Packages. For a copy of his FREE "How To Pass The CCNA" or "CCNP" ebook, visit the website and download your copies!

Labels: , , , , ,

Thursday, January 24, 2008

Cisco CCNP / BSCI Exam Tutorial: Filtering BGP Updates With Prefix Lists

A major part of your BSCI and CCNP exam success is mastering BGP, and that includes filtering BGP routing updates. In this tutorial, we'll take a look at how to filter BGP updates with prefix lists.

R4 is advertising three networks via BGP. The downstream router R3 sees these routes and places them into its BGP table as shown below. R3 has two downstream BGP peers, R1 and R2, and is advertising itself as the next-hop IP address for all BGP routes sent to those two routers.

R4(config)#router bgp 4

R4(config-router)#network 21.0.0.0 mask 255.0.0.0

R4(config-router)#network 22.0.0.0 mask 255.0.0.0

R4(config-router)#network 23.0.0.0 mask 255.0.0.0

R3#show ip bgp

BGP table version is 4, local router ID is 3.3.3.3

Status codes: s suppressed, d damped, h history, * valid, > best, i - Internal

Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path

*> 21.0.0.0 10.2.2.4 0 0 4 I

*> 22.0.0.0 10.2.2.4 0 0 4 I

*> 23.0.0.0 10.2.2.4 0 0 4 I

R3(config)#router bgp 123

R3(config-router)#neighbor 172.12.123.1 next-hop-self

R3(config-router)#neighbor 172.12.123.2 next-hop-self

In turn, both R1 and R2 have these three routes in their respective BGP tables.

R2#show ip bgp

BGP table version is 4, local router ID is 2.2.2.2

Status codes: s suppressed, d damped, h history, * valid, > best, i - Internal

Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path

*>i21.0.0.0 172.12.123.3 0 100 0 4 I

*>i22.0.0.0 172.12.123.3 0 100 0 4 I

*>i23.0.0.0 172.12.123.3 0 100 0 4 I

R1#show ip bgp

BGP table version is 4, local router ID is 19.1.1.1

Status codes: s suppressed, d damped, h history, * valid, > best, i - Internal

Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path

*>i21.0.0.0 172.12.123.3 0 100 0 4 I

*>i22.0.0.0 172.12.123.3 0 100 0 4 I

*>i23.0.0.0 172.12.123.3 0 100 0 4 I

If we wanted R3 to receive all three of these routes from R4 but not advertise all of them to R2 and R1, we've got a couple of options on how to block these routes. Cisco's recommendation is the use of prefix-lists, and once you get used to the syntax (which you should do before taking and passing the BSCI), you'll see they are actually easier to use than access-lists.

In this case, we're going to configure R3 to send only the route to 21.0.0.0 to R1 and 23.0.0.0 to R2. However, we do want these two routers to get any future routes that R4 advertises into BGP.

Since R1 and R2 will learn about these routes from an iBGP neighbor, they will not advertise the routes to each other.

On R3, we'll write a prefix-list that denies 22.0.0.0/8 and 23.0.0.0/8, but permits all other routes. After applying the prefix list as shown, R1 sees only the 21.0.0.0 /8 route.

R3(config)#ip prefix-list FILTER_R1 deny 22.0.0.0/8

R3(config)#ip prefix-list FILTER_R1 deny 23.0.0.0/8

R3(config)#ip prefix-list FILTER_R1 permit 0.0.0.0/0 le 32

R3(config)#router bgp 123

R3(config-router)#neighbor 172.12.123.1 prefix-list FILTER_R1 out

R3#clear ip bgp * soft

R1#show ip bgp

BGP table version is 6, local router ID is 19.1.1.1

Status codes: s suppressed, d damped, h history, * valid, > best, i - Internal

Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path

*>i21.0.0.0 172.12.123.3 0 100 0 4 I

The paths to 22.0.0.0/8 and 23.0.0.0/8 have been successfully filtered.

We'll do the same for R2, except the route not being expressly blocked is 23.0.0.0/8. The line "ip prefix-list permit 0.0.0.0/0 le 32" is the prefix list equivalent of a "permit any" statement in an ACL.

R3(config)#ip prefix-list FILTER_R2 deny 21.0.0.0/8

R3(config)#ip prefix-list FILTER_R2 deny 22.0.0.0/8

R3(config)#ip prefix-list FILTER_R2 permit 0.0.0.0/0 le 32

R3(config)#router bgp 123

R3(config-router)#neighbor 172.12.123.2 prefix-list FILTER_R2 out

R3#clear ip bgp * soft

R2#show ip bgp

BGP table version is 6, local router ID is 2.2.2.2

Status codes: s suppressed, d damped, h history, * valid, > best, i - Internal

Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path

*>i23.0.0.0 172.12.123.3 0 100 0 4 I

The paths to 21.0.0.0/8 and 22.0.0.0/8 have been successfully filtered.

To see the prefix lists configured on a route as well as the order of the statements in each list, run show ip prefix-list.

R3#show ip prefix-list

ip prefix-list FILTER_R1: 3 entries

seq 5 deny 22.0.0.0/8

seq 10 deny 23.0.0.0/8

seq 15 permit 0.0.0.0/0 le 32

ip prefix-list FILTER_R2: 3 entries

seq 5 deny 21.0.0.0/8

seq 10 deny 22.0.0.0/8

seq 15 permit 0.0.0.0/0 le 32

Get some hands-on practice with prefix lists and you'll quickly master them. Prefix lists are an important part of working with BGP in the exam room and production networks, so it's vital that you are comfortable working with them.

Chris Bryant, CCIE #12933, is the owner of The Bryant Advantage , home of free CCNA and CCNP tutorials! Pass the CCNA exam with Chris Bryant!

Labels: , , , , , , ,

Sunday, January 20, 2008

Cisco CCNA Exam Tutorial: Configuring Standard Access Lists

Access Control Lists (ACLs) allow a router to permit or deny packets based on a variety of criteria. The ACL is configured in global mode, but is applied at the interface level. An ACL does not take effect until it is expressly applied to an interface with the ip access-group command. Packets can be filtered as they enter or exit an interface.

If a packet enters or exits an interface with an ACL applied, the packet is compared against the criteria of the ACL. If the packet matches the first line of the ACL, the appropriate "permit" or "deny" action is taken. If there is no match, the second line's criterion is examined. Again, if there is a match, the appropriate action is taken; if there is no match, the third line of the ACL is compared to the packet.

This process continues until a match is found, at which time the ACL stops running. If no match is found, a default "deny" takes place, and the packet will not be processed. When an ACL is configured, if a packet is not expressly permitted, it will be subject to the implicit deny at the end of every ACL. This is the default behavior of an ACL and cannot be changed.

A standard ACL is concerned with only one factor, the source IP address of the packet. The destination is not considered. Extended ACLs consider both the source and destination of the packet, and can consider the port number as well. The numerical range used for each is different: standard ACLs use the ranges 1-99 and 1300-1399; extended lists use 100-199 and 2000 to 2699.

There are several points worth repeating before beginning to configure standard ACLs.

Standard ACLs consider only the source IP address for matches.

The ACL lines are run from top to bottom. If there is no match on the first line, the second is run; if no match on the second, the third is run, and so on until there is a match, or the end of the ACL is reached. This top-to-bottom process places special importance on the order of the lines.

There is an implicit deny at the end of every ACL. If packets are not expressly permitted, they are implicitly denied.

If Router 3's Ethernet interface should only accept packets with a source network of 172.12.12.0, the ACL will be configured like this:

R3#conf t

R3(config)#access-list 5 permit 172.12.12.0 0.0.0.255

The ACL consists of only one explicit line, one that permits packets from source IP address 172.12.12.0 /24. The implicit deny, which is not configured or seen in the running configuration, will deny all packets not matching the first line.

The ACL is then applied to the Ethernet0 interface:

R3#conf t

R3(config)#interface e0

R3(config-if)#ip access-group 5 in

But before you write any ACLs, it's a really good idea to see what other ACLs are already running on the router! To see the ACLs running on the router, use the command show access-list.

R1#show access-list

Standard IP access list 1

permit 0.0.0.0

Standard IP access list 5

permit 172.1.1.1

Standard IP access list 7

permit 23.3.3.3

Extended IP access list 100

permit tcp any any lt www (26 matches)

permit tcp any any neq telnet (12 matches)

deny ip any any

Extended IP access list 105

deny tcp any any eq www

deny tcp any any eq telnet

You're going to use ACLs all the way up the Cisco certification ladder, and throughout your career. The importance of knowing how to write and apply ACLs is paramount, and it all starts with mastering the fundamentals!

Chris Bryant, CCIE #12933, is the owner of The Bryant Advantage , home of free CCNA and CCNP tutorials! Pass the CCNA exam with Chris Bryant!

Labels: , , , , ,

Monday, January 7, 2008

Cisco CCNA Exam Tutorial: Five ISDN Details To Remember

CCNA exam success depends on mastering many technologies that are new to you, and few exam topics have more details than ISDN. ISDN isn't just for your CCNA exam studies, though. While ISDN is dismissed by many, the fact is that there are many small and mid-size networks out there that use ISDN as their backup to frame relay. Some of these companies have spoke networks that use ISDN to connect to their hub as well, so it's a great idea to know ISDN configuration and troubleshooting for your real-world career as well as passing the CCNA. With that in mind, let's take a look at five common ISDN errors and how to avoid them.

With dialer map statements, remember that the phone number you put in the dialer map is the phone number of the remote router, not the local one. Look at it this way - if you want to call a friend on your cell, you don't pick up your cell and dial your own number!

Speaking of dialer map statements, don't forget the all-important broadcast option at the end of the command:

R1(config-if)#dialer map ip 172.12.21.1 name R2 broadcast 5555555

The router will accept that command without the "broadcast" option, but routing protocol updates and hellos would not be able to travel across the line. (This command is also needed in frame relay map statements to allow broadcasts and multicasts to be transmitted.)

PAP is PPP's clear-text authentication scheme, and clear text is a really bad idea. But if you do have to configure it, don't forget that PAP requires additional configuration -the ppp pap sent-username command.

R1(config-if)#ppp pap sent-username R1 password CISCO

Must set encapsulation to PPP before using PPP subcommands

R1(config-if)#

The error message we got while configuring the sent-username command is another important reminder - by default, a BRI line is running HDLC, not PPP. Since HDLC doesn't allow us to use either PAP or CHAP, we'll need to set the link to PPP with the encapsulation ppp command.

R1(config-if)#encapsulation ppp

R1(config-if)#ppp authentication pap

R1(config-if)#ppp pap sent-username R1 password CISCO

But before we configure any of this information, we should configure the ISDN switch-type. Why? Because without the switch-type configuration, it doesn't matter that we avoid the other four errors - the line will not come up. Configure the switch-type with the "isdn switch-type" command, and then verify it with "show isdn status".

R1(config)#isdn switch-type basic-ni

R1#show isdn status

Global ISDN Switchtype = basic-ni (output of this command cut here for clarity)

If you forget this part of the configuration, the output of show isdn status wastes no time in reminding you!

R1#show isdn status

**** No Global ISDN Switchtype currently defined ****

ISDN is an important part of your CCNA studies, and this knowledge still comes in handy in production networks as well. Keep studying, notice the details, run those debugs, and you'll be a CCNA before you know it!
Chris Bryant, CCIE #12933, is the owner of The Bryant Advantage (http://www.thebryantadvantage.com ), home of free CCNA and CCNP tutorials, and The Ultimate CCNA and CCNP Study Packages. For a copy of his FREE "How To Pass The CCNA" or "CCNP" ebook, visit the website and download your copies!

Labels: , , , , ,

Wednesday, December 5, 2007

Cisco CCNP / BSCI Exam Tutorial: Leading Zero Compression

The BSCI exam and CCNP certification requires that you be well versed in the basics of IP Version 6, or IPv6. If you're new to IPv6, you'll quickly learn that it's not exactly just two more octets slapped onto an IPv4 address! IPv6 addresses are quite long, but there are two ways to acceptably shorten IPv6 address expression. To pass the BSCI exam, become a CCNP, and get that all-important understanding of IPv6, you've got to understand these different methods of expressing an IPv6 address. My last IPv6 tutorial discussed zero compression; today we'll take a look at leading zero compression.

Leading zero compression allows us to drop the leading zeroes from every field in the address. Where we could only use zero compression once in an IPv6 address expression, leading zero compression can be used as often as is appropriate. The key with leading zero compression is that there must be at least one number left in each field, even if that remaining number is a zero.

You sometimes see books or websites refer to leading zero compression as "dropping zeroes and replacing them with a colon", but that explanation can be a little confusing, since the blocks are separated with a colon to begin with. You're not really replacing the leading zeroes, you're dropping them.

Let's look at an example of leading zero compression. Taking the address 1234:0000:1234:0000:1234:0000:1234:0123, we have four different fields that have leading zeroes. The address could be written out as it is, or drop the leading zeroes.

Original format: 1234:0000:1234:0000:1234:0000:0123:1234

With leading zero compression: 1234:0:1234:0:1234:0:123:1234

There's no problem with using zero compression and leading zero compression in the same address, as shown here:

Original format: 1111:0000:0000:1234:0011:0022:0033:0044

With zero and leading zero compression: 1111::1234:11:22:33:44

Zero compression uses the double-colon to replace the second and third block of numbers, which were all zeroes; leading zero compression replaced the "00" at the beginning of each of the last four blocks. Just be careful and take your time with both zero compression and leading zero compression and you'll do well on the exam and in the real world. The keys to success here are remembering that you can only use zero compression once in a single address, and that while leading zero compression can be used as often as needed, at least one number must remain in each field, even if that number is a zero.

Chris Bryant, CCIE #12933, is the owner of The Bryant Advantage (http://www.thebryantadvantage.com), home of free CCNP and CCNA tutorials! For my FREE "How To Pass The CCNA" or "CCNP" ebook, visit the website and download your copies. Pass your CCNP exam with The Bryant Advantage!

Labels: ,

Friday, October 19, 2007

Cisco CCNA Certification: Defining And Creating Collision Domains


When you're studying to pass the CCNA exam and earn your certification, you're introduced to a great many terms that are either totally new to you or seem familiar, but you're not quite sure what they are. The term "collision domain" falls into the latter category for many CCNA candidates.

What exactly is "colliding" in the first place, and why do we care? It's the data that is being sent out onto an Ethernet segment that we're concerned with here. Ethernet uses Carrier Sense Multiple Access / Collision Detection (CSMA/CD) to avoid collisions in the first place. CSMA/CD is a set of rules dictating when hosts on an Ethernet segment can and cannot transmit data. Basically, a host that wants to transmit data will "listen" to the ethernet segment to see if another host is currently transmitting. If no one else is transmitting, the host will go forward with its own transmission.

This is an effective way of avoiding a collision, but it is not foolproof. If two hosts follow this procedure at the exact same time, their transmissions will collide on the Ethernet segment and both transmissions will become unusable. The hosts that sent those two transmissions will then send a jam signal out onto the segment, indicating to all other hosts that they should not send data. The two hosts will each start a random timer, and at the end of that time each host will begin the listening process again.

Now that we know what a collision is, and what CSMA/CD is, we need to be able to define a collision domain. A collision domain is any area where a collision can theoretically take place, so only one device can transmit at a time in a collision domain.

In another free CCNA certification tutorial, we saw that broadcast domains were defined by routers (default) and switches if VLANs have been defined. Hubs and repeaters did nothing to define broadcast domains. Well, they don't do anything here, either. Hubs and repeaters do not define collision domains.

Switches do, however. A Cisco switchport is actually its own unshared collision domain! Therefore, if we have 20 host devices connected to separate switchports, we have 20 collision domains. All 20 devices can transmit simultaneously with no danger of collisions. Compare this to hubs and repeaters - if you have five devices connected to a single hub, you still have one large collision domain, and only one device at a time can transmit.

Mastering the definition and creation of collision domains and broadcast domains is an important step toward earning your CCNA and becoming an effective network administrator. Best of luck to you in both these worthwhile pursuits!

Chris Bryant, CCIE #12933, is the owner of The Bryant Advantage , home of free CCNA and CCNP tutorials! Pass the CCNA exam with Chris Bryant!

Labels: , ,

Monday, September 10, 2007

Passing Cisco's CCNA and CCNP Exams: The VLAN.DAT File

CCNA and CCNP candidates who have their own Cisco home labs often email me about an odd situation that occurs when they erase a switch's configuration. Their startup configuration is gone, as they expect, but the VLAN and VTP information is still there!

Sounds strange, doesn't it? Let's look at an example. On SW1, we run show vlan brief and see in this abbreviated output that there are three additional vlans in use:

SW1#show vlan br

10 VLAN0010 active

20 VLAN0020 active

30 VLAN0030 active

We want to totally erase the router's startup configuration, so we use the write erase command, confirm it, and reload without saving the running config:

SW1#write erase

Erasing the nvram filesystem will remove all configuration files! Continue? [confirm]

[OK]

Erase of nvram: complete

00:06:00: %SYS-7-NV_BLOCK_INIT: Initalized the geometry of nvram

SW1#reload

System configuration has been modified. Save? [yes/no]: n

Proceed with reload? [confirm]

The router reloads, and after exiting setup mode, we run show vlan brief again. And even though the startup configuration was erased, the vlans are still there!

Switch#show vlan br

10 VLAN0010 active

20 VLAN0020 active

30 VLAN0030 active

The reason is that this vlan and VTP information is actually kept in the VLAN.DAT file in Flash memory, and the contents of Flash are kept on a reload. The file has to be deleted manually.

There's a little trick to deleting this file. The switch will prompt you twice to ask if you really want to get rid of this file. Don't type "y" or "yes"; just accept the defaults by hitting the return key. If you type "y", the router attempts to delete a file named "y", as shown here:

Switch#delete vlan.dat

Delete filename [vlan.dat]? y

Delete flash:y? [confirm]

%Error deleting flash:y (No such file or directory)

Switch#delete vlan.dat

Delete filename [vlan.dat]?

Delete flash:vlan.dat? [confirm]

Switch#

The best way to prepare for CCNA and CCNP exam success is by working on real Cisco equipment, and by performing lab tasks over and over. Repetition is the mother of skill, and by truly erasing your VLAN and VTP information by deleting the vlan.dat file from Flash, you'll be building your Cisco skills to the point where your CCNA and CCNP exam success is a certainty.

Chris Bryant, CCIE #12933, is the owner of The Bryant Advantage, home of FREE CCNA & CCNP tutorials. For a FREE copy of my latest e-books, "How To Pass The CCNA" or "How To Pass The CCNP", request one at chris@thebryantadvantage.com!

Labels: , , ,

Saturday, September 1, 2007

Cisco CCNA/CCNP Certification: Introduction To BGP Attributes

BGP is one of the most complex topics you'll study when pursuing your CCNP, if not the most complex. I know from personal experience that when I was earning my CCNP, BGP is the topic that gave me the most trouble at first. One thing I keep reminding today's CCNP candidates about, though, is that no Cisco technology is impossible to understand if you just break it down and understand the basics before you start trying to understand the more complex configurations.

BGP attributes are one such topic. You've got well-known mandatory, well-known discretionary, transitive, and non-transitive. Then you've got each individual BGP attribute to remember, and the order in which BGP considers attributes, and what attributes even are... and a lot more! As with any other Cisco topic, we have to walk before we can run. Let's take a look at what attributes are and what they do in BGP.

BGP attributes are much like what metrics are to OSPF, RIP, IGRP, and EIGRP. You won't see them listed in a routing table, but attributes are what BGP considers when choosing the best path to a destination when multiple valid (loop-free) paths exist.

When BGP has to decide between such paths, there is an order in which BGP considers the path attributes. For success on the CCNP exams, you need to know this order. BGP looks at path attributes in this order:

Highest weight (Cisco-proprietary BGP value)

Highest local preference (LOCAL_PREF)

Prefer locally originated route.

Shortest AS_PATH is preferred.

Choose route with lowest origin code. Internal paths are preferred over external paths, and external paths are preferred over paths with an origin of "incomplete".
Lowest multi-exit discriminator (MED)

External BGP routes preferred over Internal BGP routes.

If no external route, select path with lowest IGP cost to the next-hop router for iBGP.

Choose most recent route.

Choose lowest BGP RID (Router ID).

If you don't know what these values are, or how they're configured, don't panic! The next several parts of this BGP tutorial will explain it all. So spend some time studying this order, and in part II of this free BGP tutorial, we'll look at each of these values in detail. Keep studying!


Chris Bryant, CCIE #12933, is the owner of The Bryant Advantage (http://www.thebryantadvantage.com ), home of free CCNA and CCNP tutorials, and The Ultimate CCNA and CCNP Study Packages. For a copy of his FREE "How To Pass The CCNA" or "CCNP" ebook, visit the website and download your copies!

Labels: ,