Configuring Oracle 11gR2 RAC on Virtual Machine
You need 2 network interfaces, 1 for public network, 1 for private network. (1 is also enough with seperate VLAN support, but it is not common and goes against the design.)
The public IP is to be set on the public interface, and the private IP is to be set on the private interface. These 2 addresses are managed at operating system level and must be set before installing Oracle Grid Infrastructure.

Then you have a virtual IP, at least 1 for each node. This address will use the public network interface and it must be in the same subnet as the public IP address. This is managed by Oracle Grid Infrastructure, and this address must not be set at the operating system level or reserved by other systems. While this address logically belongs to a specified node, this address can be used by other nodes as well when a node goes down (vip failover).

Finally we have SCAN from version 11.2, which is a single name that is resolved to at least 1 IP address (but typically 3 addresses in the documentation and other examples) from the subnet of public network. It does not belong to any node, it belongs to the cluster. This behaves similarly to the above virtual IP.

The above is the minimum, you can have multiple public or private networks and multiple VIP and SCAN addresses over them in newer releases.