1 Introduction: Network Applications



Similar documents
FTP and . Computer Networks. FTP: the file transfer protocol

Chapter 2 Application Layer. Lecture 5 FTP, Mail. Computer Networking: A Top Down Approach

DATA COMMUNICATOIN NETWORKING

CPSC Network Programming. , FTP, and NAT.

FTP: the file transfer protocol

Network Technologies

FTP: the file transfer protocol

Protocolo FTP. FTP: Active Mode. FTP: Active Mode. FTP: Active Mode. FTP: the file transfer protocol. Separate control, data connections

Network Applications

DATA COMMUNICATOIN NETWORKING

Evolution of the WWW. Communication in the WWW. WWW, HTML, URL and HTTP. HTTP Abstract Message Format. The Client/Server model is used:

The Application Layer: DNS

Computer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ MEng. Nguyễn CaoĐạt

The Web: some jargon. User agent for Web is called a browser: Web page: Most Web pages consist of: Server for Web is called Web server:

Distributed Systems. 2. Application Layer

Protocolo HTTP. Web and HTTP. HTTP overview. HTTP overview

Domain Name System (DNS)

Evolution of the WWW. Communication in the WWW. WWW, HTML, URL and HTTP. HTTP - Message Format. The Client/Server model is used:

CSCI-1680 SMTP Chen Avin

Application Layer. CMPT Application Layer 1. Required Reading: Chapter 2 of the text book. Outline of Chapter 2

Application Example: WWW. Communication in the WWW. WWW, HTML, URL and HTTP. Loading of Web Pages. The Client/Server model is used in the WWW

The Application Layer. CS158a Chris Pollett May 9, 2007.

Domain Name System (DNS)

CS43: Computer Networks . Kevin Webb Swarthmore College September 24, 2015

Internet Security [1] VU Engin Kirda

File Transfer Protocol (FTP) & SSH

1. The Web: HTTP; file transfer: FTP; remote login: Telnet; Network News: NNTP; SMTP.

Applications and Services. DNS (Domain Name System)

Introduction to Network Operating Systems

Internet Technology 2/13/2013

internet technologies and standards

2- Electronic Mail (SMTP), File Transfer (FTP), & Remote Logging (TELNET)

Computer Networks. Lecture 7: Application layer: FTP and HTTP. Marcin Bieńkowski. Institute of Computer Science University of Wrocław

Computer Networks. Examples of network applica3ons. Applica3on Layer

Application-layer protocols

loss-tolerant and time sensitive loss-intolerant and time sensitive loss-intolerant and time insensitive

Principles of Network Applications. Dr. Philip Cannata

Proxies. Chapter 4. Network & Security Gildas Avoine

2- Electronic Mail (SMTP), File Transfer (FTP), & Remote Logging (TELNET)

1. When will an IP process drop a datagram? 2. When will an IP process fragment a datagram? 3. When will a TCP process drop a segment?

Cape Girardeau Career Center CISCO Networking Academy Bill Link, Instructor. 2.,,,, and are key services that ISPs can provide to all customers.

Internet Technologies. World Wide Web (WWW) Proxy Server Network Address Translator (NAT)

HTTP. Internet Engineering. Fall Bahador Bakhshi CE & IT Department, Amirkabir University of Technology

Application Layer: HTTP and the Web. Srinidhi Varadarajan

Electronic Mail

Lesson 13: DNS Security. Javier Osuna GMV Head of Security and Process Consulting Division

CS640: Introduction to Computer Networks. Applications FTP: The File Transfer Protocol

Chapter 2 Application Layer

Application Layer -1- Network Tools

Computer Networks & Security 2014/2015

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

Remote login (Telnet):

Introduction to Computer Networks

Introduction to Computer Security Benoit Donnet Academic Year

Application Layer. Abusayeed Saifullah. CS 5600 Computer Networks. These slides are adapted from Kurose and Ross

Introduction to LAN/WAN. Application Layer (Part II)

, SNMP, Securing the Web: SSL

Chakchai So-In, Ph.D.

Motivation. Domain Name System (DNS) Flat Namespace. Hierarchical Namespace

Lecture 2. Internet: who talks with whom?

CS 355. Computer Networking. Wei Lu, Ph.D., P.Eng.

CMPE 80N: Introduction to Networking and the Internet

CONTENT of this CHAPTER

Domain Name System :49:44 UTC Citrix Systems, Inc. All rights reserved. Terms of Use Trademarks Privacy Statement

How to Add Domains and DNS Records

Pass Through Proxy. How-to. Overview:..1 Why PTP?...1

Streaming Stored Audio & Video

File Transfer Protocol (FTP) Chuan-Ming Liu Computer Science and Information Engineering National Taipei University of Technology Fall 2007, TAIWAN

The Web History (I) The Web History (II)

IxLoad - Layer 4-7 Performance Testing of Content Aware Devices and Networks


CSIS CSIS 3230 Spring Networking, its all about the apps! Apps on the Edge. Application Architectures. Pure P2P Architecture

Copyright

The exam has 110 possible points, 10 of which are extra credit. There is a Word Bank on Page 8. Pages 7-8 can be removed from the exam.

Transferring Your Internet Services

FILE TRANSFER PROTOCOL INTRODUCTION TO FTP, THE INTERNET'S STANDARD FILE TRANSFER PROTOCOL

Domain Name System Richard T. B. Ma

Initial Setup of Mozilla Thunderbird with IMAP for OS X Lion

Advanced Higher Computing. Computer Networks. Homework Sheets

Configuring your client to connect to your Exchange mailbox

Lecture 2 CS An example of a middleware service: DNS Domain Name System

SETTING UP MICRSOFT OUTLOOK Sending and receiving mail through the Outlook 2013

Basic Internet programming Formalities. Hands-on tools for internet programming

Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network.

Computer Networks - CS132/EECS148 - Spring

EE4607 Session Initiation Protocol

World Wide Web. Before WWW

. Daniel Zappala. CS 460 Computer Networking Brigham Young University

Glossary of Technical Terms Related to IPv6

Chapter 2 Application Layer

Application Layer Protocols

Talk-101 User Guides Mailgate Administration Guide

File Transfer And Access (FTP, TFTP, NFS) Chapter 25 By: Sang Oh Spencer Kam Atsuya Takagi

IxLoad Data Mail (SMTP, POP3, IMAP) Features

Transcription:

1 Introduction: Network Applications Some Network Apps E-mail Web Instant messaging Remote login P2P file sharing Multi-user network games Streaming stored video clips Internet telephone Real-time video conference Massive parallel computing Network App Concept

Processes Communicating A process sends/receives messages to/from its socket Processes Communicating For a process to receive messages, it must have an identifier A host has a unique 32-bit IP address Identifier includes both the IP address and port numbers (16-bit) associated with the process on the host e.g. http://128.39.140.38:80 or telnet 128.39.140.38 80 About App Layer Protocols App Layer Protocols define: Types of messages exchanged, eg, request & response messages Syntax of message types: what fields in messages & how fields are delineated Semantics of the fields, ie, meaning of information in fields Rules for when and how processes send & respond to messages Public-domain protocols (e.g. HTTP, SMTP,..., RFCs) Proprietary protocols (e.g. KaZaA) Net App Requirements 2

2 Web: HTTP HyperText Transfer Protocol Web page consists of objects Object can be HTML file, JPEG image, Java applet, audio file,... Web page consists of base HTML-file which includes several referenced objects Each object is addressable by a URL e.g. http://www.hig.no/imt/index.php HyperText Transfer Protocol Web s application layer protocol Client/server model client: browser that requests, receives, displays Web objects server: Web server sends objects in response to requests HTTP 1.0 (1996): http://www.faqs.org/rfcs/rfc1945.html HTTP 1.1 (1997): http://www.faqs.org/rfcs/rfc2068.html Client initiates TCP connection (creates socket) to server, port 80 HTTP messages (application-layer protocol messages) exchanged between browser (HTTP client) and Web server (HTTP server) HTTP is stateless HTTP Request/Response 3

HTTP connections Nonpersistent HTTP At most one object is sent over a TCP connection HTTP/1.0 uses nonpersistent HTTP Persistent HTTP Multiple objects can be sent over single TCP connection between client and server HTTP/1.1 uses persistent connections in default mode RTT: Round Trip Time Persistency and Pipelining Nonpersistent requires 2 RTTs per object OS must work and allocate host resources for each TCP connection (browsers often open parallel TCP connections to fetch referenced objects) Persistent server leaves connection open after sending response subsequent HTTP messages between same client/server are sent over connection Persistent without pipelining 4

client issues new request only when previous response has been received 1 RTT for each referenced object Persistent with pipelining (default in HTTP/1.1) client sends requests as soon as it encounters a referenced object as little as 1 RTT for all the referenced objects Request Message GET, POST, HEAD, PUT, DELETE Response Message 200, 301, 400, 404, 505,... User-server state: cookies Four components 1. cookie header line in the HTTP response message 2. cookie header line in HTTP request message 3. cookie file kept on user s host and managed by user s browser 5

4. back-end database at Web site What cookies can bring authorization shopping carts recommendations user session state (Web e-mail) Cookies and privacy cookies permit sites to learn a lot about you you may supply name and e-mail to sites search engines use redirection & cookies to learn yet more advertising companies obtain info across sites User-server state: cookies Web Cache (Proxy) User sets browser: Web accesses via cache Browser sends all HTTP requests to cache object in cache: cache returns object else cache requests object from origin server, then returns object to client Cache acts as both client and server Typically cache is installed by ISP (university, company, residential ISP) 6

Web Cache (Proxy) 3 File Transfer: FTP FTP: File Transfer Protocol FTP: File Transfer Protocol Transfer file to/from remote host Client/server model http://www.faqs.org/rfcs/rfc959.html (1985) Active FTP Client contacts server port 21 from client port N (>1023) Server contacts client port N+1 from port 20 Passive FTP Client contacts server port 21 from client port N (>1023) Server starts listening to port M (>1023) and tells client about it Client contact server port M from client port N+1 e.g. http://slacksite.com/other/ftp.html 7

FTP: File Transfer Protocol FTP uses TCP for all connections, non-persistant, only one file transfer per connection Control connection: out of band FTP server maintains state : current directory, earlier authentication Commands: USER, PASS, LIST, RETR, STOR,... Return codes (similar to HTTP) 331 Username OK, password required 425 Can t open data connection 452 Error writing file 4 Mail: SMTP & POP/IMAP Mail Protocols SMTP: Simple Mail Transfer Protocol http://www.faqs.org/rfcs/rfc2821.html TCP to server port 25 Three phases of transfer greeting (handshake) transfer of messages closure Commands: HELO/EHLO, MAIL FROM, RCPT TO, DATA, QUIT Return codes: 220, 250, 354, 221,... Messages must be 7-bit ASCII Persistant connections 8

Mail Message Format http://www.faqs.org/rfcs/rfc822.html (1982) MIME: Multimedia Mail Extension http://www.faqs.org/rfcs/rfc2045. html Additional lines in msg header declare MIME content type MIME-version: 1.0 Content-Transfer-Encoding: e.g. base64 Content-Type: e.g. image/jpeg POP: Post Office Protocol http://www.faqs.org/rfcs/rfc1939.html (POP3, 1996) Commands: USER, PASS, LIST, RETR, DELE, QUIT Return codes: +OK, -ERR POP3 is stateless across sessions IMAP: Internet Mail Access Protocol http://www.faqs.org/rfcs/rfc2060.html (IMAP4rev1, 1996) More powerful than POP allows user to organize messages in folders can retrieve parts of messages IMAP keeps user state across sessions names of folders and mappings between message IDs and folder name 5 Name Resolution: DNS DNS: Domain Name System Distributed database implemented in hierarchy of many name servers Core Internet function, implemented as application-layer protocol Provides Hostname to IP address translation IP address to hostname translation Host aliasing 9

Mail server aliasing Load distribution (Authorative information about your network!) (new uses appear, e.g. RBL, SPF) UDP to server port 53 (switch to TCP same port if reply > 512 bytes) Interaction of DNS servers Authorative and Local/Caching servers Recursive and Iterative Queries DNS: Resource Records RRs: (Name, Value, Type, TTL) SOA Start Of Authority NS Name Server A Address, define the canonical name of an IP address CNAME Canonical NAME, define alias to canonical name PTR PoinTer Record, reverse mapping DNS: Message Format 10

6 Next Week Next Week Transport Layer - Chapter three remember: talk app protocols over tcp with telnet! 11