Friday, July 25, 2008

OSPF, some useful info

OSPF is a Link-Stat routing protocol, which relies on the Djikestra algorithm to calculate all of its tables (routing table ... etc), here are some of its key specifications:

* There is a property called Adjacency, which is the relationship between two or more routers that its formation is a condition to begin exchange routing information, there are variables must match for that adjacency to form, and other variables must be unique:
-- Must match:
- Area number
- Hello and dead timers
- Mtu (the maximum transmission unit)
. ip ospf mtu-ignore - in case we want to ignore this variable
- Compatible network types
- Stub flags
- Authentication

-- Must be unique
- IP address
- OSPF router-id

OSPF network types:
-- Types
- BC (broadcast network)
- Non-BC (non-broadcast network)
- P2P (point-to-point network)
- P2MultiP (point-to-multi-point network)
- P2MultiP Non-BC (point-to-multi-point non-broadcast)

Network types affects the following:
- Unicast/ Multicast
- DR/BDR election
- Next-hop processing


Broadcast network type:
- Default on broadcast medias - Ethernet/Token Ring
- Sends hellos as multicast -
- Performs DR/BDR election

DR/BDR election:
- Used to minimize LSA replications
. Like BGP router-reflector
- Election based on priority and router-id
. 0-255
. Higher is better
. 0=never prompt the election
- Router-id - higher wins
. Highest loopback/interface IP
. Can be statically set
. higher is better

Non-broadcast network
- Default on multi-point NBMA medias
. Frame relay / ATM
- Sends hellos as unicast
. static "neighbor" command is necessary
- Performs DR/BDR election

- Non a default option
- Sends hellos as multicast
- No DR/BDR election happens
- Modifies next-hop processing
- Best option for NBMA

Point-to-multipoint non-broadcast
- Not a default option
- Sends hellos as unicast
. Static "neighbor" statement
- No DR/BDR election
- Modifies next-hop processing

OSPF Convergence Timers
- Convergence based on hello and dead timers.
- Different timers for different network types
- Changing hello time automatically adjusts dead time
. ip ospf hello-interval
. ip ospf dead-interval
- New feature: sub-second convergence

Changing the network type will cause adjacency to form but no routing information will be exchanged.
Broadcast -------
|--> will adjacent and will exchange routing information
Non-broadcast ---
|------> will adjacent but will not exchange routing information
Point-to-Point ----------------
Point-to-Multipoint |--> Will adjacent and will exchange routing information
Point-to-Multipoint Non-Broadcast ----

Kind regards,

Tuesday, July 22, 2008

EIGRP is a DV protocol, and the secondary IP in the routing protocols ..


This articles is written to declare somethings regarding EIGRP and a hidden trick in every routing protocol:


It is common to say EIGRP is a hybrid routing protocol, BUT, this is a common mistake.
In fact, EIGRP is a distance vector routing protocol, well, at least it has the split-horizon feature. Furthermore, EIGRP contains all the distance vector features, the big BUT here is: it is an enhanced Distance Vector protocol, so, it does not have the negative features other DV protocols have.

Anyway, if you don't believe me, then, you are free to refer to the official Cisco website, there you will have the ultimate shock ;-)

-- The hidden trick:

Sometimes, easy things become a nightmare for the engineer whom configuring a router, when configuring a routing protocol, and you think everything is going fine, BUT, the nightmare is: the routing protocol does not work as expected.

Why? Here we begin troubleshooting. And nothing wrong found.

Finally rises the hidden hated trick, the network you are trying to advertise in the routing protocol is one of the subnets assigned to an interface as a secondary IP.

It is that easy, but it turns a journey into a nightmare. Here is the trick: no routing protocol deals with a secondary IP, and even if you add the network statement hundreds of times for that particular subnet, it will not included in the routing protocol calculations.

Just for fun, both of these created problems to me, and turned my funny work into a hell.

I hope it was informative for you,
My regards,

Sunday, July 20, 2008

How to make firefox faster

Mozilla Firefox is a graphical web browser developed by the Mozilla Corporation.

Mozilla Firefox is a cross-platform browser, providing support for various versions of Microsoft Windows, Mac OS X, and Linux.

Although not officially released for certain operating systems, the freely available source code works for many other operating systems, including FreeBSD,OS/2, Solaris, SkyOS, BeOS and more recently, Windows XP Professional x64 Edition.

I am providing some Very Useful Tips to speedup your Firefox.

Lets begin:

In your location bar (URL), type about:config

In the filter bar type network.http.pipelining
Normally it says ” false ” under value field , Double click it so it becomes ” true “.

In the filter bar again and type network.http.pipelining.maxrequests
Default it says 4 under value field and you need to change it to 8

Go to the filter bar again and type network.http.proxy.pipelining
Normally it says ” false ” under value field , Double click it so it becomes ” true “.

Go to the filter bar again and type network.dns.disableIPv6
Normally it says ” false ” under value field , Double click it so it becomes ” true “.

Go to the filter bar again and type plugin.expose_full_path
Normally it says ” false ” under value field , Double click it so it becomes ” true “.

Now you need to Create new Preference name with interger value for this got to Right click -> New -> Integer
Here you need to type nglayout.initialpaint.delay and click ok
Now you need to enter 0 in value filed and click ok

Now you need to Create one more Preference name with interger value for this got to Right click -> New -> Integer
Here you need to type content.notify.backoffcount and click ok
Now you need to enter 5 in value filed and click ok

Now you need to Create one more Preference name with interger value for this got to Right click -> New -> Integer
Here you need to type ui.submenuDelay and click ok
Now you need to enter 0 in value filed and click ok

Some more Tweaks
Enable the spellchecker for inputfields and textareas (default is textareas only)

Open lastfm://-links directly in amarok

Firefox Memory Leak Fix
Open a new tab. Type “about:config” without quotes into the address bar and hit enter/click Go.
Right-click anywhere, select New, then Integer. In the dialog prompt that appears, type:

Click OK. Another dialog prompt will appear. This is where you decide how much memory to allocate to Firefox. This depends on how much RAM your computer has, but generally you don’t want to allocate too little (under 8MB), but if you allocate too much, you might as well not do this. A good recommended setting is 16MB. If you want 16MB, enter this value into the dialog prompt: 16384

(Why 16384 instead of 16000? Because computers use base-12 counting. Thus 16 megabytes = 16384 bytes. Likewise, if you want to double that and allocate 32MB, you’d enter 32768.)

Click OK to close the dialog box, then close all instances of Firefox and restart. If your Firefox still uses the same amount of memory, give it a few minutes and it should slowly clear up. If that fails, try a system reboot.

Now your Firefox will now be 3 - 30 times faster in loading pages.

Original article can be found in:

How to make fonts in Ubuntu Linux more clear

This is how to make fonts in Ubuntu Linux more clear and nicer.
Four very easy steps and all done, so lets get started:

-- Open a terminal window and write this line into it:
sudo ln /etc/fonts/conf.avail/10-autohint.conf /etc/fonts/conf.d/. -s

-- edit the file ~/.fonts.conf, which is in your home directory, or create it if it does not exist:
gedit ~/.fonts.conf

-- then write the following xml code in it:


Done, save and exit gedit.

-- Finally run the following command in the opened terminal window:
fc-cache -vf

Now you are done, but one more step further, restart your graphical session ;-)

You will notice the fonts are very clear and much more sharper and nicer.


Saturday, July 19, 2008

How did I achieve my CCNA certificate

I achieved my CCNA by passing the fast-track 640-802.

When you start to prepare for the CCNA exam, you have to make a studying program. If your studying is random, then you will not pass it for your life.

I made this program for myself, and I stuck to it:

-- I studied continuously for 51 days.

-- I started with Chris Bryant video course (TrainSignal). With 10 hours of studying a day, I was able to finish this course with 17 days, including the labs.

-- After that, I begun with the Cisco Press, and finished it with 12 days. (17+12=29)

-- After finishing Cisco Press, I begun studying Jeremy's course (CBT Nuggets), I finished with 17 days, I consider this course a review. (29+17=46).

-- I toke 3 days for rest. (46+3=49).

-- One day before the exam for registration. (49+1=50).

-- One day for the exam. (50+1=51).

By the way, I have my own lab, I don't have to rent a rack remotely. I have built my own lab for preparation for the CCNA exam, and upgraded it to help myself passing CCIE.

Finally, I passed the exam (640-802) with 947 points.

Now, I am preparing for the CCIE, I was planning to do the CCNP first, but, I decided finally to achieve the CCIE directly.

My best wishes to you all ;-)

Welcome to my newly opened blogsite

Hi everyone,

I am so happy to open my blog, it still new, and there are no posts into it for the moment. BUT it will be enriched with IT stuff very soon.

I invite you to my site too:

Kindest regards,

Laith Z.