The document discusses various aspects of the application layer in computer networks, including common application layer protocols. It describes the client-server and peer-to-peer paradigms, and provides details on several specific protocols like HTTP, FTP, email, and DNS. Key aspects covered include application layer services, the architecture of the World Wide Web including URLs, HTTP message formats and connection types, and features of protocols like FTP, email, and DNS.
computer network introduction. psc notes . Assisant professor in cse.bushraphd2022
The document provides an overview of computer networks and the HTTP protocol. It discusses the architecture of the World Wide Web as a distributed client-server system. It describes the different types of web pages and documents, including static, dynamic, and active documents. It also explains the roles of web clients like browsers and web servers. Key components of HTTP like requests, responses, methods, and headers are defined. Concepts like cookies, caching, and security are also summarized.
1. The document discusses network application architectures and the HTTP protocol.
2. It describes two main application architectures - client-server and peer-to-peer - and examples of each.
3. The document then provides an in-depth overview of the HTTP protocol, including features like persistent connections, cookies, caching, and new developments like HTTP/2.
The document discusses gRPC, an open-source framework for building distributed applications and services. It was motivated by Google's experience with internal RPC systems handling over 1010 RPCs per second. gRPC uses HTTP/2 for transport, allowing it to take advantage of existing network infrastructure while enabling features like bidirectional streaming. It generates client and server code from IDL definitions, supporting multiple languages.
Presentation on Application layer_201.pdfprince2412001
A Network application is an application running on one host and provides a
communication to another application running on a different host.
▪ A network application development is writing programs that run on different
end systems and communicate with each other over the network.
▪ In the Web application there are two different programs that communicate with each other:
✔ Browser program running in the user's host.
✔ Web server program running in the Web server host.
Host
Host
2
Network Applications - Examples
▪ Email
▪ Web
▪ Remote Login
▪ P2P File Sharing
▪ Multi-user Network Games
▪ Streaming Stored Video (YouTube)
▪ Voice Over IP (Skype)
▪ Real-time Video Conference
▪ Social Networking
3
Network Application Architecture
1. Client-Server architecture
2. P2P (Peer to Peer) architecture
4
1. Client-Server Architecture
Client
Server:
✔ Its always-on host.
✔ It has a fixed IP address.
✔ Large cluster of host – Data Centers.
✔ E.g. Web Server
Client:
✔ It communicate with server.
✔ Its not like continuously connected.
✔ May have dynamic IP addresses.
✔ Do not communicate directly with each other.
✔ E.g. PCs, Mobiles
Server
5
2. P2P Architecture
Peer
▪ Peers (end systems) directly communicate.
▪ Get peers request service from other peers, provide service to other peers.
✔ Self Scalability – New peers bring new service capacity, as well as new service demands.
▪ Peers are alternatingly connected and change IP addresses.
✔ Complex management 6
Peer
Peer
Process Communicating
▪ What is Process?
▪ A process is an instance of a program running in a computer.
▪ We can say that process is program under execution.
▪ Within same host, two processes communicate using inter-process communication (IPC).
▪ Process in different hosts communicate by exchanging messages.
▪ Client process: A process that initiates communication.
▪ Server process: A process that waits to be contacted.
Process P1
Process P2
7
Socket
▪ A process sends messages into, and receives messages from; the
network through a software interface called a socket.
▪ A process is similar to a house and its socket is similar to its door.
✔ Sending process passes message out door.
✔ Sending process relies on transport infrastructure on other side of door to deliver message to socket at receiving process.
Process
application
proce ss
transport
network
link
physical
application
proce ss
transport
network
link
physical
socket
controlled by app developer
controlled
by OS
Internet
Socket
8
Transport Services to Applications
▪ Recall that a socket is the interface between the application process and the transport layer protocol.
▪ For develop an application, choose available transport layer protocol.
▪ Pick the protocol with the services that best match the needs of your application.
The document discusses the World Wide Web (WWW) and Hypertext Transfer Protocol (HTTP). It describes the basic architecture of the WWW including clients, servers, web pages, and URLs. It explains that web pages can be static, dynamic, or active. The document then discusses HTTP in more detail, including how HTTP requests and responses are structured, how persistent connections work in HTTP 1.1, and how caching can improve performance.
Web essentials clients, servers and communication – the internet – basic inte...smitha273566
A website is a collection of web pages that can be accessed over the internet. It is hosted on a web server and viewed using web clients like browsers. Websites can be developed using languages like HTML, JavaScript, and PHP. The internet connects computers globally using TCP/IP and allows users to access websites by domain names that resolve to IP addresses. HTTP is the main protocol used to access websites. It establishes connections between clients and servers to request and transfer web pages and other content.
This document provides an overview of application layer protocols in the TCP/IP model. It discusses how the application layer provides services to users through logical connections. It describes standard protocols like HTTP and how nonstandard protocols can also be used. It explains the client-server and peer-to-peer paradigms used by application layer protocols to communicate. It provides details on the World Wide Web architecture and protocols like HTTP that power the web. It discusses web documents like static, dynamic, and active pages and how cookies can be used to maintain state across requests.
computer network introduction. psc notes . Assisant professor in cse.bushraphd2022
The document provides an overview of computer networks and the HTTP protocol. It discusses the architecture of the World Wide Web as a distributed client-server system. It describes the different types of web pages and documents, including static, dynamic, and active documents. It also explains the roles of web clients like browsers and web servers. Key components of HTTP like requests, responses, methods, and headers are defined. Concepts like cookies, caching, and security are also summarized.
1. The document discusses network application architectures and the HTTP protocol.
2. It describes two main application architectures - client-server and peer-to-peer - and examples of each.
3. The document then provides an in-depth overview of the HTTP protocol, including features like persistent connections, cookies, caching, and new developments like HTTP/2.
The document discusses gRPC, an open-source framework for building distributed applications and services. It was motivated by Google's experience with internal RPC systems handling over 1010 RPCs per second. gRPC uses HTTP/2 for transport, allowing it to take advantage of existing network infrastructure while enabling features like bidirectional streaming. It generates client and server code from IDL definitions, supporting multiple languages.
Presentation on Application layer_201.pdfprince2412001
A Network application is an application running on one host and provides a
communication to another application running on a different host.
▪ A network application development is writing programs that run on different
end systems and communicate with each other over the network.
▪ In the Web application there are two different programs that communicate with each other:
✔ Browser program running in the user's host.
✔ Web server program running in the Web server host.
Host
Host
2
Network Applications - Examples
▪ Email
▪ Web
▪ Remote Login
▪ P2P File Sharing
▪ Multi-user Network Games
▪ Streaming Stored Video (YouTube)
▪ Voice Over IP (Skype)
▪ Real-time Video Conference
▪ Social Networking
3
Network Application Architecture
1. Client-Server architecture
2. P2P (Peer to Peer) architecture
4
1. Client-Server Architecture
Client
Server:
✔ Its always-on host.
✔ It has a fixed IP address.
✔ Large cluster of host – Data Centers.
✔ E.g. Web Server
Client:
✔ It communicate with server.
✔ Its not like continuously connected.
✔ May have dynamic IP addresses.
✔ Do not communicate directly with each other.
✔ E.g. PCs, Mobiles
Server
5
2. P2P Architecture
Peer
▪ Peers (end systems) directly communicate.
▪ Get peers request service from other peers, provide service to other peers.
✔ Self Scalability – New peers bring new service capacity, as well as new service demands.
▪ Peers are alternatingly connected and change IP addresses.
✔ Complex management 6
Peer
Peer
Process Communicating
▪ What is Process?
▪ A process is an instance of a program running in a computer.
▪ We can say that process is program under execution.
▪ Within same host, two processes communicate using inter-process communication (IPC).
▪ Process in different hosts communicate by exchanging messages.
▪ Client process: A process that initiates communication.
▪ Server process: A process that waits to be contacted.
Process P1
Process P2
7
Socket
▪ A process sends messages into, and receives messages from; the
network through a software interface called a socket.
▪ A process is similar to a house and its socket is similar to its door.
✔ Sending process passes message out door.
✔ Sending process relies on transport infrastructure on other side of door to deliver message to socket at receiving process.
Process
application
proce ss
transport
network
link
physical
application
proce ss
transport
network
link
physical
socket
controlled by app developer
controlled
by OS
Internet
Socket
8
Transport Services to Applications
▪ Recall that a socket is the interface between the application process and the transport layer protocol.
▪ For develop an application, choose available transport layer protocol.
▪ Pick the protocol with the services that best match the needs of your application.
The document discusses the World Wide Web (WWW) and Hypertext Transfer Protocol (HTTP). It describes the basic architecture of the WWW including clients, servers, web pages, and URLs. It explains that web pages can be static, dynamic, or active. The document then discusses HTTP in more detail, including how HTTP requests and responses are structured, how persistent connections work in HTTP 1.1, and how caching can improve performance.
Web essentials clients, servers and communication – the internet – basic inte...smitha273566
A website is a collection of web pages that can be accessed over the internet. It is hosted on a web server and viewed using web clients like browsers. Websites can be developed using languages like HTML, JavaScript, and PHP. The internet connects computers globally using TCP/IP and allows users to access websites by domain names that resolve to IP addresses. HTTP is the main protocol used to access websites. It establishes connections between clients and servers to request and transfer web pages and other content.
This document provides an overview of application layer protocols in the TCP/IP model. It discusses how the application layer provides services to users through logical connections. It describes standard protocols like HTTP and how nonstandard protocols can also be used. It explains the client-server and peer-to-peer paradigms used by application layer protocols to communicate. It provides details on the World Wide Web architecture and protocols like HTTP that power the web. It discusses web documents like static, dynamic, and active pages and how cookies can be used to maintain state across requests.
The document provides information on the basics of the internet including its history, components, and uses. It discusses how the internet originated from ARPANET in 1969 and expanded to the global network we know today. The key protocols that power the internet, including IP and TCP, are explained. Common internet devices like routers, switches, and servers are defined. Finally, the document outlines common internet applications like web browsing, email, and file transfers.
The presentation is about the Hyper Text Transfer Protocol. It defines the basics about HTTP. HTTP is a upper layer protocol. It is a application layer protocol. The presentation describes the basics of the HTTP, types of connection, features of HTTP, status code and how the HTTP works.
Network protocols allow connected devices to communicate regardless of differences. A protocol is a set of rules that govern all aspects of communication between peers. Common network protocols include TCP, UDP, ICMP, and HTTP. TCP establishes connections to reliably deliver data. UDP prioritizes speed over reliability. ICMP reports network errors while HTTP transfers web page content. Together these protocols enable the functioning of the internet.
The document provides an introduction to HTML5 including:
- The evolution of HTML from versions 1.0 to 5.0.
- The basic structure of an HTML5 document with tags like <html>, <head>, <body>, etc.
- Common text formatting tags in HTML5 like <h1>-<h6> for headings, <p> for paragraphs, and <br> for line breaks.
- How to set the font style using tags like <b>, <i>, <strong>, and <strike>.
The web has dramatically evolved over the last 20+ years, yet HTTP - the workhorse of the Web - has not. Web developers have worked around HTTP's limitations, but:
--> Performance still falls short of full bandwidth utilization
--> Web design and maintenance are more complex
--> Resource consumption increases for client and server
--> Cacheability of resources suffers
HTTP/2 attempts to solve many of the shortcomings and inflexibilities of HTTP/1.1
This document discusses problems with HTTP and HTML for mobile devices and proposes solutions. HTTP was designed for high-bandwidth, low-delay connections and results in large headers, uncompressed content transfers, and overhead from separate TCP connections for each page item. Caching is also often disabled on dynamic pages. HTML assumes desktop computers rather than mobile constraints. Solutions proposed include image scaling, content extraction, new protocols, push technologies, and enhanced caching through client and network proxies.
The document discusses several key application layer protocols:
1. HTTP is used to transfer web pages over the internet using requests and responses between clients and servers. It operates over TCP port 80.
2. DNS is used to translate between hostnames and IP addresses in a hierarchical system of top-level and subdomain names. It allows humans to use easy-to-remember names.
3. FTP establishes two TCP connections to transfer files between a client and server, using different ports for control commands and the file data. It allows downloading and uploading of files.
The document discusses several key application layer protocols:
1. HTTP is used to transfer web pages over the internet using requests and responses between clients and servers. It operates over TCP port 80.
2. DNS is used to translate between hostnames and IP addresses in a hierarchical system of top-level and subdomain names. DNS servers handle requests to map names to addresses.
3. FTP uses two TCP connections to transfer files between clients and servers - one for commands and one for the actual data transfer. Clients can download or upload files from/to servers.
The document discusses key considerations for designing effective websites, including browser and operating system support, bandwidth and caching, display resolution, and look and feel. Effective website design requires accounting for different browser versions, connection speeds, screen sizes, and ensuring a consistent user experience across platforms. Planning the goals, content, and technical implementation of a website is also important for success.
18CS52 VTU Computer Network & Security
MODULE 1-Part 1
Principles of Network Applications: Network Application Architectures, Processes Communicating, Transport Services Available to Applications, Transport Services Provided by the Internet, Application-Layer Protocols. The Web and HTTP: Overview of HTTP, Non-persistent and Persistent Connections, HTTP Message Format, User-Server Interaction: Cookies, Web Caching, The Conditional GET, File Transfer: FTP Commands & Replies, Electronic Mail in the Internet: SMTP, Comparison with HTTP, Mail Message Format, Mail Access Protocols
Proxy servers act as an intermediary for requests from clients seeking resources from other servers. There are different types of proxy servers including cache proxies that speed up access and web proxies that allow users to connect to servers and access the internet. Proxy servers aim to provide privacy by hiding clients' IP addresses and allow access around content blocks. FTP and HTTP are protocols for transferring files and web pages respectively using the client-server model, with FTP using separate control and data connections and HTTP using request and response messages. Proxy servers can also be used with FTP and HTTP to add capabilities like caching, authentication, and traffic monitoring.
This document discusses application layer protocols. It begins by introducing the application layer and describing its functions of providing services to users and logical connections between application layers. It then discusses standard protocols like HTTP and SMTP and nonstandard protocols. It describes the traditional client-server paradigm and the emerging peer-to-peer paradigm. Specific application layer protocols covered include WWW/HTTP, FTP, and email. It provides details on how these protocols function, including URL structure for WWW, connections and data transfers for FTP, and message exchanges for email.
The document discusses the course outcomes and modules for a Computer Network course. The course aims to help students understand networking concepts and protocols at different layers. It will cover topics like network architectures, protocols, configurations, and analysis of simple networks. The textbook listed is Data Communications and Networking by Forouzan. Module 5 focuses on the application layer and protocols like SMTP, FTP, DNS etc. It also discusses client-server and peer-to-peer paradigms along with HTTP, web clients and servers, URLs, and caching using proxy servers.
BitTorrent Sync IT is a highly scalable and reliable solution for managed file transfer across devices and locations. It uses peer-to-peer and block-level transfer techniques to distribute loads and provide fast, secure transfers that are resilient to network issues. The solution provides centralized management and security features while supporting cross-platform synchronization over LANs, WANs, and other network types.
The document discusses several application layer protocols used in TCP/IP including HTTP, HTTPS, FTP, and Telnet. HTTP is used to access resources on the world wide web over port 80 and is stateless. HTTPS is a secure version of HTTP that encrypts communications over port 443. FTP is used to transfer files between hosts but sends data and passwords in clear text. Telnet allows users to access programs on remote computers.
Web services allow programs to call methods on other computers over a network. They are frequently web APIs that can be accessed remotely and executed on another system. Web services consist of method information describing the method being called and scoping information describing required arguments. This information is packaged and sent across the network using various protocols like HTTP, SOAP, and XML-RPC. The internet protocol stack, consisting of layers like application, transport, network and link, is used to break information into packets that can travel over the network to their destination and be reassembled.
The document provides information on the basics of the internet including its history, components, and uses. It discusses how the internet originated from ARPANET in 1969 and expanded to the global network we know today. The key protocols that power the internet, including IP and TCP, are explained. Common internet devices like routers, switches, and servers are defined. Finally, the document outlines common internet applications like web browsing, email, and file transfers.
The presentation is about the Hyper Text Transfer Protocol. It defines the basics about HTTP. HTTP is a upper layer protocol. It is a application layer protocol. The presentation describes the basics of the HTTP, types of connection, features of HTTP, status code and how the HTTP works.
Network protocols allow connected devices to communicate regardless of differences. A protocol is a set of rules that govern all aspects of communication between peers. Common network protocols include TCP, UDP, ICMP, and HTTP. TCP establishes connections to reliably deliver data. UDP prioritizes speed over reliability. ICMP reports network errors while HTTP transfers web page content. Together these protocols enable the functioning of the internet.
The document provides an introduction to HTML5 including:
- The evolution of HTML from versions 1.0 to 5.0.
- The basic structure of an HTML5 document with tags like <html>, <head>, <body>, etc.
- Common text formatting tags in HTML5 like <h1>-<h6> for headings, <p> for paragraphs, and <br> for line breaks.
- How to set the font style using tags like <b>, <i>, <strong>, and <strike>.
The web has dramatically evolved over the last 20+ years, yet HTTP - the workhorse of the Web - has not. Web developers have worked around HTTP's limitations, but:
--> Performance still falls short of full bandwidth utilization
--> Web design and maintenance are more complex
--> Resource consumption increases for client and server
--> Cacheability of resources suffers
HTTP/2 attempts to solve many of the shortcomings and inflexibilities of HTTP/1.1
This document discusses problems with HTTP and HTML for mobile devices and proposes solutions. HTTP was designed for high-bandwidth, low-delay connections and results in large headers, uncompressed content transfers, and overhead from separate TCP connections for each page item. Caching is also often disabled on dynamic pages. HTML assumes desktop computers rather than mobile constraints. Solutions proposed include image scaling, content extraction, new protocols, push technologies, and enhanced caching through client and network proxies.
The document discusses several key application layer protocols:
1. HTTP is used to transfer web pages over the internet using requests and responses between clients and servers. It operates over TCP port 80.
2. DNS is used to translate between hostnames and IP addresses in a hierarchical system of top-level and subdomain names. It allows humans to use easy-to-remember names.
3. FTP establishes two TCP connections to transfer files between a client and server, using different ports for control commands and the file data. It allows downloading and uploading of files.
The document discusses several key application layer protocols:
1. HTTP is used to transfer web pages over the internet using requests and responses between clients and servers. It operates over TCP port 80.
2. DNS is used to translate between hostnames and IP addresses in a hierarchical system of top-level and subdomain names. DNS servers handle requests to map names to addresses.
3. FTP uses two TCP connections to transfer files between clients and servers - one for commands and one for the actual data transfer. Clients can download or upload files from/to servers.
The document discusses key considerations for designing effective websites, including browser and operating system support, bandwidth and caching, display resolution, and look and feel. Effective website design requires accounting for different browser versions, connection speeds, screen sizes, and ensuring a consistent user experience across platforms. Planning the goals, content, and technical implementation of a website is also important for success.
18CS52 VTU Computer Network & Security
MODULE 1-Part 1
Principles of Network Applications: Network Application Architectures, Processes Communicating, Transport Services Available to Applications, Transport Services Provided by the Internet, Application-Layer Protocols. The Web and HTTP: Overview of HTTP, Non-persistent and Persistent Connections, HTTP Message Format, User-Server Interaction: Cookies, Web Caching, The Conditional GET, File Transfer: FTP Commands & Replies, Electronic Mail in the Internet: SMTP, Comparison with HTTP, Mail Message Format, Mail Access Protocols
Proxy servers act as an intermediary for requests from clients seeking resources from other servers. There are different types of proxy servers including cache proxies that speed up access and web proxies that allow users to connect to servers and access the internet. Proxy servers aim to provide privacy by hiding clients' IP addresses and allow access around content blocks. FTP and HTTP are protocols for transferring files and web pages respectively using the client-server model, with FTP using separate control and data connections and HTTP using request and response messages. Proxy servers can also be used with FTP and HTTP to add capabilities like caching, authentication, and traffic monitoring.
This document discusses application layer protocols. It begins by introducing the application layer and describing its functions of providing services to users and logical connections between application layers. It then discusses standard protocols like HTTP and SMTP and nonstandard protocols. It describes the traditional client-server paradigm and the emerging peer-to-peer paradigm. Specific application layer protocols covered include WWW/HTTP, FTP, and email. It provides details on how these protocols function, including URL structure for WWW, connections and data transfers for FTP, and message exchanges for email.
The document discusses the course outcomes and modules for a Computer Network course. The course aims to help students understand networking concepts and protocols at different layers. It will cover topics like network architectures, protocols, configurations, and analysis of simple networks. The textbook listed is Data Communications and Networking by Forouzan. Module 5 focuses on the application layer and protocols like SMTP, FTP, DNS etc. It also discusses client-server and peer-to-peer paradigms along with HTTP, web clients and servers, URLs, and caching using proxy servers.
BitTorrent Sync IT is a highly scalable and reliable solution for managed file transfer across devices and locations. It uses peer-to-peer and block-level transfer techniques to distribute loads and provide fast, secure transfers that are resilient to network issues. The solution provides centralized management and security features while supporting cross-platform synchronization over LANs, WANs, and other network types.
The document discusses several application layer protocols used in TCP/IP including HTTP, HTTPS, FTP, and Telnet. HTTP is used to access resources on the world wide web over port 80 and is stateless. HTTPS is a secure version of HTTP that encrypts communications over port 443. FTP is used to transfer files between hosts but sends data and passwords in clear text. Telnet allows users to access programs on remote computers.
Web services allow programs to call methods on other computers over a network. They are frequently web APIs that can be accessed remotely and executed on another system. Web services consist of method information describing the method being called and scoping information describing required arguments. This information is packaged and sent across the network using various protocols like HTTP, SOAP, and XML-RPC. The internet protocol stack, consisting of layers like application, transport, network and link, is used to break information into packets that can travel over the network to their destination and be reassembled.
it describes the bony anatomy including the femoral head , acetabulum, labrum . also discusses the capsule , ligaments . muscle that act on the hip joint and the range of motion are outlined. factors affecting hip joint stability and weight transmission through the joint are summarized.
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Dr. Vinod Kumar Kanvaria
Exploiting Artificial Intelligence for Empowering Researchers and Faculty,
International FDP on Fundamentals of Research in Social Sciences
at Integral University, Lucknow, 06.06.2024
By Dr. Vinod Kumar Kanvaria
How to Add Chatter in the odoo 17 ERP ModuleCeline George
In Odoo, the chatter is like a chat tool that helps you work together on records. You can leave notes and track things, making it easier to talk with your team and partners. Inside chatter, all communication history, activity, and changes will be displayed.
This presentation was provided by Steph Pollock of The American Psychological Association’s Journals Program, and Damita Snow, of The American Society of Civil Engineers (ASCE), for the initial session of NISO's 2024 Training Series "DEIA in the Scholarly Landscape." Session One: 'Setting Expectations: a DEIA Primer,' was held June 6, 2024.
How to Fix the Import Error in the Odoo 17Celine George
An import error occurs when a program fails to import a module or library, disrupting its execution. In languages like Python, this issue arises when the specified module cannot be found or accessed, hindering the program's functionality. Resolving import errors is crucial for maintaining smooth software operation and uninterrupted development processes.
Main Java[All of the Base Concepts}.docxadhitya5119
This is part 1 of my Java Learning Journey. This Contains Custom methods, classes, constructors, packages, multithreading , try- catch block, finally block and more.
Thinking of getting a dog? Be aware that breeds like Pit Bulls, Rottweilers, and German Shepherds can be loyal and dangerous. Proper training and socialization are crucial to preventing aggressive behaviors. Ensure safety by understanding their needs and always supervising interactions. Stay safe, and enjoy your furry friends!
A workshop hosted by the South African Journal of Science aimed at postgraduate students and early career researchers with little or no experience in writing and publishing journal articles.
Group Presentation 2 Economics.Ariana Buscigliopptx
CN 6131(15) Module IV.pdf
1. 1
Diploma in Computer Engineering
COMPUTER NETWORKS
(6131 Rev 2015)
Module 4
Presenter: Jeseena A
Lecturer in Computer Engineering
Government Polytechnic College, Punalur
Ref: Data Communications and Networking, 5E by Forouzan
3. 3
MODULE 4 - APPLICATION LAYER
● Application layer services
● WWW – architecture, URL
● HTTP – connections, message formats
● FTP - control connections, data connections
● Electronic mail – architecture, sending, receiving mails, SMTP,transfer
phases, POP and IMAP
● TELNET
● DNS – name space, DNS in internet, resolution, resource records, DNS
messages – Dynamic DNS
Ref: Data Communications and Networking - Behrouz A. Forouzan -
McGraw Hill Edn.- Fifth Edition
4. 4
APPLICATION LAYER
● Provides services to the user.
● Communication is provided using a logical connection between the source
and destination application layers.
5. 5
APPLICATION LAYER - Services
● Highest layer in the protocol suite.
● Do not provide service to any layers, but receive service from transport layer.
● Hence new protocols can be easily added.
● All protocols in the lower four layers are standardized, but application layer
protocols can be standardized or non-standardized.
● Standardized:
○ can be used anywhere in the internet.
○ provides a standard set of services.
● Non-standardized:
○ created for proprietary use in some offices for private use.
○ use the standard services provided by transport layer.
6. 6
Application-Layer Paradigms
● Two types of paradigms: client-server (traditional) and peer-to-peer.
● Client-Server
○ An application program, called the server process, runs continuously,
waiting for another application program, called the client process, to
make a connection through the Internet and ask for service.
○ Server processes do some specific services; but clients can ask for a
number of services to different servers.
○ Many clients can ask for a service to a single server. Hence the server
will be loaded heavily and thus need a powerful computer to work.
○ Eg: WWW, e-mail.
7. 7
Application-Layer Paradigms..
● Peer-to-Peer (P2P)
○ No server process running all the time and waiting for the client
processes to connect.
○ One device provide service to the other, and vice versa, and both can be
at the same time. Ie, responsibility is shared between peers.
○ Eg: BitTorrent, IPTV, Internet Telephony, Skype
● Mixed Paradigm
○ Combining the advantages of both.
8. 8
World Wide Web (abbreviated WWW or Web)
● A standard client-server protocol.
● Proposed by Tim Berners-Lee.
● Repository of information in which the documents, called web pages, are
distributed all over the world and related documents are linked together.
● Linking of web pages was achieved using a concept called hypertext, now
hypermedia.
● Now interactive and streaming data are available such as gaming, radios,
etc.
9. 9
WWW - Architecture
● Distributed client-server service, in which a client using a browser can
access a service using a server.
● Service is distributed over many locations called sites.
● Each site holds one or more web pages. Each web page can contain some
links to other web pages in the same or other sites.
● Thus a web page can be simple (no links) or composite (contains at least a
link).
● Each web page is a file with a name and address.
● Accessing a web page is done by a web client from a web server.
10. WWW - Architecture..
10
● Web Client (Browser)
○ Consists of three parts: a controller, client protocols, and
interpreters.
○ Controller receives input from the keyboard or the mouse and uses the
client programs (protocols) to access the document.
○ Controller uses one of the interpreters to display the document onthe
screen.
○ Eg: Firefox, Chrome, Opera
11. WWW - Architecture..
11
● Web Server
○ The web page is stored at the server.
○ Each time a request arrives, the corresponding document is sent to the
client.
○ Efficiency can be improved by caching, multithreading or
multiprocessing.
○ Eg: Apache and Microsoft Internet Information Server (IIS).
12. WWW - Architecture..
12
● Uniform Resource Locator (URL)
○ A unique identifier for a web page.
○ Combination of the Protocol to be used by the browser, Host address
of the server, Port to be accessed and the actual Path of the file to be
accessed.
■ Protocol: http, ftp
■ Host: IP address (eg: 93.184.216.34) or domain name (eg:
example.com)
■ Port: A 16-bit integer. Normally pre-defined forclient-server
application. Eg. HTTP port number is 80.
■ Path: The location and the name of the file in theunderlying
operating system.
○ protocol://host/path Eg: http://www.tekerala.org/staff_login.php
○ protocol://host:port/path Eg:
http://www.example.com:8080/samples/index.html
13. WWW - Web Documents
13
● Classified into three: static, dynamic and active.
● Static Documents:
○ Fixed-content documents that are created and stored in a server.
○ Client can get a copy only.
○ The document content in the server can be changed, but the user
cannot change them.
○ The user can see the document copy in the browser.
○ Some languages used for static document creation are: HyperText
Markup Language (HTML), Extensible Markup Language (XML),
Extensible Style Language (XSL), and Extensible Hypertext Markup
Language (XHTML).
14. WWW - Web Documents
14
● Dynamic Documents:
○ Created by a web server whenever a browser requests the document.
○ Whenever a request arrives from the client, the web server runs an
application program or a script that freshly creates the dynamic
document every time.
○ Some languages for this are Java Server Pages (JSP), ActiveServer
Pages (ASP), etc.
● Active Documents:
○ Documents containing scripts that works at the client side.
○ Such as a program that creates animated graphics on the screen or a
program that interacts with the user.
○ When a browser requests an active document, the server sends a copy
of the document or a script.
○ This can be done using Java applet, javascript, etc.
15. 15
HyperText Transfer Protocol (HTTP)
● Used to define how the client-server programs can be written to retrieve web
pages from the Web.
● An HTTP client sends a request; an HTTP server returns a response.
● The server uses the port number 80; the client uses a temporaryport
number.
● Uses the services of TCP (ie, connection oriented and reliable).
● To display a web document on the browser, there may be a need for several
objects, that may reside in different servers or in the same server.
● The objects are accessed using TCP connections (ie, connection
establishment, data transfer, connection termination).
● Some of these objects may be on the same server. Here the client can use a
new TCP connection for each object or make a TCP connection and retrieve
them all.
○ These refers to non persistent and persistent connections.
16. HyperText Transfer Protocol (HTTP)...
Non Persistent Connection:
16
● One TCP connection is made for each request/response.
1. The client opens a TCP connection and sends a request.
2. The server sends the response.
3. The client reads the data until it encounters an end-of-file marker; itthen
closes the connection.
● If a file contains links to N different pictures in different files (all located on
the same server), the connection must be opened and closed N + 1 times.
● Very high overhead.
18. HyperText Transfer Protocol (HTTP)...
18
Persistent Connection:
● Present HTTP versions have persistent connections by default.
● Here the server opens a connection, send the response and remains open
for more requests.
● The server can close the connection at the request of a client or if a time-out
has been reached.
● For static documents, the sender sends the length of the data with each
response.
● For active and dynamic documents, the server informs the client that the
length is not known and closes the connection after all the data are sent. So
the client knows that the end of the data has been reached.
● Less time and resource usage.
● Only one set of buffers and variables are needed for the whole transfer.
● Less round trip time.
22. HyperText Transfer Protocol (HTTP)...
22
Message Formats: Request Methods
● GET
○ To send a request to the server.
○ Most common.
○ No body.
● HEAD
○ When the client need some information about the web page from the server,such
as page modified date.
○ Used to to test the validity of the URL.
○ No body.
● PUT
○ Inverse of GET.
○ Put some information in to the server (if permitted).
● POST
○ To send some information to the server or to modify the page.
● TRACE
○ An echo service for debugging.
● DELETE
○ To delete a web page from the server (if permitted).
23. HyperText Transfer Protocol (HTTP)...
23
Message Formats: Request Header field
● It contains one or more headers.
● They are additional information from the client.
● Eg: the client can request that the document be sent in a special format.
○ Accept: text/html
○ Accept-Charset: utf-8
○ Content-Length: 348
○ Host: en.wikipedia.org
24. HyperText Transfer Protocol (HTTP)...
24
Message Formats: Response Message
● Contains version, status code, phrase, headers and the body of the response.
● Version: http version such as 1.0, 1.1, etc.
● Status codes in the 100 range are only informational, the codes in the 200 range
indicate a successful request. The codes in the 300 range redirect the client to another
URL, the codes in the 400 range indicate an error at the client site,and the codes in the
500 range indicate an error at the server site.
● Status phrase explains the status code in text form.
● Some common status codes are;
○ 200 – OK: The request succeeded.
○ 301 - Moved Permanently
○ 404 - Page Not Found: The requested resource does not exist on the server.
○ 500 - Server Error: Due to a malfunctioning script, server configuration error or
similar.
25. File Transfer Protocol (FTP)
25
● Used to transfer files from one host to another.
● File transfer means retrieving a file (server to client), storing a file (client to server), or
directory listing (server to client).
● Uses TCP/IP.
● Transfers files even though both hosts have different directory structures, naming
conventions, data representation.
● The basic model for FTP is;
26. File Transfer Protocol (FTP)
26
● The client has three components: the user interface, the client control process,and
the client data transfer process.
● The server has two components: the server control process and the server data
transfer process.
● The control connection is made between the control processes. The data connection is
made between the data transfer processes.
● When a user starts an FTP session, the control connection opens.
● Control connection remains connected during the entire interactive FTP session. Data
connection is opened and then closed for each file transfer activity.
● TCP port 21 is used for the control connection, and port 20 is used for thedata
connection.
27. File Transfer Protocol (FTP)
27
● Control Connection:
○ Communication through commands and responses as ASCII characters.
○ Each line is terminated with a two-character (carriage return and linefeed)
end-of-line token.
○ Commands are sent from client to server as uppercase letters and responses
from server to client as digits and letters.
○ Some commands are:
■ ALLO (Allocate sufficient disk space to receive a file), DELE filename (delete
a file), QUIT (log out)
○ Every FTP command generates one or more responses.
■ Response format: <a three digit code> <description>
■ Eg: 125 Data connection open, 230 User login OK
28. File Transfer Protocol (FTP)
28
● Data Connection:
○ To transfer data.
○ Server uses its port 20.
○ The client defines the type of file to be transferred, the structure of the data, and
the transmission mode through control connection before every data connection
is made.
○ The steps for data connection are;
■ The client issues a passive open request to the server from an ephemeral
port.
■ Using the PORT command the client sends this port number to the server.
■ The server receives the port number and issues an active open using the
well-known port 20 and the received ephemeral port number.
31. File Transfer Protocol (FTP)
31
● Data Connection..
1. File Type
■ FTP transfers the following file types: ASCII file, EBCDIC (Extended Binary
Coded Decimal Interchange Code) file, or image file.
2. Data Structure
■ FTP uses file structure, record structure, or page structure for file transfer.
● File structure is continuous stream of bytes (used by default).
● Record structure is used for text files by dividing the file into records.
● In the page structure, the file is divided into pages, with each page
having a page number and a page header. The pages can be stored
and accessed randomly or sequentially.
32. File Transfer Protocol (FTP)
32
● Data Connection..
3. Transmission Mode
■ FTP uses stream mode, block mode, or compressed mode.
● The stream mode is the default mode; data are delivered from FTPto
TCP as a continuous stream of bytes.
● In the block mode, data can be delivered from FTP to TCP inblocks.
34. ELECTRONIC MAIL
34
● E-mail is a one-way transaction.
● If A sends an e-mail to B, it is a one-way transaction. If B replies to A that is another
one-way transaction.
● Intermediary servers always keep running to transfer the emails; the users are just
clients.
38. ELECTRONIC MAIL: Architecture
38
● In the common scenario, the sender and the receiver of the e-mail, Alice andBob
respectively, are connected via a LAN or a WAN to two mail servers.
● The administrator has created one mailbox for each user where the received
messages are stored. A mailbox is part of a server hard drive, a special file with
permission restrictions. Only the owner of the mailbox has access to it.
● The administrator has also created a queue (spool) to store messages waiting to be
sent.
● To send an email, Alice and Bob use three different agents: a user agent (UA), a
message transfer agent (MTA), and a message access agent (MAA).
● UA: program to prepare the message and send it to the sender's mail server.Receiver
UA interprets the mail. It can be CLI (Eg: elm, pine) or GUI (Eg: outlook)based.
● MTA: A push program to transfer the email from one point to theother.
● MAA: A pull program to get the email from one point to theother.
● The given electronic mail system needs two UAs, two pairs of MTAs (2 client and 2
server), and a pair of MAAs (client and server).
39. ELECTRONIC MAIL...
39
● Sending Mail
○ A user creates a mail through a UA.
○ An email has an envelope and a
message.
○ The envelope usually contains the
sender address, the receiver
address, and other information.
○ The message contains the header
and the body.
○ The header of the message defines
the sender, the receiver, the subject of
the message, and some other
information.
○ The body of the message contains the
actual information to be read by the
recipient.
40. ELECTRONIC MAIL...
40
● Receiving Mail
○ The user agent is triggered by the user (or a timer). If a user has mail, the UA
informs the user with a notice.
○ The user can select any of the messages and display its contents on the screen.
● Addresses
○ Consists of two parts: a local part (called user mailbox) and a domain name
(called mail servers or exchangers), separated by an @ sign.
○ The local part defines the name of a special file, called the user mailbox, where
all the mail received for a user is stored for retrieval by the message access
agent
42. ELECTRONIC MAIL...
42
Message Transfer Agent: SMTP (Simple Mail Transfer Protocol)
● The formal protocol that defines the MTA client and server in the Internet.
● SMTP is used two times, between the sender and the sender’s mail serverand
between the two mail servers.
● A push protocol, it pushes the message from the client to the server.
● Done by commands and responses.
● Command format: Keyword: argument(s). Sent from client to server.
● Responses: A three-digit code that may be followed by additional textual information.
Sent from the server to the client.
○ Eg: 220 Service ready
250 Request command completed
450 Mailbox not available
43. ELECTRONIC MAIL...
Mail Transfer Phases
43
Three phases:
1) Connection establishment
2) Mail transfer
3) Connection termination.
44. ELECTRONIC MAIL...
Mail Transfer Phases
44
1. Connection Establishment:
Client TCP connect to well-known port 25 of the server and does the following threesteps:
1) If the server is ready it sends a code 220 (service ready), otherwise 421 (service not
available).
2) The client sends the HELO message to identify itself, using its domain name address.
3) The server responds with code 250 (request command completed) or some other code
depending on the situation.
46. ELECTRONIC MAIL...
Mail Transfer Phases
2. Message Transfer: Eight steps
46
1) The client sends the MAIL FROM message to introduce the sender of the message.
It includes the mail address of the sender (mailbox and the domain name). This
step is needed to give the server the return mail address for returning errors and
reporting messages.
2) The server responds with code 250 or some other appropriate code.
3) The client sends the RCPT TO (recipient) message, which includes the mail
address of the recipient.
4) The server responds with code 250 or some other appropriate code.
5) The client sends the DATA message to initialize the message transfer.
6) The server responds with code 354 (start mail input) or some other appropriate
message.
7) The client sends the contents of the message in consecutive lines. Each line is
terminated by a two-character end-of-line token (carriage return and line feed). The
message is terminated by a line containing just one period (.).
8) The server responds with code 250 (OK) or some other appropriate code.
47. 47
ELECTRONIC MAIL...
Mail Transfer Phases
3. Connection Termination: Two steps:
1) The client sends the QUIT command.
2) The server responds with code 221 or some other appropriate code.
Client Server
49. ELECTRONIC MAIL...
49
● The third stage of the mail delivery needs a pull protocol; the client must pull
messages from the server.
● Two such protocols are Post Office Protocol, version 3 (POP3) and Internet Mail
Access Protocol, version 4 (IMAP4).
Message Access Agent: POP andIMAP
50. ELECTRONIC MAIL...
50
Post Office Protocol, version 3 (POP3)
● Simple but limited in functionality.
● The client POP3 software is installed on the recipient computer; the server POP3
software is installed on the mail server.
● Mail access starts with the client when the user needs to download its e-mail from
the mailbox on the mail server.
● The client opens a connection to the server on TCP port 110.
● It then sends its username and password to access the mailbox. The user canthen
list and retrieve the mail messages, one by one.
● POP3 has two modes: the delete mode and the keep mode.
● In the delete mode, the mail is deleted from the mailbox after each retrieval.
○ Used when the user is working at her permanent computer and can save and
organize the received mail after reading or replying.
● In the keep mode, the mail remains in the mailbox after retrieval.
○ Used when the user accesses her mail away from her primary computer.
51. ELECTRONIC MAIL...
51
Post Office Protocol, version 3 (POP3) - Disadvantages
● Does not allow the user to organize the mails on the server.
● User cannot have different folders on the server.
● Does not allow the user to partially check the contents of the mail before downloading.
53. ELECTRONIC MAIL...
53
Internet Mail Access Protocol, version 4 (IMAP4)
● More feature rich, powerful and complex than POP3.
● Extra functions;
○ A user can check the email header prior to downloading.
○ A user can search the contents of the email for a specific string of characters prior
to downloading.
○ A user can partially download e-mail. This is especially useful if bandwidth is
limited and the email contains multimedia with high bandwidth requirements.
○ A user can create, delete, or rename mailboxes on the mail server.
○ A user can create a hierarchy of mailboxes in a folder for email storage.
54. ELECTRONIC MAIL...
54
Multipurpose Internet Mail Extensions (MIME)
● A supplementary protocol that allows non-ASCII data to be sent through email(SMTP).
● MIME transforms non-ASCII data (including video and audio) at the sender site
to NVT 7-bit ASCII data and delivers it to the client MTA to be sent through the
Internet. The message at the receiving site is transformed back to the original data.
● (NVT: Network Virtual Terminal)
56. TELNET (TErminaL NETwork)
56
● A remote logging, client-server protocol.
● Remote Logging: If a user log into a remote computer and access an application
program or utility of that system, it is called remote logging.
○ When a user logs into a local system, it is called local logging.
● TELNET requires a logging name and password, but vulnerable to hacking becauseit
sends all data including the password in plaintext (not encrypted). Hence a secure
protocol called Secure Shell (SSH) is more common.
● Network administrators often use TELNET for diagnostic and debugging purposes.
● Working:
57. TELNET (TErminaL NETwork)...
57
● The user keystrokes are accepted by a terminal driver and pass them to TELNET client.
● The TELNET client converts the text into a Universal Character set called Network
Virtual Terminal (NVT) characters and delivers them to the local TCP/IP stack. (NVT is
needed as the client and the server systems may have different working environment
and OS).
● At the server, the NVT text are accepted by the TCP/IP stack and pass them to TELNET
server, which changes the characters to the corresponding characters.
● The OS cannot accept the text/commands from a TELNET server, but can accept from
a terminal driver. Here a pseudo terminal driver accepts the text from the TELNET server
and pass them to the OS. The OS then passes the characters to the appropriate
application program.
58. DOMAIN NAME SYSTEM (DNS)
58
● Machines can understand only IP (numeric) address while people can
remember only names.
● Hence IP addresses are mapped to some names and the whole such
information in the network are distributed among many computersin
the world.
● Any host that needs the mapping from names to IP address can contactthe
nearby computer that holds this information.
● This method is called the DOMAIN NAME SYSTEM (DNS) and the computer
that holds such mapping information is called a DNS server.
● The DNS client sends the name to the DNS server which returns the
corresponding IP address.
The Domain Name System (or DNS) converts human readable domain
names (like: www.google.com) into Internet Protocol (IP) addresses(like:
173.194.39.78).
59. DOMAIN NAME SYSTEM (DNS)...
59
Consider a file transfer scenario where the user gives a host name instead ofIP
address:
60. DOMAIN NAME SYSTEM (DNS)...
60
● Name Space
○ It is a collection of names and addresses; both are unique.
○ Names can be organized in two ways: flat or hierarchical.
○ Flat Name Space: A name is assigned to an address, one by one. It
can't be used for large number of names-address combinations.
○ Hierarchical Name Space: Each name is made of several parts.
■ Eg: kerala.bsnl.co.in, www.indiana.edu
61. DOMAIN NAME SYSTEM (DNS)...
● Domain Name Space
61
○ Designed to implement hierarchical name space.
○ The names are defined in an inverted-tree structure with the root at the top.The
tree can have only 128 levels: level 0 (root) to level 127.
○ Each node in the tree has a label, which is a string with a maximum of 63
characters. The root label is a null string (empty string).
○ Each node in the tree has its domain name.
○ A full domain name is a sequence of labels, read from the node up to theroot,
separated by dots (.).
○ The last label is the label of the root (null), which means the last character is a
dot.
62. DOMAIN NAME SYSTEM (DNS)...
● Domain Name Space
62
● If a label is terminated by a null string, it is called a fully qualified domain name
(FQDN). An FQDN can unambiguously indicate the position of a host relative to the
DNS Root.
○ Eg: bDept.topUniversity.edu.
● If a label is not terminated by a null string, it is called a partially qualifieddomain
name (PQDN). A PQDN starts from a node, but it does not reach theroot.
○ Eg: bDept
63. DOMAIN NAME SYSTEM (DNS)...
63
● A domain is a subtree of the domain name space.
● For efficiency, domains are stored in different places called domain servers.
● Since the complete domain hierarchy can't be stored on a single server, it is divided
among different servers; each one is said to have an authority of a zone.
● A root server is a server whose zone consists of the entire tree.
64. DOMAIN NAME SYSTEM (DNS)...
64
● DNS defines two types of servers: primary and secondary.
● A primary server is a server that stores a file about the zone for which it is an
authority and is responsible for creating, maintaining, and updating the zonefile.
It stores the zone file on a local disk.
● A secondary server is a server that transfers the complete information about a
zone from another server (primary or secondary) and stores the file on its local
disk. The secondary server neither creates nor updates the zone files.
65. DOMAIN NAME SYSTEM (DNS)...
65
DNS in the Internet
● The domain name space was divided into three: Generic domains, Country
domains and Inverse domains. But Inverse domain does not exist now due tothe
growth of the Internet.
66. DOMAIN NAME SYSTEM (DNS)...
66
1. Generic Domains
● Based on generic behaviour.
● Each node in the tree defines a domain, which is an index to the domain namespace
database.
● There are 14 generic domain labels.
67. DOMAIN NAME SYSTEM (DNS)...
67
2. Country Domains
● Uses two-character country abbreviations (Eg: in for India).
● Second labels can be organizational (Eg: co.in), or they can be more specificnational
designations, and so on. (Eg: ca.us)
68. DOMAIN NAME SYSTEM (DNS)...
Resolution
68
● Mapping a name to an address is called name-address resolution.
● A host that needs to map an address to a name or a name to an address calls a DNS
client called a resolver.
● The resolver accesses the closest DNS server with a mapping request (query).
● If the server has the information, it satisfies the resolver (as in the figure); otherwise,
it either asks other servers to provide the information or refers the resolver to other
servers.
● After the resolver receives the mapping, it interprets the response to see if it is a real
resolution or an error, and finally delivers the result to the process that requested it.
FTP example
69. DOMAIN NAME SYSTEM (DNS)...
Resolution
● A resolution can be either recursive or iterative.
Imagecourtesy:https://www.ques10.com/p/41452/how-iterative-resolution-differs-from-recursive--1/
69
● Recursive Resolution
70. DOMAIN NAME SYSTEM (DNS)...
Resolution
● A resolution can be either recursive or iterative.
Imagecourtesy:https://www.ques10.com/p/41452/how-iterative-resolution-differs-from-recursive--1/
70
● Iterative Resolution
Request for
ques10.com
71. DOMAIN NAME SYSTEM (DNS)...
Resource Records
71
● The zone information associated with a server is implemented as a set of resource
records.
● A name server stores the database of resource records.
● A resource record is a five-tuple structure:
(Domain Name, Type, Class, TTL, Value)
○ Domain Name: identifies the record.
○ Type: The Value depends on the Type parameter.
○ Class: Type of network (Here IN for the Internet).
○ TTL: Time for which the information is valid.
73. DOMAIN NAME SYSTEM (DNS): DNS Message Format
73
Query and Response; both have the same format.
Identification: To identify a response for a query
Flags: To know whether the message is a query, response or error.
74. 74
Dynamic DNS (DDNS)
● Since the Internet is very large, manual updation of DNS entries is not possible.
● Dynamic DNS updates the DNS server data dynamically.
● When a new name-IP pair is bound, normally the DHCP informs a primary DNS
server.
● The primary server makes changes in its records and notifies the secondary DNS
servers actively or passively.
○ Active notification: The primary DNS server sends message to the secondary
ones about the updation.
○ Passive notification: The secondary DNS servers periodically checks the
primary DNS servers whether there is any update.
● In either case the secondary server requests information about the entire zone
(called the zone transfer).