CCNA Exploration Network Fundamentals Chapter 03 Application Layer Functionality and Protocols
OSI and TCP/IP Models – Application Layer • The Application layer, Layer seven, is the top layer of both the OSI and TCP/IP models. • It 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
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
The Presentation layer (of OSI model) has 3 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.
The Session Layer - It creates and maintains dialogs between source and destination applications. - It 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 protocols are those that provide for the exchange of user information. - Domain Name Service Protocol (DNS) - Hypertext Transfer Protocol (HTTP) - Telnet, a terminal emulation protocol - File Transfer Protocol (FTP)
Application Layer Software • Within the Application layer, there are two forms of software programs or processes that provide access to the network. • Network-Aware Applications: Some end-user applications are network-aware, meaning that they implement the application layer protocols and are able to communicate directly with the lower layers of the protocol stack. Ex: Email client, web browser
Application layer Services: Other programs may need the assistance of Application layer services to use network resources, like file transfer or network print spooling. • Each application or network service uses protocols which define the standards and data formats to be used. Without protocols, the data network would not have a common way to format and direct data
Application Layer Protocol Functions • In order for the communications to be successful, the application layer protocols implemented on the source and destination host must match. • Protocols establish consistent rules for exchanging data between applications and services loaded on the participating devices • Many different types of applications communicate across data networks. Therefore, Application layer services must implement multiple protocols to provide the desired range of communication experiences • Applications and services may also use multiple protocols in the course of a single conversation.
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. • 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.
Servers • In a client/server network, the server runs a service, or process, sometimes called a server daemon. • Like most services, daemons typically run in the background and are not under an end user's direct control. • When a daemon "hears" a request from a client, it exchanges appropriate messages with the client, as required by its protocol, and proceeds to send the requested data to the client in the proper format • httpd, telnetd, ftpd and etc
Peer-to-Peer Model • Peer-to-peer networking involves two distinct forms. • In a peer-to-peer network, two or more computers are connected via a network and can share resources (such as printers and files) without having a dedicated server. • Every connected end device (known as a peer) can function as either a server or a client. • Peer-to-peer networks decentralize the resources on a network without using a centralized server.
A peer-to-peer application (P2P), unlike a peer-to-peer network, allows a device to act as both a client and a server within the same communication.
Some P2P applications use a hybrid system where resource sharing is decentralized but the indexes that point to resource locations are stored in a centralized directory • Peer-to-peer applications can be used on peer-to-peer networks, client/server networks, and across the Internet.
Some Specific Used Protocols • The Transport layer uses an addressing scheme called a port number. Port numbers identify applications and Application layer services that are the source and destination of data • Domain Name System (DNS) - TCP/UDP Port 53 • Hypertext Transfer Protocol (HTTP) - TCP Port 80 • Simple Mail Transfer Protocol (SMTP) - TCP Port 25 • Post Office Protocol (POP) - UDP Port 110 • Telnet - TCP Port 23 • Dynamic Host Configuration Protocol - UDP Port 67 • File Transfer Protocol (FTP) - TCP Ports 20 and 21
DNS • The Domain Name System (DNS) was created for domain name to address resolution for these networks. • DNS is a client/server service but a bit different from others • The DNS client runs as a service itself. • The DNS client, sometimes called the DNS resolver, supports name resolution for our other network applications and other services that need it • Try nslookup
A DNS server provides the name resolution using the name daemon, which is often called named, (pronounced name-dee). • When a client makes a query, the server's "named" process first looks at its own records to see if it can resolve the name. If it is unable to resolve the name using its stored records, it contacts other servers in order to resolve the name • Once a match is found and returned to the original requesting server, the server temporarily stores the numbered address that matches the name in cache. • ipconfig /displaydns command displays all of the cached DNS entries on a Windows XP or 2000 computer system.
The Domain Name System uses a hierarchical system to create a name database to provide name resolution. The hierarchy looks like an inverted tree with the root at the top and branches below. • At the top of the hierarchy, the root servers maintain records about how to reach the top-level domain servers, which in turn have records that point to the secondary level domain servers and so on. KC KHOR, Multimedia Univ. Cyberjaya
WWW Service & HTTP • When a web address (or URL) is typed into a web browser, the web browser establishes a connection to the web service running on the server using the HTTP protocol. • The browser interprets the 3 parts of the URL: 1. http (the protocol or scheme) 2. www.cisco.com(the server name) 3. web-server.htm (the specific file name requested). • HTTP specifies a request/response protocol. When a client, typically a web browser, sends a request message to a server, the HTTP protocol defines the message types the client uses to request the web page and also the message types the server uses to respond. The three common message types are GET, POST, and PUT. • GET is a client request for data. A web browser sends the GET message to request pages from a web server. • POST and PUT are used to send messages that upload data to the web server • HTTPS?
Email Services & SMTP/POP Protocols • Post Office Protocol (POP) and Simple Mail Transfer Protocol (SMTP) are involved in email services. • Users use an application called a Mail User Agent (MUA), or e-mail client to allow messages to be sent and places received messages into the client's mailbox. • In order to receive e-mail messages from an e-mail server, the e-mail client can use POP. • Sending e-mail from either a client or a server uses message formats and command strings defined by the SMTP protocol.
The e-mail server operates two separate processes: • Mail Transfer Agent (MTA) • Mail Delivery Agent (MDA) POP SMTP
FTP • FTP was developed to allow for file transfers between a client and a server. An FTP client is an application that runs on a computer that is used to push and pull files from a server running the FTP daemon (FTPd). • The client establishes the first connection to the server on TCP port 21. This connection is used for control traffic, consisting of client commands and server replies. • The client establishes the second connection to the server over TCP port 20. This connection is for the actual file transfer and is created every time there is a file transferred. • The file transfer can happen in either direction. The client can download (pull) a file from the server or, the client can upload (push) a file to the server.
DHCP • The Dynamic Host Confirmation Protocol (DHCP) service enables devices on a network to obtain IP addresses and other information from a DHCP server. This service automates the assignment of IP addresses, subnet masks, gateway and other IP networking parameters.
The DHCP server maintains a pool of IP addresses and leases an address to any DHCP-enabled client when the client is powered on. • DHCP DISCOVER packet to identify any available DHCP servers on the network • A DHCP server replies with a DHCP OFFER. • The client may receive multiple DHCP OFFER packets if there is more than one DHCP server on the local network, so it must choose between them, and broadcast a DHCP REQUEST packet that identifies the explicit server and lease offer that the client is accepting. • Assuming that the IP address requested by the client, or offered by the server, is still valid, the server would return a DHCP ACK message that acknowledges to the client the lease is finalized. • If the offer is no longer valid - perhaps due to a time-out or another client allocating the lease - then the selected server will respond with a DHCP NAK message (Negative Acknowledgement). • If receive DHCP NAK, begin again with a new DHCP DISCOVER.
File Sharing Service & SMB • The Server Message Block (SMB) is a client/server file sharing protocol. • Unlike the file sharing supported by FTP, clients establish a long term connection to servers. • Once the connection is established, the user of the client can access the resources on the server as if the resource is local to the client host. • SMB file-sharing and print services have become the mainstay of Microsoft networking. • The LINUX and UNIX operating systems also provide a method of sharing resources with Microsoft networks using a version of SMB called SAMBA.
P2P Service & Gnutella Protocol • With P2P applications based on the Gnutella protocol, people can make files on their hard disks available to others for downloading. • Many client applications are available for accessing the Gnutella network, including: BearShare, Gnucleus, LimeWire, Morpheus, WinMX and XoloX. (samples from materials) • When a user is connected to a Gnutella service, the client applications will search for other Gnutella nodes to connect to. These nodes handle queries for resource locations and replies to those requests. They also govern control messages, which help the service discover other nodes. The actual file transfers usually rely on HTTP services
Telnet • Telnet provides a standard method of emulating text-based terminal devices over the data network. • A connection using Telnet is called a Virtual Terminal (VTY) session, or connection. • Rather than using a physical device to connect to the server, Telnet uses software to create a virtual device that provides the same features of a terminal session with access to the server command line interface (CLI). • To support Telnet client connections, the server runs a service called the Telnet daemon. A virtual terminal connection is established from an end device using a Telnet client application. • If security is a concern, the Secure Shell (SSH) protocol offers an alternate and secure method for server access.