The Internet is constructed in layers. Each layer provides a communication abstraction to the layer above it.
At bottom level is the hardware that makes up the physical network. This consists of computers and cables, and network links of various kinds (e.g. satellite). Above that level it's all software. At least three layers of software are required to build up to a level of abstraction suitable for use by high-level services.
The TCP/IP interface provides a way to open a reliable data connection to any computer on the Internet (providing the other computer will accept the connection). This level of abstraction is the fundamental platform upon which all Internet software is based. Everything else runs on top of this.
A wide variety of software runs on top of the TCP/IP stack (as it's called). In order for software running on one machine to communicate sensibly with software on another machine, both pieces of software have to "speak the same language". Such a language is called a protocol. Protocols, along with the software that speaks them, implement services such as FTP, Telnet, and the Web.
One way or another, it turns out to be most convenient to organize the service software as clients and servers. Servers typically wait until they are contacted by a client (usually at the direct request of a user). The client requests some information and the server provides it.
Sometimes collections of servers that implement a particular protocol/service communicate with each other to exchange information. Sometimes the global links between these servers can form their own high level "network" that is independent of the physical network "below" that actually carries their packets! A good example is the news system.