machine addresses in what is called quad notation . This is made up of four
eight-bit numbers (i.e., numbers in the decimal range 0-255), separated by dots.
For example, 184.108.40.206 would be one such address. Due to a growing short-
age of IPv4 addresses, IPv4 is due to be replaced with IPv6, the draft standard
for which was published on the 10th of August, 1998. IPv6 uses 128-bit addresses,
which provide massively more addresses. Many common Internet applications
already work with IPv6 and it is expected that IPv6 will gradually replace IPv4,
with the two coexisting for a number of years during a transition period.
Recent years have witnessed an explosion in the growth and use of the Internet.
As a result, there has arisen a need for a programming language with features
designed specifi cally for network programming. Java provides these features and
does so in a platform-independent manner, which is vital for a heterogeneous
network such as the Internet. Java is sometimes referred to as 'the language of the
Internet' and it is the use of Java in this context that has had a major infl uence on
the popularisation of the language. For many programmers, the need to program
for the Internet is one of the main reasons, if not the reason, for learning to pro-
gram in Java.
Internet Services, URLs and DNS
Whatever the service provided by a server, there must be some established proto-
col governing the communication that takes place between server and client. Each
end of the dialogue must know what may/must be sent to the other, the format in
which it should be sent, the sequence in which it must be sent (if sequence matters)
and, for 'open-ended' dialogues, how the dialogue is to be terminated. For the
standard services, such protocols are made available in public documents, usually
by either the Internet Engineering Task Force (IETF) or the World Wide Web
Consortium (W3C). Some of the more common services and their associated ports
are shown in Table 1.1 . For a more esoteric or 'bespoke' service, the application
writer must establish a protocol and convey it to the intended users of that service.
Table 1.1 Some well-known n etwork services
Nature of service
The server simply echoes the data sent to it. This is useful for
Provides the ASCII representation of the current date and time
on the server
Transferring fi les. (FTP uses two ports.)
Sending FTP commands like PUT and GET
Remote login and command line interaction
E-mail. (Simple Mail Transfer Protocol.)
HyperText Transfer Protocol (the World Wide Web protocol)
Usenet. (Network News Transfer Protocol.)