Lecture 3
Lecture 3
LAYER
Shashikant V. Athawale
Assistant Professor
Department of Computer Engineering,
AISSMS COE ,Pune
AGENDA
OSI Model Block Diagram
OSI Encapsulation Process
Application Protocol Design
Application Layer Protocols
1. HTTP(Hypertext Transfer Protocol)
4. TELNET
Summary
2
References
OSI MODEL BLOCK
DIAGRAM
Application-Layer Protocols
AGENDA
OSI Model Block Diagram
OSI Encapsulation Process
Application Protocol Design
Application Layer Protocols
1. HTTP(Hypertext Transfer Protocol)
4. TELNET
Summary
4
References
OSI ENCAPSULATION PROCESS
Application-Layer Protocols
AGENDA
OSI Model Block Diagram
OSI Encapsulation Process
Application Protocol Design
Application Layer Protocols
1. HTTP(Hypertext Transfer Protocol)
4. TELNET
Summary
6
References
APPLICATION PROTOCOL
DESIGN
Think of different people/teams, working on the client and server
programs.
– Different programming languages.
Be unambiguous, precise.
– Consider potential error conditions.
Application-Layer Protocols
AGENDA
OSI Model Block Diagram
OSI Encapsulation Process
Application Protocol Design
Application Layer Protocols
1. HTTP(Hypertext Transfer Protocol)
4. TELNET
Summary
8
References
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.
9
Application-Layer Protocols
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.
10
Application-Layer Protocols
CONTINUE..
4. TELNET
Application-Layer Protocols
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 GET
o POST
o PUT 12
Application-Layer Protocols
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.
13
Application-Layer Protocols
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?
14
Application-Layer Protocols
CONTINUE..
DNS Hierarchy
edu com
org jp
rpi albany
15
Application-Layer Protocols
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.
16
• A domain is a subtree of the world wide naming tree.
Application-Layer Protocols
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.
17
Application-Layer Protocols
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 the user to
allows communicate directly with a DNS server.
• nslookup is usually available on Unix workstations.
18
Application-Layer Protocols
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.
19
Application-Layer Protocols
CONTINUE..
DNS Message Header:
20
Application-Layer Protocols
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 21
a file is transferred.
Application-Layer Protocols
CONTINUE..
The client can download (pull) a file from the server or upload (push)
a file to the server.
FTP Process
22
Application-Layer Protocols
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:
23
Application-Layer Protocols
CONTINUE..
24
Application-Layer Protocols
CONTINUE..
Network Virtual Terminal
o intermediate representation of a generic terminal.
o provides a standard language for communication of terminal control
functions.
25
Application-Layer Protocols
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.
26
Application-Layer Protocols
CONTINUE..
Control Functions:
o TELNET includes support for a series of control functions commonly
supported by servers.
o This provides a uniform for communication of (the
mechanism 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. 27
Application-Layer Protocols
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
28
Application-Layer Protocols
CONTINUE..
29
Application-Layer Protocols
7. SMTP
Protocol originated in 1982 (RFC821, Jon Postel)
Standard message format (RFC822,2822, D. Crocker)
Goal: To transfer mail reliably and efficiently
30
Application-Layer Protocols
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
31
Application-Layer Protocols
CONTINUE..
SMTP also allows the use of
Relays allowing other MTAs to
relay the mail.
32
Application-Layer Protocols
CONTINUE..
Connection establishment:
33
Application-Layer Protocols
CONTINUE..
Message Progress:
34
Application-Layer Protocols
CONTINUE..
Connection Termination:
35
Application-Layer Protocols
CONTINUE..
Limitations in SMTP:
36
Application-Layer Protocols
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)
4. TELNET
Books:
Programmer's Guide to Internet Mail by John Rhoton
TCP/IP Illustrated Volume 1 by Richard Stevens
38
THANK YOU…!!!
39