What does the "IN" mean in a zone file?
Sometimes a record is listed as www IN A 192.168.1.1
and sometimes it is listed as www A 192.168.1.1
.
What is the purpose of the IN and when is it required/not required?
That is referring to the DNS class. 'IN' refers to 'Internet' while the only other option in common use is 'CH' for 'CHAOS'. The CH class is (presently) commonly used for things like querying DNS server versions, while the IN class is the default and generally what "the internet" uses.
http://victor.se/bjorn/its/chaos-dns.php
http://www.faqs.org/rfcs/rfc2929.html (section 3.3)
It's the record class. From "Domain names - implementation and specification", RFC 1035:
3.2.4. CLASS values
CLASS fields appear in resource records. The following CLASS mnemonics and values are defined:
IN 1 the Internet CS 2 the CSNET class (Obsolete - used only for examples in some obsolete RFCs) CH 3 the CHAOS class HS 4 Hesiod [Dyer 87]
If anyone here can recall ever having configured one of the other classes in anger, they must have an epic beard. :)