0% found this document useful (0 votes)
12 views

Chapter 6 Bit4001+q+Ex

The document summarizes key topics in application layer networking including: 1) The Domain Name System (DNS) which maps domain names to IP addresses in a hierarchical manner. 2) Electronic mail and file transfer protocols like SMTP, POP3, and IMAP which allow for sending and receiving email. 3) The World Wide Web which uses HTTP/HTTPS to access web pages and applications from client to server. 4) Streaming audio and video which can be compressed and delivered over protocols like RTP to allow for playback without full downloads.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

Chapter 6 Bit4001+q+Ex

The document summarizes key topics in application layer networking including: 1) The Domain Name System (DNS) which maps domain names to IP addresses in a hierarchical manner. 2) Electronic mail and file transfer protocols like SMTP, POP3, and IMAP which allow for sending and receiving email. 3) The World Wide Web which uses HTTP/HTTPS to access web pages and applications from client to server. 4) Streaming audio and video which can be compressed and delivered over protocols like RTP to allow for playback without full downloads.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

Computer

networks and
communications
Chap 6: Application Layer
Lecturer: Dr. Trong-Minh Hoang
Chapter 6: The Application Layer

Content
6.1. Domain Name System (DNS)
6.2. Eletronic Mail and File Transfer
6.3. WEB Application
6.4. Streaming Audio and Video
6.5. Content Delivery
6.6. Summary
Chapter 6: The Application Layer
6.1. Domain Name System
- To identify an entity, TCP/IP protocols use the IP address, which uniquely identifies the
connection of a host to the Internet.
- However, people prefer to use names instead of numeric addresses. Therefore, we need
a system that can map a name to an address or an address to a name
Chapter 6: The Application Layer
6.1. Domain Name System
6.1.1. NAME SPACE
A name space that maps each address to a unique name can be organized in two ways: fiat or
hierarchical.
- Flat Name Space:
In a flat name space, a name is assigned to an address. A name in this space is a sequence
of characters without structure.

- Hierarchical Name Space:


In a hierarchical name space, each name is made of several parts. The first part can define the
nature of the organization, the second part can define the name of an organization, the third
part can define departments in the organization, and so on.

Exa: challenger.cmc.edu, challenger.berkeley.edu, and challenger.smart.com


Chapter 6: The Application Layer
6.1. Domain Name System
6.1.2. DOMAIN NAME SPACE
To have a hierarchical name space, a domain name space was designed. In this design 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.

A portion of the Internet domain name space.


Chapter 6: The Application Layer
6.1. Domain Name System
6.1.3. Distribution Name space
The information contained in the domain name space must be stored. However, it is very inefficient and also unreliable
to have just one computer store such a huge amount of information
1 Hierarchy of Name Servers: distribute the information among many computers called DNS servers. we let the root
stand alone and create as many domains (subtrees) as there are first-level nodes

2 Zone: Since the complete domain name hierarchy cannot be stored on a single server, it is divided among many
servers.

3 Root Server: A root server is a server whose zone consists of the whole tree. A root server usually does not store any
information about domains but delegates its authority to other servers, keeping references to those servers

4 Primary and Secondary Servers: A primary server is a server that stores a file about the zone for which it is an
authority( responsible for creating, maintaining, and updating the zone file. It stores the zone file on a local disk )
Chapter 6: The Application Layer
6.1. Domain Name System
6.1.4. DNS in The Internet
- DNS is a protocol can be used in different platforms.
- In the internet, DNS tree is Divided in to three different sections
Chapter 6: The Application Layer
6.2. Eletronic Mail and File Transfer
6.2.1. Architecture and Services
Two kinds of subsystems:
- The user agents, which allow people to read and send email
- The message transfer agents, which move the messages from the source to the
destination.

Architecture of the email system


Chapter 6: The Application Layer
6.2. Eletronic Mail and File Transfer
6.2.2. The User Agent
- A user agent is a program (sometimes called an email reader) that accepts a
variety of commands for composing, receiving, and replying to messages, as well as
for manipulating mailboxes. Ex:Google Gmail, Microsoft Outlook, …

Typical elements of the user agent interface.


Chapter 6: The Application Layer
6.2. Eletronic Mail and File Transfer
6.2.3. Message Transfer

- The message transfer agents relay messages from the originator to the recipient.
The mail transfer is done with the SMTP protocol.

- SMTP (Simple Mail Transfer Protocol): is a protocol used to transmit emails between
servers and uses DNS mechanism to look up the recipient's email server.

•Mail Submission: The process of sending an email from a user to an email server.
•Physical Transfer: The process of transferring an email from the sending server to
the receiving server via SMTP.
Chapter 6: The Application Layer
6.2. Eletronic Mail and File Transfer
6.2.4. Final Delivery
The process of delivering an email to the recipient's mailbox via a different protocol
such as POP3 or IMAP.

• POP3 (Post Office Protocol version 3): A protocol used to transfer emails from
email servers to a user's personal computer. It allows users to download emails to
their computer and store them there.

• IMAP (Internet Message Access Protocol): A protocol used to transfer emails


between email servers and a user's personal computer. It allows users to view and
manage emails on the server, helping to save storage space on their computer.
Chapter 6: The Application Layer
6.3. Eletronic Mail and File Transfer
6.3.1. Architectural Overview

• It is a client-server based architecture.


• It allows transmission of information over the Internet
using HTTP and web resources such as HTML, CSS,
JavaScript, and images.
• It enables integration of more complex Web applications
through various frameworks and protocols.
• It uses protocols such as AJAX and REST to increase
the interactivity of Web applications.
• It is the foundation for the development and deployment Fetching and rendering a Web page involves HTTP/HTTPS
requests to many servers.
of Web applications worldwide.
Chapter 6: The Application Layer
6.3. Eletronic Mail and File Transfer
6.3.2. Static Web Objects & Dynamic Web Pages and Web Applications
Dynamic Web Pages and Web Applications:
• Dynamic web pages are generated on the server side in response to a client request.
• Web applications refer to web-based software applications that are accessed through a web
browser.
• Common web application frameworks include Ruby on Rails, Django, and Node.js.

Static Web Objects:


• Static web objects include HTML pages, images, and other files that are stored on a web
server.
• These objects do not change unless modified manually.
• Static web objects are commonly used for simple websites with static content that does not
require frequent updates or interactivity.
Chapter 6: The Application Layer
6.3. Eletronic Mail and File Transfer
6.3.3. HTTP and HTTPS
• HTTP (Hypertext Transfer Protocol) is a protocol used for transferring data over the World Wide Web.
• HTTPS (Hypertext Transfer Protocol Secure) is a secure version of HTTP that uses SSL/TLS encryption to protect
sensitive information. It adds a layer of security by encrypting the data in transit, making it more difficult for attackers to
intercept or eavesdrop on the communication.
• HTTPS is commonly used for e-commerce sites, banking sites, and other sites that handle sensitive data. It is indicated
by a padlock icon and a "https://" prefix in the URL bar.
• HTTPS provides a secure and encrypted connection between the server and client, preventing unauthorized access and
data theft. It ensures that the data being transmitted cannot be intercepted or modified by third parties.
• HTTPS uses port 443, while HTTP uses port 80. HTTPS also requires the installation of an SSL/TLS certificate on the
server to establish the secure connection.
Chapter 6: The Application Layer
6.3. Eletronic Mail and File Transfer
6.3.4. Web Privacy
- Refers to controlling personal information on the Internet.
- Concerns include data collection, tracking, advertising, and data breaches.
- Laws require user consent for collecting personal information.
- Users can protect themselves with browser extensions, VPNs, and caution.

• Cookies: are small text files that are stored on a user's computer and can track their browsing
history and preferences.
• Third-party trackers: are embedded on websites by advertisers and can collect information
about users across multiple sites.
• Device and browser fingerprinting: uses information such as screen size and installed fonts
to uniquely identify a device or browser.
>>These technologies can be used to track users, build profiles, and target advertising.
Chapter 6: The Application Layer
6.4. STREAMING AUDIO AND VIDEO
6.4.1. Digital Audio
- Digital audio uses binary signals to represent sound, uses the dB unit to measure the loudness of
sound signals
- Analog-to-digital conversion is used to convert analog audio to digital audio (ADC - DAC)
- Digital audio can be compressed for smaller file sizes.
- Popular formats include MP3, AAC, and MP4.
Audio Compression:

(a) A sine wave. (b) Sampling the sine wave. (c) Quantizing the samples to 4 bits.
Chapter 6: The Application Layer
6.4. STREAMING AUDIO AND VIDEO
6.4.2. Digital Video
- Digital video refers to the representation of moving visual images in a digital format.
- There are various compression standards for digital video, such as MPEG, H.264, and HEVC.
- The quality of digital video depends on various factors, such as resolution, frame rate, and bit rate.

Video Compression

Three consecutive frames.


Chapter 6: The Application Layer
6.4. STREAMING AUDIO AND VIDEO
6.4.3. Streaming Stored Media
- Streaming Stored Media is a technique that allows users to watch or listen to content directly from a hosted
source, instead of having to download and store it on a personal device.
- Uses protocols such as Real-time Transport Protocol (RTP), Real-time Streaming Protocol (RTSP) or Hypertext
Transfer Protocol (HTTP) to transfer content to a user's computer or mobile device.

- Content formats: Audio Video Interleave (AVI), Moving Picture Experts Group (MPEG), Flash Video (FLV),
Windows Media Video (WMV) and QuickTime.

Playing media over the Web via simple downloads.


Chapter 6: The Application Layer
6.4. STREAMING AUDIO AND VIDEO
6.4.4. Real-Time Streaming
- Real-time streaming refers to the delivery of digital content in real-time over the internet.

- The technology behind real-time streaming relies on a steady and uninterrupted flow of data, which
can be achieved through various streaming protocols such as HTTP Live Streaming (HLS), Dynamic
Adaptive Streaming over HTTP (DASH), and Real-Time Messaging Protocol (RTMP).

- Real-time streaming has become increasingly popular with the rise of online video platforms and
the growth of the internet.

Voice over IP: is a technology for transmitting voice and digital information over the internet. It uses
digital data packets to transmit sound and is uncompressed at the destination. Common protocols
include SIP, RTP, and UDP.
Chapter 6: The Application Layer
6.4. STREAMING AUDIO AND VIDEO
6.4.4. Real-Time Streaming
H.323:
- The first protocol developed for internet-based audio and video calls, and it uses multiple protocols
including Real-time Transport Protocol (RTP), Transmission Control Protocol (TCP), and User Datagram
Protocol (UDP) to transmit audio and video.
- Allows multiple devices to connect with each other in a call, including landline and mobile phones,
computers, and other devices.

SIP
- Is a more popular and widely used protocol for internet-based calls. It uses SIP User Datagram Protocol
(UDP) to transmit data and allows users to connect with each other on various devices including phones
and computers.
- SIP enables devices to connect and disconnect more easily than H.323 and is considered to be more
flexible and scalable.
Chapter 6: The Application Layer
6.5. Content Delivery

- Is the process of distributing digital content from a server to end users over the internet.
- Content Delivery technologies include placing servers closer to end users, using caching, and optimizing
network infrastructure.
- Content Delivery Networks (CDNs) are widely used to improve content loading speeds by storing
content on distributed servers worldwide and routing users to the nearest server to download content.
- Optimization of content transfer protocols, including HTTP/2 and QUIC, are also used to improve
loading speed by reducing load time and increasing transfer speed.
- Content Delivery can also be optimized by using image and video optimization techniques to reduce file
size and increase loading speed. These techniques include compression, image and video formats, and
image filtering.
Chapter 6: The Application Layer
6.5. Content Delivery
6.5.1. Content and Internet Traffic
When N movies are available, the fraction of all requests for the kth most popular one is approximately C/k.
Here, C is computed to normalize the sum to 1, namely:

Zipf distribution (a) On a linear scale. (b) On a log-log


scale.
Chapter 6: The Application Layer
6.5. Content Delivery
6.5.2. Server Farms and Web Proxies

Server Farms

Web Proxies
Chapter 6: The Application Layer
6.5. Content Delivery
6.5.3. Content Delivery Networks

Populating CDN Cache Nodes: is preloading content onto cache nodes in a CDN to improve
content delivery speeds. This can be done via origin pull, direct push, or pre-warming.
Techniques such as intelligent caching and prioritizing popular content can optimize cache
node population.

DNS Redirection and Client Mapping: are techniques used in CDNs to improve content
delivery speed by mapping user IP addresses to the nearest cache node and reducing network
hops.
Chapter 6: The Application Layer
6.5. Content Delivery
6.5.3. Content Delivery Networks

CDN distribution tree Directing clients to nearby CDN nodes using DNS
Chapter 6: The Application Layer
6.5. Content Delivery
6.5.4. Peer-to-Peer Networks

Early Peer-to-Peer Networks: Napster


- Napster was an early file-sharing system that used a centralized server and FastTrack protocol for
peer-to-peer communication.
-It faced legal challenges and shut down, but its technology and concepts influenced the development
of file-sharing and content distribution technologies.
Chapter 6: The Application Layer
6.5. Content Delivery
6.5.4. Peer-to-Peer Networks
Decentralizing the Directory: Gnutella
- Gnutella was a decentralized file-sharing system that used a distributed network of nodes for
communication and file-sharing between users. It used a "query flooding" approach and represented a
significant development in peer-to-peer technology, paving the way for future decentralized networks.

Coping with Scaling, Incentives, and Verification: BitTorrent


- BitTorrent is a peer-to-peer file-sharing system that uses a "swarm" architecture and distributed hash
tables to cope with scaling. It employs tit-for-tat to incentivize users to share files and uses digital
signatures, hash functions, and peer review systems to address verification challenges.
Chapter 6: The Application Layer
6.5. Content Delivery
6.5.5. Evolution of the Internet

The early Internet involved primarily point-to-point


Most Internet traffic today is from clouds and CDNs, with a
communications
significant amount of traffic being exchanged between access
networks and ISPs over private interconnects.
Chapter 6: The Application Layer
6.6. Summary
- The application layer is responsible for providing network services to end users and applications.
- Application layer protocols define the syntax and semantics of data exchanged between networked devices.
- Many different application layer protocols exist, each designed to support specific types of applications and services.
- Some of the most common application layer protocols include HTTP, SMTP, FTP, Telnet, and DNS.
- The World Wide Web (WWW) is a collection of web pages and other resources accessed using HTTP, the protocol of
the web.
- Email is another popular application that relies on protocols such as SMTP and POP to send and receive messages.
- FTP is used for file transfer between devices, while Telnet is used for remote login and access to network devices.
- DNS is a protocol used to translate domain names into IP addresses.
- In addition to these commonly used protocols, there are many other application layer protocols that support a wide
range of network services and applications.
- Application layer security is an important consideration, with many protocols incorporating encryption and
authentication mechanisms to protect data and ensure secure communication.
THANK YOU

You might also like