Lecture 4
Application Layer Protocols
The application layer
✓Enables the user, whether human or software, to access the network.
✓It provides user interfaces and support for services such as
➢Domain name system
➢Electronic mail,
➢File access and transfer,
➢Access to system resources,
➢Surfing the world wide web,
➢ And network management.
✓The application layer is responsible for providing services to the user.
Domain Name System
✓Communication between computers on the Internet use IP addresses to identify hosts.
✓To identify an entity, TCPIIP protocols use the IP address, which uniquely identifies
the connection of a host to the Internet.
✓ However, people prefer to use names instead of numeric addresses.
✓That is why we use the name of a network interface instead of an IP address.
✓For each IP address, there is a name of a network interface or to be exact, a domain
name.
✓The relationship between the name of a computer and an IP address is defined in the
Domain Name System (DNS) database.
✓Conceptually, the Internet is divided into over 250 top-level domains, where each
domain covers many hosts.
✓Each domain is partitioned into subdomains, and these are further partitioned
✓The Domain Name System uses a tree (or hierarchical) name structure.
✓ At the top of the tree is the root node, followed by the Top-Level Domains (TLDs),
then the Second-Level Domains (SLDs), and then any.
✓We have two kind of TLD, Generic Top Level Domain (gTLD) and Country Code
Top Level Domain (ccTLD).
✓Well known gTLDs are edu, com, net, and org.
✓According to ISO 3166, we also have two letter ccTLD for individual countries.
✓ For example, the et domain is affiliated with Ethiopia.
✓The TLD domains are divided into subdomains for particular organizations, for
example, google.com, uog.gov.et etc
✓Generally, a company subdomain can be divided into lower levels of subdomains,
✓For example, edu.et will have uog.edu.et in our case Gondar University.
✓Even uog.edu.et may have another subdomains iot.uog.edu.et.
✓And more coe.iot.uog.edu.et
Naming syntax
✓The entire name can have a maximum of 255 characters, An individual string can have a
maximum of 63 characters.
✓ The string can consist of letters, numbers, and hyphens but A hyphen cannot be at the
beginning or at the end of a string.
✓The authority for the root domain lies with the Internet Corporation for Assigned Numbers
and Names (ICANN—www.icann.org/).
✓the gTLDs are authoritatively administered by ICANN and delegated to a series of registrars.
✓ The ccTLDs are delegated by ICANN to the individual countries for administration purposes.
✓Each layer in the hierarchy may delegate the authoritative control to the next or lower level
So what is www.uog.edu.et ?
✓We can see that www.uog.edu.et is built up from www and uog.edu.et.
✓The domain name uog.edu.et part was delegated from a registrar, which in turn was delegated from
edu.et, and which in turn delegated from ccTLD, in turn delegated from ICANN.
✓The leftmost part, the www in this case, is called a host name.
✓We have already said that communication between hosts is based on IP addresses, not domain names.
✓On the other hand, some applications need to find a name for an IP address in other words, find the
reverse record.
✓This process is the translation of an IP address into a domain name, which is often called reverse
translation.
Electronic Mail
✓E-mail is one of popular network service and used for sending a single message that includes text,
voice, video, or graphics to one or more recipients.
✓The Simple Mail Transfer Protocol (SMTP) is a standard mechanism for e-mail in the Internet.
✓Component's of e-mail
✓The first component of an electronic mail system is the user agent (UA).
✓It provides service to the user to make the process of sending and receiving a message easier.
✓User Agent provides the following services:
➢ Composing Message, Reading Message, Replaying to messages, Forwarding Message and Handling
Mailboxes
Architecture
✓To explain the architecture of e-mail, we give four scenarios.
✓The fourth scenario is the most common in the exchange of email.
First Scenario
✓When the sender and the receiver of an e-mail are on the same mail server, we need only two user
agents.
Second scenario
✓When the sender and the receiver of an e-mail are on different mail servers, we need two
UAs and a pair of MTAs (client and server).
✓The message needs to be sent over the Internet
Third scenario
✓When the sender is connected to the mail server via a LAN or a WAN, we need two UAs and two pairs
of MTAs (client and server).
✓Alice still needs a user agent to prepare her message.
✓She then needs to send the message through the LAN or WAN.
Fourth scenario
✓When both sender and receiver are connected to the mail server via a LAN or a WAN, we need
two UAs, two pairs of MTAs (client and server), and a pair of MAAs (client and server).
✓This is the most common situation today.
Handling Mailboxes
✓A user agent normally creates two mailboxes: an inbox and an outbox.
✓Each box is a file with a special format that can be handled by the user agent.
✓The inbox keeps all the received e-mails until they are deleted by the user.
✓The outbox keeps all the sent e-mails until the user deletes them.
✓When we send e-mail we have to know the e-mail address of the recipient.
Example
✓localpart@domain name
✓[email protected]
✓mrrobot: address of mailbox on the mail server and where all the mail received for a
user is stored for retrieval by the message access agent.
✓@ separator of localpart from domain name
✓gmail.com an organization usually selects one or more hosts to receive and send e-mail;
the hosts are sometimes called mail servers or exchangers.
Simple Mail Transfer Agent: SMTP
✓The actual mail transfer is done through message transfer agents.
✓To send mail, a system must have the client MTA, and to receive mail, a system must
have a server MTA.
✓The formal protocol that defines the MTA client and server in the Internet is called
the Simple Mail Transfer Protocol (SMTP).
✓SMTP is used two times, between the sender and the sender's mail server and
between the two mail servers.
✓SMTP simply defines how commands and responses must be sent back and forth
between client and server MTA.
Message Access Agent: POP3
✓SMTP is a push protocol; it pushes the message from the client to the server.
✓In other words, the direction of the bulk: data (messages) is from the client to the server.
✓On the other hand, the third stage needs a pull protocol; the client must pull messages from the
server.
✓The direction of the bulk data is from the server to the client.
✓ The third stage uses a message access agent.
✓Currently two message access protocols are available:
✓Post Office Protocol, version 3 (POP3) and Internet Mail Access Protocol, version 4 (IMAP4).
✓Post Office Protocol, version 3 (POP3) is simple and limited in functionality.
✓The client POP3 software is installed on the recipient computer; the server POP3 software is
installed on the mail server.
✓Mail access starts with the client when the user needs to download e-mail from the mailbox on the
mail server.
✓The client opens a connection to the server on TCP port 110.
✓It then sends its user name and password to access the mailbox.
✓The user can then list and retrieve the mail messages, one by one
✓Another mail access protocol is Internet Mail Access Protocol, version 4 (IMAP4).
✓ IMAP4 is similar to POP3, but it has more features; IMAP4 is more powerful and more
complex.
✓IMAP4 provides the following extra functions:
➢A user can check the e-mail header prior to downloading.
➢A user can search the contents of the e-mail for a specific string of characters prior to
downloading.
➢ A user can create, delete, or rename mailboxes on the mail server
File Transfer Protocol
✓Transferring files from one computer to another is one of the most common tasks expected from
a networking or internetworking environment.
✓FTP is the standard mechanism provided by TCP/IP for copying a file from one host to another.
✓FTP differs from other client/server applications in that it establishes two connections between
the hosts.
✓One connection is used for data transfer, the other for control information (commands and
responses).
✓Separation of commands and data transfer makes FTP more efficient
✓FTP uses two well-known TCP ports: Port 21 is used for the control connection, and port 20 is
used for the data connection.
✓The client has three components: user interface, client control process, and the client data
transfer process.
✓The server has two components: the server control process and the server data transfer process.
✓The control connection is made between the control processes.
✓The data connection is made between the data transfer processes.
Dynamic Host Configuration Protocol: DHCP
✓Dynamic Host Configuration Protocol (DHCP) assigns IP addresses to hosts.
✓But there is a lot of information a DHCP server can provide to a host when the host is requesting an IP
address from the DHCP server.
✓ Here’s a list of the information a DHCP server can provide:
➢ IP address
➢ Subnet mask
➢ Domain name
➢ Default gateway (routers)
➢ DNS server address
Four-step process
✓The following is the four-step process a client takes to receive an IP address from a DHCP
server:
1. The DHCP client broadcasts a DHCP Discover message looking for a DHCP server
2. The DHCP server that received the DHCP Discover message sends a unicast DHCP Offer
message back to the host
3. The client then broadcasts to the server a DHCP Request message asking for the offered
IP address and possibly other information.
4. The server finalizes the exchange with a unicast DHCP Acknowledgment message.
WWW
✓The World Wide Web (WWW) is a repository of information linked together from points all
over the world
Architecture
✓The WWW today is a distributed client/server service, in which a client using a browser can
access a service using a server.
✓However, the service provided is distributed over many locations called sites.
✓Each site holds one or more documents, referred to as Web pages.
✓ Each Web page can contain a link to other pages in the same site or at other sites.
Client
✓A variety of vendors offer commercial browsers that interpret and display a Web
document.
✓Each browser usually consists of three parts: a controller, client protocol, and
interpreters.
✓The controller receives input from the keyboard or the mouse and uses the client
programs to access the document.
✓After the document has been accessed, the controller uses one of the interpreters to
display the document on the screen.
✓The client protocol can be one of the protocols such as HTTP, HTTPS, FTP etc
Server
✓The Web page is stored at the server.
✓Each time a client request arrives, the corresponding document is sent to the client.
✓To improve efficiency, servers normally store requested files in a cache in memory; memory
is faster to access than disk.
✓A server can also become more efficient through multithreading or multiprocessing.
✓In this case, a server can answer more than one request at a time.
Uniform Resource Locator (URL)
✓ A client that wants to access a Web page needs the address.
✓ To facilitate the access of documents distributed throughout the world, HTTP uses locators.
✓ The uniform resource locator (URL) is a standard for specifying any kind of information on the Internet.
✓ The URL defines four things: protocol, host computer, port, and path.
Protocol://host:port/path
✓ The protocol is the client/server program used to retrieve the document.
✓ Many different protocols can retrieve a document; among them are FTP or HTTP.
✓ The most common today is HTTP and HTTPS.
✓ The URL can optionally contain the port number of the server.
✓ Path is the pathname of the file where the information is located.
HTTP
✓The Hypertext Transfer Protocol (HTTP) is a protocol used mainly to access data on the
World Wide Web.
✓HTTP uses the services of TCP on well-known port 80.
✓HTTP transaction performed between the client and server.
✓The client initializes the transaction by sending a request message. The server replies by
sending a response.
Network Management: SNMP
✓ Configuration management: monitors network configuration information so that network administrators can
generate, query, and modify hardware and software running parameters and conditions, and configure services.
✓ Performance management: manages network performance so that the network can provide reliable,
continuous, and low-latency communication capabilities with as few network resources as possible.
Network Management: SNMP
✓ Fault management: ensures that the network is always available and
rectifies faults as soon as possible.
✓ Security management: protects networks and systems from unauthorized
access and attacks.
✓ Accounting management: records the network resource usage of users,
charges users, and collects statistics on network resource usage.
Have a good day folks