The document discusses network application protocols and provides examples of common network applications. It describes the client-server and peer-to-peer architectures for network applications. Applications use either TCP or UDP at the transport layer, depending on their requirements for reliability, throughput, and timing. TCP provides reliable data transfer while UDP is simpler but does not guarantee delivery. Well-known application layer protocols are presented along with the transport protocols typically used to support them.
The document describes a set of PowerPoint slides for a networking textbook. It provides instructions for using and modifying the slides, with the only requests being to mention the source and copyright if used for teaching or posted online.
The document describes a chapter about the application layer from a textbook on computer networking. It covers several topics:
1. An introduction to the application layer including common network applications, client-server and peer-to-peer architectures, and how processes communicate over the network.
2. Descriptions of the HTTP and TCP protocols that are commonly used at the application layer. HTTP uses the TCP transport layer to provide reliable data transfer for web applications.
3. An overview of how non-persistent and persistent HTTP connections work, with persistent connections allowing multiple objects to be transferred over a single TCP connection between a client and server.
Chapter_2_V7.01.ppt The client sends one request message for the HTML file, a...MushaimAftab
油
The client sends one request message for the HTML file, and the server responds with the HTML file and three additional response messages for the images.The client sends one request message for the HTML file, and the server responds with the HTML file and three additional response messages for the images.The client sends one request message for the HTML file, and the server responds with the HTML file and three additional response messages for the images.
The document discusses the application layer and HTTP protocol. It provides an overview of the HTTP protocol, including that it uses a client-server model with browsers as clients and web servers as servers. It describes how HTTP messages are exchanged over TCP connections and covers non-persistent and persistent HTTP connections. It also provides details on the format of HTTP requests and responses.
The document describes an introductory chapter on the application layer from a textbook on computer networking. It provides an overview of key topics that will be covered in the chapter, including application architectures (client-server and peer-to-peer), example network applications, how processes communicate over the network, addressing processes, application layer protocols, and how applications map to transport protocols. It then focuses on describing the Hypertext Transfer Protocol (HTTP) and web architecture, including how HTTP connections and requests/responses work.
This document summarizes key aspects of the application layer as covered in Chapter 2, including:
1) It describes common network applications like email, web, file sharing and discusses application layer protocols and transport protocols used.
2) It explains client-server and peer-to-peer architectures and provides examples of each.
3) It provides an overview of HTTP and the web including HTTP requests and responses, persistent connections, and caching.
Module 2: Application layer
Principles of network applications, Web and HTTP, File transfer protocol, Electronic mail, Domain name system, DDNS, SSH, SNMP ,Internet Applications.
In the OSI reference model, the communications between a computing system are split into seven different abstraction layers: Physical, Data Link, Network, Transport, Session, Presentation, and Application.
The lowest layer of the OSI Model is concerned with electrically or optically transmitting raw unstructured data bits across the network from the physical layer of the sending device to the physical layer of the receiving device. It can include specifications such as voltages, pin layout, cabling, and radio frequencies. At the physical layer, one might find physical resources such as network hubs, cabling, repeaters, network adapters or modems.
Data Link Layer
At the data link layer, directly connected nodes are used to perform node-to-node data transfer where data is packaged into frames. The data link layer also corrects errors that may have occurred at the physical layer.
The data link layer encompasses two sub-layers of its own. The first, media access control (MAC), provides flow control and multiplexing for device transmissions over a network. The second, the logical link control (LLC), provides flow and error control over the physical medium as well as identifies line protocols.
Network Layer
The network layer is responsible for receiving frames from the data link layer, and delivering them to their intended destinations among based on the addresses contained inside the frame. The network layer finds the destination by using logical addresses, such as IP (internet protocol). At this layer, routers are a crucial component used to quite literally route information where it needs to go between networks.
Transport Layer
The transport layer manages the delivery and error checking of data packets. It regulates the size, sequencing, and ultimately the transfer of data between systems and hosts. One of the most common examples of the transport layer is TCP or the Transmission Control Protocol.
Session Layer
The session layer controls the conversations between different computers. A session or connection between machines is set up, managed, and termined at layer 5. Session layer services also include authentication and reconnections.
Presentation Layer
The presentation layer formats or translates data for the application layer based on the syntax or semantics that the application accepts. Because of this, it at times also called the syntax layer. This layer can also handle the encryption and decryption required by the application layer.
Application Layer
At this layer, both the end user and the application layer interact directly with the software application. This layer sees network services provided to end-user applications such as a web browser or Office 365. The application layer identifies communication partners, resource availability, and synchronizes communication.
This document discusses an application layer chapter that covers:
- Principles of network applications like the client-server and peer-to-peer paradigms
- Popular application layer protocols including HTTP, SMTP, DNS, and video streaming
- How applications use transport layer protocols like TCP and UDP based on their reliability, throughput, and timing requirements
- Socket programming and how processes communicate over the network
This document discusses an application layer chapter that covers several topics:
- It provides an overview of application layer protocols including HTTP, email, DNS, peer-to-peer applications, and socket programming.
- It explains the client-server and peer-to-peer paradigms for network applications. Processes communicate by exchanging messages over sockets.
- It introduces HTTP and the web client-server model, where clients make requests and servers send responses. HTTP uses TCP for reliable data transfer.
Computer network network edge and networkrjnavallasca
油
This document discusses an application layer chapter that covers key concepts like the client-server and peer-to-peer paradigms, application layer protocols, and transport layer services. It specifically focuses on HTTP as the main application layer protocol for the web, describing its request and response message formats, use of TCP for reliable data transfer, and differences between non-persistent and persistent connections.
Materi Perkuliahan Jaringan Komputer Teknik Informatika Chapter 2Raga Yustia
油
The document discusses the application layer and network applications. It provides an overview of common network applications like email, web, FTP, and DNS. It describes the client-server and peer-to-peer architectures that applications can use. It also discusses how processes communicate with sockets and addresses and how application layer protocols define message formats and rules. The document examines what transport services different applications require in terms of data integrity, throughput, and timing.
This document discusses an application layer protocol chapter from a textbook. It begins with an introduction to application layer protocols and architectures like client-server and peer-to-peer. It then covers specific protocols like HTTP, FTP, email and DNS. It discusses transport protocols like TCP and UDP and how applications map to these. It provides an overview of the HTTP protocol for web applications and browsing.
This document discusses the application layer in computer networking. It begins by outlining the goals of understanding both conceptual and implementation aspects of network application protocols. It then covers several common network applications like web, email, file transfer, and peer-to-peer applications. It also discusses application architectures like client-server and peer-to-peer. The document focuses on HTTP, the application layer protocol that powers the web, explaining concepts like requests, responses, and persistent connections. It also touches on other protocols like SMTP for email and DNS for domain name resolution.
The document discusses slides being made freely available for use in substantially unaltered form with attribution, notes the copyright of the material, and encourages readers to enjoy the slides on topics including principles of network applications, popular protocols like HTTP, FTP, and DNS, and socket programming.
This document provides an overview of the application layer in computer networking. It discusses several key concepts including the client-server and peer-to-peer paradigms, popular application layer protocols like HTTP, SMTP, and DNS, socket programming, addressing processes, and how different applications map to transport layer protocols like TCP and UDP. It also covers topics like non-persistent and persistent HTTP connections. The overall goal is to explain both conceptual and implementation aspects of application layer protocols.
Application Layer.pptand documents of coitxminahil29
油
_Happiest birthday patner_"ズわき
Many many happy returns of the day わ.... may this year brings more happiness and success for u..... may uh have many more グ.... may urhh life be as beautiful as you are ..... may ur all desire wishes come true ..... May uh get double of everything uh want in ur life ......you're such a great guy and puri hearted and sweetest girl ス稲嶧....uh deserve all cakes hug an happiness today グ... hmesha khush rho pyariiiip....
Once again happy birthday My Gurl コわ_Happiest birthday patner_"ズわき
Many many happy returns of the day わ.... may this year brings more happiness and success for u..... may uh have many more グ.... may urhh life be as beautiful as you are ..... may ur all desire wishes come true ..... May uh get double of everything uh want in ur life ......you're such a great guy and puri hearted and sweetest girl ス稲嶧....uh deserve all cakes hug an happiness today グ... hmesha khush rho pyariiiip....
Once again happy birthday My Gurl コわ
_JUG JUG JIYOOO__Happiest birthday patner_"ズわき
Many many happy returns of the day わ.... may this year brings more happiness and success for u..... may uh have many more グ.... may urhh life be as beautiful as you are ..... may ur all desire wishes come true ..... May uh get double of everything uh want in ur life ......you're such a great guy and puri hearted and sweetest girl ス稲嶧....uh deserve all cakes hug an happiness today グ... hmesha khush rho pyariiiip....
Once again happy birthday My Gurl コわ
_JUG JUG JIYOOO__Happiest birthday patner_"ズわき
Many many happy returns of the day わ.... may this year brings more happiness and success for u..... may uh have many more グ.... may urhh life be as beautiful as you are ..... may ur all desire wishes come true ..... May uh get double of everything uh want in ur life ......you're such a great guy and puri hearted and sweetest girl ス稲嶧....uh deserve all cakes hug an happiness today グ... hmesha khush rho pyariiiip....
Once again happy birthday My Gurl コわ
_JUG JUG JIYOOO_
_JUG JUG JIYOOO_
no loss, elastic, no
Telnet: no loss, elastic, yes (interactive)
FTP: no loss, elastic, no
SMTP: no loss, elastic, no
HTTP: no loss, elastic, no
Streaming audio/video: loss-tolerant, 5kbps-1Mbps, yes (100s msec)
Interactive games: loss-tolerant, elastic, yes (100s msec)
So in summary, different apps have different requirements for data loss, throughput, and time sensitivity.
This document discusses the application layer of the OSI and TCP/IP models. It describes how the application layer provides services to end users through protocols like HTTP, DNS, SMTP, and FTP. It also explains how application layer software like clients, services, and protocols allow users to communicate over the network and exchange data between devices using the client-server model. Servers store and deliver shared resources to client applications that request information.
This document discusses application layer protocols and services in computer networking. It begins by describing the seven-layer OSI model and how the application layer fits within this model. It then explains how several important TCP/IP application layer protocols function, such as HTTP, DNS, SMTP, and FTP. The document also discusses the client-server and peer-to-peer networking models and how application layer protocols enable communication between clients and servers or peers. It concludes by defining port numbers used by common application layer protocols and services.
The document discusses the application layer of the OSI model. It describes how application layer protocols like HTTP, SMTP, and FTP allow end-user applications to access network services and interact with other applications. It also covers protocols that provide IP addressing services, such as DNS for translating names to addresses and DHCP for dynamically assigning IP addresses. The document provides examples of common application layer protocols and how they facilitate file transfers, email, and web browsing. It concludes with a high-level summary of the key roles of the application layer.
Database population in Odoo 18 - Odoo slidesCeline George
油
In this slide, well discuss the database population in Odoo 18. In Odoo, performance analysis of the source code is more important. Database population is one of the methods used to analyze the performance of our code.
How to attach file using upload button Odoo 18Celine George
油
In this slide, well discuss on how to attach file using upload button Odoo 18. Odoo features a dedicated model, 'ir.attachments,' designed for storing attachments submitted by end users. We can see the process of utilizing the 'ir.attachments' model to enable file uploads through web forms in this slide.
More Related Content
Similar to Lecture-2012-2-Application Layer-Introduction.ppt (20)
In the OSI reference model, the communications between a computing system are split into seven different abstraction layers: Physical, Data Link, Network, Transport, Session, Presentation, and Application.
The lowest layer of the OSI Model is concerned with electrically or optically transmitting raw unstructured data bits across the network from the physical layer of the sending device to the physical layer of the receiving device. It can include specifications such as voltages, pin layout, cabling, and radio frequencies. At the physical layer, one might find physical resources such as network hubs, cabling, repeaters, network adapters or modems.
Data Link Layer
At the data link layer, directly connected nodes are used to perform node-to-node data transfer where data is packaged into frames. The data link layer also corrects errors that may have occurred at the physical layer.
The data link layer encompasses two sub-layers of its own. The first, media access control (MAC), provides flow control and multiplexing for device transmissions over a network. The second, the logical link control (LLC), provides flow and error control over the physical medium as well as identifies line protocols.
Network Layer
The network layer is responsible for receiving frames from the data link layer, and delivering them to their intended destinations among based on the addresses contained inside the frame. The network layer finds the destination by using logical addresses, such as IP (internet protocol). At this layer, routers are a crucial component used to quite literally route information where it needs to go between networks.
Transport Layer
The transport layer manages the delivery and error checking of data packets. It regulates the size, sequencing, and ultimately the transfer of data between systems and hosts. One of the most common examples of the transport layer is TCP or the Transmission Control Protocol.
Session Layer
The session layer controls the conversations between different computers. A session or connection between machines is set up, managed, and termined at layer 5. Session layer services also include authentication and reconnections.
Presentation Layer
The presentation layer formats or translates data for the application layer based on the syntax or semantics that the application accepts. Because of this, it at times also called the syntax layer. This layer can also handle the encryption and decryption required by the application layer.
Application Layer
At this layer, both the end user and the application layer interact directly with the software application. This layer sees network services provided to end-user applications such as a web browser or Office 365. The application layer identifies communication partners, resource availability, and synchronizes communication.
This document discusses an application layer chapter that covers:
- Principles of network applications like the client-server and peer-to-peer paradigms
- Popular application layer protocols including HTTP, SMTP, DNS, and video streaming
- How applications use transport layer protocols like TCP and UDP based on their reliability, throughput, and timing requirements
- Socket programming and how processes communicate over the network
This document discusses an application layer chapter that covers several topics:
- It provides an overview of application layer protocols including HTTP, email, DNS, peer-to-peer applications, and socket programming.
- It explains the client-server and peer-to-peer paradigms for network applications. Processes communicate by exchanging messages over sockets.
- It introduces HTTP and the web client-server model, where clients make requests and servers send responses. HTTP uses TCP for reliable data transfer.
Computer network network edge and networkrjnavallasca
油
This document discusses an application layer chapter that covers key concepts like the client-server and peer-to-peer paradigms, application layer protocols, and transport layer services. It specifically focuses on HTTP as the main application layer protocol for the web, describing its request and response message formats, use of TCP for reliable data transfer, and differences between non-persistent and persistent connections.
Materi Perkuliahan Jaringan Komputer Teknik Informatika Chapter 2Raga Yustia
油
The document discusses the application layer and network applications. It provides an overview of common network applications like email, web, FTP, and DNS. It describes the client-server and peer-to-peer architectures that applications can use. It also discusses how processes communicate with sockets and addresses and how application layer protocols define message formats and rules. The document examines what transport services different applications require in terms of data integrity, throughput, and timing.
This document discusses an application layer protocol chapter from a textbook. It begins with an introduction to application layer protocols and architectures like client-server and peer-to-peer. It then covers specific protocols like HTTP, FTP, email and DNS. It discusses transport protocols like TCP and UDP and how applications map to these. It provides an overview of the HTTP protocol for web applications and browsing.
This document discusses the application layer in computer networking. It begins by outlining the goals of understanding both conceptual and implementation aspects of network application protocols. It then covers several common network applications like web, email, file transfer, and peer-to-peer applications. It also discusses application architectures like client-server and peer-to-peer. The document focuses on HTTP, the application layer protocol that powers the web, explaining concepts like requests, responses, and persistent connections. It also touches on other protocols like SMTP for email and DNS for domain name resolution.
The document discusses slides being made freely available for use in substantially unaltered form with attribution, notes the copyright of the material, and encourages readers to enjoy the slides on topics including principles of network applications, popular protocols like HTTP, FTP, and DNS, and socket programming.
This document provides an overview of the application layer in computer networking. It discusses several key concepts including the client-server and peer-to-peer paradigms, popular application layer protocols like HTTP, SMTP, and DNS, socket programming, addressing processes, and how different applications map to transport layer protocols like TCP and UDP. It also covers topics like non-persistent and persistent HTTP connections. The overall goal is to explain both conceptual and implementation aspects of application layer protocols.
Application Layer.pptand documents of coitxminahil29
油
_Happiest birthday patner_"ズわき
Many many happy returns of the day わ.... may this year brings more happiness and success for u..... may uh have many more グ.... may urhh life be as beautiful as you are ..... may ur all desire wishes come true ..... May uh get double of everything uh want in ur life ......you're such a great guy and puri hearted and sweetest girl ス稲嶧....uh deserve all cakes hug an happiness today グ... hmesha khush rho pyariiiip....
Once again happy birthday My Gurl コわ_Happiest birthday patner_"ズわき
Many many happy returns of the day わ.... may this year brings more happiness and success for u..... may uh have many more グ.... may urhh life be as beautiful as you are ..... may ur all desire wishes come true ..... May uh get double of everything uh want in ur life ......you're such a great guy and puri hearted and sweetest girl ス稲嶧....uh deserve all cakes hug an happiness today グ... hmesha khush rho pyariiiip....
Once again happy birthday My Gurl コわ
_JUG JUG JIYOOO__Happiest birthday patner_"ズわき
Many many happy returns of the day わ.... may this year brings more happiness and success for u..... may uh have many more グ.... may urhh life be as beautiful as you are ..... may ur all desire wishes come true ..... May uh get double of everything uh want in ur life ......you're such a great guy and puri hearted and sweetest girl ス稲嶧....uh deserve all cakes hug an happiness today グ... hmesha khush rho pyariiiip....
Once again happy birthday My Gurl コわ
_JUG JUG JIYOOO__Happiest birthday patner_"ズわき
Many many happy returns of the day わ.... may this year brings more happiness and success for u..... may uh have many more グ.... may urhh life be as beautiful as you are ..... may ur all desire wishes come true ..... May uh get double of everything uh want in ur life ......you're such a great guy and puri hearted and sweetest girl ス稲嶧....uh deserve all cakes hug an happiness today グ... hmesha khush rho pyariiiip....
Once again happy birthday My Gurl コわ
_JUG JUG JIYOOO_
_JUG JUG JIYOOO_
no loss, elastic, no
Telnet: no loss, elastic, yes (interactive)
FTP: no loss, elastic, no
SMTP: no loss, elastic, no
HTTP: no loss, elastic, no
Streaming audio/video: loss-tolerant, 5kbps-1Mbps, yes (100s msec)
Interactive games: loss-tolerant, elastic, yes (100s msec)
So in summary, different apps have different requirements for data loss, throughput, and time sensitivity.
This document discusses the application layer of the OSI and TCP/IP models. It describes how the application layer provides services to end users through protocols like HTTP, DNS, SMTP, and FTP. It also explains how application layer software like clients, services, and protocols allow users to communicate over the network and exchange data between devices using the client-server model. Servers store and deliver shared resources to client applications that request information.
This document discusses application layer protocols and services in computer networking. It begins by describing the seven-layer OSI model and how the application layer fits within this model. It then explains how several important TCP/IP application layer protocols function, such as HTTP, DNS, SMTP, and FTP. The document also discusses the client-server and peer-to-peer networking models and how application layer protocols enable communication between clients and servers or peers. It concludes by defining port numbers used by common application layer protocols and services.
The document discusses the application layer of the OSI model. It describes how application layer protocols like HTTP, SMTP, and FTP allow end-user applications to access network services and interact with other applications. It also covers protocols that provide IP addressing services, such as DNS for translating names to addresses and DHCP for dynamically assigning IP addresses. The document provides examples of common application layer protocols and how they facilitate file transfers, email, and web browsing. It concludes with a high-level summary of the key roles of the application layer.
Database population in Odoo 18 - Odoo slidesCeline George
油
In this slide, well discuss the database population in Odoo 18. In Odoo, performance analysis of the source code is more important. Database population is one of the methods used to analyze the performance of our code.
How to attach file using upload button Odoo 18Celine George
油
In this slide, well discuss on how to attach file using upload button Odoo 18. Odoo features a dedicated model, 'ir.attachments,' designed for storing attachments submitted by end users. We can see the process of utilizing the 'ir.attachments' model to enable file uploads through web forms in this slide.
SOCIAL CHANGE(a change in the institutional and normative structure of societ...DrNidhiAgarwal
油
This PPT is showing the effect of social changes in human life and it is very understandable to the students with easy language.in this contents are Itroduction, definition,Factors affecting social changes ,Main technological factors, Social change and stress , what is eustress and how social changes give impact of the human's life.
Useful environment methods in Odoo 18 - Odoo 際際滷sCeline George
油
In this slide well discuss on the useful environment methods in Odoo 18. In Odoo 18, environment methods play a crucial role in simplifying model interactions and enhancing data processing within the ORM framework.
Finals of Rass MELAI : a Music, Entertainment, Literature, Arts and Internet Culture Quiz organized by Conquiztadors, the Quiz society of Sri Venkateswara College under their annual quizzing fest El Dorado 2025.
QuickBooks Desktop to QuickBooks Online How to Make the MoveTechSoup
油
If you use QuickBooks Desktop and are stressing about moving to QuickBooks Online, in this webinar, get your questions answered and learn tips and tricks to make the process easier for you.
Key Questions:
* When is the best time to make the shift to QuickBooks Online?
* Will my current version of QuickBooks Desktop stop working?
* I have a really old version of QuickBooks. What should I do?
* I run my payroll in QuickBooks Desktop now. How is that affected?
*Does it bring over all my historical data? Are there things that don't come over?
* What are the main differences between QuickBooks Desktop and QuickBooks Online?
* And more
Digital Tools with AI for e-Content Development.pptxDr. Sarita Anand
油
This ppt is useful for not only for B.Ed., M.Ed., M.A. (Education) or any other PG level students or Ph.D. scholars but also for the school, college and university teachers who are interested to prepare an e-content with AI for their students and others.
APM event hosted by the South Wales and West of England Network (SWWE Network)
Speaker: Aalok Sonawala
The SWWE Regional Network were very pleased to welcome Aalok Sonawala, Head of PMO, National Programmes, Rider Levett Bucknall on 26 February, to BAWA for our first face to face event of 2025. Aalok is a member of APMs Thames Valley Regional Network and also speaks to members of APMs PMO Interest Network, which aims to facilitate collaboration and learning, offer unbiased advice and guidance.
Tonight, Aalok planned to discuss the importance of a PMO within project-based organisations, the different types of PMO and their key elements, PMO governance and centres of excellence.
PMOs within an organisation can be centralised, hub and spoke with a central PMO with satellite PMOs globally, or embedded within projects. The appropriate structure will be determined by the specific business needs of the organisation. The PMO sits above PM delivery and the supply chain delivery teams.
For further information about the event please click here.
How to Configure Restaurants in Odoo 17 Point of SaleCeline George
油
Odoo, a versatile and integrated business management software, excels with its robust Point of Sale (POS) module. This guide delves into the intricacies of configuring restaurants in Odoo 17 POS, unlocking numerous possibilities for streamlined operations and enhanced customer experiences.
How to use Init Hooks in Odoo 18 - Odoo 際際滷sCeline George
油
In this slide, well discuss on how to use Init Hooks in Odoo 18. In Odoo, Init Hooks are essential functions specified as strings in the __init__ file of a module.
Mate, a short story by Kate Grenvile.pptxLiny Jenifer
油
A powerpoint presentation on the short story Mate by Kate Greenville. This presentation provides information on Kate Greenville, a character list, plot summary and critical analysis of the short story.
1. Chapter 2
Application Layer
Computer Networking:
A Top Down Approach,
5th edition.
Jim Kurose, Keith Ross
Addison-Wesley, April
2009.
A note on the use of these ppt slides:
Were making these slides freely available to all (faculty, students, readers).
Theyre in PowerPoint form so you can add, modify, and delete slides
(including this one) and slide content to suit your needs. They obviously
represent a lot of work on our part. In return for use, we only ask the
following:
If you use these slides (e.g., in a class) in substantially unaltered form, that
you mention their source (after all, wed like people to use our book!)
If you post any slides in substantially unaltered form on a www site, that
you note that they are adapted from (or perhaps identical to) our slides, and
note our copyright of this material.
Thanks and enjoy! JFK/KWR
All material copyright 1996-2010
J.F Kurose and K.W. Ross, All Rights Reserved
Application 2-1
2. Chapter 2: Application Layer
Our goals:
conceptual,
implementation
aspects of network
application protocols
transport-layer
service models
client-server
paradigm
peer-to-peer
paradigm
learn about protocols
by examining popular
application-level
protocols
HTTP
FTP
SMTP / POP3 / IMAP
DNS
programming network
applications
socket API
Application 2-3
3. Some network apps
e-mail
web
instant messaging
remote login
P2P file sharing
multi-user network
games
streaming stored video
(YouTube)
voice over IP
real-time video
conferencing
cloud computing
Application 2-4
4. Creating a network app
write programs that
run on (different) end
systems
communicate over network
e.g., web server software
communicates with browser
software
No need to write software
for network-core devices
network-core devices do
not run user applications
applications on end systems
allows for rapid app
development, propagation
application
transport
network
data link
physical
application
transport
network
data link
physical
application
transport
network
data link
physical
Application 2-5
5. Chapter 2: Application layer
2.1 Principles of network
applications
2.2 Web and HTTP
2.3 FTP
2.4 Electronic Mail
SMTP, POP3, IMAP
2.5 DNS
2.6 P2P applications
2.7 Socket programming
with TCP
2.8 Socket programming
with UDP
Application 2-6
7. Client-server architecture
server:
always-on host
permanent IP address
server farms for
scaling
clients:
communicate with server
may be intermittently
connected
may have dynamic IP
addresses
do not communicate
directly with each other
client/server
Application 2-8
8. Pure P2P architecture
no always-on server
arbitrary end systems
directly communicate
peers are intermittently
connected and change IP
addresses
highly scalable but
difficult to manage
peer-peer
Application 2-9
9. Hybrid of client-server and P2P
Skype
voice-over-IP P2P application
centralized server: finding address of remote
party:
client-client connection: direct (not through
server)
Instant messaging
chatting between two users is P2P
centralized service: client presence
detection/location
user registers its IP address with central
server when it comes online
user contacts central server to find IP
addresses of buddies
Application 2-10
10. Processes communicating
process: program running
within a host.
within same host, two
processes communicate
using inter-process
communication (defined
by OS).
processes in different
hosts communicate by
exchanging messages
client process: process
that initiates
communication
server process: process
that waits to be
contacted
aside: applications with
P2P architectures have
client processes &
server processes
Application 2-11
11. Sockets
process sends/receives
messages to/from its
socket
socket analogous to door
sending process shoves
message out door
sending process relies on
transport infrastructure
on other side of door which
brings message to socket
at receiving process
process
TCP with
buffers,
variables
socket
host or
server
process
TCP with
buffers,
variables
socket
host or
server
Internet
controlled
by OS
controlled by
app developer
API: (1) choice of transport protocol; (2) ability to fix
a few parameters (lots more on this later)
Application 2-12
12. Addressing processes
to receive messages,
process must have
identifier
host device has unique
32-bit IP address
Q: does IP address of
host on which process
runs suffice for
identifying the process?
Application 2-13
13. Addressing processes
to receive messages,
process must have
identifier
host device has unique
32-bit IP address
Q: does IP address of
host on which process
runs suffice for
identifying the process?
A: No, many
processes can be
running on same host
identifier includes both
IP address and port
numbers associated with
process on host.
example port numbers:
HTTP server: 80
Mail server: 25
to send HTTP message
to gaia.cs.umass.edu web
server:
IP address: 128.119.245.12
Port number: 80
more shortly
Application 2-14
14. App-layer protocol defines
types of messages
exchanged,
e.g., request, response
message syntax:
what fields in messages &
how fields are delineated
message semantics
meaning of information in
fields
rules for when and how
processes send &
respond to messages
public-domain protocols:
defined in RFCs
allows for
interoperability
e.g., HTTP, SMTP
proprietary protocols:
e.g., Skype
Application 2-15
15. What transport service does an app need?
Data loss
some apps (e.g., audio) can
tolerate some loss
other apps (e.g., file
transfer, telnet) require
100% reliable data
transfer
Timing
some apps (e.g.,
Internet telephony,
interactive games)
require low delay to be
effective
Throughput
some apps (e.g.,
multimedia) require
minimum amount of
throughput to be
effective
other apps (elastic apps)
make use of whatever
throughput they get
Security
encryption, data integrity,
Application 2-16
16. Transport service requirements of common apps
Application
file transfer
e-mail
Web documents
real-time audio/video
stored audio/video
interactive games
instant messaging
Data loss
no loss
no loss
no loss
loss-tolerant
loss-tolerant
loss-tolerant
no loss
Throughput
elastic
elastic
elastic
audio: 5kbps-1Mbps
video:10kbps-5Mbps
same as above
few kbps up
elastic
Time Sensitive
no
no
no
yes, 100s msec
yes, few secs
yes, 100s msec
yes and no
Application 2-17
17. Internet transport protocols services
TCP service:
connection-oriented: setup
required between client and
server processes
reliable transport between
sending and receiving process
flow control: sender wont
overwhelm receiver
congestion control: throttle
sender when network
overloaded
does not provide: timing,
minimum throughput
guarantees, security
UDP service:
unreliable data transfer
between sending and
receiving process
does not provide:
connection setup,
reliability, flow control,
congestion control, timing,
throughput guarantee, or
security
Q: why bother? Why is
there a UDP?
Application 2-18
18. Internet apps: application, transport protocols
Application
e-mail
remote terminal access
Web
file transfer
streaming multimedia
Internet telephony
Application
layer protocol
SMTP [RFC 2821]
Telnet [RFC 854]
HTTP [RFC 2616]
FTP [RFC 959]
HTTP (e.g., YouTube),
RTP [RFC 1889]
SIP, RTP, proprietary
(e.g., Skype)
Underlying
transport protocol
TCP
TCP
TCP
TCP
TCP or UDP
typically UDP
Application 2-19
Editor's Notes
#12: Inter-process communication (IPC) is a set of methods for the exchange of data among multiple threads in one or more processes