MODULE 1: APPLICATION LAYER
Principles of Network Applications
• Network-applications are the driving forces for the explosive development of the internet.
• Examples of network-applications:
5) Social networking (Facebook, Twitter)
2) File transfers
6) Video distribution (YouTube)
7) Real-time video conferencing (Skype)
4) P2P file sharing
8) On-line games (World of Warcraft)
• In network-applications, program usually needs to
→ run on the different end-systems and
→ communicate with one another over the network.
• For ex: In the Web application, there are 2 different programs:
1) The browser program running in the user's host (Laptop or Smartphone).
2) The Web-server program running in the Web-server host.
Network Application Architectures
• Two approaches for developing an application:
1) Client-Server architecture
2) P2P (Peer to Peer) architecture
• In this architecture, there is a server and many clients distributed over the network (Figure 1.1a).
• The server is always-on while a client can be randomly run.
• The server is listening on the network and a client initializes the communication.
• Upon the requests from a client, the server provides certain services to the client.
• Usually, there is no communication between two clients.
• The server has a fixed IP address.
• A client contacts the server by sending a packet to the server's IP address.
• A server is able to communicate with many clients.
• The applications such as FTP, telnet, Web, e-mail etc use the client-server architecture.
184.108.40.206.1 Data Center
Earlier, client-server architecture had a single-server host.
But now, a single-server host is unable to keep up with all the requests from large no. of clients.
For this reason, data-center a is used.
A data-center contains a large number of hosts.
A data-center is used to create a powerful virtual server.
In date center, hundreds of servers must be powered and maintained.
Google has around 50 data-centers distributed around the world.
These 50 data-centers handle search, YouTube, Gmail, and other services.
• There is no dedicated server (Figure 1.1b).
• Pairs of hosts are called peers.
• The peers communicate directly with each other.
• The peers are not owned by the service-provider. Rather, the peers are laptops controlled by users.
• Many of today's most popular and traffic-intensive applications are based on P2P architecture.
• Examples include file sharing (BitTorrent), Internet telephone (Skype) etc.
• Main feature of P2P architectures: self-scalability.
• For ex: In a P2P file-sharing system,
Each peer generates workload by requesting files.
Each peer also adds service-capacity to the system by distributing files to other peers.
• Advantage: Cost effective ‗.‘ Normally, server-infrastructure & server bandwidth are not required.
• Three challenges of the P2P applications:
Most residential ISPs have been designed for asymmetrical bandwidth usage.
Asymmetrical bandwidth means there is more downstream-traffic than upstream-traffic.
But P2P applications shift upstream-traffic from servers to residential I Ps, which stress on the ISPs.