Principles of Network Applications

Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

Principles of network

Applications
1. Goals of the Application Layer
Learn conceptual and implementation aspects of network protocols.

Understand how different application-level protocols operate, like:

HTTP (Web)

FTP (File Transfer)

SMTP/POP3/IMAP (Email)

DNS (Domain Names)

Learn to create network applications using the socket API.

2. Types of Network Applications


Common network applications include:

Email, web browsing, text messaging, remote login, P2P file sharing,
online gaming, streaming, video conferencing, social media, search
engines.

Creating network apps:

Apps run on end systems (e.g., computers, phones).

End systems (like web servers and browsers) communicate over the
network.

No need to program network-core devices (routers, switches), only the


end systems.

3. Application Architectures
Client-Server Architecture:

Server: always-on, fixed IP address, often in data centers.

Clients: communicate with the server, can be intermittently connected


with dynamic IP addresses, and do not communicate directly with each
other.

Principles of network Applications 1


Peer-to-Peer (P2P) Architecture:

No central server; peers (end systems) communicate directly.

Self-scalable: new peers bring additional resources.

Peers are intermittently connected and may have dynamic IPs.

4. Communication Between Processes


A process is a program running within a device (host).

Client process initiates communication; server process waits for


communication.

Sockets act as the endpoint for sending/receiving messages between


processes.

Each process has a unique identifier (IP address + port number) for
communication.

5. Application Layer Protocols


Define how applications communicate:

Message types (request, response).

Syntax (structure of message fields).

Semantics (meaning of data).

Rules for sending/receiving messages.

Open protocols (e.g., HTTP, SMTP) allow different systems to work


together.

Proprietary protocols are private and controlled by specific companies


(e.g., Skype).

6. Transport Service Needs for Applications


Different applications need different levels of data integrity, timing,
throughput, and security.

Examples:

File transfers need reliable data (no loss).

Real-time audio/video can handle some data loss but need low delay.

Principles of network Applications 2


Multimedia requires certain throughput to function well.

7. Common Transport Protocols


TCP (Transmission Control Protocol):

Reliable and connection-oriented.

Provides flow control (prevents sender from overwhelming the


receiver).

Provides congestion control (adjusts speed when the network is busy).

Lacks timing, throughput guarantees, and security features.

UDP (User Datagram Protocol):

Unreliable and connectionless.

Lacks reliability, flow control, and other guarantees.

Useful when speed is more important than reliability (e.g., online


gaming).

8. Application Examples and Transport Protocols


Applications and their preferred transport protocols:

Email: SMTP over TCP

Web browsing: HTTP over TCP

File transfer: FTP over TCP

Streaming: HTTP or RTP over TCP or UDP

Internet calls (VoIP): SIP, RTP over TCP or UDP

9. Securing TCP with SSL


SSL (Secure Sockets Layer) adds security to TCP connections:

Encrypts data.

Ensures data integrity.

Provides end-point authentication (verifies who’s on the other end).

SSL is implemented at the application layer, allowing apps to send data


securely.

Principles of network Applications 3

You might also like