I read that one needs to put in the command - "ip classless" in the router even if you have configured a default route. Can anyone explain why this is necessary when a default route has already been configured? Furthermore, i would really appreciate it if anyone can explain to me what the "ip classless" command actually does. Thank you.
I would like to first say that this command doesn't serve any purpose if CEF is configured on the router, which is the case with most routers these days. Also "ip class less" has been the default for a while in IOS. Here's the explanation of the behavior of that command for discussion sake.
"ip classless" dictates a classless routing behavior, which means that the longest match against the RIB is not limited to the majornet of the destination address.
"no ip classless" is just the opposite, which means that the longest match against the RIB is limited to the majornet of the destination address, if the majornet does exist in the RIB.
Here's example of the "no ip classless" behavior. Let say a packet comes in with a destination address of 172.16.24.1 and that there is some entries in the RIB for other subnets belonging to the same majornet (172.16.0.0/16) but none that are matching 172.16.24.1. The packet would be dropped even if there is a default route installed in the RIB since the longest match is limited to the majornet in this case. It goes without saying that this restriction would not apply if "ip classless" was configured.
Hope this helps,