Question: Are network cards and IP addresses a one-one map?

Answer: 
On linux, the command is `ip addr add IFADDR dev STRING`, where IFADDR and STRING are replaced by the IP address and device name. You can see some examples in the [Guide to IP Layer NEtwork Administration with Linux](http://linux-ip.net/html/tools-ip-address.html). You'll also want to specify your routes that use that IP address using `ip route`. Again, [the guide](http://linux-ip.net/html/tools-ip-route.html) comes through.

Even though the syntax of the `ip` commands makes it seem that you are associating the IP address with a specific network card, linux considers the IP address as belonging to the overall system. Thus in [some circumstances](http://wiki.openvz.org/Multiple_network_interfaces_and_ARP_flux) you may want to twiddle with ARP settings.
Yes you can have more than one IP address when using a single Network Card.

Setting this up is different in each Operating System, but may involve creating a new Network Interface. This can look like a unique connection but will be using the same Network Card behind the scenes. OS X and Linux use this method.

To add a new IP address in Windows open up the network connection you wish to add another IP address to. Go to Properties –> Internet Protocol (TCP/IP) –> Advanced –> In IP settings, click add and add the new IP address and netmask.

This can be used to expose a server in two network ranges. For example one network range may be used for secure traffic which the other network range cannot access. Firewall rules could be different for each Network Interface.