A firewall is a network security system that analyzes incoming and outgoing data packets to determine if those packets should be allowed to proceed, making its determination based on a standard rule set. Firewalls establish a protective shield between a secure and trusted internal network and external networks and resources that cannot be assumed trustworthy or secure. While some firewalls are referred to as hardware-based, ultimately all firewalls are software-based, because a hardware firewall simply runs firmware (built-in software on dedicated hardware).
The first firewall technologies were created in the late 1980s, when the Internet had not yet reached its full global scope and interconnectivity. The first systems developed were packet filter firewalls, more sophisticated versions of which are still in widespread use today.
Modern firewall systems can filter and analyze traffic based on a far larger set of attributes and criteria than the early solutions were capable of, including on the basis of the source IP address, source and destination ports, destination service (for example FTP or WWW), and a variety of other attributes.
Notable modern firewall providers/creators include Cisco, Kaspersky, Norton and Microsoft.