Just when you thought the four-month mark was busy, the fifth month shows up to sucker-punch your productivity. I don’t know about the experience of others, but I feel like this is also the time that you meet “the forgetting monster” — you start getting more flash-cards wrong, you begin to question the things you learned in the previous modules/months, and getting overwhelmed becomes a reality.
But the good news is, that you can push through all of this. I don’t think it’s common to go through a long-period of study without problems, struggles, or anxieties. In this case, my problems have all revolved around trying to get my house ready for adoption (cleaning, yardwork, renovation, etc), or motorcycle repair.
Where Am I Now?
Last month I was excited about finally being able to move on to a new topic, which was OSPF. Not working with it regularly meant that I was going to have to hit the books hard, and I think I can say that I really did. I read through the OSPFv2 chapters of “Routing TCP/IP Vol. 1,” and the CCIE 5.1 OCG, as well as the Middle Section of “OSPF: Anatomy of a Routing Protocol.” Along with these was several RFCs (ugh) and the Cisco Documentation on OSPF. The protocol came somewhat naturally to me, and I was even able to cram Redistribution (uggggggh) into this month as well.
The speed-run of the INE ATC Labs also happened, although I feel like it wasn’t a very speedy speed-run. These went pretty easy — I think the basics are sticking; the forgetting monster isn’t as effective as he seems. All of this is good news.
The bad news is that I didn’t get a chance to go over EIGRP OTP, or DUAL FSM states again. I feel like my grasp of EIGRP OTP is fine, but I would like to take a deeper look at LISP.
Next month will be all about BGP (yet another protocol that I don’t deal with much). I expect it to take the majority of the month. If I’m lucky I’ll be able to include the “Protocol Optimization” module in and look at EIGRP LFA, OSPF throttling, etc. I’m curious as to how well I’m going to pick this up; I feel like I had the same attitude about OSPF, but it came naturally. Hopefully I’m wrong about BGP too?
I’ve been informed that three months is when the wear-marks begin to show when doing a long period of study; and if that’s true I’d like to claim that four months is the start of the second-wind. I’ve been busier than ever this month yet I’ve made serious headway.
As none some of you may know, my wife and I are working through the process of adopting a child. This month the adoption agency issued us homework, consisting of a workbook, an online course, several videos, and two books. Having to read two books while studying for your CCIE is absurd, but it got done.
When I started studying for the CCIE, it had been a few months since my last vacation. I was able to get through the first few months, but all the added hours were starting to take their toll. It was unsustainable. A three-day-weekend pass to Seattle was a quick remedy. One must learn to rest instead of quitting.
Speaking of OSPF (and the job with an OSPF network): We’re in the middle of an OSPF migration for VMware NSX implementation. There were some initial foibles of working with NSX (and doing so through another team), but we’ve gotten it up and running, and stable in a lab environment. I’m planning to put together a post on this as well.
I’ve barely touched the surface of OSPF, and I’ve got a ton of reading and labbing to do on this one. I need to make up for a wealth of inexperience. Hoping to plow through “OSPF: Anatomy of a Routing Protocol,” knock out some labs, and view a lot of packet captures. Also anticipating a quick re-read of some of the EIGRP DUAL FSM states, path recalculation, and EIGRP OTP. Finally, I want to do a “speed run” on the INE ATC labs up to where I am now.
Month three of my CCIE training has not been an easy one. I started off with a cold that was making things pretty foggy, while I was trying to learn several topics much further in-depth. On top of this, I was being beaten to death by a heavy load of flash cards, as I had increased my “new cards” load from 20 to 30. As I stated in my 2 Month update, I had a lot of catching up to do.
After the restarts, lab-rebuilds, and relearning I had been feeling pretty defeated. There’s something about running into failures right away that leaves you feeling pretty demotivated. These demotivating feelings can lead to distraction, and negative attitudes that only make studying even more difficult. These feelings stack up and can eventually make one ready to give up.
Thankfully, I had the guys over at RouterGods to talk me through this, as well as a few of my mentors and friends, and of course my awesome wife. There was also a really good video put out by one of the RouterGods members, as well as a blog post. My bible-study group was also very helpful.
On the subject of subjects being learned, I spent most of the month covering PPP, and PPPoE, CEF, basic IP routing, PBR, and RIP. I also managed to get caught up on flashcards, and even made some good breakthroughs on concepts that I didn’t quite understand.
The Big Takeaway
Don’t give up! In the Marines, I learned that you can’t just give up when life is rough. There’s a reason that a CCIE is considered an “expert.” Being an expert isn’t easy; If it was, there’d be a lot less morons in the world. Becoming an expert takes time, effort, and discipline. That’s why they say “The master has failed more times than the beginner has even tried.”
So what’s on the agenda for next month? For my fourth month of self-abuse studying, I’ll be working on EIGRP and hopefully OSPF. As much as I’d like to do more, I think that those two topics are pretty deep and I’ll be lucky to get both of them in the month. I would even contend that while I have pretty deep experience with EIGRP, my OSPF knowledge is thin enough to ensure that learning won’t come quickly.
PPP (Point to Point Protocol) is one of those protocols that I’m absolutely irritated about having to learn. I’ve never had to use or configure PPP in my life, and I had to ask around a couple of study groups to find someone who had. Prior to asking anyone, I thought PPP (and it’s bastard child, PPPoE) were outdated protocols, used only by aboriginal tribes who still had AOL discs. That being said I was wrong; I was informed that it is very much in use today for places that use T1/E1 for some of their more rural sites, and ISPs use it regularly (well, PPPoE) for connecting users to DSL.
The more unfortunate part of learning this technology is that the documentation isn’t very well organized. At best there are some books that cover it (namely The TCP/IP Illustrated v1, 2nd Ed.) and some Cisco documentation… but you don’t really get a good idea of what you need to configure with it. While I’m one CCIE certification away from being able to tell you what you need to configure with it, I can at least help you figure out the basics.
So What is PPP, anyway?
PPP is a media-independent encapsulation protocol. But why make yet another encapsulation protocol? There was already HDLC and Cisco’s proprietary HDLC, as well as SLIP, To answer the question of what is PPP, we need to answer a more fundamental question:
What problem does PPP solve that other protocols don’t?
A few simple answers:
HDLC is an ISO standard, but every vendor put their own spin on it.
These “spins” may as well be considered proprietary, as they don’t interoperate.
SLIP was lightweight and interoperable, but it doesn’t have many features
PPP has many features:
Open Standard (yay, interoperability!)
Error Correction (Link Quality Management)
Efficiency features (LFI, compression)
These aren’t the only features that PPP has over it’s competitors, but they are some of the more important ones. PPP is mostly used for it’s vendor interoperability, load-balancing, and authentication features.
What do you mean, poorly documented?
For starters, to find any usable Cisco configuration guides on PPP, you have to scavenge through the IOS 12.2(SR) code. Only there will you find the stuff that gives you a nice, from-the-ground-up explanation of PPP. Aside from that, there’s the “Network Technologies” page for PPP, with its various sub-pages and their sub-pages; these are plagued with broken links and documentation that is dense for those of us who are just getting started on it.
Before I found the page in the IOS 12.2(SR) code, I found a couple good pages on Wikipedia, and the always wonderful TCP/IP Illustrated v1, 2nd Ed.
What do I need to know about PPP?
There are some core things that are important about this. The first of which is that PPP uses a different frame format than Cisco’s HDLC.
At first glance, the cHDLC packet looks very similar to the PPP packet — and that’s actually because the PPP packet is largely based on HDLC. The difference really boils down the standardized “Protocol” field belonging to the PPP header (as opposed to cHDLC’s proprietary “Type” header), and the fact that PPP pads its payload with extra bits.
Another important thing here is that there are different phases that PPP uses when building it’s connection. You should probably make sure to remember them:
Network Layer Protocol
Each one of these phases has a different protocol to handle it. The Link Establishment phase uses the Link Control Protocol to do a few things; namely, verifying that both devices speak PPP, and that they agree (more or less) on the parameters of the connection. The devices negotiate Authentication Type, whether or not they’ll use multiple physical connections (multilink PPP), if they’ll monitor the quality of the connection, and the MTU size for the link (called MRU). These are negotiated with a series of messages that you’ll of course need to memorize:
Configuration Request (CONFREQ): A list of proposed parameters for link establishment
Configuration Acknowledge (CONFACK): A copy of the CONFREQ message, with duplicate information, agreeing to the parameters.
Configuration Negative Acknowledge (CONFNAK): Contains the unacceptable parameters listed in the CONFREQ, but with acceptable options listed with it.
Configuration Reject (CONFREJ): Contains unacceptable or unrecognizable options. This doesn’t necessarily mean the connection will fail, but the rejected parameter/config will not be enabled.
Once the link is negotiated, authentication comes into play. The two most popular types of authentication are PAP (Password Authentication Protocol) and CHAP (Challenge-Handshake Authentication Protocol). Those are important too, and you’ll use them even more when you get to configuring PPPoE (so remember them too).
After the Authentication phase, the Network Layer Protocol phase begins. In this aptly-named phase, the devices must negotiate for eachupper–layer protocol they’re going to use. I say upper-layer instead of layer 3 because CDP must also be negotiated, and it isn’t a layer 3 protocol.
Are you going to show me how to configure any of this stuff?
No. Mostly because I’m in the middle of learning it myself, but also because there are MANY use cases for this that one blog article can’t cover. This one has gone on long enough.
In my first month of studying I blew through several subjects worth of Videos-on-Demand, labs, and note-taking; I then promptly forgot most of it. This was due to not keeping up with that information, and not reading enough. I would learn a new subject only to forget the details of the old subject. The CCIE exam is not forgiving, and forgotten knowledge has no place in that world.
I realized the problem once I downloaded Jedediah Casey’s excellent Anki flashcard deck. I took the cards for subjects I thought I knew and added them to my daily study routine. The first attempt on the cards was enough for me to realize that I hadn’t read deeply enough, nor had I retained what I did know well enough. Prior to that I thought I had conquered topics at a CCIE-level, only to find that I barely knew what I was doing. The cards I had created prior to using this deck were a joke.
So for the last month, I re-studied Spanning Tree, Ethernet, and Layer 2. I read almost every article in the Cisco documentation on the subjects. I read blogs on them, memorized flash cards, and made more extensive use of the debug command. I made my own labs. I even spent time improving my lab so that debug messages weren’t such a pain to use.
The Big Takeaway
Don’t get discouraged; the learning process is more complicated than most of us think it is.
Actually plan what you’re going to study. It’s important to identify what you need to study, and make it a priority. Nobody becomes a doctor without a structured study plan, and I’m sure nobody becomes a CCIE that way either.
DO NOT just randomly blaze through topics. Brian McGahan, the instructor at INE lists a method for studying that goes as follows:
Gain a high-level knowledge
Basic hands-on experience
Gain expert-level knowledge
Expert-level hands-on experience
I’m sure I’m paraphrasing that a little bit, but the fundamental idea is there — At some point or another, you need to increase the depth of your studies. I made the mistake of not reading all of the documentation on a subject, or not reading the configuration guide or the command references. Once you’ve done the basic hands-on experience you should leave no stone unturned in your pursuit of routing knowledge.
The effectiveness of flashcards can make or break your studying. My flashcards were trash. Make flashcards that will challenge you. These are what’s going to make you retain the information; anything that doesn’t challenge you here is going to let your knowledge atrophy.
I’m coming to the end of the catching-up phase of using the flashcards, but I suspect I’ll be totally done with re-learning information by the end of the month. This month will be consumed with re-learning the rest of the layer 2 technologies (PVLAN, CDP/LLDP, with a special focus on PPP/HDLC) followed by re-learning RIP and EIGRP if I can get that far.
Back to flashcards, in order to get “up-to-snuff” on retaining information, I had to increase the daily limit on “new” flashcards to 30, which has lead to some truly brutal days of studying them.
Neckercube’s Anki Flashcard deck and notes on flashcards: