SlideShare a Scribd company logo
1 of 33
Application Protocols




                        1
Network applications: some jargon

• A process is a program that is   • A user agent is an
  running within a host.             interface between the
• Within the same host, two          user and the network
  processes communicate with
                                     application.
  inter process communication
  defined by the OS.                  – Web:browser
• Processes running in different      – E-mail: mail reader
  hosts communicate with an           – streaming
  application-layer protocol            audio/video: media
                                        player
                                                          2
Applications and application-layer protocols

Application: communicating, distributed     application
                                            transport
  processes                                  network
                                             data link
    – running in network hosts in “user      physical

       space”
    – exchange messages to
       implement app
    – e.g., email, file transfer, the Web
Application-layer protocols
    – one “piece” of an app
    – define messages exchanged by                    application
                                                                    application
                                                                    transport
       apps and actions taken                         transport
                                                       network
                                                                     network
                                                                     data link
                                                       data link
    – user services provided by lower                  physical
                                                                     physical

       layer protocols

                                                                                  3
Client-server paradigm

Typical network app has two                 application

   pieces: client and server                transport
                                             network
                                             data link
                                             physical
Client:
Ì initiates contact with server (“speaks                  request
    first”)
Ì typically requests service from
    server,
Ì for Web, client is implemented in
                                                                                 reply
    browser; for e-mail, in mail reader
Server:                                                                           application
                                                                                  transport
Ì provides requested service to client                                             network
                                                                                   data link
Ì e.g., Web server sends requested                                                 physical

    Web page, mail server delivers e-mail
                                                                2: Application Layer     44
Application-layer protocols (cont).
                                   Q: how does a process “identify”
API: application programming          the other process with which it
  interface                           wants to communicate?
• defines interface between            – IP address of host running
                                          other process
  application and transport            – “port number” - allows
  layer                                   receiving host to determine
                                          to which local process the
• socket: Internet API                    message should be
  – two processes communicate             delivered
    by sending data into socket,
    reading data out of socket

                                                                5
What transport service does an application need?


Data loss
• some apps (e.g., audio) can tolerate some loss
• other apps (e.g., file transfer, telnet) require 100% reliable data transfer
Bandwidth
• some apps (e.g., multimedia) require minimum amount of bandwidth to
   be “effective”
• other apps (“elastic apps”) make use of whatever bandwidth they get
Timing
•   some apps (e.g., Internet telephony, interactive games) require low delay
    to be “effective”




                                                                          6
The Web: some jargon
• Web page:
   – consists of “objects”
   – addressed by a URL
• Most Web pages consist of:
   – base HTML page, and
   – several referenced objects.
• User agent for Web is called a browser:
   – MS Internet Explorer
   – Netscape Communicator
• Server for Web is called Web server:
   – Apache (public domain)
   – MS Internet Information Server
                                            7
The Web: the http protocol
http: hypertext transfer protocol
                                                          htt
• Web’s application layer protocol                           preq
                                          PC running              ues
                                                       htt            t
• client/server model                      Explorer
                                                          pr
                                                             e sp
                                                                 ons
    – client: browser that requests,                                 e
       receives, “displays” Web objects
                                                                     st
    – server: Web server sends objects                            ue
                                                               eq            Server
                                                          ttpr        on
                                                                         se
       in response to requests                           h
                                                                 res
                                                                     p       running
                                                              tp            NCSA Web
• http1.0: RFC 1945                                        ht
                                                                              server
• http1.1: RFC 2068
                                           Mac running
                                            Navigator

                                                                                8
The http protocol: more
http: TCP transport service:                http is “stateless”
• client initiates TCP connection           • server maintains no
   (creates socket) to server, port 80
                                              information about past
• server accepts TCP connection from          client requests
   client
• http messages (application-layer       Protocols that maintain “state”
                                            are complex!
   protocol messages) exchanged
                                         Ì past history (state) must be
   between browser (http client) and
                                            maintained
   Web server (http server)
                                         Ì if server/client crashes, their
• TCP connection closed                     views of “state” may be
                                            inconsistent, must be
                                            reconciled
                                                                     9
Non-persistent and persistent connections

Non-persistent                 Persistent
• HTTP/1.0                     • default for HTTP/1.1
• server parses request,       • on same TCP connection: server,
  responds, and closes TCP       parses request, responds,
  connection                     parses new request,..



   But most 1.0 browsers use parallel TCP connections.



                                                           10
http message format: request




                               11
http message format: response

  status line
   (protocol
 status code        HTTP/1.0 200 OK
status phrase)      Date: Thu, 06 Aug 1998 12:00:15 GMT
                    Server: Apache/1.3.0 (Unix)
          header    Last-Modified: Mon, 22 Jun 1998 …...
            lines   Content-Length: 6821
                    Content-Type: text/html

                    data data data data data ...
data, e.g.,
requested
 html file
                                                      12
http response status codes
   In first line in server->client response message.
   A few sample codes:
200 OK
   – request succeeded, requested object later in this message
301 Moved Permanently
   – requested object moved, new location specified later in this message
     (Location:)
400 Bad Request
   – request message not understood by server
404 Not Found
   – requested document not found on this server
505 HTTP Version Not Supported                                              13
Trying out http (client side) for yourself

1. Telnet to your favorite Web server:
  telnet www.eurecom.fr 80 Opens TCP connection to port 80
                           (default http server port) at www.eurecom.fr.
                           Anything typed in sent
                           to port 80 at www.eurecom.fr


 2. Type in a GET http request:
    GET /~ross/index.html HTTP/1.0    By typing this in (hit carriage
                                      return twice), you send
                                      this minimal (but complete)
                                      GET request to http server

 3. Look at response message sent by http server!
                                                                        14
User-server interaction: authentication
                                            client                    server
Authentication goal: control access to server    usual http request msg
   documents                                     401: authorization req.
• stateless: client must present authorization   WWW authenticate:
   in each request
• authorization: typically name, password        usual http request msg
    – authorization: header line in              + Authorization:line
       request                                   usual http response msg
    – if no authorization presented, server
       refuses access, sends
                                                 usual http request msg
         WWW authenticate:                       + Authorization:line
         header line in response                 usual http response msg   time
 Browser caches name & password so
 that user does not have to repeatedly enter it.                           15
User-server interaction: cookies
                                         client                        server
•   server sends “cookie” to client in
    response msg                              usual http request msg
     Set-cookie: 1678453                      usual http response +
•   client presents cookie in later               Set-cookie: #
    requests
     cookie: 1678453                          usual http request msg
                                                    cookie: #           cookie-
•   server matches presented-cookie                                     specific
    with server-stored info                  usual http response msg     action
     – authentication
     – remembering user                       usual http request msg
        preferences, previous                                            cookie-
                                                   cookie: #
        choices                                                          specific
                                             usual http response msg      action
                                                                             16
User-server interaction: conditional GET
                                        client                        server
•   Goal: don’t send object if client
    has up-to-date stored (cached)               http request msg
    version                                  If-modified-since:        object
                                                   <date>                not
•   client: specify date of cached
                                                   http response       modified
    copy in http request                            HTTP/1.0
     If-modified-since:                          304 Not Modified
        <date>
•   server: response contains no
    object if cached copy up-to-                  http request msg
    date:                                        If-modified-since:
                                                       <date>
                                                                        object
     HTTP/1.0 304 Not                                                   modified
                                                   http response
        Modified                                  HTTP/1.1 200 OK
                                                         …
                                                                               17
                                                      <data>
Web Caches (proxy server)
Goal: satisfy client request without involving origin server                   origin
• user sets browser: Web                                                       server

  accesses via web cache                  htt
                                                        Proxy
                                                                        st
                                             pr         server reque
• client sends all http requests client http equest             tp         on
                                                                              se
                                             res             ht          p
  to web cache                                   pon                 res
                                                     se          ttp   h
    – if object at web cache, web                          st
                                                        ue            htt
      cache immediately returns                     re q        se
                                                                         p    req
                                               http         pon      htt          ues
      object in http response                          re s             p   res       t
                                                    tp                          pon
                                                 ht                                 se
    – else requests object from
      origin server, then returns http    client
                                                                                          origin
      response to client                                                                  server


                                                                                              18
Why Web Caching?
                                                                        origin
Assume: cache is “close” to                                           servers
  client (e.g., in same network)                  public
                                                 Internet
• smaller response time: cache
  “closer” to client
                                                        1.5 Mbps
• decrease traffic to distant                           access link
  servers                              institutional
                                         network
   – link out of institutional/local                        10 Mbps LAN

     ISP network often bottleneck

                                                             institutional
                                                                cache
                                                                          19
ftp: the file transfer protocol
                             FTP                   file transfer
                                     FTP                            FTP
                             user   client                         server
                          interface
               user
              at host                 local file                            remote file
                                      system                                system


•   transfer file to/from remote host
•   client/server model
     – client: side that initiates transfer (either to/from remote)
     – server: remote host
•   ftp: RFC 959
•   ftp server: port 21
                                                                                          20
ftp: separate control, data connections

•   ftp client contacts ftp server at port 21,            TCP control connection
    specifying TCP as transport protocol                         port 21
•   two parallel TCP connections opened:
     – control: exchange commands,                        TCP data connection
        responses between client, server.         FTP           port 20          FTP
           “out of band control”                 client                         server
     – data: file data to/from server
•   ftp server maintains “state”: current
    directory, earlier authentication



                                                                                   21
ftp commands, responses
Sample commands:                            Sample return codes
• sent as ASCII text over control channel   • status code and phrase (as in
• USER username                                http)
• PASS password                             • 331 Username OK,
• LIST return list of file in current          password required
   directory                                • 125 data connection
• RETR filename retrieves (gets) file          already open;
                                               transfer starting
• STOR filename stores (puts) file
                                            • 425 Can’t open data
   onto remote host
                                               connection
                                            • 452 Error writing
                                               file

                                                                       22
outgoing
                                                               message queue

                                 Electronic Mail     user
                                                                user mailbox

                                                    agent
Three major components:                     mail
                                                                       user
• user agents                              server
                                                                      agent
• mail servers                                       SMTP     mail
• simple mail transfer protocol: smtp                        server      user
                                          SMTP                          agent
User Agent
• a.k.a. “mail reader”                               SMTP
                                            mail                       user
• composing, editing, reading mail         server                     agent
   messages
• e.g., Eudora, Outlook, elm, Netscape                user
                                                     agent
   Messenger                                 user
• outgoing, incoming messages stored on     agent
   server
                                                                              23
Electronic Mail: mail servers
                                                   user
                                                  agent
Mail Servers                              mail
                                                                     user
• mailbox contains incoming              server
                                                                    agent
  messages (yet to be read) for user
                                                   SMTP     mail
• message queue of outgoing (to be
                                                           server      user
  sent) mail messages
                                        SMTP                          agent
• smtp protocol between mail
  servers to send email messages                   SMTP
                                          mail                       user
    – client: sending mail server                                   agent
                                         server
    – “server”: receiving mail server
                                                    user
                                                   agent
                                           user
                                          agent

                                                                        24
Electronic Mail: smtp [RFC 821]
•   uses tcp to reliably transfer email msg from client to server, port 25
•   direct transfer: sending server to receiving server
•   three phases of transfer
     – handshaking (greeting)
     – transfer of messages
     – closure
•   command/response interaction
     – commands: ASCII text
     – response: status code and phrase
•   messages must be in 7-bit ASCII


                                                                             25
smtp: final words
•   smtp uses persistent connections          Comparison with http
•   smtp requires that message (header &      •   http: pull
    body) be in 7-bit ascii
                                              •   email: push
•   certain character strings are not
    permitted in message (e.g.,               •   both have ASCII
    CRLF.CRLF). Thus message has to be            command/response interaction,
    encoded (usually into either base-64 or       status codes
    quoted printable)
                                              •   http: each object is encapsulated
•   smtp server uses CRLF.CRLF to
                                                  in its own response message
    determine end of message
                                              •   smtp: multiple objects message
                                                  sent in a multipart message


                                                                             26
Mail message format
smtp: protocol for exchanging          header
                                                 blank
   email msgs
                                                  line
RFC 822: standard for text
   message format:
• header lines, e.g.,                   body
    – To:
    – From:
    – Subject:
    different from smtp
       commands!
• body
    – the “message”, ASCII
       characters only
                                                  27
Mail access protocols
                          SMTP            SMTP                  POP3 or    user
                   user
                  agent                                          IMAP     agent


                             sender’s mail        receiver’s mail
                                server                server

•   SMTP: delivery/storage to receiver’s server
•   Mail access protocol: retrieval from server
     – POP: Post Office Protocol [RFC 1939]
           • authorization (agent <-->server) and download
     – IMAP: Internet Mail Access Protocol [RFC 1730]
           • more features (more complex)
           • manipulation of stored msgs on server
     – HTTP: Hotmail , Yahoo! Mail, etc.

                                                                                  28
POP3 protocol
                                     S:
                                     C:
                                          +OK POP3 server ready
                                          user alice
                                     S:   +OK
                                     C:   pass hungry
authorization phase                  S:   +OK user successfully logged   on
• client commands:                   C:   list
    – user: declare username         S:   1 498
    – pass: password                 S:   2 912
                                     S:   .
• server responses                   C:   retr 1
    – +OK                            S:   <message 1 contents>
    – -ERR                           S:   .
                                     C:   dele 1
transaction phase, client:           C:   retr 2
• list: list message numbers         S:   <message 1 contents>
• retr: retrieve message by number   S:   .
                                     C:   dele 2
• dele: delete                       C:   quit
• quit                               S:   +OK POP3 server signing off
                                                                    29
What is SNMP?

• SNMP is a tool (protocol) that allows for remote and local
  management of items on the network including servers,
  workstations, routers, switches and other managed
  devices.
• Comprised of agents and managers
    •Agent - process running on each managed node collecting
     information about the device it is running on.


     •Manager - process running on a management workstation that
     requests information about devices on the network.



                                                                   30
Advantages of using SNMP
•   Standardized
•   universally supported
•   extendible
•   portable
•   allows distributed management access
•   lightweight protocol


                                           31
Client Pull & Server Push

• SNMP is a “client pull” model
     The management system (client) “pulls” data from the
     agent (server).


   SNMP is a “server push” model
     The agent (server) “pushes” out a trap message to a
     (client) management system


                                                            32
The Three Parts of SNMP

SNMP network management is based on three parts:
  •SNMP Protocol

      •Defines format of messages exchanged by management
      systems and agents.
      •Specifies the Get, GetNext, Set, and Trap operations

    •Structure of Management Information (SMI)
      •Rules specifying the format used to define objects managed
      on the network that the SNMP protocol accesses

    •Management Information Base (MIB)
       •A map of the hierarchical order of all managed objects and
       how they are accessed

                                                                     33

More Related Content

What's hot

Application layer
Application layerApplication layer
Application layerMukesh Chinta
 
Jaimin chp-7 - application layer- 2011 batch
Jaimin   chp-7 - application layer- 2011 batchJaimin   chp-7 - application layer- 2011 batch
Jaimin chp-7 - application layer- 2011 batchJaimin Jani
 
Application layer
Application layerApplication layer
Application layerSakthiVinoth78
 
CCNA 1 Routing and Switching v5.0 Chapter 10
CCNA 1 Routing and Switching v5.0 Chapter 10CCNA 1 Routing and Switching v5.0 Chapter 10
CCNA 1 Routing and Switching v5.0 Chapter 10Nil Menon
 
Application layer protocol
Application layer protocolApplication layer protocol
Application layer protocolTom Hanstead
 
Introduction to Application layer
Introduction to Application layerIntroduction to Application layer
Introduction to Application layerDr. C.V. Suresh Babu
 
Chapter 2
Chapter 2Chapter 2
Chapter 2Videoguy
 
Application layer
Application layerApplication layer
Application layerreshmadayma
 
Chapter 2 : Application Layer
Chapter 2 : Application LayerChapter 2 : Application Layer
Chapter 2 : Application LayerAmin Omi
 
Application Layer
Application LayerApplication Layer
Application LayerTutun Juhana
 
20CS2008 Computer Networks
20CS2008 Computer Networks 20CS2008 Computer Networks
20CS2008 Computer Networks Kathirvel Ayyaswamy
 
Unit 5 application layer
Unit 5 application layerUnit 5 application layer
Unit 5 application layerKritika Purohit
 
Application layer
Application layerApplication layer
Application layerAnithaRaj31
 
Application layer
Application layerApplication layer
Application layerreshmadayma
 

What's hot (20)

Application layer
Application layerApplication layer
Application layer
 
Chapter3
Chapter3Chapter3
Chapter3
 
Jaimin chp-7 - application layer- 2011 batch
Jaimin   chp-7 - application layer- 2011 batchJaimin   chp-7 - application layer- 2011 batch
Jaimin chp-7 - application layer- 2011 batch
 
Application layer
Application layerApplication layer
Application layer
 
Application layer
Application layerApplication layer
Application layer
 
CCNA 1 Routing and Switching v5.0 Chapter 10
CCNA 1 Routing and Switching v5.0 Chapter 10CCNA 1 Routing and Switching v5.0 Chapter 10
CCNA 1 Routing and Switching v5.0 Chapter 10
 
Application layer protocol
Application layer protocolApplication layer protocol
Application layer protocol
 
Introduction to Application layer
Introduction to Application layerIntroduction to Application layer
Introduction to Application layer
 
Application layer
Application layerApplication layer
Application layer
 
Chapter 2
Chapter 2Chapter 2
Chapter 2
 
Application layer
Application layerApplication layer
Application layer
 
Application Layer
Application Layer Application Layer
Application Layer
 
Chapter 2 : Application Layer
Chapter 2 : Application LayerChapter 2 : Application Layer
Chapter 2 : Application Layer
 
Application Layer
Application LayerApplication Layer
Application Layer
 
TCP / IP Services and Standards
TCP / IP Services and StandardsTCP / IP Services and Standards
TCP / IP Services and Standards
 
20CS2008 Computer Networks
20CS2008 Computer Networks 20CS2008 Computer Networks
20CS2008 Computer Networks
 
Unit 5 application layer
Unit 5 application layerUnit 5 application layer
Unit 5 application layer
 
Chapter 2 v6.3
Chapter 2 v6.3Chapter 2 v6.3
Chapter 2 v6.3
 
Application layer
Application layerApplication layer
Application layer
 
Application layer
Application layerApplication layer
Application layer
 

Viewers also liked

The Public Sector Director and Executive Level Leadership Forum
The Public Sector Director and Executive Level Leadership ForumThe Public Sector Director and Executive Level Leadership Forum
The Public Sector Director and Executive Level Leadership ForumShari Borodkin
 
List of Malwares
List of MalwaresList of Malwares
List of MalwaresVishalya Dulam
 
Application Layer
Application LayerApplication Layer
Application Layerrosmida
 
HyperText Transfer Protocol
HyperText Transfer ProtocolHyperText Transfer Protocol
HyperText Transfer Protocolponduse
 
8 Authentication Security Protocols
8 Authentication Security Protocols8 Authentication Security Protocols
8 Authentication Security Protocolsguestfbf635
 
Virus and worms
Virus and wormsVirus and worms
Virus and wormsVikas Sharma
 
Introduction to Information Security
Introduction to Information SecurityIntroduction to Information Security
Introduction to Information SecurityDr. Loganathan R
 
HyperText Transfer Protocol (HTTP)
HyperText Transfer Protocol (HTTP)HyperText Transfer Protocol (HTTP)
HyperText Transfer Protocol (HTTP)Gurjot Singh
 
International trade
International tradeInternational trade
International tradeOnline
 
Internet protocol (ip) ppt
Internet protocol (ip) pptInternet protocol (ip) ppt
Internet protocol (ip) pptDulith Kasun
 
Components of a Data-Warehouse
Components of a Data-WarehouseComponents of a Data-Warehouse
Components of a Data-WarehouseAbdul Aslam
 
International Trade Theories
International Trade TheoriesInternational Trade Theories
International Trade Theoriesshanmugapriya
 

Viewers also liked (16)

The Public Sector Director and Executive Level Leadership Forum
The Public Sector Director and Executive Level Leadership ForumThe Public Sector Director and Executive Level Leadership Forum
The Public Sector Director and Executive Level Leadership Forum
 
SSL Technology
SSL TechnologySSL Technology
SSL Technology
 
List of Malwares
List of MalwaresList of Malwares
List of Malwares
 
Application Layer
Application LayerApplication Layer
Application Layer
 
HTTP
HTTPHTTP
HTTP
 
HyperText Transfer Protocol
HyperText Transfer ProtocolHyperText Transfer Protocol
HyperText Transfer Protocol
 
8 Authentication Security Protocols
8 Authentication Security Protocols8 Authentication Security Protocols
8 Authentication Security Protocols
 
Virus and worms
Virus and wormsVirus and worms
Virus and worms
 
Osi model 7 Layers
Osi model 7 LayersOsi model 7 Layers
Osi model 7 Layers
 
Introduction to Information Security
Introduction to Information SecurityIntroduction to Information Security
Introduction to Information Security
 
HyperText Transfer Protocol (HTTP)
HyperText Transfer Protocol (HTTP)HyperText Transfer Protocol (HTTP)
HyperText Transfer Protocol (HTTP)
 
Osi model
Osi modelOsi model
Osi model
 
International trade
International tradeInternational trade
International trade
 
Internet protocol (ip) ppt
Internet protocol (ip) pptInternet protocol (ip) ppt
Internet protocol (ip) ppt
 
Components of a Data-Warehouse
Components of a Data-WarehouseComponents of a Data-Warehouse
Components of a Data-Warehouse
 
International Trade Theories
International Trade TheoriesInternational Trade Theories
International Trade Theories
 

Similar to Application Protocols: Understanding Network Applications and Protocols

Materi Perkuliahan Jaringan Komputer Teknik Informatika Chapter 2
Materi Perkuliahan Jaringan Komputer Teknik Informatika Chapter 2Materi Perkuliahan Jaringan Komputer Teknik Informatika Chapter 2
Materi Perkuliahan Jaringan Komputer Teknik Informatika Chapter 2Raga Yustia
 
Chapter2 application
Chapter2 applicationChapter2 application
Chapter2 applicationVan Quang Tran
 
Week3 applications
Week3 applicationsWeek3 applications
Week3 applicationsDigvijay Singh
 
Computer Networks Module 1-part 1.pdf
Computer Networks Module 1-part 1.pdfComputer Networks Module 1-part 1.pdf
Computer Networks Module 1-part 1.pdfShanthalaKV
 
Chapter1 sept 8_05[one.]
Chapter1 sept 8_05[one.]Chapter1 sept 8_05[one.]
Chapter1 sept 8_05[one.]LeelaRam Tenneti
 
Web-Server & It's Architecture.pptx
Web-Server & It's Architecture.pptxWeb-Server & It's Architecture.pptx
Web-Server & It's Architecture.pptxAlokKumar250045
 
CS3001_Computer_Networks_Chapter_2_v8.1(1).pptx
CS3001_Computer_Networks_Chapter_2_v8.1(1).pptxCS3001_Computer_Networks_Chapter_2_v8.1(1).pptx
CS3001_Computer_Networks_Chapter_2_v8.1(1).pptxfarhanali32014
 
Part 1 network computing
Part 1 network computingPart 1 network computing
Part 1 network computingLinh Nguyen
 
2. application layer
2. application layer2. application layer
2. application layerTageleBerihun
 
Chapter2 Application
Chapter2 ApplicationChapter2 Application
Chapter2 ApplicationDiego Corrales
 
RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...
RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...
RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...Weijun Qin
 
Lecture 11 client_server_interaction
Lecture 11 client_server_interactionLecture 11 client_server_interaction
Lecture 11 client_server_interactionSerious_SamSoul
 
Introduction to the Internet and Web.pptx
Introduction to the Internet and Web.pptxIntroduction to the Internet and Web.pptx
Introduction to the Internet and Web.pptxhishamousl
 
Chapter2 application layer
Chapter2 application layerChapter2 application layer
Chapter2 application layerKhĂĄnh Gháşť
 
Load Balancing und Beschleunigung mit Citrix Net Scaler
Load Balancing und Beschleunigung mit Citrix Net ScalerLoad Balancing und Beschleunigung mit Citrix Net Scaler
Load Balancing und Beschleunigung mit Citrix Net ScalerDigicomp Academy AG
 

Similar to Application Protocols: Understanding Network Applications and Protocols (20)

App layer
App layerApp layer
App layer
 
Chapter2[one.]
Chapter2[one.]Chapter2[one.]
Chapter2[one.]
 
3rd edition chapter2
3rd edition chapter23rd edition chapter2
3rd edition chapter2
 
Materi Perkuliahan Jaringan Komputer Teknik Informatika Chapter 2
Materi Perkuliahan Jaringan Komputer Teknik Informatika Chapter 2Materi Perkuliahan Jaringan Komputer Teknik Informatika Chapter 2
Materi Perkuliahan Jaringan Komputer Teknik Informatika Chapter 2
 
Chapter2 application
Chapter2 applicationChapter2 application
Chapter2 application
 
Week3 applications
Week3 applicationsWeek3 applications
Week3 applications
 
Computer Networks Module 1-part 1.pdf
Computer Networks Module 1-part 1.pdfComputer Networks Module 1-part 1.pdf
Computer Networks Module 1-part 1.pdf
 
Chapter1 sept 8_05[one.]
Chapter1 sept 8_05[one.]Chapter1 sept 8_05[one.]
Chapter1 sept 8_05[one.]
 
Web-Server & It's Architecture.pptx
Web-Server & It's Architecture.pptxWeb-Server & It's Architecture.pptx
Web-Server & It's Architecture.pptx
 
CS3001_Computer_Networks_Chapter_2_v8.1(1).pptx
CS3001_Computer_Networks_Chapter_2_v8.1(1).pptxCS3001_Computer_Networks_Chapter_2_v8.1(1).pptx
CS3001_Computer_Networks_Chapter_2_v8.1(1).pptx
 
3rd edition chapter1
3rd edition chapter13rd edition chapter1
3rd edition chapter1
 
Part 1 network computing
Part 1 network computingPart 1 network computing
Part 1 network computing
 
2. application layer
2. application layer2. application layer
2. application layer
 
Chapter2 Application
Chapter2 ApplicationChapter2 Application
Chapter2 Application
 
RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...
RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...
RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...
 
Lecture 11 client_server_interaction
Lecture 11 client_server_interactionLecture 11 client_server_interaction
Lecture 11 client_server_interaction
 
Introduction to the Internet and Web.pptx
Introduction to the Internet and Web.pptxIntroduction to the Internet and Web.pptx
Introduction to the Internet and Web.pptx
 
Cliser
CliserCliser
Cliser
 
Chapter2 application layer
Chapter2 application layerChapter2 application layer
Chapter2 application layer
 
Load Balancing und Beschleunigung mit Citrix Net Scaler
Load Balancing und Beschleunigung mit Citrix Net ScalerLoad Balancing und Beschleunigung mit Citrix Net Scaler
Load Balancing und Beschleunigung mit Citrix Net Scaler
 

More from Online

Philosophy of early childhood education 3
Philosophy of early childhood education 3Philosophy of early childhood education 3
Philosophy of early childhood education 3Online
 
Philosophy of early childhood education 2
Philosophy of early childhood education 2Philosophy of early childhood education 2
Philosophy of early childhood education 2Online
 
Philosophy of early childhood education 1
Philosophy of early childhood education 1Philosophy of early childhood education 1
Philosophy of early childhood education 1Online
 
Philosophy of early childhood education 4
Philosophy of early childhood education 4Philosophy of early childhood education 4
Philosophy of early childhood education 4Online
 
Operation and expression in c++
Operation and expression in c++Operation and expression in c++
Operation and expression in c++Online
 
Functions
FunctionsFunctions
FunctionsOnline
 
Formatted input and output
Formatted input and outputFormatted input and output
Formatted input and outputOnline
 
Control structures selection
Control structures   selectionControl structures   selection
Control structures selectionOnline
 
Control structures repetition
Control structures   repetitionControl structures   repetition
Control structures repetitionOnline
 
Introduction to problem solving in c++
Introduction to problem solving in c++Introduction to problem solving in c++
Introduction to problem solving in c++Online
 
Optical transmission technique
Optical transmission techniqueOptical transmission technique
Optical transmission techniqueOnline
 
Multi protocol label switching (mpls)
Multi protocol label switching (mpls)Multi protocol label switching (mpls)
Multi protocol label switching (mpls)Online
 
Lan technologies
Lan technologiesLan technologies
Lan technologiesOnline
 
Introduction to internet technology
Introduction to internet technologyIntroduction to internet technology
Introduction to internet technologyOnline
 
Internet standard routing protocols
Internet standard routing protocolsInternet standard routing protocols
Internet standard routing protocolsOnline
 
Internet protocol
Internet protocolInternet protocol
Internet protocolOnline
 
Addressing
AddressingAddressing
AddressingOnline
 
Transport protocols
Transport protocolsTransport protocols
Transport protocolsOnline
 
Leadership
LeadershipLeadership
LeadershipOnline
 
Introduction to management
Introduction to managementIntroduction to management
Introduction to managementOnline
 

More from Online (20)

Philosophy of early childhood education 3
Philosophy of early childhood education 3Philosophy of early childhood education 3
Philosophy of early childhood education 3
 
Philosophy of early childhood education 2
Philosophy of early childhood education 2Philosophy of early childhood education 2
Philosophy of early childhood education 2
 
Philosophy of early childhood education 1
Philosophy of early childhood education 1Philosophy of early childhood education 1
Philosophy of early childhood education 1
 
Philosophy of early childhood education 4
Philosophy of early childhood education 4Philosophy of early childhood education 4
Philosophy of early childhood education 4
 
Operation and expression in c++
Operation and expression in c++Operation and expression in c++
Operation and expression in c++
 
Functions
FunctionsFunctions
Functions
 
Formatted input and output
Formatted input and outputFormatted input and output
Formatted input and output
 
Control structures selection
Control structures   selectionControl structures   selection
Control structures selection
 
Control structures repetition
Control structures   repetitionControl structures   repetition
Control structures repetition
 
Introduction to problem solving in c++
Introduction to problem solving in c++Introduction to problem solving in c++
Introduction to problem solving in c++
 
Optical transmission technique
Optical transmission techniqueOptical transmission technique
Optical transmission technique
 
Multi protocol label switching (mpls)
Multi protocol label switching (mpls)Multi protocol label switching (mpls)
Multi protocol label switching (mpls)
 
Lan technologies
Lan technologiesLan technologies
Lan technologies
 
Introduction to internet technology
Introduction to internet technologyIntroduction to internet technology
Introduction to internet technology
 
Internet standard routing protocols
Internet standard routing protocolsInternet standard routing protocols
Internet standard routing protocols
 
Internet protocol
Internet protocolInternet protocol
Internet protocol
 
Addressing
AddressingAddressing
Addressing
 
Transport protocols
Transport protocolsTransport protocols
Transport protocols
 
Leadership
LeadershipLeadership
Leadership
 
Introduction to management
Introduction to managementIntroduction to management
Introduction to management
 

Recently uploaded

Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxnelietumpap1
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxChelloAnnAsuncion2
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxMaryGraceBautista27
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 

Recently uploaded (20)

Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptx
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptx
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 

Application Protocols: Understanding Network Applications and Protocols

  • 2. Network applications: some jargon • A process is a program that is • A user agent is an running within a host. interface between the • Within the same host, two user and the network processes communicate with application. inter process communication defined by the OS. – Web:browser • Processes running in different – E-mail: mail reader hosts communicate with an – streaming application-layer protocol audio/video: media player 2
  • 3. Applications and application-layer protocols Application: communicating, distributed application transport processes network data link – running in network hosts in “user physical space” – exchange messages to implement app – e.g., email, file transfer, the Web Application-layer protocols – one “piece” of an app – define messages exchanged by application application transport apps and actions taken transport network network data link data link – user services provided by lower physical physical layer protocols 3
  • 4. Client-server paradigm Typical network app has two application pieces: client and server transport network data link physical Client: Ì initiates contact with server (“speaks request first”) Ì typically requests service from server, Ì for Web, client is implemented in reply browser; for e-mail, in mail reader Server: application transport Ì provides requested service to client network data link Ì e.g., Web server sends requested physical Web page, mail server delivers e-mail 2: Application Layer 44
  • 5. Application-layer protocols (cont). Q: how does a process “identify” API: application programming the other process with which it interface wants to communicate? • defines interface between – IP address of host running other process application and transport – “port number” - allows layer receiving host to determine to which local process the • socket: Internet API message should be – two processes communicate delivered by sending data into socket, reading data out of socket 5
  • 6. What transport service does an application need? Data loss • some apps (e.g., audio) can tolerate some loss • other apps (e.g., file transfer, telnet) require 100% reliable data transfer Bandwidth • some apps (e.g., multimedia) require minimum amount of bandwidth to be “effective” • other apps (“elastic apps”) make use of whatever bandwidth they get Timing • some apps (e.g., Internet telephony, interactive games) require low delay to be “effective” 6
  • 7. The Web: some jargon • Web page: – consists of “objects” – addressed by a URL • Most Web pages consist of: – base HTML page, and – several referenced objects. • User agent for Web is called a browser: – MS Internet Explorer – Netscape Communicator • Server for Web is called Web server: – Apache (public domain) – MS Internet Information Server 7
  • 8. The Web: the http protocol http: hypertext transfer protocol htt • Web’s application layer protocol preq PC running ues htt t • client/server model Explorer pr e sp ons – client: browser that requests, e receives, “displays” Web objects st – server: Web server sends objects ue eq Server ttpr on se in response to requests h res p running tp NCSA Web • http1.0: RFC 1945 ht server • http1.1: RFC 2068 Mac running Navigator 8
  • 9. The http protocol: more http: TCP transport service: http is “stateless” • client initiates TCP connection • server maintains no (creates socket) to server, port 80 information about past • server accepts TCP connection from client requests client • http messages (application-layer Protocols that maintain “state” are complex! protocol messages) exchanged Ì past history (state) must be between browser (http client) and maintained Web server (http server) Ì if server/client crashes, their • TCP connection closed views of “state” may be inconsistent, must be reconciled 9
  • 10. Non-persistent and persistent connections Non-persistent Persistent • HTTP/1.0 • default for HTTP/1.1 • server parses request, • on same TCP connection: server, responds, and closes TCP parses request, responds, connection parses new request,.. But most 1.0 browsers use parallel TCP connections. 10
  • 11. http message format: request 11
  • 12. http message format: response status line (protocol status code HTTP/1.0 200 OK status phrase) Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix) header Last-Modified: Mon, 22 Jun 1998 …... lines Content-Length: 6821 Content-Type: text/html data data data data data ... data, e.g., requested html file 12
  • 13. http response status codes In first line in server->client response message. A few sample codes: 200 OK – request succeeded, requested object later in this message 301 Moved Permanently – requested object moved, new location specified later in this message (Location:) 400 Bad Request – request message not understood by server 404 Not Found – requested document not found on this server 505 HTTP Version Not Supported 13
  • 14. Trying out http (client side) for yourself 1. Telnet to your favorite Web server: telnet www.eurecom.fr 80 Opens TCP connection to port 80 (default http server port) at www.eurecom.fr. Anything typed in sent to port 80 at www.eurecom.fr 2. Type in a GET http request: GET /~ross/index.html HTTP/1.0 By typing this in (hit carriage return twice), you send this minimal (but complete) GET request to http server 3. Look at response message sent by http server! 14
  • 15. User-server interaction: authentication client server Authentication goal: control access to server usual http request msg documents 401: authorization req. • stateless: client must present authorization WWW authenticate: in each request • authorization: typically name, password usual http request msg – authorization: header line in + Authorization:line request usual http response msg – if no authorization presented, server refuses access, sends usual http request msg WWW authenticate: + Authorization:line header line in response usual http response msg time Browser caches name & password so that user does not have to repeatedly enter it. 15
  • 16. User-server interaction: cookies client server • server sends “cookie” to client in response msg usual http request msg Set-cookie: 1678453 usual http response + • client presents cookie in later Set-cookie: # requests cookie: 1678453 usual http request msg cookie: # cookie- • server matches presented-cookie specific with server-stored info usual http response msg action – authentication – remembering user usual http request msg preferences, previous cookie- cookie: # choices specific usual http response msg action 16
  • 17. User-server interaction: conditional GET client server • Goal: don’t send object if client has up-to-date stored (cached) http request msg version If-modified-since: object <date> not • client: specify date of cached http response modified copy in http request HTTP/1.0 If-modified-since: 304 Not Modified <date> • server: response contains no object if cached copy up-to- http request msg date: If-modified-since: <date> object HTTP/1.0 304 Not modified http response Modified HTTP/1.1 200 OK … 17 <data>
  • 18. Web Caches (proxy server) Goal: satisfy client request without involving origin server origin • user sets browser: Web server accesses via web cache htt Proxy st pr server reque • client sends all http requests client http equest tp on se res ht p to web cache pon res se ttp h – if object at web cache, web st ue htt cache immediately returns re q se p req http pon htt ues object in http response re s p res t tp pon ht se – else requests object from origin server, then returns http client origin response to client server 18
  • 19. Why Web Caching? origin Assume: cache is “close” to servers client (e.g., in same network) public Internet • smaller response time: cache “closer” to client 1.5 Mbps • decrease traffic to distant access link servers institutional network – link out of institutional/local 10 Mbps LAN ISP network often bottleneck institutional cache 19
  • 20. ftp: the file transfer protocol FTP file transfer FTP FTP user client server interface user at host local file remote file system system • transfer file to/from remote host • client/server model – client: side that initiates transfer (either to/from remote) – server: remote host • ftp: RFC 959 • ftp server: port 21 20
  • 21. ftp: separate control, data connections • ftp client contacts ftp server at port 21, TCP control connection specifying TCP as transport protocol port 21 • two parallel TCP connections opened: – control: exchange commands, TCP data connection responses between client, server. FTP port 20 FTP “out of band control” client server – data: file data to/from server • ftp server maintains “state”: current directory, earlier authentication 21
  • 22. ftp commands, responses Sample commands: Sample return codes • sent as ASCII text over control channel • status code and phrase (as in • USER username http) • PASS password • 331 Username OK, • LIST return list of file in current password required directory • 125 data connection • RETR filename retrieves (gets) file already open; transfer starting • STOR filename stores (puts) file • 425 Can’t open data onto remote host connection • 452 Error writing file 22
  • 23. outgoing message queue Electronic Mail user user mailbox agent Three major components: mail user • user agents server agent • mail servers SMTP mail • simple mail transfer protocol: smtp server user SMTP agent User Agent • a.k.a. “mail reader” SMTP mail user • composing, editing, reading mail server agent messages • e.g., Eudora, Outlook, elm, Netscape user agent Messenger user • outgoing, incoming messages stored on agent server 23
  • 24. Electronic Mail: mail servers user agent Mail Servers mail user • mailbox contains incoming server agent messages (yet to be read) for user SMTP mail • message queue of outgoing (to be server user sent) mail messages SMTP agent • smtp protocol between mail servers to send email messages SMTP mail user – client: sending mail server agent server – “server”: receiving mail server user agent user agent 24
  • 25. Electronic Mail: smtp [RFC 821] • uses tcp to reliably transfer email msg from client to server, port 25 • direct transfer: sending server to receiving server • three phases of transfer – handshaking (greeting) – transfer of messages – closure • command/response interaction – commands: ASCII text – response: status code and phrase • messages must be in 7-bit ASCII 25
  • 26. smtp: final words • smtp uses persistent connections Comparison with http • smtp requires that message (header & • http: pull body) be in 7-bit ascii • email: push • certain character strings are not permitted in message (e.g., • both have ASCII CRLF.CRLF). Thus message has to be command/response interaction, encoded (usually into either base-64 or status codes quoted printable) • http: each object is encapsulated • smtp server uses CRLF.CRLF to in its own response message determine end of message • smtp: multiple objects message sent in a multipart message 26
  • 27. Mail message format smtp: protocol for exchanging header blank email msgs line RFC 822: standard for text message format: • header lines, e.g., body – To: – From: – Subject: different from smtp commands! • body – the “message”, ASCII characters only 27
  • 28. Mail access protocols SMTP SMTP POP3 or user user agent IMAP agent sender’s mail receiver’s mail server server • SMTP: delivery/storage to receiver’s server • Mail access protocol: retrieval from server – POP: Post Office Protocol [RFC 1939] • authorization (agent <-->server) and download – IMAP: Internet Mail Access Protocol [RFC 1730] • more features (more complex) • manipulation of stored msgs on server – HTTP: Hotmail , Yahoo! Mail, etc. 28
  • 29. POP3 protocol S: C: +OK POP3 server ready user alice S: +OK C: pass hungry authorization phase S: +OK user successfully logged on • client commands: C: list – user: declare username S: 1 498 – pass: password S: 2 912 S: . • server responses C: retr 1 – +OK S: <message 1 contents> – -ERR S: . C: dele 1 transaction phase, client: C: retr 2 • list: list message numbers S: <message 1 contents> • retr: retrieve message by number S: . C: dele 2 • dele: delete C: quit • quit S: +OK POP3 server signing off 29
  • 30. What is SNMP? • SNMP is a tool (protocol) that allows for remote and local management of items on the network including servers, workstations, routers, switches and other managed devices. • Comprised of agents and managers •Agent - process running on each managed node collecting information about the device it is running on. •Manager - process running on a management workstation that requests information about devices on the network. 30
  • 31. Advantages of using SNMP • Standardized • universally supported • extendible • portable • allows distributed management access • lightweight protocol 31
  • 32. Client Pull & Server Push • SNMP is a “client pull” model The management system (client) “pulls” data from the agent (server).  SNMP is a “server push” model The agent (server) “pushes” out a trap message to a (client) management system 32
  • 33. The Three Parts of SNMP SNMP network management is based on three parts: •SNMP Protocol •Defines format of messages exchanged by management systems and agents. •Specifies the Get, GetNext, Set, and Trap operations •Structure of Management Information (SMI) •Rules specifying the format used to define objects managed on the network that the SNMP protocol accesses •Management Information Base (MIB) •A map of the hierarchical order of all managed objects and how they are accessed 33