The term "tunneling" probably brings to mind images of digging tunnels underground, perhaps for a subway system, or for you more technically-minded, a fiber optic cable connection. In the virtual world of computers world, however, tunneling refers to a protocol in which one protocol is encapsulated within another.
Tunneling protocols are often used for establishing various types of connections over common protocols, such as HTTP. For example, a peer-to-peer (P2P) file sharing program may mask data as HTTP to allow the data to be transferred through a firewall. Since most firewalls allow HTTP (port 80) connections, the connection would likely be allowed, since this is the same port that the Web uses. If the program used its own protocol and port number, the connection may be blocked.
Tunneling can also be used to establish secure connections through protocols that are typically not secure. For example, the point-to-point tunneling protocol (PPTP) establishes a secure connection over a standard PPP connection, and can used to create a virtual private network (or VPN) between two remote locations. PPTP allows a user to "tunnel" to another location with a secure password-protected connection using the standard or PPP protocol.