<< Chapter < Page | Chapter >> Page > |
Each of the devices on the network can be thought of as a node , and each node has a unique address. The manner in which addresses are assigned willvary from one type of network to another, but in all cases, the address of each device must be unique so as to distinguish it from the other devices.
Addresses are numeric quantities that are easy for computers to work with, but are not easy for humans to remember. Therefore, some networks also providenames that humans can more easily remember than numbers.
Modern networks transfer data using a concept known as packet switching . This means that the data are encapsulated into packets that are transferred fromthe source to the destination. It is necessary to extract the data from one or more packets at the destination and use it to reconstruct the original message.
In order for two or more computers connected to a network to be able to exchange data in an orderly manner, they must adhere to a mutually acceptablecommunication protocol. The protocol defines the rules by which they communicate.
Teaching your children to say please and thank you involves teaching them something about a protocol. If they occasionally forget to sayplease, however, they will probably get the cookie anyway.
If a computer protocol requires the participating computers to say please, and they forget to say please, they probably won't get the cookie.
There are many protocols available. For example, the HTTP protocol defines how web browsers and servers communicate and the SMTP protocol defines how emailis transferred (we will write programs that implement part of the HTTP protocol) .
Note here that I have been discussing application protocols that operate at the surface level. We will also be making mention of lower-level protocols thatoperate below the application level. Fortunately, as high-level Java programmers, we don't have to be too concerned about the lower-level protocols.We'll let the systems people worry about them.
Networks are logically separated into layers ranging from the Application Layer at the top to the Physical Layer at the bottom. The technical details of network layering are beyond the scope of this module.Fortunately, you will be able to write useful network programs using Java without understanding the details of network layering.
The Application Layer is the layer that delivers data to the user. The layers below that are involved with getting data from the Application Layer at one end of the conversation to the Application Layer at the other end. For the most part, we will be concerned only with the Application Layer .
In these modules, we will be concerned with networked communications that involve client computers and a server computers. How do we know which is which?
For the purposes of our studies, it will be sufficient to say that the client always initiates the conversation, and the server waits and listens for a client to initiate a conversation.
We need to know something about the following acronyms:
Notification Switch
Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?