CN Unit I - part 2 -RAS, Lecture notes of Computer Networks

Full description of application layer protocol part 2

Typology: Lecture notes

2016/2017

Uploaded on 04/10/2017

sanket-raut
sanket-raut 🇮🇳

2 documents

1 / 111

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Application layer
Rachana Satao
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Partial preview of the text

Download CN Unit I - part 2 -RAS and more Lecture notes Computer Networks in PDF only on Docsity!

Application layer

Rachana Satao

2: Application Layer 2

Creating a network app

write programs that

  • run on (different) end systems
  • communicate over network
  • e.g., web server software communicates with browser software

No need to write software for network-core devices

  • Network-core devices do not run user applications
  • applications on end systems allows for rapid app development, propagation

application transport data link^ network physical

application transport data link^ network physical

application transport data link^ network physical

2: Application Layer 4

Client-server architecture

server:

  • always-on host
  • permanent IP address
  • server farms for scaling clients:
  • communicate with server
  • may be intermittently connected
  • may have dynamic IP addresses
  • do not communicate directly with each other

client/server

2: Application Layer 5

Pure P2P architecture

  • no always-on server
  • arbitrary end systems directly communicate
  • peers are intermittently connected and change IP addresses

Highly scalable but difficult to manage

peer-peer

2: Application Layer 7

Processes communicating

Process: program running within a host.

  • within same host, two processes communicate using inter- process communication (defined by OS).
  • processes in different hosts communicate by exchanging messages

Client process: process that initiates communication Server process: process that waits to be contacted

 Note: applications with P2P architectures have client processes & server processes

8

Sockets

  • process sends/receives messages to/from its socket
  • socket analogous to door
    • sending process shoves message out door
    • sending process relies on transport infrastructure on other side of door which brings message to socket at receiving process
  • Socket is a interface between application layer and transport layer (also referred as API).
  • API: (1) choice of transport protocol; (2) ability to fix a few parameters of transport layer.

process

TCP with buffers, variables

socket

host or server

process

TCP with buffers, variables

socket

host or server

Internet

controlled by OS

controlled by app developer

  • A Request for Comments ( RFC ) is a type of

publication from the Internet Engineering Task Force

(IETF) and the Internet Society, the principal technical

development and standards-setting bodies for the

Internet.

2: Application Layer 11

Addressing processes

  • to receive messages, process must have identifier
  • host device has unique 32-bit IP address
  • Q: does IP address of host on which process runs suffice for identifying the process? - A: No, many processes can be running on same host - identifier includes both IP address and port numbers associated with process on host. - Example port numbers: - HTTP server: 80 - Mail server: 25 - to send HTTP message to gaia.cs.umass.edu web server: - IP address: 128.119.245. - Port number: 80

2: Application Layer 13

Transport service requirements of common apps

Application

file transfer e-mail Web documents real-time audio/video

stored audio/video interactive games instant messaging

Data loss

no loss no loss no loss loss-tolerant

loss-tolerant loss-tolerant no loss

Throughput

elastic elastic elastic audio: 5kbps-1Mbps video:10kbps-5Mbps same as above few kbps up elastic

Time Sensitive

no no no yes, 100’s msec

yes, few secs yes, 100’s msec yes and no

2: Application Layer 14

Internet transport protocols services

TCP service:

  • connection-oriented: setup required between client and server processes
  • reliable transport between sending and receiving process
  • flow control: sender won’t overwhelm receiver
  • congestion control: throttle sender when network overloaded
  • does not provide: timing, minimum throughput guarantees, security

UDP service:

  • unreliable data transfer between sending and receiving process
  • does not provide: connection setup, reliability, flow control, congestion control, timing, throughput guarantee, or security

1: Application Layer Services 16

Application layer Services

• Web and HTTP

• FTP

• Electronic Mail

– SMTP, POP3,

IMAP

• DNS

• TELNET

• DHCP

1: Application Layer Services 17

Web and HTTP

First some terminology

  • Web page consists of objects
  • Object can be HTML file, JPEG image, Java applet,

audio file,…

  • Web page consists of base HTML-file which includes

several referenced objects

  • Each object is addressable by a URL
  • Example URL:

www.someschool.edu/someDept/pic.gif

host name path name

1: Application Layer Services 19

HTTP overview (continued)

Uses TCP:

  • client initiates TCP connection (creates socket) to server, port 80
  • server accepts TCP connection from client
  • HTTP messages (application- layer protocol messages) exchanged between browser (HTTP client) and Web server (HTTP server)
  • TCP connection closed

HTTP is “stateless”

  • server maintains no information about past client requests

Protocols that maintain “state” are complex!  past history (state) must be maintained  if server/client crashes, their views of “state” may be inconsistent, must be reconciled

1: Application Layer Services 20

HTTP connections

Nonpersistent HTTP

  • At most one object is sent over a TCP connection.

Persistent HTTP

  • Multiple objects can be sent over single TCP connection between client and server.