Layer 7 Application Layer
Overview Now that you have seen what happens to data packets as they travel the presentation layer, its time to look at the last layer in which data packets travel through before reaching their final destination. The last layer or Layer 7 of the OSI model is referred to as the application layer. The application layer is the closest to you as an end-user, when you are interacting with software applications such as sending and receiving e-mail over a network.
Overview You will see how the application layer deals with data packets from client-server applications, domain name services, and network applications by examining the following: Client-Server Redirectors Domain Name System E-mail Telnet FTP HTTP
Basics of the Application Layer : Application processes In the context of the OSI reference model, the application layer (Layer 7) supports the communicating component of an application. The application layer is responsible for the following: identifying and establishing the availability of intended communication partners synchronizing cooperating applications establishing agreement on procedures for error recovery controlling data integrity
Basics of the Application Layer : Application processes The application layer is the OSI layer closest to the end system. This determines whether sufficient resources exist for communication between systems. Without the application layer, there would be no network communication support. The application layer does not provide services to any other OSI layer. It does provide services to application processes lying outside the scope of the OSI model.
Basics of the Application Layer : Application processes Examples of such application processes include spreadsheet programs, word processing programs, and banking terminal programs. Additionally, the application layer provides a direct interface for the rest of the OSI model by using network applications (e.g. WWW, e-mail, FTP, Telnet), or an indirect interface by using standalone applications (e.g. word processors, spreadsheets, presentation managers) with a network redirector.
Basics of the Application Layer : Direct network applications Most applications that work in a networked environment are classified as client-server applications. These applications, such as FTP, web browsers, and e-mail, all have two components, which allow them to function - the client side, and the server side. The client side is located on the local computer and is the requestor of the services. The server side is located on a remote computer and provides services in response to the client’s requests.
Basics of the Application Layer : Direct network applications A client-server application works by constantly repeating the following looped routine: client-request, server-response; client-request, server-response; etc. For example, a web browser accesses a web page by requesting a uniform resource locator (URL), or web address, on a remote web server.
Basics of the Application Layer : Direct network applications After it locates the URL, the web server that is identified by that URL responds to the request. Then, based on the information received from the web server, the client can request more information from the same web server, or can access another web page from a different web server.
Basics of the Application Layer : Direct network applications The World Wide Web, Netscape Navigator, and Internet Explorer, are probably the most commonly used network applications. An easy way to understand a Web browser is to compare it to a television remote control. A remote control gives you the ability to directly control a TV's functions: volume, channels, brightness, etc
Basics of the Application Layer : Direct network applications For the remote control to function properly, you do not need to understand how the remote control functions electronically. The same is true of a Web browser, in that the browser gives you the ability to navigate through the Web by clicking on hyperlinks. For the Web browser to function properly, it is not necessary for you to understand how the lower layer OSI protocols work and interact.
Basics of the Application Layer : Indirect network support Within a LAN environment, indirect-application network support is a client-server function. If a client wants to save a file from a word processor to a network server, the redirector enables the word processing application to become a network client
Basics of the Application Layer : Indirect network support Redirector is a protocol that works with computer operating systems and network clients instead of specific application programs. Examples of redirectors are: Apple File Protocol NetBIOS Extended User Interface (NetBEUI) Novell IPX/SPX protocols Network File System (NSF) of the TCP/IP protocol suite
Basics of the Application Layer : Indirect network support The redirector process is as follows: The client requests that the network file server allow the data file to be stored. The server responds by saving the file to its disk, or by rejecting the client's request. If the client requests that the network print server allow the data file to be printed by a remote (network) printer, the server processes the request by printing the file on one of its print devices, or by rejecting the request.
Basics of the Application Layer : Indirect network support Redirector allows a network administrator to assign remote resources to logical names on the local client. When you select one of these logical names to perform an operation such as saving a file, or printing a file, the network redirector sends the selected file to the proper remote resource on the network for processing. If the resource is on a local computer, the redirector ignores the request and allows the local operating system to process the request.
Basics of the Application Layer : Indirect network support The advantage of using a network redirector on a local client is that the applications on the client never have to recognize the network. In addition, the application that requests service is located on the local computer and the redirector reroutes the request to the proper network resource, while the application treats it as a local request.
Basics of the Application Layer : Indirect network support Redirectors expand the capabilities of non-network software. They also allow users to share documents, templates, databases, printers, and many other resource types, without having to use special application software.
Basics of the Application Layer : Indirect network support Networking has had a great influence on the development of programs like word processors, spreadsheets, presentation managers, database programs, graphics, and productivity software. Many of these software packages are now network-integrated or network-aware. They have the capabilities of launching integrated Web browsers or Internet tools, and to publish their output to HTML for easy Web integration.
Basics of the Application Layer : Making and breaking a connection It is important to note that in each of the previous examples the connection to the server was maintained only long enough to process the transaction. In the Web example, the connection was maintained just long enough to download the current Web page. In the printer example, the connection was maintained just long enough to send the document to the print server.
Basics of the Application Layer : Making and breaking a connection After the processing was completed, the connection was broken and had to be re-established for the next processing request to take place. This is one of the two ways that communication processing takes place.
Basics of the Application Layer : Making and breaking a connection Later in this chapter, you will learn about the second method in which communication processing takes place. This is illustrated by the Telnet and FTP examples, which establish a connection to the server, and maintains that connection until all processing has been performed.
Basics of the Application Layer : Making and breaking a connection The client computer terminates the connection when the user determines that he/she has finished. All communication activity falls into one of these two categories. In the next section, you will learn about the Domain Name System, which is supported by the application layer processes.
Domain Name System : Problems with using IP addresses In the network layer chapter, you learned that the Internet is built on a hierarchical addressing scheme. This allows for routing that is based on classes of addresses, as opposed to individual addresses. The problem this creates for the user is associating the correct address with the Internet site.
Domain Name System : Problems with using IP addresses The only difference between the address 198.151.11.12 and 198.151.11.21 is one transposed digit. It is very easy to forget an address to a particular site, because there is nothing to associate the contents of the site with its address.
Domain Name System : Problems with using IP addresses In order to associate the contents of the site with its address, a domain naming system was developed. A domain is a group of computers that are associated by their geographical location or their business type. A domain name is a string of characters and/or numbers, usually a name or abbreviation, that represents the numeric address of an Internet site.
Domain Name System : Problems with using IP addresses There are more than 200 top-level domains on the Internet, examples of which include the following: .us - United States .uk - United Kingdom There are also generic names, examples of which include the following: .edu - educational sites .com - commercial sites .gov - government sites .org - non-profit sites .net - network service
Domain Name System : The domain name server The domain name server (DNS) is a device on a network. It responds to requests from clients to translate a domain name into the associated IP address. The DNS system is set up in a hierarchy that creates different levels of DNS servers.
Domain Name System : The domain name server If a local DNS is able to translate a domain name into its associated IP address, it does so, and returns the result to the client. If it cannot translate the address, it passes the request up to the next higher-level DNS on the system, which then tries to translate the address. If the DNS at this level is able to translate the domain name into an associated IP address, it does so, and returns the result to the client.
Domain Name System : The domain name server If not, it sends the request to the next higher level. This process repeats itself until the domain name has been translated, or the top-level DNS has been reached. If the domain name cannot be found on the top level DNS, it is considered to be an error and the corresponding error message is returned. Any type of application that uses domain names to represent IP addresses, uses the DNS to translate that name into its corresponding IP address.
Network Applications : Internet applications You select network applications based on the type of work you need to accomplish. A complete set of application layer programs is available to interface with the Internet. Each application program type is associated with its own application protocol.
Network Applications : Internet applications Although there are more programs and protocol types available, the following are the main focus of this chapter: The World Wide Web uses the HTTP protocol. Remote access programs use the Telnet protocol for directly connecting to remote resources. E-mail programs support the POP3 application layer protocol for electronic mail. File utility programs use the FTP protocol for copying and moving files between remote sites. Network data gathering and monitoring use the SNMP protocol.
Network Applications : Internet applications It is important to re-emphasize the fact that the application layer is just another protocol layer in the OSI or TCP/IP models. The programs interface with application layer protocols.
Network Applications : Internet applications E-mail client applications (i.e. Eudora, Microsoft Mail, Pegasus, and Netscape Mail) work with the POP3 protocol. The same is true with Web browsers. The two most popular Web browsers are Microsoft Internet Explorer and Netscape Communicator. The appearance and operation of these two programs is very different, but they both work with the application layer HTTP protocol.
Network Applications : E-mail message Electronic mail (e-mail) enables you to send messages between connected computers. The procedure for sending an e-mail document involves two separate processes. The first is to send the e-mail to the user’s post office, and the second is to deliver the e-mail from that post office to the user’s e-mail client (i.e. the recipient)
Network Applications : E-mail message The following steps will help you understand the process of sending an e-mail: Start your e-mail program. Type in a recipient's e-mail address. Type in a subject. Type a letter.
Network Applications : E-mail message Now, examine the e-mail address. This is an example of what it may look like: JJones@bigsky.com. It consists of two parts: the recipient’s name (located before the @ sign); and the recipient’s post office address (after the @ sign). The recipient’s name is only important after the message arrives at the post office address, which is a DNS entry that represents the IP address of the post office server.
Network Applications : DNS function Whenever e-mail clients send letters, they request that a DNS connected to the network translate the domain names into their associated IP addresses. If the DNS is able to translate the names, it returns the IP addresses to the clients, thus enabling proper transport layer segmentation and encapsulation. If the DNS cannot translate the names, the requests are passed on until the names can be translated
Network Applications : DNS function The part of the e-mail address that contains the recipient's name becomes important at this point. The server extracts it from the e-mail message and checks to see if the he/she is a member of its post office. If the recipient is a member, it stores the message in his/her mailbox until someone retrieves it. If the recipient is not a member, the post office generates an error message and sends the e-mail back to the sender
Network Applications : DNS function The second part of the e-mailing process is the receiving process. E-mail message recipients must use the e-mail client software on their computers to establish requests to the e-mail post offices. When message recipients click the "Get Mail" or "Retrieve Mail" buttons on the e-mail client, they are usually prompted for a password. After they enter the password and click "OK", the e-mail software builds a request for the post office servers.
Network Applications : DNS function It then extracts the post office addresses from the configuration data that was entered when their e-mail software was configured. The process then uses another DNS search to find the IP addresses of the servers. Finally, the requests are segmented and sequenced by the transport layer.
Network Applications : DNS function Data packets travel through the rest of the OSI model layers (i.e. network, data link, physical) and are then transmitted across the Internet to the destination e-mail post office. At this post office the packets are reassembled, in the proper sequence, and are checked for any data transmission errors
Network Applications : DNS function At the post office, requests are examined, and user names and passwords are verified. If everything is correct, the post office server transmits all e-mail messages to computers. Here the messages are again segmented, sequenced, and encapsulated as data frames, to be sent to the client's or the e-mail recipient's computer.
Network Applications : DNS function After e-mail messages arrive at a computer, you may open them and read them. If you click on the "Reply", or the "Forward" button, to send a response to a messages, the whole process starts over again. E-mail messages, themselves, are normally sent as ASCII text, but the attachments that are sometimes included with them, can be audio, video, graphic, or many other types of data.
Network Applications : DNS function To correctly send and receive attachments, the encoding schemes must be the same on both the sending and the receiving computer. The two most common formats for e-mail attachments are the Multipurpose Internet Mail Extension (MIME) and UUencode (a Unix utility program).
Application Layer Examples : Telnet Terminal emulation (Telnet) software provides the ability to remotely access another computer. It allows you to log in to an Internet host and execute commands. A Telnet client is referred to as a local host, and a Telnet server, which uses special software called a daemon, is referred to as a remote host.
Application Layer Examples : Telnet To make a connection from a Telnet client, you must select a connection option. A dialog box prompts you for a "Host Name" and "Terminal Type". The host name is the IP address (DNS) of the remote computer to which you connect. The terminal type describes the type of terminal emulation that you want the computer to perform.
Application Layer Examples : Telnet The Telnet operation uses none of the transmitting computer’s processing power. Instead, it transmits the keystrokes to the remote host and sends the resulting screen output back to the local monitor. All processing and storage take place on the remote computer.
Application Layer Examples : Telnet Telnet begins with the e-mail process. When you enter a DNS name for a Telnet location, the name must be translated into its associated IP address before a connection can be established. The Telnet application works mainly at the top three layers of the OSI model - the application layer (commands), the presentation layer (formats, usually ASCII), and the session layer (transmits).
Application Layer Examples : Telnet The data then passes to the transport layer where it is segmented, and the port address and error checking are added. The data then passes to the network layer where the IP header (containing the source and destination IP addresses) is added. Next, the packet travels to the data link layer, which encapsulates the packet in a data frame, adds the source and destination MAC address, and a frame trailer.
Application Layer Examples : Telnet If the source computer doesn’t have the MAC address of the destination computer, it performs an ARP request. When the MAC address has been determined, the frame travels across the physical medium (in binary form) to the next device.
Application Layer Examples : Telnet When the data reaches the remote host computer, the data link, network, and transport layers, reassemble the original data commands. The remote host computer executes the commands and transmits the results back to the local client computer by using the same process of encapsulation that delivered the original commands. This whole process repeats itself, sending commands and receiving results, until the local client has completed the work that needs to be done. When the work is done, the client terminates the session.
Application Layer Examples : File transfer protocol File transfer protocol (FTP) is designed to download files (e.g. receive from the Internet) or upload files (e.g. send to the Internet). The ability to upload and download files on it is one of the most valuable features the Internet has to offer. This is especially helpful for those people who rely on computers for many purposes and who may need software drivers and upgrades immediately
Application Layer Examples : File transfer protocol Network administrators can rarely wait even a few days to get the necessary drivers that enable their network servers to function again. The Internet can provide these files immediately by using FTP. FTP is a client-server application just like e-mail and Telnet. It requires server software running on a host that can be accessed by client software.
Application Layer Examples : File transfer protocol An FTP session is established the same way in which a Telnet session is established. Just like Telnet, the FTP session is maintained until the client terminates it, or there is some sort of communication error. Once you establish a connection to an FTP daemon, you must supply a login ID and a password. Normally, you would use "anonymous" as the login ID, and your e-mail address as the password. This type of connection is known as anonymous FTP.
Application Layer Examples : File transfer protocol Upon establishing your identity, a command link opens between your client machine and the FTP server. This is similar to a Telnet session, in which commands are sent and executed on the server and the results returned to the client. This feature allows you to create and change folders, erase and rename files, or execute many other functions associated with file management.
Application Layer Examples : File transfer protocol The main purpose of FTP is to transfer files from one computer to another by copying and moving files from servers to clients, and from clients to servers. When you copy files from a server, FTP establishes a second connection, a data link between the computers, across which the data is transferred. Data transfer can occur in ASCII mode or in binary mode. These two modes determine how the data file is to be transferred between the stations.
Application Layer Examples : File transfer protocol After the file transfer has ended, the data connection terminates automatically. After you have completed the entire session of copying and moving files, you may log off, thus closing the command link, and ending the session. Another protocol that has the ability to download files is Hypertext Transfer Protocol (HTTP), which you will learn about in the next section. One limitation of HTTP is that you can only use it to download files, and not upload them.
Application Layer Examples : Hypertext transfer protocol Hypertext Transfer Protocol (HTTP) works with the World Wide Web, which is the fastest growing and most used part of the Internet. One of the main reasons for the extraordinary growth of the Web is the ease in which it allows access to information. A Web browser (along with all the other network applications covered in this chapter) is a client-server application, which means that it requires both a client and a server component in order to function.
Application Layer Examples : Hypertext transfer protocol A Web browser presents data in multimedia formats on Web pages that use text, graphics, sound, and video. The Web pages are created with a format language called Hypertext Markup Language (HTML). HTML directs a Web browser on a particular Web page to produce the appearance of the page in a specific manner. In addition, HTML specifies locations for the placement of text, files, and objects that are to be transferred from the Web server to the Web browser
Application Layer Examples : Hypertext transfer protocol Hyperlinks make the World Wide Web easy to navigate. A hyperlink is an object (word, phrase, or picture) on a Web page that, when clicked, transfers you to a new Web page. The Web page contains (often, hidden within its HTML description) an address location known as a Uniform Resource Locator (URL).
Application Layer Examples : Hypertext transfer protocol In the following example, the "http://" tells the browser which protocol to use. The second part, "www", tells the browser what type of resource it wishes to contact. The third part, "cisco.com," identifies the domain of the Web server IP address. The last part, "edu" identifies the specific folder location (on the server) that contains the Web page.
Application Layer Examples : Hypertext transfer protocol When you open a Web browser, the first thing you usually see is a starting (or "home") page. The URL of the home page has already been stored in the configuration area of your Web browser and can be changed at any time. From the starting page you can click on one of the Web page hyperlinks, or type a URL in the browser’s address bar.
Application Layer Examples : Hypertext transfer protocol The Web browser then examines the protocol to determine if it needs to open another program, and determines the IP address of the Web server. After that, the transport layer, network layer, data link layer, and physical layer initiate a session with the Web server. The data that is transferred to the HTTP server contains the folder name of the Web page location. (Note: The data can also contain a specific file name for an HTML page.). If no name is given, the server uses a default name (as specified in the server’s configuration).
Application Layer Examples : Hypertext transfer protocol The server responds to the request by sending all of the text, audio, video, and graphic files, as specified in the HTML instructions, to the Web client. The client browser reassembles all the files to create a view of the Web page, and then terminates the session. If you click on another page that is located on the same, or a different server, the whole process begins again.