The Client/Server model
In the client/server model, the device requesting the information is called a client and the device responding to the request is called a server. Client and server processes are considered to be in the Application layer. The client begins the exchange by requesting data from the server, which responds by sending one or more streams of data to the client. Application layer protocols describe the format of the requests and responses between clients and servers. In addition to the actual data transfer, this exchange may also require control information, such as user authentication and the identification of a data file to be transferred. One example of a client/server network is a corporate environment where employees use a company e-mail server to send, receive and store e-mail. The e-mail client on an employee computer issues a request to the e-mail server for any unread mail. The server responds by sending the requested e-mail to the client. Although data is typically described as flowing from the server to the client, some data always flows from the client to the server. Data flow may be equal in both directions, or may even be greater in the direction going from the client to the server. For example, a client may transfer a file to the server for storage purposes. Data transfer from a client to a server is referred to as an upload and data from a server to a client as a download.
(highteck.net n.d.)
Application Layer and Applications - The Interface Between the Networks
OSI and TCP/IP Model
The Open Systems Interconnection reference model is a layered, abstract representation created as a guideline for network protocol design. The OSI model divides the networking process into seven logical layers, each of which has unique functionality and to which are assigned specific services and protocols. In this model, information is passed from one layer to the next, starting at the Application layer ISO OSI on the transmitting host, proceeding down the hierarchy to the Physical layer, then passing over the communications channel to the destination host, where the information proceeds back up the hierarchy, ending at the Application layer. The figure depicts the steps in this process. TheApplication layer ISO OSI, Layer seven, is the top layer of both the OSI and TCP/IP models. It is the layer that provides the interface between the applications we use to communicate and the underlying network over which our messages are transmitted. Application layer protocols are used to exchange data between programs running on the source and destination hosts. There are many Application layer protocols and new protocols are always being developed.
Although the TCP/IP protocol suite was developed prior to the definition of the OSI model, the functionality of the TCP/IP application layer protocols fit roughly into the framework of the top three layers of the OSI model: Application, Presentation and Session layers. Most TCP/IP application layer protocols were developed before the emergence of personal computers, graphical user interfaces and multimedia objects. As a result, these protocols implement very little of the functionality that is specified in the OSI model Presentation and Session layers.
The Presentation Layer
The Presentation layer has three primary functions:
Coding and conversion of Application layer data to ensure that data from the source device can be interpreted by the appropriate application on the destination device.
Compression of the data in a manner that can be decompressed by the destination device.
Encryption of the data for transmission and the decryption of data upon receipt by the destination.
Presentation layer implementations are not typically associated with a particular protocol stack. The standards for video and graphics are examples. Some well-known standards for video include QuickTime and Motion Picture Experts Group (MPEG). QuickTime is an Apple Computer specification for video and audio, and MPEG is a standard for video compression and coding. Among the well-known graphic image formats are Graphics Interchange Format (GIF), Joint Photographic Experts Group (JPEG), and Tagged Image File Format (TIFF). GIF and JPEG are compression and coding standards for graphic images, and TIFF is a standard coding format for graphic images.
The Session Layer
As the name of the Session layer implies, functions at this layer create and maintain dialogs between source and destination applications. The Session layer handles the exchange of information to initiate dialogs, keep them active, and to restart sessions that are disrupted or idle for a long period of time. Most applications, like web browsers or e-mail clients, incorporate functionality of the OSI layers 5, 6 and 7.
The most widely-known TCP/IP Application layer ISO OSI protocols are those that provide for the exchange of user information. These protocols specify the format and control information necessary for many of the common Internet communication functions. Among these TCP/IP protocols are:
Domain Name Service Protocol (DNS) is used to resolve Internet names to IP addresses.
Hypertext Transfer Protocol (HTTP) is used to transfer files that make up the Web pages of the World Wide Web.
Simple Mail Transfer Protocol (SMTP) is used for the transfer of mail messages and attachments.
Telnet, a terminal emulation protocol, is used to provide remote access to servers and networking devices.
File Transfer Protocol (FTP) is used for interactive file transfer between systems.
The protocols in the TCP/IP suite are generally defined by Requests for Comments (RFCs). The Internet Engineering Task Force maintains the RFCs as the standards for the TCP/IP suite.
(Peer-to-Peer Framework 2015)
(highteck.net n.d.)
What is Peer Networking?
Peer-to-peer networking is a serverless networking technology that allows several network devices to share resources and communicate directly with each other. This technology is available for Windows XP with Service Pack 1 (SP1) and later clients that run the Advanced Networking Pack for the Peer-to-Peer Infrastructure.
The Peer-to-Peer Infrastructure is a set of networking APIs to help you develop decentralized networking applications that use the collective power of computers on a network. For example, peer-to-peer applications can be collaborative communications, content distribution technologies, and so on.
The Peer-to-Peer Infrastructure provides a solid networking infrastructure so that you can concentrate on developing applications, because the infrastructure is developed for you.
The Peer-to-Peer Infrastructure includes the following major components:
Scalable and secure peer name resolution
Efficient multipoint communication
(Microsoft 2015)