Application Layer
-
Upload
shashikant-athawale -
Category
Engineering
-
view
1.758 -
download
0
Transcript of Application Layer
![Page 1: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/1.jpg)
APPLICATION LAYER
Shashikant V. AthawaleAssistant Professor
Department of Computer Engineering, AISSMS COE ,Pune
![Page 2: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/2.jpg)
2
AGENDA OSI Model Block Diagram OSI Encapsulation Process Application Protocol Design Application Layer Protocols
1. HTTP(Hypertext Transfer Protocol)
2. DNS(Domain Name System)
3. FTP(File Transfer Protocol)
4. TELNET
5. DHCP(Dynamic Host Configuration Protocol)
6. SMTP(Simple Mail Transfer Protocol)
Summary References
![Page 3: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/3.jpg)
3
OSI MODEL BLOCK DIAGRAM
Application-Layer Protocols
![Page 4: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/4.jpg)
4
AGENDA OSI Model Block Diagram OSI Encapsulation Process Application Protocol Design Application Layer Protocols
1. HTTP(Hypertext Transfer Protocol)
2. DNS(Domain Name System)
3. FTP(File Transfer Protocol)
4. TELNET
5. DHCP(Dynamic Host Configuration Protocol)
6. SMTP(Simple Mail Transfer Protocol)
Summary References
![Page 5: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/5.jpg)
5
OSI ENCAPSULATION PROCESS
Application-Layer Protocols
![Page 6: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/6.jpg)
6
AGENDA OSI Model Block Diagram OSI Encapsulation Process Application Protocol Design Application Layer Protocols
1. HTTP(Hypertext Transfer Protocol)
2. DNS(Domain Name System)
3. FTP(File Transfer Protocol)
4. TELNET
5. DHCP(Dynamic Host Configuration Protocol)
6. SMTP(Simple Mail Transfer Protocol)
Summary References
![Page 7: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/7.jpg)
7
APPLICATION PROTOCOL DESIGN Think of different people/teams, working on the client and
server programs.– Different programming languages.
– Diverse hardware, operating systems. Be unambiguous, precise.
– Consider potential error conditions. Allow for future extensions.
– Leave room for additional data, meta-data. Do not replicate services provided by lower layer protocols
– e.g., checksumApplication-Layer
Protocols
![Page 8: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/8.jpg)
8
AGENDA OSI Model Block Diagram OSI Encapsulation Process Application Protocol Design Application Layer Protocols
1. HTTP(Hypertext Transfer Protocol)
2. DNS(Domain Name System)
3. FTP(File Transfer Protocol)
4. TELNET
5. DHCP(Dynamic Host Configuration Protocol)
6. SMTP(Simple Mail Transfer Protocol)
Summary References
![Page 9: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/9.jpg)
9
APPLICATION LAYER PROTOCOLS An application layer protocol defines how an application
processes (clients and servers), running on different end systems, pass messages to each other.
In particular, an application layer protocol defines:– The types of messages, e.g., request messages and response messages.– The syntax of the various message types, i.e., the fields in the message and
how the fields are delineated.– The semantics of the fields, i.e., the meaning of the information that the
field is supposed to contain;– Rules for determining when and how a process sends messages and responds to messages.
Application-Layer Protocols
![Page 10: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/10.jpg)
10
CONTINUE.. Many Internet application-layer protocols are fully specified
in Request. For Comments documents (RFCs) and are therefore in the
public domain.– For example, the HTTP 1.1 specification is included in RFC 2068, which was
finalized and made public January 1997.– If a browser (HTTP client) developer follows the rules of the HTTP 1.1 RFC,
the browser will be able to retrieve Web pages from any Web server that has also has followed the rules of the HTTP 1.1 RFC.
Application-Layer Protocols
![Page 11: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/11.jpg)
11
CONTINUE..
Application layer protocols as follows:
1. HTTP(Hypertext Transfer Protocol)2. DNS(Domain Name System)3. FTP(File Transfer Protocol)4. TELNET5. DHCP(Dynamic Host Configuration Protocol)6. SMTP(Simple Mail Transfer Protocol)
Application-Layer Protocols
![Page 12: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/12.jpg)
12
1. HTTP Hypertext Transfer Protocol is used to transfer files that
make up the web pages of the World Wide Web. HTTP: TCP port 80. Was originally developed to publish and retrieve HTML pages. used for distributed, collaborative information systems. HTTP is used across the world wide web for data transfer and
is one of the most used application protocols. 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 the message types the server uses to respond.
The three common message types are:o GETo POSTo PUT
Application-Layer Protocols
![Page 13: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/13.jpg)
13
CONTINUE.. 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. HTTP protocol using GET.
Application-Layer Protocols
![Page 14: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/14.jpg)
14
2. DNS HOSTNAMES:
IP Addresses are great for computers– IP address includes information used for routing.
IP addresses are tough for humans to remember. IP addresses are impossible to guess.
– ever guessed at the name of a WWW site?
The Domain Name System: The domain name system is usually used to translate a
host name into an IP address . Domain names comprise a hierarchy so that names are
unique, yet easy to remember.
Application-Layer Protocols
![Page 15: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/15.jpg)
15
CONTINUE.. DNS Hierarchy
edu com org jp
rpi albany
Application-Layer Protocols
![Page 16: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/16.jpg)
16
CONTINUE.. Host name structure:• Each host name is made up of a sequence of labels
separated by periods.– Each label can be up to 63 characters– The total name can be at most 255characters.
• Examples:– whitehouse.gov– barney.the.purple.dinosaur.com– monica.cs.rpi.edu
Domain Name• The domain name for a host is the sequence of labels that
lead from the host (leaf node in the naming tree) to the top of the worldwide naming tree.
• A domain is a subtree of the world wide naming tree.Application-Layer
Protocols
![Page 17: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/17.jpg)
17
CONTINUE.. Top level domains:• edu, gov, com, net, org, mil, …• Countries each have a top level domain(2 letter domain
name).• New top level domains include:
.aero .biz .coop .info .name .pro DNS Organization• Distributed Database
– The organization that owns a domain name is responsible for running a DNS server that can provide the mapping between hostnames within the domain to IP addresses.– So - some machine run by RPI is responsible for everything within the rpi.edu domain.
Application-Layer Protocols
![Page 18: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/18.jpg)
18
CONTINUE.. DNS Clients:• A DNS client is called a resolver.• A call to getByName(host)is handled by a resolver
(typically part of the client).• Most Unix workstations have the file /etc/resolv.conf that
contains the local domain and the addresses of DNS servers for that domain.
Nslookup:• nslookup is an interactive resolver that allows the user to
communicate directly with a DNS server.• nslookup is usually available on Unix workstations.
Application-Layer Protocols
![Page 19: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/19.jpg)
19
CONTINUE.. DNS Servers:• Servers handle requests for their domain directly.• Servers handle requests for other domains by contacting
remote DNS server(s).• Servers cache external mappings.
o DNS Message Format:
Application-Layer Protocols
![Page 20: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/20.jpg)
20
CONTINUE.. DNS Message Header:
Application-Layer Protocols
![Page 21: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/21.jpg)
21
3. FTP promote sharing of files. encourage indirect use of remote computers. shield user from variations in file storage. transfer data reliably and efficiently. “FTP, although usable directly by a user at a terminal, is
designed mainly for use by programs”. To successfully transfer files, FTP requires two connections
between the client and the server: one for commands and replies, and the other for the actual file transfer.
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 a file is transferred.
Application-Layer Protocols
![Page 22: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/22.jpg)
22
CONTINUE.. The client can download (pull) a file from the server or
upload (push) a file to the server. FTP Process
Application-Layer Protocols
![Page 23: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/23.jpg)
23
4. TELNET TELNET is a protocol that provides “a general, bi-directional,
eight-bit byte oriented communications facility”. telnet is a program that supports the TELNET protocol over
TCP. Many application protocols are built upon the TELNET
protocol. TELNET service:
Application-Layer Protocols
![Page 24: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/24.jpg)
24
CONTINUE..
The TELNET Protocolo TCP connectiono data and control over the same connection.o Network Virtual Terminalo negotiated options
Application-Layer Protocols
![Page 25: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/25.jpg)
25
CONTINUE.. Network Virtual Terminalo intermediate representation of a generic terminal.o provides a standard language for communication of terminal
control functions.
Application-Layer Protocols
![Page 26: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/26.jpg)
26
CONTINUE.. Negotiated Options:o All NVTs support a minimal set of capabilities.o Some terminals have more capabilities than the minimal set.o The 2 endpoints negotiate a set of mutually acceptable
options (character set, echo mode, etc).o The protocol for requesting optional features is well defined
and includes rules for eliminating possible negotiation “loops”.
o The set of options is not part of the TELNET protocol, so that new terminal features can be incorporated without changing the TELNET protocol.
Application-Layer Protocols
![Page 27: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/27.jpg)
27
CONTINUE.. Control Functions:o TELNET includes support for a series of control functions commonly
supported by servers.o This provides a uniform mechanism for communication of (the
supported) control functions.o Interrupt Process (IP)
– suspend/abort process.o Abort Output (AO)
– process can complete, but send no more output to user’s terminal.o Are You There (AYT)
– check to see if system is still running.o Erase Character (EC)
– delete last character sent– typically used to edit keyboard input.
o Erase Line (EL)– delete all input in current line.Application-Layer
Protocols
![Page 28: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/28.jpg)
28
5. DHCP DHCP enables clients on a network to obtain IP addresses
and other information from a DHCP server. DHCP allows a host to obtain an IP address dynamically
when it connects to the network. The DHCP server is contacted by sending a request, and an
IP address is requested. The DHCP server chooses an address from a configured
range of addresses called a pool and assigns it to the host client for a set period.
different ways of having DHCP servers arranged in next diagram
Application-Layer Protocols
![Page 29: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/29.jpg)
29
CONTINUE..
Application-Layer Protocols
![Page 30: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/30.jpg)
30
7. SMTP Protocol originated in 1982 (RFC821, Jon Postel) Standard message format (RFC822,2822, D. Crocker) Goal: To transfer mail reliably and efficiently
Application-Layer Protocols
![Page 31: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/31.jpg)
31
CONTINUE.. SMTP clients and servers have
two main components: User Agents – Prepares the
message, encloses it in an envelope. (ex. Thunderbird, Eudora)
Mail Transfer Agent – Transfers the mail across the internet (ex. Sendmail, Exim)
Analogous to the postal system in many ways
Application-Layer Protocols
![Page 32: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/32.jpg)
32
CONTINUE.. SMTP also allows the use
of Relays allowing other MTAs to relay the mail.
Mail Gateways are used to relay mail prepared by a protocol other than SMTP and convert it to SMTP.
Application-Layer Protocols
![Page 33: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/33.jpg)
33
CONTINUE.. Connection establishment:
Application-Layer Protocols
![Page 34: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/34.jpg)
34
CONTINUE.. Message Progress:
Application-Layer Protocols
![Page 35: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/35.jpg)
35
CONTINUE.. Connection Termination:
TCP Connection Termination
Application-Layer Protocols
![Page 36: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/36.jpg)
36
CONTINUE..Limitations in SMTP:
Only uses NVT 7 bit ASCII format How to represent other data types?
No authentication mechanisms Messages are sent un-encrypted Susceptible to misuse (Spamming,
faking sender address)
Application-Layer Protocols
![Page 37: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/37.jpg)
37
SUMMARY OSI model has 7 layers. In particular, an application layer protocol defines:
– The types of messages, e.g., request messages and response messages.
Application layer has 6 protocols:1. HTTP(Hypertext Transfer Protocol)
2. DNS(Domain Name System)
3. FTP(File Transfer Protocol)
4. TELNET
5. DHCP(Dynamic Host Configuration Protocol)
6. SMTP(Simple Mail Transfer Protocol)
![Page 38: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/38.jpg)
38
REFERENCES Web Sites:
http://www.faqs.org/rfcs/rfc821.html (RFC 821). http://www.faqs.org/rfcs/rfc2821.html (RFC 2821) http://www.tcpipguide.com/free/
t_SMTPSpecialFeaturesCapabilitiesandExtensions.html http://cns.utoronto.ca/usg/technotes/smtp-intro.html http://computer.howstuffworks.com/email5.htm
Books: Programmer's Guide to Internet Mail by John Rhoton TCP/IP Illustrated Volume 1 by Richard Stevens
![Page 39: Application Layer](https://reader035.fdocuments.us/reader035/viewer/2022062901/58f9ad77760da3da068b9878/html5/thumbnails/39.jpg)
39
THANK YOU…!!!