CMPE 151: Network Administration. Servers

Similar documents
3. WWW and HTTP. Fig.3.1 Architecture of WWW

Computer Networks. Wenzhong Li. Nanjing University

Chapter 27 WWW and HTTP Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

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

SCS3004 Networking Technologies Application Layer Protocols

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

Internet Architecture. Web Programming - 2 (Ref: Chapter 2) IP Software. IP Addressing. TCP/IP Basics. Client Server Basics. URL and MIME Types HTTP

CMSC 332 Computer Networking Web and FTP

CCNA Exploration1 Chapter 3: Application Layer Functionality and Protocols

Application Layer: OSI and TCP/IP Models

COSC 2206 Internet Tools. The HTTP Protocol

Web Technology. COMP476 Networked Computer Systems. Hypertext and Hypermedia. Document Representation. Client-Server Paradigm.

Application Level Protocols

06/02/ Local & Metropolitan Area Networks 0. INTRODUCTION. 1. History and Future of TCP/IP ACOE322

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

Notes beforehand... For more details: See the (online) presentation program.

CCNA Exploration Network Fundamentals. Chapter 03 Application Functionality and Protocols

CSC 4900 Computer Networks:

EEC-682/782 Computer Networks I

Web, HTTP and Web Caching

Application Layer Introduction; HTTP; FTP

Hypertext Transport Protocol

Session 8. Reading and Reference. en.wikipedia.org/wiki/list_of_http_headers. en.wikipedia.org/wiki/http_status_codes

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

Unit 28 Website Production ASSIGNMENT 1

2. Introduction to Internet Applications

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

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

COMPUTER NETWORKS AND COMMUNICATION PROTOCOLS. Web Access: HTTP Mehmet KORKMAZ

Motivation For Networking. Information access Interaction among cooperative application programs Resource sharing

Produced by. Mobile Application Development. Higher Diploma in Science in Computer Science. Eamonn de Leastar

Review of Previous Lecture

CCNA Exploration Network Fundamentals. Chapter 3 Application Layer Functionality and Protocols

Application-layer Protocols and Internet Services

1-1. Switching Networks (Fall 2010) EE 586 Communication and. September Lecture 10

1.1 A Brief Intro to the Internet

HyperText Transfer Protocol

Global Servers. The new masters

Advanced Java Programming. Networking

1.1 A Brief Intro to the Internet

WWW: the http protocol

The Application Layer HTTP and FTP

The World Wide Web. Internet

CS321: Computer Networks FTP, TELNET, SSH

Electronic Mail Paradigm

Internet Applications. Dr Steve Gordon ICT, SIIT

APPLICATION LAYER APPLICATION LAYER : DNS, HTTP, , SMTP, Telnet, FTP, Security-PGP-SSH.

World-Wide Web Protocols CS 571 Fall Kenneth L. Calvert All rights reserved

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

ICS 351: Today's plan. IPv6 routing protocols (summary) HTML HTTP web scripting languages certificates (review) cookies

CCNA R&S: Introduction to Networks. Chapter 10: The Application Layer

Web as a Distributed System

CSCE 463/612 Networks and Distributed Processing Spring 2018

Application Protocols and HTTP

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

M2-R4: INTERNET TECHNOLOGY AND WEB DESIGN

Protocols. Networking CS 3470, Section 1 Sarah Diesburg

Chapter 10: Application Layer

Project 1: Web Client and Server

INTERNET ENGINEERING. HTTP Protocol. Sadegh Aliakbary

Introduc)on to Computer Networks

Outline of Lecture 3 Protocols

Chapter 2. Application Layer

ZENworks for Desktops Preboot Services

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

4 Enter an IP address and sub-net mask for the ftp server and. 5 Go to the [System and Maintenance] > [Administrative Tools]

CS321: Computer Networks TELNET, SSH

CS 43: Computer Networks. HTTP September 10, 2018

Layered Model. DoD Model. ISO/OSI Model

Session 9. Deployment Descriptor Http. Reading and Reference. en.wikipedia.org/wiki/http. en.wikipedia.org/wiki/list_of_http_headers

Networked Applications: Sockets. Goals of Todayʼs Lecture. End System: Computer on the ʻNet. Client-server paradigm End systems Clients and servers

Applications & Application-Layer Protocols: The Web & HTTP

User Manual. Admin Report Kit for IIS 7 (ARKIIS)

CSMC 412. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala Set 2. September 15 CMSC417 Set 2 1

WEB TECHNOLOGIES CHAPTER 1

UNIBOX. Hotspot Management Application. Quick Start Guide

Objectives. Connecting with Computer Science 2

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

Java Applets, etc. Instructor: Dmitri A. Gusev. Fall Lecture 25, December 5, CS 502: Computers and Communications Technology

Networked Applications: Sockets. End System: Computer on the Net

Computer Networks Prof. Ashok K. Agrawala

EE 122: HyperText Transfer Protocol (HTTP)

1.1 A Brief Intro to the Internet

Key Points for the Review

Announcements. The World Wide Web. Retrieving From the Server. Goals of Today s Lecture. The World Wide Web. POP3 Protocol

COMS3200/7201 Computer Networks 1 (Version 1.0)

The World Wide Web. EE 122: Intro to Communication Networks. Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim

SIR C.R.REDDY COLLEGE OF ENGINEERING, ELURU DEPARTMENT OF INFORMATION TECHNOLOGY LESSON PLAN

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

Configuring the WT-4 for ftp (Ad-hoc Mode)

CS 43: Computer Networks. Layering & HTTP September 7, 2018

UNIT V Introduction to Application Layer HTTP Non persistent versus Persistent Connections Non persistent Connections

Chapter 2 Application Layer

Networks, WWW, HTTP. Web Technologies I. Zsolt Tóth. University of Miskolc. Zsolt Tóth (University of Miskolc) Networks, WWW, HTTP / 35

TELNET is short for Terminal Network Enables the establishment of a connection to a remote system, so that the local terminal appears to be the

World Wide Web. Before WWW

Information Network Systems The application layer. Stephan Sigg

VI. Corente Services Client

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

Lecture 9a: Sessions and Cookies

Transcription:

CMPE 151: Network Administration Servers

Announcements Unix shell+emacs tutorial.

Basic Servers Telnet/Finger FTP Web SSH NNTP Let s look at the underlying protocols.

Client-Server Model Request Response CLIENT SERVER

Client-Server Model CLIENTS SERVERS

Client-Server Model

Telnet

Telnet Remote terminal protocol. Allows users to login remotely.

Telnet User s machine Telnet client Telnet server OS TCP connection over Internet OS

Telnet basic operation When user invokes telnet, telnet client on user machine establishes TCP connection to specified server. TCP connection established; user s keystrokes sent to remote machine. Telnet server sends back response, echoed on user s terminal. Telnet server can accept multiple concurrent connections.

Handling heterogeneity Telnet protocol specifies standard data exchange: network virtual terminal (NVT). Telnet client and server make translation.

Finger

Finger Returns information on users currently logged on to a specified host. Finger server is often not running. Implementation error in early version was used as the entry point for the Internet worm (1988). Reveals private information.

Finger (cont d) Also uses TCP. Client opens TCP connection to finger server. Client sends query. Server processes query, sends reply back, and closes connection. If finger server not running, client receives error message (e.g., Connection refused ).

File Transfer

File Transfer On-line versus off-line access. Underlying transport protocol?

FTP Operation Client Server Data Control Data Control OS OS TCP connection

Port Assignment FTP server listens on well-known port (21); data transfer uses port 20. On client side, uses any unused port; client control process communicates that port number to server. Server process initiates data transfer connection.

Anonymous FTP Allows access to public files. No need to authenticate user. Access restricted to publicly available files (e.g., in /usr/ftp).

The Web

The Server Side Web site has Web server running that answers requests for pages locally served. Web server listens to port 80 for requests. When request from client arrives, connection is set up. Server replies. Connection released.

Example User clicked on www.w3.org/hypertext/www/theproject.html.

Example (cont d) Browser asks DNS to resolve www.w3.org. DNS replies with 18.23.0.23. Browser sets up connection to 18.23.0.23 port 80. Browser sends GET /hypertext/www/theproject.html. www.w3.org server sends TheProject.html file. Connection released. Browser displays TheProject.html, fetching and displaying all embedded objects (images, etc).

Observations Many browsers display status information at bottom of the screen. For each embedded object (in-line image like icon, picture, etc), browser establishes new connection. Performance hit. Revisions to protocol (HTTP) address this.

More Observations Server s response specifies object type (using MIME) followed by object body. For example: Content-Type: Image/GIF Content-Type: Text/html

MIME Multipurpose Internet Mail Extensions (RFC 1521). Before MIME, objects (at the time e- mail messages) consisted of text only. Only need to specify headers (subject, date, reply-to, etc). Mainly due to Web, that no longer works: need to specify and structure object content.

MIME (cont d) Adds structure to message body and defines encoding rules for non-textual messages. 5 new message (MIME) headers: MIME version. Content description. Content id. Content encoding. Content type.

HTTP HyperText Transfer Protocol. Each interaction: client s ASCII request followed by MIME-like response. Use TCP as underlying transport protocol (although not required by standard). Several co-existing versions of HTTP.

HTTP Operations Commands (method) to be executed on object (Web page). GET Request to read Web page HEAD Request to read Web page s header PUT Request to store Web page POST Append to specified object (e.g., Web page) DELETE Deletes Web page LINK Connects 2 objects UNLINK Disconnects 2 objects

HTTP Responses Every request gets response with status information. Status code 200: OK. Status code 400: bad request. Status code 304: not modified.

Non-Persistent Connections Up to HTTP 1.0, separate connection for each data transfer. Parallel connections.

Persistent Connections HTTP 1.1: persistent connections. Same connection for multiple transfers. Less overhead (connection management, slow start), less machine resources (buffers, connection id s). But, need to recognize beginning and end of an item (use length information).

Pipelining No pipelining: client issues new request only after getting response from previous request. Pipelining: client issues requests as soon as it finds a reference.

Proxy servers What are proxy servers? Close to client. Close to server.

Client-side proxies Clients Proxy Servers

Server-side proxies Clients Proxy Proxy Servers

Caching What s caching? What are its benefits? What are its problems?

HTTP support for caching Servers can control caching. Cachable/non-cacheable object. Cacheable at proxy. Cached object expiration time. Operations performed on cached copy. Browsers can force request to go to server. Specifies maximum age not to be > 0.

Internet caches Peers. Hierarchical caches.

Uniform Resource Locator Way to identify objects (pages). What is page called? Where is it located? How to access page? URL has 3 parts: Protocol (or scheme). Machine s name/address. Local name (file name).

URL Ability to handle other protocols. HTTP, FTP, news, gopher, mail, telnet.

HyperText Markup Language Allows users to produce Web pages including text, graphics, pointers, etc. Application of the ISO SGML (Standard Generalized Markup Language) standard. Markup language: describe how objects are to be formatted. Contains explicit commands for formatting. Example: <B> and </B>. Advantages: easy to parse.

Dynamic Pages A dynamic document is generated by the server at each new connection. That s why sometimes, when downloading from the same URL, we obtain different pages. Common Gateway Interface (CGI) standard defines server-application interaction. CGI programs can be as simple as adding the time or date to the page. Browser may supply parameters to CGI program. Browser extends URL with additional parameters separated by?

Forms Forms permit a web page to have blank areas in which the user must enter information. Makes it possible to enter data directly. Name, address, credit card info Allows information to be sent to the server directly.

Forms HTML 1.0: one-way exchange. Enable users to get information from servers. Users could not send information back. Example: on-line order forms. HTML 2.0 allows forms. INPUT, SUBMIT. <FORM> and </FORM>.

CGI Common Gateway Interface. CGI scripts: programs that read input, process it, and generate output. Example: after completing a form, user clicks on SUBMIT; this causes browser to invoke associated CGI script (given by URL). CGI script can generate output in the form of a HTML page that is returned to browser, which interprets and displays it. Commercial use of the Web.

What is a Cookie?

What is a Cookie? A server invokes a CGI program each time a request arrives for the associated URL. The server does not maintain any history of requests. But a history is useful to allow CGI program to participate in dialog (e.g., to avoid having a user answer questions repeatedly). Information saved between invocations is called state information. State information is kept at the client s side!

What is a Cookie (cont d) State information is passed by browser in the form of a cookie. The cookie is kept in the client s computer. When it contacts the Web server again, the browser inserts the cookie in the request.

A More Interactive Web HTML used to write static Web pages. With CGI, some activation possible. Java makes the Web more interactive. Java program is executed directly on the client s machine. Allows to add animation, sound, etc. to Web pages efficiently Remote execution model. Instead of buying software, installing it, etc., just click on the appropriate applet from vendor s Web page and get applet downloaded, executed, etc.

Network News

NNTP Network News Transfer Protocol. RFC 977 (1986) Distribution of news articles. Inquire, retrieve, and post articles.

Alternative Mailing lists. Scalability issues. Maintenance issues.

(Usenet) News Client/server model. News server maintains news database. Client connects to server and reads, posts, etc. articles.

News Distribution News database distributed among several news servers. How to distribute news among servers? One alternative is flooding (UUCP)!

NNTP NNTP is pull based. Server connects to its neighbor. Asks whether there any new newsgorups. Asks whether there are any new news articles in the relevant newsgroups. Uses TCP.

NNTP Logical Topology UCB UCSC UofArizona Stanford

Some NNTP Commands ARTICLE. Displays header and body of specified article. HEAD and BODY. GROUP. Returns article numbers of first and last articles in the group. IHAVE. Informs that client has articles specified.

More NNTP Commands LIST. Returns list of valid newsgroups. NEWGROUPS. Returns list of new groups created. NEWNEWS. Returns list of new articles posted. POST.

Secure Shell (SSH)

What s SSH? Secure alternative to remote access services (e.g., rlogin, telnet, etc.). Provides authentication and secure communication. ssh client and ssh server.

SSH in operation Client authentication: Several methods: host-based, asymmetric keys, password-based. Host-based authentication: e.g., if client machine is in /etc/hosts.equiv or /etc/shosts.equiv. Asymmetric keys:set of allowed public/private key pairs; user selects one pair; informs server; server checks if key is allowed; replies with a challenge, i.e., a random number encrypted with client pulic key. Password-based authentication (all communication encrypted)

SSH operation (cont d) After the authentication phase, the user can login to the machine, execute commands remotely, etc. SSH database keeps id information about all hosts it has ever communicated with. For RSA authentication, user generates public-private key pair and stores it locally; the user should then copy the public key to specific directory in the user s home directory in the remote machine. After this, login is automatic.

DHCP

DHCP Dynamic Host Configuration Protocol. Automate some network management procedures. RFC 2132.

What does DHCP do? Allows hosts to get information needed to get connected. What info? IP address. Net masks. Default routes (gateways). DNS name servers

DHCP overview Client-server. Evolved from BOOTP. BOOTP enables diskless UNIX machines to boot off of the network. More info and leases.

DHCP operation Broadcasts a Hello -type message. If DHCP server on local sub-network, server responds providing temporary IP address, etc. If no local DHCP server, initial client Hello message can be relayed to DHCP servers on other subnets. Clients need to renew their release before it expires. Servers keep state about assigned addresses.