08 Application protocols

Size: px
Start display at page:

Download "08 Application protocols"

Transcription

1 Politecnico di Milano Scuola di Ingegneria Industriale e dell Informazione 08 Application protocols Fundamentals of Communication Networks 1

2 Topics o Client-Server and Peer-to-Peer Paradigms o HTTP: Web Surfing o FTP: remote connectivity o SMTP: ing o DNS: symbolic addressing o P2P: file sharing 2

3 Some Applications running in the INTERNET o o Web o Instant messaging o Remote login o P2P file sharing o Network games o Video streaming o Internet telephony o Real-time video conference o Massive parallel computing o 3

4 Designing network applications Write programs that n run on different end systems and n communicate over a network. n e.g., Web: Web server software communicates with browser software application transport network data link physical application transport network data link physical application transport network data link physical 4

5 Designing network applications little software written for devices in network core n n network core devices do not run user application code application on end systems allows for rapid app development, propagation application transport network data link physical application transport network data link physical application transport network data link physical 5

6 Communications among Processes Process: program running within a host. o within same host, two processes communicate using inter-process communication (defined by OS). o processes in different hosts communicate by exchanging messages 6

7 Processes and Protocols o Processes running on remote host may exchange messages and services through the network o The application protocols define the rules and the formats of the communication between remote processes Application Web (web server, browser, HTML) (mail server, mail client, MIME) Protocols HTTP SMTP 7

8 Lower layers interaction o Application protocols use the services provided by lower layers through the SAPs (Service Access Point) o Each application process is associated to a SAP o OSI Stack: WEB FTP Mail Application controlled Layer Presentation Session OS controlled layers Transport 8

9 Lower layers interaction o The application protocols directly communicate with the transport layer WEB FTP Mail Application controlled Layer OS controlled layers TCP/UDP 9

10 Sockets o process sends/receives messages to/from its socket o socket analogous to door n sending process shoves message out door n sending process relies on transport infrastructure on other side of door which brings message to socket at receiving process host or server process socket TCP with buffers, variables controlled by app developer controlled by OS Internet host or server process socket TCP with buffers, variables o Sockets equivalent to SAPs between application and transport layers 10

11 Addressing Processes o to receive messages, process must have identifier o host device has unique 32-bit IP address o Q: does IP address of host on which process runs suffice for identifying the process? 11

12 Addressing Processes n Answer: NO, many processes can be running on same host n identifier includes both IP address and port number associated with process on host n Example port numbers (HTTP server: 80, Mail server: 25) n to send HTTP message to o IP address: o Port number: 80 n The transport layer multiplexes several flows coming from the application layer 12

13 App-layer protocol defines o Types of messages exchanged, n e.g., request, response o Message syntax: n what fields in messages & how fields are delineated o Message semantics n meaning of information in fields o Rules for when and how processes send & respond to messages Public-domain protocols: o defined in RFCs o allows for interoperability o e.g., HTTP, SMTP Proprietary protocols: o e.g., KaZaA 13

14 What transport service does an app need? Data loss o some apps (e.g., audio) can tolerate some loss o other apps (e.g., file transfer, telnet) require 100% reliable data transfer Timing o some apps (e.g., Internet telephony, interactive games) require low delay to be effective Bandwidth o some apps (e.g., multimedia) require minimum amount of bandwidth to be effective o other apps ( elastic apps ) make use of whatever bandwidth they get 14

15 Transport service requirements of common apps Application Data loss Bandwidth Time Sensitive file transfer Web documents real-time audio/video stored audio/video interactive games instant messaging no loss no loss no loss loss-tolerant loss-tolerant loss-tolerant no loss elastic elastic elastic audio: 5kbps-1Mbps video:10kbps-5mbps same as above few kbps up elastic no no no yes, 100 s msec yes, few secs yes, 100 s msec yes and no 15

16 Internet transport protocols services TCP service: o connection-oriented: setup required between client and server processes o reliable transport between sending and receiving process o flow control: sender won t overwhelm receiver o congestion control: throttle sender when network overloaded o does not provide: timing, minimum bandwidth guarantees UDP service: o unreliable data transfer between sending and receiving process o does not provide: connection setup, reliability, flow control, congestion control, timing, or bandwidth guarantee Q: why bother? Why is there a UDP? 16

17 Applications vs Transport Protocols Application remote terminal access Web file transfer streaming multimedia Internet telephony Application layer protocol SMTP [RFC 2821] Telnet [RFC 854] HTTP [RFC 2616] FTP [RFC 959] proprietary (e.g. RealNetworks) proprietary (e.g., Vonage,Dialpad) Underlying transport protocol TCP TCP TCP TCP TCP or UDP typically UDP 17

18 Client-Server Architecture o The main target of the communication between remote processes is the provision of services o Two functionalities can be accomplished by a process: n Request for services n Provide services o If a given process accomplishes just one of the above functionalities, the communication is a client-server one 18

19 Client-Server Architecture o Client processes make requests and interpret responses o Server processes interpret requests and provide the responses o If the same host needs to issue requests and provide responses two processes are needed request client response server 19

20 Client/Server Paradigm o Differences between program and process n Program: software n Process: instance of the program being executed o A server process is continuously executed on the host (daemon) and is activated through a passive open o A client process is activated when needed only (by the user or by some other process) through an active open o After the passive open the server is able to handle requests from clients o The active open requires the indication of the IP address and the port of the server 20

21 Client/Server Paradigm o Multiple clients can issues requests to a single server o Clients may also issue multiple requests at the same time request response request responses response requests

22 Client/Server Paradigm o A client may implement both serial and parallel operation modes n Example: multiple requests can be issued for all the files contained in a web page o Even a server may implement both serial and parallel operation modes o Usually, the applications using UDP are handled serially 22

23 Client/Server Paradigm o Usually, the servers using TCP implement parallel operation mode o A TCP connection towards all the clients is opened for all the time needed to exchange requests/responses o The procedure handling each client is handled via multi-threading, using fork operations 23

24 Application Protocols: Possible Architectures o Client-server n Terminals act as clients OR as servers n Client hosts and server hosts may have different features o Peer-to-peer (P2P) n All the terminals can implement the client process AND the server one o Hybrid 24

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

26 Pure P2P architecture o no always-on server o arbitrary end systems directly communicate o peers are intermittently connected and change IP addresses o example: Gnutella Highly scalable but difficult to manage 26

27 Hybrid of client-server and P2P Skype n Internet telephony app n Finding address of remote party: centralized server(s) n Client-client connection is direct (not through server) Instant messaging n Chatting between two users is P2P n Presence detection/location centralized: o User registers its IP address with central server when it comes online o User contacts central server to find IP addresses of buddies 27

28 Politecnico di Milano Scuola di Ingegneria Industriale e dell Informazione Web Browsing Hyper Text Transfer Protocol (HTTP) 28

29 HyperText Tranfer Protocol (HTTP) "Hypertext Transfer Protocol -- HTTP/1.0," RFC 1945, May "Hypertext Transfer Protocol -- HTTP/1.1," RFC 2068, January 1997 o client-server architecture o clients request objects (files) identified through a URL o servers send back the files to the clients o Stateless operation (no memory on previous requests is mantained) client HTTP request HTTP response server 29

30 Message transfer o o o HTTP relies upon TCP for message transfer Usually a web page is composed of a main document (HTML) and multiple linked objects Requests use the URL (Uniform Resource Locator) Method :// Host : Port / Path Type of protocol Symbolic address of the server Document on the server TCP assigns port number 80 to HTTP servers 30

31 Message transfer o Suppose a client requests a composite web page (1 main HTML document + 10 figures) Other Objects : HTML Text Two operation modes can be adopted Non-persistent connection (default mode of HTTP 1.0) Persistent connection (default mode of HTTP 1.1) 31

32 Non persistent o One TCP connection for each request-response cycle. The server closes the TCP connection once it has sent the requested object o The same procedure is adopted for all the docs within the required web page o Multiple TCP connections can be opened in parallel o The maximum number of connections can be set in the browser configuration options Request (index.html) Response (index.html file) Request (image1.jpg) Request (image2.jpg) 32

33 Persistent connection o o o o The server does not close the connection after the response The same connection can be used to transfer other objects within the same page or even other web pages The server closes the connection on a timeout basis Two Flavors: n without pipelining: the client issues a new request only upon reception of the previous response n with pipelining: multiple requests can be issued at the same time (default mode HTTP v1.1) 33

34 Requests 34

35 Some Methods GET HEAD POST PUT To get a doc from the server. The doc is specified by the URL. The server answers with the required doc in the body of the response message To get info on a specified doc. The server answers with the requested information To post some input to the server regarding a given object identified by the URL To store a doc on the server. The doc is carried by the request message. The URL specifies the position for the doc to be stored. Other Methods: PATCH, COPY, MOVE, DELETE, LINK, UNLINK, OPTIONS. 35

36 Responses 36

37 Messages 1xx Informational 2xx Success 3xx Redirection 4xx Client error 5xx Server error 100 Continue: Go On. 200 OK: Request OK, the required info is in the field of this message 302 Moved Permanently: The required object has been moved (perm) 304 Moved Temporalily: The required object has been moved (temp) 400 Bad Request: Generic error 401 Unauthorized: Access failed due to userid or password error 404 Not Found: File not found 500 Internal server error Server failure 501 Not implemented Required functionality not supported 503 Service unavailable Unavailable service 37

38 Headers Header name : Header value o headers are used to exchange further service information o A message can carry multiple headers o Examples Cache-control Accept Accept-language Authorization If-modified-since User-agent Cache info Supported formats Supported languages Client permits send doc. only if modified user agent type 38

39 Message Exchange o Example: request GET /ntw/index.html HTTP/1.1 Connection: close User-agent: Mozilla/4.0 Accept: text/html, image/gif, image/jpeg Accept-language:it o Example: response HTTP/ OK Connection: close Date: Thu, 06 Aug :00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun :23:24 GMT Content-Length: 6821 Content-Type: text/html data data data data data... 39

40 Conditional get Client: GET /fruit/kiwi.gif HTTP/1.0 User-agent: Mozilla/4.0 Accept: text/html, image/gif, image/jpeg If-modified-since: Mon, 22 Jun :23:24 Server: HTTP/ Not Modified Date: Wed, 19 Aug :39:29 Server: Apache/1.3.0 (Unix) (empty entity body) o Also method HEAD can be used 40

41 Network caching and proxy o Main duty of a proxy is to provide a distributed cache memory o If a doc is stored in a proxy near the client the download time can be reduced 41

42 Proxy o A proxy is an application gateway, that is, it implements up to the application layer o It must act both as a client and as a server o The final server speaks with the client on the proxy (hiding of users) User Agent HTTP TCP IP LL Proxy HTTP TCP IP LL Server HTTP TCP IP LL 42

43 Authentication o HTTP is stateless o Consecutive requests from the same user cannot be recognized o Very simple authentication procedure based on userid and password to be inserted in the requests GET /ntw/index.html HTTP/ Authorization Required WWW-Authenticate:[tipo di autenticazione] GET /ntw/index.html HTTP/1.1 Authorization: account, passwd. GET image.gif HTTP/1.1 Authorization: account, passwd 43

44 Cookies o o o The server can assign to each client a cookie number which identifies the client in future transactions The cookie number is stored by the client and used in following requests towards the same server Used in e-commerce GET /ntw/index.html HTTP/ OK Set-cookie: GET /ntw/carrello/index.html HTTP/1.1 Cookie: GET image.gif HTTP/1.1 Cookie:

45 HTML (HyperText Markup Language) o HTTP handles the object transfer and does not account for the object format o The visualization of the object is done through interpreter programs (browsers) o Formatted text pages are transferred in ASCII files and are interpreted according to formatting instructions written in HTML o HTML pages may contain references to other objects which need to be interpreted by the browser as n Part of the document to visualize n Links to other pages o If a HTML page is stored on the server and is sent upon request, this is a static page 45

46 Dynamic WEB Pages o If a page is created on the fly upon reception of a request, this is a dynamic page o The server examines the request, executes a program associated to the request and generates the HTML page to be sent back GET /cgi-bin/prog.pl HTTP/1.1 prog.pl 200 OK Dynamic Page 46

47 Active Web Pages o A web page may contain a program to be executed by the client o The program is downloaded and executed locally by the client o This can be used to set up interactive pages, moving graphs, etc. GET /java/applet HTTP/ OK program 47

48 Politecnico di Milano Scuola di Ingegneria Industriale e dell Informazione File Transfer Protocol (FTP) 48

49 File Transfer Protocol (FTP) "File Transfer Protocol, RFC 959, October o Used to transfer files between two remote hosts o The application operates directly on the file system (both at server and at client side) 49

50 File Transfer Protocol (FTP) o Uses TCP for the transfer o Two TCP connections are used for the transfer of data and control client User Interface Control process Data tranfer process Port 21 Port 20 server Control process Data tranfer process LFS LFS 50

51 FTP: user interface 51

52 FTP: control connection o It is opened in the usual way n The server issues a passive open with port number 21 and waits fir requests n The client issues an active open with a dynamic port number every time it needs to transfer files o The control connection is persistent, and remains open for all the data transfer time client Control process Active open Port Passive open Port 21 server Control process LFS Data tranfer process LFS Data tranfer process 52

53 FTP: Data connections o Data connections are non-persistent, n one connection for each file to transfer, n connection closed upon completion of file transfer o To open a data connection: 1st Way: n The client issues a passive open with a dynamic port number n The client notifies the port number to the server on the control connection through the PORT command n The server issues an active open towards the specified port of the client using 20 as local port number 2nd Way: n The client sends the PASV command to the server n The server chooses a dynamic port number, issues a passive open and communicate the chosen port number to the client n The client issues an active open using the port number received from the server 53

54 FTP: Data connections o The data transfer can be accomplished in different ways and using different formats: o File types: n ASCII n Binary: o Transmission modes: n Stream mode: the file is sent down to the TCP as a stream of unstructured bytes n Block mode: the file is structured in blocks with a header each and sent down to the TCP 54

55 FTP: commands o Commands are transferred in ASCII Access Commands USER username PASS password QUIT log out Transfer Management TYPE file type MODE transfer mode File Management CWD change directory DELE delete file LIST list files RETR retrieve file STOR store file Port Management PORT client port PASV server choose port 55

56 FTP: Responses 125 Data connection already open; transfer starting 200 Command OK 225 Data connection open 226 Closing data connection 227 Entering passive mode; srv. sends Ip_add.,port 230 User login OK 331 Username OK, password required 425 Can't open data connection 426 Connection closed; tranfer aborted 452 Error writing file 500 Syntax error; unrecognized command 501 Syntax error in parameters or arguments 502 Command not implemented 56

57 FTP: Transfer Example Client 220 service ready USER matteo 331 username OK; password? PASS pippo user login OK PORT opening data connection LIST /usr/pub 125 data connection OK Data 226 closing data connection Server 57

58 Politecnico di Milano Scuola di Ingegneria Industriale e dell Informazione Service Simple Mail Transfer Protocol (SMTP) 58

59 o Service to send textual messages in an asynchronous way o It is implemented through a network of mail servers using the SMTP (Simple Mail Transfer Protocol) 59

60 SMTP J.B. Postel, "Simple Mail Transfer Protocol," RFC 821, August o Textual protocol o Also the body of the messages needs to be ASCII n Binaries must be converted to ASCII o Once a server receives a message from a user agent n Stores the message in a queue n Opens a TCP connection (port 25) with the destination server n Sends the message 60

61 Client/Server Message exchange Handshake S: 220 hamburger.edu C: HELO crepes.fr S: 250 Hello crepes.fr, pleased to meet you C: MAIL FROM: S: 250 Sender ok C: RCPT TO: S: 250 Recipient ok C: DATA S: 354 Enter mail, end with "." on a line by itself C: Do you like ketchup? C: How about pickles? C:. S: 250 Message accepted for delivery C: QUIT S: 221 hamburger.edu closing connection 61

62 Message Format D.H. Crocker, "Standard for the Format of ARPA Internet Text Messages," RFC 822, August o The message format is specified (command DATA) o Some headers are added to the message From: alice@crepes.fr To: bob@hamburger.edu Subject: Request of information <black line> <Body>. 62

63 Multipurpose Internet Mail Extensions (MIME) "Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies," RFC 2045, Nov "Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types," RFC 2046, Nov o MIME is used to allow the transfer of non-ascii messages From: alice@crepes.fr To: bob@hamburger.edu Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data base64 encoded data. 63

64 Multipurpose Internet Mail Extensions (MIME) o Coding techniques: n Base64: o The flow of bits is divided into chunks of 24 bits each o Each chunk is divided into 4 groups of 6 bits each o Each chunk is interpreted as a character according to a conversion table base (51) (8) (4) (57) Z I E

65 Multipurpose Internet Mail Extensions (MIME) o Quoted-printable o The flow of bits is divided into chunks of 8 bits each o If a sequence corresponds to a ASCII character is sent straight away o Otherwise is sent as three characters: = followed by the hexadecimal representation of the byte & L Non-ASCII Quotable-printable & L = D

66 Multipurpose Internet Mail Extensions (MIME) o MIME allows the transfer of multiple objects within the same message: From: alice@crepes.fr To: bob@hamburger.edu Subject: Picture of yummy crepe with commentary MIME-Version: 1.0 Content-Type: multipart/mixed; Boundary=StartOfNextPart --StartOfNextPart Dear Bob, Please find a picture of an absolutely scrumptious crepe. --StartOfNextPart Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data... --StartOfNextPart Let me know if you would like the recipe.. 66

67 MailBox Access Protocols ESMTP n POP3 (Post Office Protocol version 3) n IMAP (Internet Mail Access Protocol) n HTTP n Security Issue: the protocols can run over TLS/SSL 67

68 POP3 Authorization Phase o Client Commands: o n user: username n pass: password Server Responses: n +OK n -ERR Transaction Phase, client: o o o o list: list mess. number retr: get message dele: delete message quit S: +OK POP3 server ready C: user bob S: +OK C: pass hungry S: +OK user successfully logged on C: list S: S: S:. C: retr 1 S: <message 1 contents> S:. C: dele 1 C: retr 2 S: <message 1 contents> S:. C: dele 2 C: quit S: +OK POP3 server signing off 68

69 Case History o December 1995, S. Bhatia and J. Smith propose the first web based e- mail service (Hotmail) o In 1 month, 100K users o In 1 year, 12M users o December 1997, Hotmail is acquired by Microsoft for $400M o Example of first mover advantage and viral marketing 69

70 Politecnico di Milano Scuola di Ingegneria Industriale e dell Informazione Remote Terminal TELNET 70

71 TELNET (TErminaL NETwork) o Remote terminal application o The commands are transferred through a TCP connection Telnet client Telnet server Terminal driver TCP IP LL Internet TCP IP LL Pseudo-terminal driver 71

72 TELNET (TErminaL NETwork) o TELNET transfers characters n Data characters: o ASCII with the first byte 0 o ASCII characters with the first byte 1 (preceded by a special control byte) n Control characters: o 8 bit commands (first bit 1 ) o examples n n IAC (255): next one is a control character EC (247): erase character c a t f i l e a IAC EC 1 72

73 TELNET (TErminaL NETwork) 73

74 Politecnico di Milano Scuola di Ingegneria Industriale e dell Informazione Domain Name System (DNS) 74

75 Domain Name System (DNS) o IP addresses are not suited to be used by applications o Symbolic addresses are more convenient n Hierarchical (street, city, state) n Independent from layer 3 o Binding is needed morgana.elet.polimi.it 75

76 Domain Name System (DNS) "Domain Names - Concepts and Facilities," RFC 1034, Nov "Domain Names - Implementation and Specification," RFC 1035, Nov o IP networks provide a symbolic addressing service o Supported by a distributed database service which handles the binding: DNS (Domain Name System) o DNS is an application layer protocol which uses UDP/IP to transfer its messages o DNS is currently used also for n Host aliasing n Mail server aliasing n Load distribution 76

77 Symbolic Addressing com edu org gov mil it fr jp de... yahoo ucla columbia polimi virgilio morgana.elet.polimi.it cs rett elet morgana o Hierarchical Addressing o Each branch is controlled by a known authority o To get a symbolic address you must go through these authorities 77

78 Types of Name Servers o Local Name Servers n Directly connected to tyhe hosts n Each ISP (residential, university, industry, etc.) has a LNS n Talks with the Root NS o Root Name Servers n Stores info on the addressing of big groups of hosts and domains n Stores info on the authoritative NS for a given domain n Talks with the Authoritative NS o Authoritative Name Servers n NS responsible for a specific hostname 78

79 Hierarchical DNS Source: Computer Networking, J. Kurose 79

80 Root NS in

81 How To resolve a binding o Every host knows the LNS address o Each request for resolving a binding is sent to the local NS using UDP o The LNS gets the info and answers HOST DNS request DNS response Local NS DNS Network 81

82 Stored Info o Type Name, Value, Type, TTL n A: Name is a host name and Value is the IP address (morgana.elet.polimi.it, , A, TTL) n NS: Name is a domain and Value is the symbolic name of a server which knows how to resolve the name (elet.polimi.it, morgana.elet.polimi.it, NS, TTL) n CNAME: Name is an alias and Value is the real name ( zephyro.rett.polimi.it, CNAME, TTL) n MX: Name is a mail domain or a mail alias and Value is the name of the mail server (elet.polimi.it, mailserver.elet.polimi.it, MX,TTL) 82

83 Database Organization o ARPANET was using a central database o Internet uses a distributed database structure o Branches are divided into zones and each zone is associated a DNS o The server of a zone is authoritative for that zone com edu org gov mil it fr jp de... yahoo ucla columbia polimi virgilio cs rett elet morgana 83

84 How to get Info o Recursive Way: n Requests travel along the hierarchy n Responses travel the opposite direction Source: Computer Networking, J. Kurose 84

85 How to get Info o Iterative Way: o A server can notify the name of another server where to get the info from 85

86 Caching o A server can cache a info temporarily o If a request is issued regarding cached info the server can answer even if it is not authoritative for that specific info o TTL is set by the authoritative server to advertise the freshness of a piece of info o The non-authoritative server uses the TTL to set a validity timer for the cached info 86

87 DNS Messages Binary Format (not ASCII) o o o o o o o identification: identifies the couple request/response flag: request/response, authoritative/non auth., iterative/recursive number of: field sin the following header sections questions: name to resolve (usually A or MX) answers: complete resource records authority: contains other record provided by other servers additional info 87

88 Politecnico di Milano Scuola di Ingegneria Industriale e dell Informazione Peer-to-Peer Exchange 88

89 P2P file sharing Example o Alice runs P2P client application on her notebook computer o Intermittently connects to Internet; gets new IP address for each connection o Asks for Hey Jude o Application displays other peers that have copy of Hey Jude. o Alice chooses one of the peers, Bob. o File is copied from Bob s PC to Alice s notebook: HTTP o While Alice downloads, other users uploading from Alice. o Alice s peer is both a Web client and a transient Web server. All peers are servers = highly scalable! 89

90 P2P: centralized directory original Napster design 1) when peer connects, it informs central server: n IP address n content 2) Alice queries for Hey Jude 3) Alice requests file from Bob centralized directory server Alice 3 Bob peers 90

91 P2P: problems with centralized directory o Single point of failure o Performance bottleneck o Copyright infringement file transfer is decentralized, but locating content is highly centralized 91

92 Query flooding: Gnutella o fully distributed n no central server o public domain protocol o many Gnutella clients worldwide overlay network: graph o edge between peer X and Y if there s a TCP connection o all active peers and edges are overlay net o Edge is not a physical link o Given peer will typically be connected with < 10 overlay neighbors 92

93 Gnutella: protocol Query message sent over existing TCP connections peers forward Query message QueryHit sent over reverse path Query QueryHit File transfer: HTTP Query QueryHit Scalability: limited scope flooding 93

94 Gnutella: Peer joining 1. Joining peer X must find some other peer in Gnutella network: to use list of candidate peers 2. X sequentially attempts to make TCP with peers on list until connection setup with Y 3. X sends Ping message to Y; Y forwards Ping message. 4. All peers receiving Ping message respond with Pong message 5. X receives many Pong messages. It can then setup additional TCP connections 94

95 Exploiting heterogeneity: KaZaA o Each peer is either a group leader or assigned to a group leader. n TCP connection between peer and its group leader. n TCP connections between some pairs of group leaders. o Group leader tracks the content in all its children. ordinary peer group-leader peer neighoring relationships in overlay network 95

96 KaZaA: Querying o Each file has a hash and a descriptor o Client sends keyword query to its group leader o Group leader responds with matches: n For each match: metadata, hash, IP address o If group leader forwards query to other group leaders, they respond with matches o Client then selects files for downloading n HTTP requests using hash as identifier sent to peers holding desired file 96

Goal and A sample Network App

Goal and A sample Network App Application Layer Goal and A sample Network App Write programs that run on different end systems and communicate over a network. e.g., Web: Web server software communicates with browser software Little

More information

Chapter 2 Application Layer

Chapter 2 Application Layer Chapter 2 Application Layer Reference: Computer Networking: A Top Down Approach 4 th edition. Jim Kurose, Keith Ross Addison-Wesley, July 2007. Application Layer 1 Chapter 2: Application layer 2.1 Principles

More information

Introduction to the Application Layer. Computer Networks Term B14

Introduction to the Application Layer. Computer Networks Term B14 Introduction to the Application Layer Computer Networks Term B14 Intro to Application Layer Outline Current Application Layer Protocols Creating an Application Application Architectures Client-Server P2P

More information

CMSC 322 Computer Networks Applications and End-To- End

CMSC 322 Computer Networks Applications and End-To- End CMSC 322 Computer Networks Applications and End-To- End Professor Doug Szajda CMSC 332: Computer Networks Announcements Project 2 has been posted and is due Monday, February 8 (No extension!) Homework

More information

Review of Previous Lecture

Review of Previous Lecture Review of Previous Lecture Network access and physical media Internet structure and ISPs Delay & loss in packet-switched networks Protocol layers, service models Some slides are in courtesy of J. Kurose

More information

Chapter 2: Application Layer. Chapter 2 Application Layer. Some network apps. Application architectures. Chapter 2: Application layer

Chapter 2: Application Layer. Chapter 2 Application Layer. Some network apps. Application architectures. Chapter 2: Application layer Chapter 2 Application Layer Computer Networking: A Top Down Approach, 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009. Chapter 2: Application Layer Our goals: conceptual, implementation

More information

CSC 4900 Computer Networks: End-to-End Design

CSC 4900 Computer Networks: End-to-End Design CSC 4900 Computer Networks: End-to-End Design Professor Henry Carter Fall 2017 Villanova University Department of Computing Sciences Review In the last two lectures, we discussed the fundamentals of networking

More information

Chapter 2. Application Layer. Chapter 2: Application Layer. Application layer - Overview. Some network apps. Creating a network appication

Chapter 2. Application Layer. Chapter 2: Application Layer. Application layer - Overview. Some network apps. Creating a network appication Mobile network Chapter 2 The Yanmin Zhu Department of Computer Science and Engineering Global ISP Home network Regional ISP Institutional network CSE Department 1 CSE Department 2 Application layer - Overview

More information

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 4

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 4 CMPE 150/L : Introduction to Computer Networks Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 4 1 Lab schedule confirmation Mondays, 12:00-2:00pm Tuesdays, 11:00am-1:00pm Wednesdays, 4:00-6:00pm

More information

Chapter 2 Application Layer. Lecture 4: principles of network applications. Computer Networking: A Top Down Approach

Chapter 2 Application Layer. Lecture 4: principles of network applications. Computer Networking: A Top Down Approach Chapter 2 Application Layer Lecture 4: principles of network applications Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Application Layer 2-1 Chapter

More information

Internet Protocol Stack! Principles of Network Applications! Some Network Apps" (and Their Protocols)! Application-Layer Protocols! Our goals:!

Internet Protocol Stack! Principles of Network Applications! Some Network Apps (and Their Protocols)! Application-Layer Protocols! Our goals:! Internet Protocol Stack! Principles of Network Applications! application: supporting network applications!! HTTP,, FTP, etc.! transport: endhost-endhost data transfer!! TCP, UDP! network: routing of datagrams

More information

WWW: the http protocol

WWW: the http protocol Internet apps: their protocols and transport protocols Application e-mail remote terminal access Web file transfer streaming multimedia remote file Internet telephony Application layer protocol smtp [RFC

More information

EECS 3214: Computer Network Protocols and Applications

EECS 3214: Computer Network Protocols and Applications EECS 3214: Computer Network Protocols and Applications Suprakash Datta Course page: http://www.eecs.yorku.ca/course/3214 Office: LAS 3043 Email: datta [at] cse.yorku.ca These slides are adapted from Jim

More information

Networking. Layered Model. DoD Model. Application Layer. ISO/OSI Model

Networking. Layered Model. DoD Model. Application Layer. ISO/OSI Model Networking Networking is concerned with the physical topology of two or more communicating entities and the logical topology of data transmission. Layered Model Systems communicate over a shared communication

More information

Internet and Intranet Protocols and Applications

Internet and Intranet Protocols and Applications Internet and Intranet Protocols and Applications Lecture 4: General Characteristics of Internet Protocols; the Email Protocol February 10, 2004 Arthur Goldberg Computer Science Department New York University

More information

Lecture 7 Application Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Lecture 7 Application Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it Lecture 7 Application Layer Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it Application-layer protocols Application: communicating, distributed processes running in network hosts

More information

Layered Model. DoD Model. ISO/OSI Model

Layered Model. DoD Model. ISO/OSI Model Data Communications vs Networking (later) Communication is concerned with the transmission of data over a communication medium/channel between two entities. Here we are more concerned about EE issues such

More information

Chapter 2 Application Layer

Chapter 2 Application Layer Chapter 2 Application Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and

More information

CSC 4900 Computer Networks:

CSC 4900 Computer Networks: CSC 4900 Computer Networks: Email Professor Henry Carter Fall 2017 Villanova University Department of Computing Sciences Review Last week we talked about design principles, and the application protocols

More information

Foundations of Telematics

Foundations of Telematics Foundations of Telematics Chapter 2 Application Layer Principles of network applications Important application protocols Using sockets Acknowledgement: These slides have been prepared by J.F. Kurose and

More information

Applications & Application-Layer Protocols: FTP and (SMTP & POP)

Applications & Application-Layer Protocols: FTP and  (SMTP & POP) COMP 431 Internet Services & Protocols Applications & Application-Layer Protocols: FTP and E ( & POP) Jasleen Kaur February 7, 2019 Application-Layer Protocols Outline Example client/ systems and their

More information

Electronic Mail. Three Components: SMTP SMTP. SMTP mail server. 1. User Agents. 2. Mail Servers. 3. SMTP protocol

Electronic Mail. Three Components: SMTP SMTP. SMTP mail server. 1. User Agents. 2. Mail Servers. 3. SMTP protocol SMTP Electronic Mail Three Components: 1. User Agents a.k.a. mail reader e.g., gmail, Outlook, yahoo 2. Mail Servers mailbox contains incoming messages for user message queue of outgoing (to be sent) mail

More information

Chapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP

Chapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP Chapter 2: outline 2.1 principles of network applications 2.2 Web and HTTP 2.3 FTP 2.4 electronic mail SMTP, POP3, IMAP 2.5 DNS 2.6 P2P applications 2.7 socket programming with UDP and TCP Application

More information

Information Network Systems The application layer. Stephan Sigg

Information Network Systems The application layer. Stephan Sigg Information Network Systems The application layer Stephan Sigg Tokyo, November 15, 2012 Introduction 04.10.2012 Introduction to the internet 11.10.2012 The link layer 18.10.2012 The network layer 25.10.2012

More information

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition ELEC / COMP 177 Fall 2012 Some slides from Kurose and Ross, Computer Networking, 5 th Edition Homework #1 Assigned today Due in one week Application layer: DNS, HTTP, protocols Recommend you start early

More information

Chapter 2: Application layer

Chapter 2: Application layer Chapter 2: Application layer 2. Principles of network applications app architectures app requirements 2.2 Web and HTTP 2.4 Electronic Mail SMTP, POP3, IMAP 2.5 DNS 2.6 P2P applications 2.7 Socket programming

More information

Chapter 2 Application Layer

Chapter 2 Application Layer Chapter 2 Application Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Application Layer 2-1 Some network apps e-mail web text messaging remote

More information

CS 3516: Advanced Computer Networks

CS 3516: Advanced Computer Networks Welcome to CS 3516: Advanced Computer Networks Prof. Yanhua Li Time: 9:00am 9:50am, T, R, and F Location: Fuller 320 Fall 2017 A-term 1 Some slides are originally from the course materials of the textbook

More information

Protocol Layers, Security Sec: Application Layer: Sec 2.1 Prof Lina Battestilli Fall 2017

Protocol Layers, Security Sec: Application Layer: Sec 2.1 Prof Lina Battestilli Fall 2017 CSC 401 Data and Computer Communications Networks Protocol Layers, Security Sec:1.5-1.6 Application Layer: Sec 2.1 Prof Lina Battestilli Fall 2017 Outline Computer Networks and the Internet (Ch 1) 1.1

More information

Chapter 2: Application layer

Chapter 2: Application layer Chapter 2: Application layer 2.1 Principles of network applications 2.2 Web and HTTP 2.3 FTP 2.4 Electronic Mail SMTP, POP3, IMAP 2.5 DNS 2.6 P2P applications 2.7 Socket programming with TCP 2.8 Socket

More information

Computer Networks. Wenzhong Li. Nanjing University

Computer Networks. Wenzhong Li. Nanjing University Computer Networks Wenzhong Li Nanjing University 1 Chapter 8. Internet Applications Internet Applications Overview Domain Name Service (DNS) Electronic Mail File Transfer Protocol (FTP) WWW and HTTP Content

More information

Lecture 04: Application Layer (Part 01) Principles and the World Wide Web (HTTP) Dr. Anis Koubaa

Lecture 04: Application Layer (Part 01) Principles and the World Wide Web (HTTP) Dr. Anis Koubaa NET 331 Computer Networks Lecture 04: Application Layer (Part 01) Principles and the World Wide Web (HTTP) Dr. Anis Koubaa Reformatted slides from textbook Computer Networking a top-down appraoch, Fifth

More information

CC451 Computer Networks

CC451 Computer Networks CC451 Computer Networks Lecture 4 Application Layer (cont d) Application Layer 1 Chapter 2: Application layer 2.1 Principles of network applications 2.2 Web and HTTP 2.3 FTP 2.4 Electronic Mail SMTP, POP3,

More information

FTP. Mail. File Transfer Protocol (FTP) FTP commands, responses. Electronic Mail. TDTS06: Computer Networks

FTP. Mail. File Transfer Protocol (FTP) FTP commands, responses. Electronic Mail. TDTS06: Computer Networks TDTS0: Computer Networks Instructor: Niklas Carlsson Email: niklas.carlsson@liu.se FTP Notes derived from Computer Networking: A Top Down Approach, by Jim Kurose and Keith Ross, Addison-Wesley. The slides

More information

CSC358 Week 2. Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright J.F Kurose and K.W. Ross, All Rights Reserved

CSC358 Week 2. Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright J.F Kurose and K.W. Ross, All Rights Reserved CSC358 Week 2 Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright 1996-2016 J.F Kurose and K.W. Ross, All Rights Reserved Logistics Tutorial this Friday Assignment 1 will be out shortly

More information

Chapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP

Chapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP Chapter 2: outline 2.1 principles of network applications app architectures app requirements 2.2 Web and HTTP 2.3 FTP 2.4 electronic mail SMTP, POP3, IMAP 2.5 DNS 2.6 P2P applications 2.7 socket programming

More information

Application Layer Chapter 2

Application Layer Chapter 2 Application Layer Chapter 2 Silvia Giordano SUPSI CH-6928 Manno silvia.giordano@supsi.ch http://www.supsi.ch SUPSI-DTI Silvia Giordano 10/06/2004 Application Layer 1 Chapter goals: learn about protocols

More information

Application Layer: HTTP

Application Layer: HTTP Application Layer: HTTP EECS 3214 Slides courtesy of J.F Kurose and K.W. Ross, All Rights Reserved 23-Jan-18 1-1 Chapter 2: outline 2.1 principles of network applications 2.2 Web and HTTP 2.3 electronic

More information

Chapter 2 Application Layer

Chapter 2 Application Layer Chapter 2 Application Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and

More information

Computer Networks and Applications

Computer Networks and Applications COMP 3331/COMP 9331 Week 2 Introduction(Protocol Layering) & Application Layer (Principles, Web, E- mail) Reading Guide: Chapter 1, Sections 1.5 Chapter 2, Sections 2.1-2.4 Week2: Introduction & Application

More information

Applications & Application-Layer Protocols: The Domain Name System and Peerto-Peer

Applications & Application-Layer Protocols: The Domain Name System and Peerto-Peer CPSC 360 Network Programming Applications & Application-Layer Protocols: The Domain Name System and Peerto-Peer Systems Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu

More information

Lecture 6: Application Layer Web proxies, , and SMTP

Lecture 6: Application Layer Web proxies,  , and SMTP Lecture 6: Application Layer Web proxies, Email, and SMTP COMP 332, Spring 2018 Victoria Manfredi Acknowledgements: materials adapted from Computer Networking: A Top Down Approach 7 th edition: 1996-2016,

More information

Chapter 2 Application Layer

Chapter 2 Application Layer Chapter 2 Application Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you see the animations;

More information

Application Layer Protocols

Application Layer Protocols SC250 Computer Networking I Application Layer Protocols Prof. Matthias Grossglauser School of Computer and Communication Sciences EPFL http://lcawww.epfl.ch 1 Today's Objectives Conceptual, implementation

More information

CSCE 463/612 Networks and Distributed Processing Spring 2018

CSCE 463/612 Networks and Distributed Processing Spring 2018 CSCE 463/612 Networks and Distributed Processing Spring 2018 Application Layer II Dmitri Loguinov Texas A&M University February 6, 2018 Original slides copyright 1996-2004 J.F Kurose and K.W. Ross 1 Chapter

More information

Client/Server Computing & Socket Programming

Client/Server Computing & Socket Programming CPSC 852 Intering Client/Server Computing & Socket Programming Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu http://www.cs.clemson.edu/~mweigle/courses/cpsc852

More information

DATA COMMUNICATOIN NETWORKING

DATA COMMUNICATOIN NETWORKING DATA COMMUNICATOIN NETWORKING Instructor: Ouldooz Baghban Karimi Course Book: Computer Networking, A Top-Down Approach By: Kurose, Ross Introduction Course Overview Basics of Computer Networks Internet

More information

Chapter 2: Application layer

Chapter 2: Application layer Chapter 2 Application Layer A note on the use of these ppt slides: Were making these slides freely available to all (faculty, students, readers). Theyre in PowerPoint form so you can add, modify, and delete

More information

CMSC 332 Computer Networks P2P and Sockets

CMSC 332 Computer Networks P2P and Sockets CMSC 332 Computer Networks P2P and Sockets Professor Szajda Announcements Programming Assignment 1 is due Thursday Where are we? What sorts of problems are we having? 2 Recap SMTP is the language that

More information

Lecture 11. Transport Layer (cont d) Transport Layer 1

Lecture 11. Transport Layer (cont d) Transport Layer 1 Lecture 11 Transport Layer (cont d) Transport Layer 1 Agenda The Transport Layer (continue) Connection-oriented Transport (TCP) Flow Control Connection Management Congestion Control Introduction to the

More information

Client/Server Computing

Client/Server Computing CS 312 Internet Concepts Client/Server Computing Dr. Michele Weigle Department of Computer Science Old Dominion University mweigle@cs.odu.edu http://www.cs.odu.edu/~mweigle/cs312-f11 1 Applications and

More information

The Application Layer: SMTP, FTP

The Application Layer: SMTP, FTP The Application Layer: SMTP, FTP CS 352, Lecture 5 http://www.cs.rutgers.edu/~sn624/352-s19 Srinivas Narayana 1 Recap: Application-layer protocols DNS: lookup a (machine-readable) address using a (humanreadable)

More information

Chapter 2 Application Layer

Chapter 2 Application Layer Chapter 2 Application Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and

More information

Network Application. Topic. Principle of Network Application. Principle of Network Application

Network Application. Topic. Principle of Network Application. Principle of Network Application Topic Network Application o Principle of Network Application o Web & HTTP o FTP o E-mail o DNS o Peer-to-peer 2 Principle of Network Application o Network Applications e-mail web instant messaging remote

More information

Chapter 2 part B: outline

Chapter 2 part B: outline Chapter 2 part B: outline 2.3 FTP 2.4 electronic, POP3, IMAP 2.5 DNS Application Layer 2-1 FTP: the file transfer protocol at host FTP interface FTP client local file system file transfer FTP remote file

More information

Different Layers Lecture 21

Different Layers Lecture 21 Different Layers Lecture 21 10/17/2003 Jian Ren 1 The Transport Layer 10/17/2003 Jian Ren 2 Transport Services and Protocols Provide logical communication between app processes running on different hosts

More information

Chapter P2P file sharing network applications 2.22 Web and HTTP 2.3 FTP DNS

Chapter P2P file sharing network applications 2.22 Web and HTTP 2.3 FTP DNS Chapter 2 Application Layer A note on the use of these ppt slides: We re making these slides freely available to all (faculty, students, readers). They re in PowerPoint form so you can add, modify, and

More information

SCS3004 Networking Technologies Application Layer Protocols

SCS3004 Networking Technologies Application Layer Protocols SCS3004 Networking Technologies Application Layer Protocols Dr. Ajantha Atukorale University of Colombo School of Computing (UCSC) 2 TCP/IP Suit Applications and application-layer layer protocols Application:

More information

Application Layer Protocols

Application Layer Protocols Application Layer Protocols Dr. Ihsan Ullah Department of Computer Science & IT University of Balochistan, Quetta Pakistan Email: ihsan.ullah.cs@gmail.com These slides are adapted from the slides accompanying

More information

Computer Networking Introduction

Computer Networking Introduction Computer Networking Introduction Halgurd S. Maghdid Software Engineering Department Koya University-Koya, Kurdistan-Iraq Lecture No.5 Chapter 2: outline 2.1 principles of network applications app architectures

More information

Computer Networking. Chapter #1. Dr. Abdulrhaman Alameer

Computer Networking. Chapter #1. Dr. Abdulrhaman Alameer Computer Networking Chapter #1 Dr. Abdulrhaman Alameer What is Computer Network? It is a collection of computers and devices interconnected by communications channels that facilitate communications among

More information

Application Layer. Applications and application-layer protocols. Goals:

Application Layer. Applications and application-layer protocols. Goals: Application Layer Goals: Conceptual aspects of network application protocols Client paradigm Service models Learn about protocols by examining popular application-level protocols HTTP DNS 1 Applications

More information

CSC 401 Data and Computer Communications Networks

CSC 401 Data and Computer Communications Networks CSC 401 Data and Computer Communications Networks Application Layer: Cookies, Web Caching, SMTP Sec 2.2.4-2.4 Prof. Lina Battestilli Fall 2017 Outline Application Layer (ch 2) 2.1 principles of network

More information

CCNA Exploration Network Fundamentals. Chapter 03 Application Functionality and Protocols

CCNA Exploration Network Fundamentals. Chapter 03 Application Functionality and Protocols CCNA Exploration Network Fundamentals Chapter 03 Application Functionality and Protocols Updated: 27/04/2008 1 3.1 Applications: The Interface Between Human and Networks Applications provide the means

More information

Computer Networks 2 *+ # $ $!,( -. ( - ( - # ( / $!

Computer Networks 2 *+ # $ $!,( -. ( - ( - # ( / $! !"#$ %& ' ) * # $ $!, # / $! " 1 / $ 13 / $!, */'"4,5678 966 : # $!, 6 ; / 0 :### : # /, # / ; : ; / $ ;! / $ # 1'! ;!3 ;! 8 / $ #;! $13 #? ;! $,!6 ;! ;! / $ #;! A ;!# $ # # $# APPLICATION

More information

Applications. Chong-kwon Kim. Running in end systems (hosts) over transport layer protocols Ex: , Web, FTP, instant messaging

Applications. Chong-kwon Kim. Running in end systems (hosts) over transport layer protocols Ex:  , Web, FTP, instant messaging Applications Chong-kwon Kim Applications Network applications Running in end systems (hosts) over transport layer protocols Ex: e-mail, Web, FTP, instant messaging Application layer protocols Define app.

More information

EECS 3214: Computer Network Protocols and Applications

EECS 3214: Computer Network Protocols and Applications EECS 3214: Computer Network Protocols and Applications Suprakash Datta datta@cse.yorku.ca Office: LAS 3043 Phone: 416-736-2100 ext 77875 Course page: http://www.cse.yorku.ca/course/3214 These slides are

More information

Chapter II: Application Layer

Chapter II: Application Layer Chapter II: Application Layer UG3 Computer Communications & Networks (COMN) Myungjin Lee myungjin.lee@ed.ac.uk Slides copyright of Kurose and Ross Internet hourglass Here 2 Some network apps e-mail web

More information

Application layer. Some network apps. Client-server architecture. Hybrid of client-server and P2P. Pure P2P architecture. Creating a network app

Application layer. Some network apps. Client-server architecture. Hybrid of client-server and P2P. Pure P2P architecture. Creating a network app Application layer Some network apps e- web instant messaging remote login P2P file sharing multi- network games streaming stored video (YouTube) voice over IP real-time video conferencing cloud computing

More information

Network Applications Principles of Network Applications

Network Applications Principles of Network Applications Network Applications Principles of Network Applications A Network application is an application running on one host and provides communication to another application running on a different host. At the

More information

Application Level Protocols

Application Level Protocols Application Level Protocols 2 Application Level Protocols Applications handle different kinds of content e.g.. e-mail, web pages, voice Different types of content require different kinds of protocols Application

More information

Review for Internet Introduction

Review for Internet Introduction Review for Internet Introduction What s the Internet: Two Views View 1: Nuts and Bolts View billions of connected hosts routers and switches protocols control sending, receiving of messages network of

More information

CMSC 332 Computer Networking Web and FTP

CMSC 332 Computer Networking Web and FTP CMSC 332 Computer Networking Web and FTP Professor Szajda CMSC 332: Computer Networks Project The first project has been posted on the website. Check the web page for the link! Due 2/2! Enter strings into

More information

Applications & Application-Layer Protocols: (SMTP) and DNS

Applications & Application-Layer Protocols:  (SMTP) and DNS CS 312 Internet Concepts Applications & Application-Layer Protocols: E (SMTP) and DNS Dr. Michele Weigle Department of Computer Science Old Dominion University mweigle@cs.odu.edu http://www.cs.odu.edu/~mweigle/cs312-f11

More information

The Application Layer: & SMTP

The Application Layer:  & SMTP The Application Layer: email & SMTP Smith College, CSC 249 Feb 1, 2018 4-1 Chapter 2: Application layer q 2.1 Principles of network applications q 2.2 Web and HTTP q 2.3 FTP q 2.4 Electronic Mail v SMTP,

More information

CCNA Exploration1 Chapter 3: Application Layer Functionality and Protocols

CCNA Exploration1 Chapter 3: Application Layer Functionality and Protocols CCNA Exploration1 Chapter 3: Application Layer Functionality and Protocols LOCAL CISCO ACADEMY ELSYS TU INSTRUCTOR: STELA STEFANOVA 1 Objectives Functions of the three upper OSI model layers, network services

More information

13. Internet Applications 최양희서울대학교컴퓨터공학부

13. Internet Applications 최양희서울대학교컴퓨터공학부 13. Internet Applications 최양희서울대학교컴퓨터공학부 Internet Applications Telnet File Transfer (FTP) E-mail (SMTP) Web (HTTP) Internet Telephony (SIP/SDP) Presence Multimedia (Audio/Video Broadcasting, AoD/VoD) Network

More information

Application Layer. Pure P2P architecture. Client-server architecture. Processes communicating. Hybrid of client-server and P2P. Creating a network app

Application Layer. Pure P2P architecture. Client-server architecture. Processes communicating. Hybrid of client-server and P2P. Creating a network app Application Layer e- web instant messaging remote login P2P file sharing multi- network games streaming stored video (YouTube) voice over IP real-time video conferencing cloud computing Creating a network

More information

Chapter 2. Application Layer. 2: Application Layer 1

Chapter 2. Application Layer. 2: Application Layer 1 Chapter 2 Application Layer 2: Application Layer 1 Some network apps e-mail web instant messaging remote login P2P file sharing multi-user network games streaming stored video clips voice over IP real-time

More information

CompSci 356: Computer Network Architectures. Lecture 23: Application Layer Protocols Chapter 9.1. Xiaowei Yang

CompSci 356: Computer Network Architectures. Lecture 23: Application Layer Protocols Chapter 9.1. Xiaowei Yang CompSci 356: Computer Network Architectures Lecture 23: Application Layer Protocols Chapter 9.1 Xiaowei Yang xwy@cs.duke.edu The Internet Architecture Application layer Transport layer / Layer 4 Network

More information

Application Layer: , DNS

Application Layer:  , DNS Application Layer: E-mail, DNS EECS 3214 Slides courtesy of J.F Kurose and K.W. Ross, All Rights Reserved 22-Jan-18 1-1 Chapter 2: outline 2.1 principles of network applications 2.2 Web and HTTP 2.3 electronic

More information

Lecture 7b: HTTP. Feb. 24, Internet and Intranet Protocols and Applications

Lecture 7b: HTTP. Feb. 24, Internet and Intranet Protocols and Applications Internet and Intranet Protocols and Applications Lecture 7b: HTTP Feb. 24, 2004 Arthur Goldberg Computer Science Department New York University artg@cs.nyu.edu WWW - HTTP/1.1 Web s application layer protocol

More information

1. What is a Computer Network? interconnected collection of autonomous computers connected by a communication technology

1. What is a Computer Network? interconnected collection of autonomous computers connected by a communication technology Review Questions for exam Preparation (22-07-2017) 1. What is a Computer Network? interconnected collection of autonomous computers connected by a communication technology 2. What is the Internet? "network

More information

Chapter 10: Application Layer CCENT Routing and Switching Introduction to Networks v6.0

Chapter 10: Application Layer CCENT Routing and Switching Introduction to Networks v6.0 Chapter 10: Application Layer CCENT Routing and Switching Introduction to Networks v6.0 CCNET v6 10 Chapter 10 - Sections & Objectives 10.1 Application Layer Protocols Explain the operation of the application

More information

Chapter 2: Application Layer

Chapter 2: Application Layer Chapter 2: Application Layer Course on Computer Communication and Networks, CTH/GU The slides are adaptation of the slides made available by the authors of the course s main textbook: Computer Networking:

More information

Internet Technology. 03r. Application layer protocols: . Paul Krzyzanowski. Rutgers University. Spring 2016

Internet Technology. 03r. Application layer protocols:  . Paul Krzyzanowski. Rutgers University. Spring 2016 Internet Technology 03r. Application layer protocols: email Paul Krzyzanowski Rutgers University Spring 2016 1 Email: SMTP (Simple Mail Transfer Protocol) 2 Simple Mail Transfer Protocol (SMTP) Protocol

More information

2. Introduction to Internet Applications

2. Introduction to Internet Applications 2. Introduction to Internet Applications 1. Representation and Transfer 2. Web Protocols 3. Some Other Application Layer Protocols 4. Uniform Resource Identifiers (URIs) 5. Uniform Resource Locators (URLs)

More information

Web, HTTP and Web Caching

Web, HTTP and Web Caching Web, HTTP and Web Caching 1 HTTP overview HTTP: hypertext transfer protocol Web s application layer protocol client/ model client: browser that requests, receives, displays Web objects : Web sends objects

More information

CS4/MSc Computer Networking. Lecture 3: The Application Layer

CS4/MSc Computer Networking. Lecture 3: The Application Layer CS4/MSc Computer Networking Lecture 3: The Application Layer Computer Networking, Copyright University of Edinburgh 2005 Network Applications Examine a popular network application: Web Client-server architecture

More information

SMTP. George Porter CSE 124 February 12, 2015

SMTP. George Porter CSE 124 February 12, 2015 SMTP George Porter CSE 124 February 12, 2015 Homework 2 out Announcements Project 2 checkpoint due Tuesday Traditional Applications Two of the most popular The World Wide Web and Email. Broadly speaking,

More information

Internet applications. 2: Application Layer 1

Internet applications. 2: Application Layer 1 Internet applications 2: Application Layer 1 Recall Internet architecture Intelligence at end systems e.g., web server software communicates with browser software No need to write software for network-core

More information

Lecture 25. Tuesday, November 21 CS 475 Networks - Lecture 25 1

Lecture 25. Tuesday, November 21 CS 475 Networks - Lecture 25 1 Lecture 25 Reminders: Homework 7 due today. Homework 8 posted. Due at the beginning of the last day of class for final exam review. Programming Project 6 posted. Final project worth double. Due by 4:30pm,

More information

Application Layer. Pure P2P architecture. Client-server architecture. Processes communicating. Hybrid of client-server and P2P. Creating a network app

Application Layer. Pure P2P architecture. Client-server architecture. Processes communicating. Hybrid of client-server and P2P. Creating a network app Application Layer e- web instant messaging remote login PP file sharing multi- network games streaming stored video (YouTube) voice over IP real-time video conferencing cloud computing Creating a network

More information

PLEASE READ CAREFULLY BEFORE YOU START

PLEASE READ CAREFULLY BEFORE YOU START MIDTERM EXAMINATION #1 NETWORKING CONCEPTS 03-60-367-01 U N I V E R S I T Y O F W I N D S O R - S c h o o l o f C o m p u t e r S c i e n c e Intersession 2009 Question Paper NOTE: Students may take this

More information

Transport layer Internet layer

Transport layer Internet layer Lecture 2-bis. 2 Transport Protocols As seen by the application developer point of view The primary (in principle unique) role of transport protocols!" # $ % "!"& Transport httpd 25 80 3211... My app 131.175.15.1

More information

Objective. Application Layer Functionality and Protocols. CCNA Exploration 4.0 Network Fundamentals Chapter 03. Universitas Dian Nuswantoro

Objective. Application Layer Functionality and Protocols. CCNA Exploration 4.0 Network Fundamentals Chapter 03. Universitas Dian Nuswantoro CCNA Exploration 4.0 Network Fundamentals Chapter 03 Application Layer Functionality and Protocols Universitas Dian Nuswantoro 1 Objective In this chapter, you will learn to: Describe how the functions

More information

Networking: Application layer

Networking: Application layer ing: Application layer Comp Sci 3600 Security Outline 1 2 3 4 5 6 7 Classic text-based that became popular in the 1970s and 1980s: text email, remote access to computers, file transfers, and newsgroups.

More information

CS 3516: Advanced Computer Networks

CS 3516: Advanced Computer Networks Welcome to CS 3516: Adanced Computer Networks Prof. Yanhua Li Time: 9:00am 9:50am M, T, R, and F Location: AK219 Fall 2018 A-term 1 Some slides are originally from the course materials of the textbook

More information

Internet Technology. 06. Exam 1 Review Paul Krzyzanowski. Rutgers University. Spring 2016

Internet Technology. 06. Exam 1 Review Paul Krzyzanowski. Rutgers University. Spring 2016 Internet Technology 06. Exam 1 Review Paul Krzyzanowski Rutgers University Spring 2016 March 2, 2016 2016 Paul Krzyzanowski 1 Question 1 Defend or contradict this statement: for maximum efficiency, at

More information

Chapter 2 Application Layer

Chapter 2 Application Layer CSF531 Advanced Computer Networks 高等電腦網路 Chapter 2 Application Layer 吳俊興 國立高雄大學資訊工程學系 Chapter 2: Outline 2.1 Principles of network applications 2.2 Web and HTTP 2.3 FTP 2.4 Electronic Mail SMTP, POP3,

More information