A Virtual Local Area Network (VLAN) is a logical partition of a physical LAN allowing multiple devices to be physically connected to the same or different network switches and still be part of the same network, communicating with each other using MAC addresses to send and receive Ethernet frames between devices. VLANs are a Layer-2 concept, operating at the Data-Link layer.
A Subnet also provides a logical partition of a physical/virtual LAN, using IP addresses to send and receive Packets with each other, operating at the Layer-3 Network layer. Packets may be sent to other devices on the same subnet, or to other subnets through a router or gateway.
Subnets and VLANs are often deployed on a 1:1 basis for simplicity, but it is entirely possible to have mutliple IP subnets within a single VLAN.
For further informattion on the TCP/IP model, see *INSERT REFERENCE*