6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application...

133
11/02/22 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz .A. Forouzan, “Data communication and Networking”, Tata McGrawHill, 2004

Transcript of 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application...

Page 1: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

04/18/23 Unit-5 : Application Layer 1

CS 1302Computer Networks

— Unit - 5 —— Application Layer —

Text Book Behrouz .A. Forouzan, “Data communication and Networking”, Tata McGrawHill, 2004

Page 2: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

DomainNameSystem

04/18/23 2Unit-5 : Application Layer

Page 3: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

25.1 Name Space25.1 Name Space

Flat Name Space

Hierarchical Name Space

04/18/23 3Unit-5 : Application Layer

Page 4: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

25.2 Domain Name Space

Label

Domain Name

04/18/23 4Unit-5 : Application Layer

Page 5: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 25.1 Domain name space

04/18/23 5Unit-5 : Application Layer

Page 6: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 25.2 Domain names and labels

04/18/23 6Unit-5 : Application Layer

Page 7: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

25.6 DNS Messages25.6 DNS Messages

Header

Question Section

Answer Section

Authoritative Section

Additional Information Section04/18/23 7Unit-5 : Application Layer

Page 8: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 25.3 FQDN and PQDN

04/18/23 8Unit-5 : Application Layer

Page 9: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 25.4 Domains

04/18/23 9Unit-5 : Application Layer

Page 10: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

25.3 Distribution of Name Spaces25.3 Distribution of Name Spaces

Hierarchy of Name Servers

Zone

Root Server

Primary and Secondary Servers

04/18/23 10Unit-5 : Application Layer

Page 11: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 25.5 Hierarchy of name servers

04/18/23 11Unit-5 : Application Layer

Page 12: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 25.6 Zones and domains

04/18/23 12Unit-5 : Application Layer

Page 13: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

A primary server loads all information from the disk file; the secondary server loads all information from the primary

server.

NoteNote::

04/18/23 13Unit-5 : Application Layer

Page 14: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

25.4 DNS In The Internet25.4 DNS In The Internet

Generic Domain

Country Domain

Inverse Domain

04/18/23 14Unit-5 : Application Layer

Page 15: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 25.7 DNS in the Internet

04/18/23 15Unit-5 : Application Layer

Page 16: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 25.8 Generic domains

04/18/23 16Unit-5 : Application Layer

Page 17: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Table 25.1 Table 25.1 Generic domain labelsGeneric domain labels

Label Description

com Commercial organizations

edu Educational institutions

gov Government institutions

int International organizations

mil Military groups

net Network support centers

org Nonprofit organizations

04/18/23 17Unit-5 : Application Layer

Page 18: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Table 25.2 Table 25.2 New generic domain labelsNew generic domain labels

Label Description

aero Airlines and aerospace companies

biz Businesses or firms (similar to com)

coop Cooperative business organizations

info Information service providers

museum Museums and other nonprofit organizations

name Personal names (individuals)

pro Professional individual organizations

04/18/23 18Unit-5 : Application Layer

Page 19: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 25.9 Country domains

04/18/23 19Unit-5 : Application Layer

Page 20: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 25.10 Inverse domain

04/18/23 20Unit-5 : Application Layer

Page 21: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

25.5 Resolution25.5 Resolution

Resolver

Mapping Addresses to Names

Recursive Resolution

Iterative Resolution

Caching

Mapping Names to Addresses

04/18/23 21Unit-5 : Application Layer

Page 22: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 25.11 Recursive resolution

04/18/23 22Unit-5 : Application Layer

Page 23: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 25.12 Iterative resolution

04/18/23 23Unit-5 : Application Layer

Page 24: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 25.13 Query and response messages

04/18/23 24Unit-5 : Application Layer

Page 25: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 25.14 Header format

04/18/23 25Unit-5 : Application Layer

Page 26: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

DNS can use the services of UDP or TCP,

using the well-known port 53.

NoteNote::

04/18/23 26Unit-5 : Application Layer

Page 27: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

SMTPandFTP

04/18/23 27Unit-5 : Application Layer

Page 28: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

26.1 Electronic Mail26.1 Electronic Mail

Sending/Receiving Mail

Addresses

User Agent

MIME

Mail Transfer Agent

Mail Access Protocols

04/18/23 28Unit-5 : Application Layer

Page 29: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 26.1 Format of an email

04/18/23 29Unit-5 : Application Layer

Page 30: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 26.2 Email address

04/18/23 30Unit-5 : Application Layer

Page 31: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 26.3 User agent

04/18/23 31Unit-5 : Application Layer

Page 32: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Some examples of command-driven user agents are mail, pine, and elm.

NoteNote::

04/18/23 32Unit-5 : Application Layer

Page 33: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Some examples of GUI-based user agents are Eudora, Outlook, and

Netscape.

NoteNote::

04/18/23 33Unit-5 : Application Layer

Page 34: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 26.4 MIME

04/18/23 34Unit-5 : Application Layer

Page 35: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 26.5 MIME header

04/18/23 35Unit-5 : Application Layer

Page 36: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Table 26.1Table 26.1 Data types and subtypes in MIMEData types and subtypes in MIME

Type Subtype Description

Text Plain Unformatted text

Multiport

Mixed Body contains ordered parts of different data types

Parallel Same as above, but no order

Digest Similar to mixed, but the default is message/RFC822

Alternative Parts are different versions of the same message

Message

RFC822 Body is an encapsulated message

Partial Body is a fragment of a bigger message

Ext. Body Body is a reference to another message

ImageJPEG Image is in JPEG

GIF Video is in GIF format

Video MPEG Video is in MPEG format

Audio Basic Single-channel encoding of voice at 8 KHz

Application

PostScript Adobe PostScript

Octet-Stream General binary data (8-bit bytes)04/18/23 36Unit-5 : Application Layer

Page 37: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Table 26.2 Table 26.2 Content-transfer encodingContent-transfer encoding

Category Description

Type ASCII characters and short lines

7bit Non-ASCII characters and short lines

8bit Non-ASCII characters with unlimited-length lines

Binary 6-bit blocks of data are encoded into 8-bit ASCII characters

Base64Non-ASCII characters are encoded as an equal sign followed by an ASCII code

04/18/23 37Unit-5 : Application Layer

Page 38: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 26. 6 Base64

04/18/23 38Unit-5 : Application Layer

Page 39: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Table 26.3 Table 26.3 Base64 encoding tableBase64 encoding table

Value Code Value Code Value Code Value Code Value Code Value Code

0 A 11 L 22 W 33 h 44 s 55 3

1 B 12 M 23 X 34 i 45 t 56 4

2 C 13 N 24 Y 35 j 46 u 57 5

3 D 14 O 25 Z 36 k 47 v 58 6

4 E 15 P 26 a 37 l 48 w 59 7

5 F 16 Q 27 b 38 m 49 x 60 8

6 G 17 R 28 c 39 n 50 y 61 9

7 H 18 S 29 d 40 o 51 z 62 +

8 I 19 T 30 e 41 p 52 0 63 /

9 J 20 U 31 f 42 q 53 1

10 K 21 V 32 g 43 r 54 2

04/18/23 39Unit-5 : Application Layer

Page 40: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 26.7 Quoted-printable

04/18/23 40Unit-5 : Application Layer

Page 41: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 26.8 MTA client and server

04/18/23 41Unit-5 : Application Layer

Page 42: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 26.9 Commands and responses

04/18/23 42Unit-5 : Application Layer

Page 43: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 26.10 Email delivery

04/18/23 43Unit-5 : Application Layer

Page 44: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 26.11 POP3

04/18/23 44Unit-5 : Application Layer

Page 45: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

26.2 File Transfer 26.2 File Transfer

Connections

Communication

File Transfer

User Interface

Anonymous

04/18/23 45Unit-5 : Application Layer

Page 46: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

FTP uses the services of TCP. It needs two TCP connections. The well-known

port 21 is used for the control connection, and the well-known port 20 is used for the data connection.

NoteNote::

04/18/23 46Unit-5 : Application Layer

Page 47: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 26.12 FTP

04/18/23 47Unit-5 : Application Layer

Page 48: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 26.13 Using the control connection

04/18/23 48Unit-5 : Application Layer

Page 49: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 26.14 Using the data connection

04/18/23 49Unit-5 : Application Layer

Page 50: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 26.15 File transfer

04/18/23 50Unit-5 : Application Layer

Page 51: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Example 1Example 1

Figure 26.16 (next slide) shows an example of how a file is stored.

1. The control connection is created, and several control commands and responses are exchanged.

2. Data are transferred record by record.

3. A few commands and responses are exchanged to close the connection.

04/18/23 51Unit-5 : Application Layer

Page 52: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 26.16 Example 1

04/18/23 52Unit-5 : Application Layer

Page 53: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Table 26.4 Table 26.4 List of FTP commands in UNIXList of FTP commands in UNIX

Commands

!, $, account, append, ascii, bell, binary, bye, case, cd, cdup, close, cr, delete, debug, dir, discount, form, get, glob, hash, help, lcd, ls, macdef, mdelete, mdir, mget, mkdir, mls, mode, mput, nmap, ntrans, open, prompt, proxy, sendport, put, pwd, quit, quote, recv, remotehelp, rename, reset, rmdir, runique, send, status, struct, sunique, tenex, trace, type, user, verbose,?

04/18/23 53Unit-5 : Application Layer

Page 54: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Example 2Example 2

We show some of the user interface commands that accomplish the same task as in Example 1. The user input is shown in boldface. As shown below, some of the commands are provided automatically by the interface. The user receives a prompt and provides only the arguments.

$ ftp challenger.atc.fhda.eduConnected to challenger.atc.fhda.edu220 Server readyName: forouzanPassword: xxxxxxxftp > ls /usr/user/report200 OK150 Opening ASCII mode......................226 transfer completeftp > close221 Goodbyeftp > quit

04/18/23 54Unit-5 : Application Layer

Page 55: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Example 3Example 3

We show an example of using anonymous FTP. We connect to internic.net, where we assume there are some public data available.

$ ftp internic.netConnected to internic.net220 Server readyName: anonymous331 Guest login OK, send "guest" as passwordPassword: guestftp > pwd257 '/' is current directoryftp > ls200 OK150 Opening ASCII modebin...ftp > close221 Goodbyeftp > quit

04/18/23 55Unit-5 : Application Layer

Page 56: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

HTTPand

WWW04/18/23 56Unit-5 : Application Layer

Page 57: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

27.1 HTTP27.1 HTTP

Transaction

Request Message

Response Message

Headers

04/18/23 57Unit-5 : Application Layer

Page 58: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

HTTP uses the services of TCP on well-known port 80.

NoteNote::

04/18/23 58Unit-5 : Application Layer

Page 59: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 27.1 HTTP transaction

04/18/23 59Unit-5 : Application Layer

Page 60: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 27.2 Request message

04/18/23 60Unit-5 : Application Layer

Page 61: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 27.3 Request line

04/18/23 61Unit-5 : Application Layer

Page 62: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 27.4 URL

04/18/23 62Unit-5 : Application Layer

Page 63: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 27.5 Response message

04/18/23 63Unit-5 : Application Layer

Page 64: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 27.6 Status line

04/18/23 64Unit-5 : Application Layer

Page 65: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 27.7 Header format

04/18/23 65Unit-5 : Application Layer

Page 66: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 27.8 Headers

04/18/23 66Unit-5 : Application Layer

Page 67: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Example 1Example 1This example retrieves a document. We use the GET method to retrieve an image with the path /usr/bin/image1. The request line shows the method (GET), the URL, and the HTTP version (1.1). The header has two lines that show that the client can accept images in GIF and JPEG format. The request does not have a body. The response message contains the status line and four lines of header. The header lines define the date, server, MIME version, and length of the document. The body of the document follows the header (see Fig. 27.9, next slide).

04/18/23 67Unit-5 : Application Layer

Page 68: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 27.9 Example 1

04/18/23 68Unit-5 : Application Layer

Page 69: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Example 2Example 2

This example retrieves information about a document. We use the HEAD method to retrieve information about an HTML document (see the next section). The request line shows the method (HEAD), URL, and HTTP version (1.1). The header is one line showing that the client can accept the document in any format (wild card). The request does not have a body. The response message contains the status line and five lines of header. The header lines define the date, server, MIME version, type of document, and length of the document (see Fig. 27.10, next slide). Note that the response message does not contain a body.

04/18/23 69Unit-5 : Application Layer

Page 70: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 27.10 Example 2

04/18/23 70Unit-5 : Application Layer

Page 71: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

HTTP version 1.1 specifies a persistent connection by default.

NoteNote::

04/18/23 71Unit-5 : Application Layer

Page 72: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

27.2 World Wide Web27.2 World Wide Web

Hypertext and Hypermedia

Browser Architecture

Static Document/HTML

Dynamic Document/CGI

Active Document/Java04/18/23 72Unit-5 : Application Layer

Page 73: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 27.11 Distributed services

04/18/23 73Unit-5 : Application Layer

Page 74: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 27.12 Hypertext

04/18/23 74Unit-5 : Application Layer

Page 75: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 27.13 Browser architecture

04/18/23 75Unit-5 : Application Layer

Page 76: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 27.14 Categories of Web documents

04/18/23 76Unit-5 : Application Layer

Page 77: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 27.15 Static document

04/18/23 77Unit-5 : Application Layer

Page 78: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 27.16 Boldface tags

04/18/23 78Unit-5 : Application Layer

Page 79: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 27.17 Effect of boldface tags

04/18/23 79Unit-5 : Application Layer

Page 80: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 27.18 Beginning and ending tags

04/18/23 80Unit-5 : Application Layer

Page 81: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Table 27.1 Common tags Table 27.1 Common tags

BeginningTag

Ending Tag

Meaning

Skeletal Tags

<HTML> </HTML> Defines an HTML document

<HEAD> </HEAD> Defines the head of the document

<BODY> </BODY> Defines the body of the document

Title and Header Tags

<TITLE> </TITLE> Defines the title of the document

<Hn> </Hn> Defines the title of the document

04/18/23 81Unit-5 : Application Layer

Page 82: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Table 27.1 Common tags (continued) Table 27.1 Common tags (continued)

BeginningTag

Ending Tag

Meaning

Text Formatting Tags

<B> </B> Boldface

<I> </I> Italic

<U> </U> Underlined

<SUB> </SUB> Subscript

<SUP> </SUP> Superscript

Data Flow Tag

<CENTER> </CENTER> Centered

<BR> </BR> Line break

04/18/23 82Unit-5 : Application Layer

Page 83: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Table 27.1 Common tags (continued) Table 27.1 Common tags (continued)

BeginningTag

Ending Tag

Meaning

List Tags

<OL> </OL> Ordered list

<UL> </UL> Unordered list

<LI> </LI> An item in a list

Image Tag

<IMG> Defines an image

Hyperlink Tag

<A> </A> Defines an address (hyperlink)

Executable Contents

<APPLET> </APPLET> The document is an applet04/18/23 83Unit-5 : Application Layer

Page 84: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Example 3Example 3

This example shows how tags are used to let the browser format the appearance of the text.<HTML> <HEAD> <TITLE> First Sample Document </TITLE> </HEAD> <BODY> <CENTER> <H1><B> ATTENTION </B></H1> </CENTER> You can get a copy of this document by: <UL> <LI> Writing to the publisher <LI> Ordering online <LI> Ordering through a bookstore </UL> </BODY></HTML>

04/18/23 84Unit-5 : Application Layer

Page 85: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Example 4Example 4

This example shows how tags are used to import an image and insert it into the text.

<HTML> <HEAD> <TITLE> Second Sample Document </TITLE> </HEAD> <BODY> This is the picture of a book: <IMG SRC="Pictures/book1.gif" ALIGN=MIDDLE> </BODY></HTML>

04/18/23 85Unit-5 : Application Layer

Page 86: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Example 5Example 5

This example shows how tags are used to make a hyperlink to another document.<HTML> <HEAD> <TITLE> Third Sample Document </TITLE> </HEAD> <BODY> This is a wonderful product that can save you money and time. To get information about the producer, click on <A HREF="http://www.phony.producer"> Producer </A> </BODY></HTML>

04/18/23 86Unit-5 : Application Layer

Page 87: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 27.19 Dynamic document

04/18/23 87Unit-5 : Application Layer

Page 88: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Example 6Example 6

Example 6 is a CGI program written in Bourne shell script. The program accesses the UNIX utility (date) that returns the date and the time. Note that the program output is in plain text.

#!/bin/sh # The head of the programecho Content_type: text/plainecho# The body of the programnow='date'echo $nowexit 0

04/18/23 88Unit-5 : Application Layer

Page 89: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Example 7Example 7

Example 7 is similar to Example 6 except that program output is in HTML.

#!/bin/sh # The head of the programecho Content_type: text/htmlecho# The body of the programecho <HTML>echo <HEAD><TITLE> Date and Time </TITLE></HEAD>echo <BODY>now='date'echo <CENTER><B> $now </B></CENTER>echo </BODY>echo </HTML>exit 0

04/18/23 89Unit-5 : Application Layer

Page 90: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Example 8Example 8

Example 8 is similar to Example 7 except that the program is written in Perl.

#!/bin/perl # The head of the programprint "Content_type: text/html\n";print "\n";# The body of the programprint "<HTML>\n";print "<HEAD><TITLE> Date and Time </TITLE></HEAD>\n";print "<BODY>\n";$now = 'date';print "<CENTER><B> $now </B></CENTER>\n";print "</BODY>\n";print "</HTML>\n";exit 0

04/18/23 90Unit-5 : Application Layer

Page 91: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 27.20 Active document

04/18/23 91Unit-5 : Application Layer

Page 92: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 27.21 Skeleton of an applet

04/18/23 92Unit-5 : Application Layer

Page 93: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 27.22 Instantiation of the object defined by an applet

04/18/23 93Unit-5 : Application Layer

Page 94: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 27.23 Creation and compilation

04/18/23 94Unit-5 : Application Layer

Page 95: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 27.24 HTML document carrying an applet

04/18/23 95Unit-5 : Application Layer

Page 96: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Example 9Example 9In this example, we first import two packages, java.awt and java.applet. They contain the declarations and definitions of classes and methods that we need. Our example uses only one publicly inherited class called First. We define only one public method, paint. The browser can access the instance of First through the public method paint. The paint method, however, calls another method called drawString, which is defined in java.awt.*.

import java.applet.*;import java.awt.*;

public class First extends Applet{ public void paint (Graphics g) { g.drawString ("Hello World", 100, 100); }}

04/18/23 96Unit-5 : Application Layer

Page 97: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Example 10Example 10

In this example, we modify the program in Example 9 to draw a line. Instead of method drawString, we use another method called drawLine. This method needs four parameters: the x and y coordinates at the beginning of the line and the x and y coordinates at the end of the line. We use 0, 0 for the beginning and 80, 90 for the end.

import java.applet.*;import java.awt.*;

public class Second extends Applet{ public void paint (Graphics g) { g.drawLine (0, 0, 80, 90); }}

04/18/23 97Unit-5 : Application Layer

Page 98: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

SecuritySecurity

04/18/23 98Unit-5 : Application Layer

Page 99: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Security Topics

04/18/23 99Unit-5 : Application Layer

Page 100: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Cryptography

04/18/23 100Unit-5 : Application Layer

Page 101: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

29.1 Introduction29.1 Introduction

Introduction Introduction to to

CryptographyCryptography

04/18/23 101Unit-5 : Application Layer

Page 102: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 29.1 Cryptography components

04/18/23 102Unit-5 : Application Layer

Page 103: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 29.2 Encryption and decryption

04/18/23 103Unit-5 : Application Layer

Page 104: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

In cryptography, the encryption/decryption algorithms

are public; the keys are secret.

NoteNote::

04/18/23 104Unit-5 : Application Layer

Page 105: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

29.2 Symmetric-Key Cryptography29.2 Symmetric-Key Cryptography

Traditional Cipher

Block Cipher

Operation Modes

04/18/23 105Unit-5 : Application Layer

Page 106: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 29.3 Symmetric-key cryptography

04/18/23 106Unit-5 : Application Layer

Page 107: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

In symmetric-key cryptography, the same key is used by the sender (for encryption) and the receiver (for decryption). The key is shared.

NoteNote::

04/18/23 107Unit-5 : Application Layer

Page 108: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

In symmetric-key cryptography, the same key is used in both directions.

NoteNote::

04/18/23 108Unit-5 : Application Layer

Page 109: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Symmetric-key cryptography is often used for long messages.

NoteNote::

04/18/23 109Unit-5 : Application Layer

Page 110: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 29.4 Caesar cipher

04/18/23 110Unit-5 : Application Layer

Page 111: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 29.5 Example of monoalphabetic substitution

04/18/23 111Unit-5 : Application Layer

Page 112: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

In monoalphabetic substitution, the relationship between a character in the

plaintext to the character in the ciphertext is always one-to-one.

NoteNote::

04/18/23 112Unit-5 : Application Layer

Page 113: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 29.6 Vigenere cipher

04/18/23 113Unit-5 : Application Layer

Page 114: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

In polyalphabetic substitution, the relationship between a character in the

plaintext and a character in the ciphertext is one-to-many.

NoteNote::

04/18/23 114Unit-5 : Application Layer

Page 115: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 29.7 Transpositional cipher

04/18/23 115Unit-5 : Application Layer

Page 116: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 29.8 Block cipher

04/18/23 116Unit-5 : Application Layer

Page 117: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 29.9 P-box

04/18/23 117Unit-5 : Application Layer

Page 118: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 29.10 S-box

04/18/23 118Unit-5 : Application Layer

Page 119: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 29.11 Product block

04/18/23 119Unit-5 : Application Layer

Page 120: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 29.12 DES

04/18/23 120Unit-5 : Application Layer

Page 121: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 29.13 General scheme of DES

04/18/23 121Unit-5 : Application Layer

Page 122: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 29.14 Iteration block

04/18/23 122Unit-5 : Application Layer

Page 123: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 29.15 Triple DES

04/18/23 123Unit-5 : Application Layer

Page 124: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

The DES cipher uses the same concept as the Caesar cipher, but the

encryption/decryption algorithm is much more complex due to the sixteen 48-bit keys derived from a 56-bit key.

NoteNote::

04/18/23 124Unit-5 : Application Layer

Page 125: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 29.16 ECB mode

04/18/23 125Unit-5 : Application Layer

Page 126: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 29.17 CBC mode

04/18/23 126Unit-5 : Application Layer

Page 127: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 29.18 CFM

04/18/23 127Unit-5 : Application Layer

Page 128: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 29.19 CSM

04/18/23 128Unit-5 : Application Layer

Page 129: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

29.3 Public-Key Cryptography29.3 Public-Key Cryptography

RSA

Choosing Public and Private Keys

04/18/23 129Unit-5 : Application Layer

Page 130: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 29.20 Public-key cryptography

04/18/23 130Unit-5 : Application Layer

Page 131: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Public-key algorithms are more efficient for short messages.

NoteNote::

04/18/23 131Unit-5 : Application Layer

Page 132: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

Figure 29.21 RSA

04/18/23 132Unit-5 : Application Layer

Page 133: 6/9/2015 Unit-5 : Application Layer 1 CS 1302 Computer Networks — Unit - 5 — — Application Layer — Text Book Behrouz.A. Forouzan, “Data communication and.

END

(Effort Never Dies)

04/18/23 133Unit-5 : Application Layer