Broadcast domains exist as layer 2 switched networks, but can be broken up by creating virtual LANs. When you create VLANs, you are able to create smaller broadcast domains within a switch by assigning different ports in the switch to different subnetworks.
VLANs can be configured on both set-based and IOS-based switches, and it is still important to understand how to configure VLANs on both types as well as how to set the configuration of VLANs on individual interfaces.
Trunking enables you to send information about multiple VLANs down one link, in contrast to an access link that can send information about only one VLAN. Trunking is configured between switches, often between the access and distribution layer switches, but could be between any switches depending upon your particular topology. Trunking could be configured between a switch and a router, or a switch and a host, where special demands exist, such as the remote device needing to know about multiple VLANs.
VLAN Trunk Protocol (VTP) is used to maintain consistency of VLAN information across a domain. This doesn’t really have much to do with trunking except that VTP information is only sent down trunk links. VTP is used to update all switches in the internetwork with VLAN information.