The default gateway is where packets are sent when there is no more specific route - actually the default gateway has a route matching all packets - a /0 netmask route.
Try "netstat -rn" to see the routes on your system.
The default gateway is not an interface on your system - it is usually your local router. It may be reachable via more than one interface, though typically there is only one active interface.
I'm not sure about load-balancing, but it seems reasonable that if the default gateway is reachable from more than one interface that packets could be sent from all interfaces to it.
A simple example of setting up your networking from scratch:
ifconfig eth0 192.168.0.55 netmask 255.255.255.0
route add default gateway 192.168.0.1 eth0
The first command sets up your interface and adds a route to the local network (192.168.0/24). The second command adds a default route via 192.168.0.1 which is now reachable thanks to the first route.
If you have a second interface, you can set it up too:
ifconfig eth1 192.168.0.56 netmask 255.255.255.0
Now either interface can reach the default gateway. You can check if load balancing is happening by using "ifconfig" and looking at the RX/TX packets. If the counters increment it indicates that interface is being used.
Update:
For two interfaces on different networks, you can add more than one default gateway. I don't know if that situation is supported by etc/sysconfig. If not, you can add a "route add default gateway" statement to your startup script.
Some trivia on the subject: it used to be possible to send a packet through a gateway with a source IP from the other interface (asymetric routing). In this way, you could send all your packets from one gateway and receive them through the other. This is useful in the case where you have connections with asymetric up/down bandwidth or latancy (think satalite downlink and cellular uplink).
I say "used to" because most ISPs now filter out packets with a source IP that isn't assigned downstream.
More random dual-nic fun:
I have two nics on my laptop: wired and wireless. I assign them both the same IP in my DHCP server config based on their ethernet address. When the wired one is connected, I get high speed. But when I unplug it, everything keeps working. I don't even lose connections to remote hosts. The kernel doesn't care which interface a packet comes from as long as it's bound for the right IP address.
Thanks for the detailed response. What about the case where each interface(eth0 or eth1) are present in two different subnets( may be connected to different routers) – Poorna – 2013-04-10T06:34:55.767
See updated answer – Julian – 2013-04-10T15:51:23.063
1Good, detailed answer, Julian. A little note about using
route add default gateway
for multiple adapters; this command (and the work it does) is very much tied to the adapter used when issuing the command. I tend to use this for forcing all of my private VPN traffic through my otherwise unused wifi interface; but this is just one of many good use-cases. – Jerry W Jackson – 2013-04-10T17:09:09.600