What is a firewall, and what do proxies and socks have to do with them?
A computer "firewall" does the same thing an automotive firewall does. A car's firewall separates the potentially explosive and/or dangerous engine from the driver. A computer firewall separates one computer (or many computers on a network) from other computers on the other side of the wall. By creating a firewall, you can prevent the computers on either side from community, even when there's a physical connection (like a phone line, or an Ethernet link) between them.
Proxies and Socks are different software ways to get through a firewall, preferably authorized by the creator of the firewall. Proxies enable access to computers from within the firewall. Proxies establish the protocols that are required in order to allow access to a protected server from a computer within the firewall structure. According to Netscape, "Proxies are generally preferred over Socks for their ability to perform caching, high-level logging, and remote access."
Socks let computers on the inside of a firewall launch to access the Internet. This enables the computer on the inside of a firewall to communicate with computers on the outside of the firewall - an authorized port through which the protected computer can reach to the Internet for data retrieval.