2. Overview
Process
network applications and application-layer protocols
Components of web application
Application-layer protocols
Addressing
User agents
3. Process
Processes are communicating in a network.
A process can be thought of as a program that is
running within an end system.
Processes on two different end systems communicate
with each other by exchanging messages across the
computer network.
A sending process creates and sends messages into
the network;
A receiving process receives these messages and
possibly responds by sending messages back.
4. Process…
Networking applications have application-layer
protocols that define the format and order of the
messages exchanged between processes, as well as
the actions taken on the transmission or receipt of a
message.
5. Network applications and application-layer
protocols
An application-layer protocol is a piece of a network
application.
The Web is a network application that allows users to
obtain "documents" from Web servers on demand.
6. Components of web application
A standard for document formats (i.e., HTML)
Web browsers (e.g., Netscape Navigator and Internet
Explorer)
Web servers (e.g., Apache, Microsoft and Netscape
servers),
An application-layer protocol(e.g., HTTP, FTP)
HTTP defines how messages are passed between browser and
Web server.
7. Application-layer protocol
Defines how an application's processes, running on different
end systems, pass messages to each other.
The types of messages exchanged, 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 in the fields;
The rules for determining when and how a
process sends messages and responds to
messages.
8. Clients and Servers
The client side in one end system communicates with
the server side in another end system.
For example, a Web browser implements the client
side of HTTP and a Web server implements the
server side of HTTP
9. Processes Communicating Across a
Network
An application involves two processes in two
different hosts communicating with each other over a
network.
The two processes communicate with each other by
sending and receiving messages through their
sockets.
A process's socket can be thought of as the process's
door
A process sends messages into, and receives message
from, the network through its socket.
10.
11. Socket
A socket is the interface between the application
layer and the transport layer within a host.
It is also referred to as the API (application
programmers interface) between the application
and the network, since the socket is the
programming interface with which networked
applications are built in the Internet
12. Addressing Processes
In order for a process on one host to send a
message to a process on another host, the sending
process must identify the receiving process.
To identify the receiving process, one must
typically specify two pieces of information:
(i) the name or address of the host machine, and
(ii) an identifier that specifies the identity of the
receiving process on the destination host.
13. Addressing Processes…
In Internet applications, the destination host is
specified by its IP address.
The IP address is a 32-bit quantity that uniquely
identifies the end-system.
Since the IP address of any end system connected to
the public Internet must be globally unique.
14. Addressing Processes…
To identify the destination process to direct the
message to the appropriate process on the
destination system, a receive-side port number
is used.
Popular application-layer protocols have been
assigned specific port numbers.
For example, a Web server process (which uses the
HTTP protocol) is identified by port number 80.
A mail server (using the SMTP) protocol is
identified by port number 25.
15. User Agents
The user agent is an interface between the user and
the network application.
For example, for Web application, the user agent is a
browser such as Netscape Navigator or Microsoft
Explorer.
The browser allows a user to view Web pages, to
navigate in the Web, to provide input to forms, to
interact with Java applets, etc.
The browser also implements the client side of the
HTTP protocol.
Thus, when activated, the browser is a process that,
along with providing an interface to the user, sends
messages into a socket.
16. What Services Does an Application
Need?
We can broadly classify an application's service
requirements along three dimensions:
data loss,
bandwidth, and
timing.
17.
18. Services Provided by the Internet
Transport Protocols
TCP Services
Connection-oriented service
Reliable transport service:
Congestion Control
UDP Services
Connectionless
No guarantee
No congestion control