Despite the fact each term has a specific definition, you'll find that in your everyday work, both are used interchangeably. That's because I can call my gateway a router, but also my router a gateway, and this is correct!
I'll give you an example. Say you have two Ethernet networks side by side and one Windows server that's got two LAN cards, one connecting to each network.
So, if we put labels on each network, we could call the 1st network 'network A' and the 2nd network 'network B'. Both networks are Ethernet and use TCP/IP, which means no protocol translation is required between them. However, hosts in network A and B have a defined 'gateway' in their network properties. Does this mean that the Windows server is not a gateway ? At the same time, it's routing packets between the two networks, so isn't it a router as well?
As you can see, both terms are correct. If you want to be strict about the use of terms, then you might call it only a 'router,' but practice and experience will tell you its called a 'router' and a 'gateway'!
This was first published in July 2005