59
CSCI 233 Class 11 Dave Roberts

CSCI 233 Class 11 Dave Roberts. Agenda World Wide Web SNMP Your Career 2

Embed Size (px)

Citation preview

Page 1: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

CSCI 233

Class 11

Dave Roberts

Page 2: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

2

Agenda World Wide Web SNMP Your Career

Page 3: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

3

HTTP

Page 4: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

4

World Wide Web Early Internet data transfers largely used FTP By 1995, Web traffic overtook FTP, has been

the leader ever since Web and Internet are identical for many users The Web is transforming society in many ways

Page 5: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

5

Size of the Web

Source: whoishostingthis.com

Page 6: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

6

What Is the Web? Web pages—a large set of documents (each a

file), accessible to Internet users Each is called a hypermedia document

Hyper—document can contain links to other documents Media—document can contain media other than text

Web browser and web server are building blocks Browser—application program that user invokes to

display a web page Server—application program that delivers web

pages on request to browsers

Page 7: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

7

Web Protocols and Languages HTTP—protocol used to transfer Web pages

between requesting host and Web server HTML—markup language used to represent

documents that can include text, images, sound, video, other media

HTML tags in < > brackets, as <B> and </B>

Page 8: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

8

URL Uniform Resource Locator (URL)—each Web

page has a URL

<scheme> is generally a type of access method such as http or ftp

<scheme>://<scheme-specific part>

Page 9: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

9

An Example

This is an html document:

<HTML>This course is Internet Protocols, at <A HREF=“http://www.gwu.edu”>George Washington University.</A>

</HTML>Is displayed as

This course is Internet Protocols at George Washington University.

Page 10: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

10

Hypertext Transfer Protocol (HTTP) Application level—assumes reliable, connection-

oriented transport service (usually TCP) Request/Response—once session is established,

one side must send HTTP request to which the other side responds

Stateless—each HTTP request is self-contained Bi-Directional Transfer—browser, server can

transfer in both directions Capability negotiation—browser, server negotiate Caching—browser caches each page it receives; if

requested again, browser can ask server if there have been changes

Intermediaries—allows machines along the path to act as proxy server that caches Web pages

Page 11: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

11

HTTP Message

A complete HTTP message consists of a client request and a sever response:HTTP-message = Request | Response

Page 12: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

12

HTTP GET Request Browser starts with URL Browser extracts hostname, uses DNS to

map name into IP address Browser uses IP address to form TCP

connection to server Browser and Web server use HTTP to

communicate Browser sends GET for page Server sends copy of requested page

Page 13: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

13

HTTP Get, Illustrated

Page 14: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

14

Errors Server presents error messages to browser in

valid HTML Browsers render error message for user User can read the error message

Page 15: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

15

Persistent Connections Early versions of HTTP used a separate

session for each transfer—separate TCP connection

HTTP 1.1 introduced a persistent connection—TCP connection is reused

HTTP sends a length, followed by data, to mark ends of objects during connection

If server doesn’t know length, then it informs the browser that it will close the connection after the transfer

What are the benefits of a persistent connection?

Page 16: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

16

Length Encoding, Headers

HTTP borrows 822 format and MIME extensions from email

Each line has keyword, colon, value

Page 17: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

17

Example of Transfer

Content-length: 34Content-language: enContent-encoding: ascii<HTML> A Trivial example. </HTML>Connection: close

Page 18: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

18

Negotiation Server-driven

Begins with browser request Specifies list of preferences, and URL Server selects a representation that meets

browser preferences Agent-driven

Browser asks server what is available Sends second request to obtain the item Requires extra interaction, but keeps the

browser in complete control

Page 19: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

19

Conditional Requests Browser can make a request conditional Request is honored only if the condition can

be met Example: the header

If-Modified-Since: Sun, 10 Nov 2002 08:00:01 GMT

can be used along with a GET request for a page

Page 20: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

20

Request Methods

HEAD—Asks for response like GET, without response body. GET—Requests a representation of the specified resource. POST—Submits data to be processed to the identified resource. PUT—Uploads a representation of the specified resource. DELETE—Deletes the specified resource. TRACE—Echoes back the received request. OPTIONS—Returns HTTP methods supported for a URL. CONNECT– Converts the request connection to a transparent

TCP/IP tunnel PATCH—Applies partial modifications to a resource.

Note: all methods except PUT are idempotent

Page 21: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

21

Date Formats

Supported date formats:Sun, 06 Nov 2002 08:49:37 GMT

RFC 822, updated by RFC 1123 Sunday, 06-Nov-02 08:49:37 GMT

RFC 850, obsoleted by RFC 1036 Sun Nov 6 08:49:37 2002

ANSI C's asctime() format Recognition of all three is required; the

first must be used if dates are generatedAll Internet times are required to be in

GMT

Page 22: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

22

Content Coding

Content coding is used to enable compression. Some types: Gzip—produced by GNU Zip Compress—produced by UNIX compress Deflate—combines deflate program results with

rlib compression Identity—default, no compression

Page 23: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

23

Proxy Servers Browser can be configured to contact proxy

server instead of original source Proxy must be configured to cache Web pages Proxies can reduce traffic to the Internet HTTP includes explicit support for proxies,

variety of control commands

Page 24: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

24

Caching Caching reduces Internet traffic by saving

a page when retrieved Subsequent requests for a page can be

fulfilled by delivering a file from the cache How long should a page be kept?

Too long: it gets stale Too short: inefficiency

Server can specify caching details Browser can specify zero age for retrieved

page Caching should be semantically

transparent

Page 25: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

25

Cache Control Directives

Cache-Control: public—browser and proxies may cache the pageCache-Control: private—proxies may not cache, browsers may Cache Control: No-cache—browser must revalidate with the server before serving the page from the cache. Cache Control: No-store—browser may not cache, may not store Cache Control: max-age—browser may cache, but must re-validate with the server if the max-age is exceeded. Cache Control: must-revalidate—browser must revalidate the page against the server before serving it from cache. Cache Control: proxy-revalidate—proxy servers must revalidate, but the user’s browser need not revalidate.

Page 26: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

26

The Other Server: HTTP Proxy Cache Server

Source: Apache Server Documentation

Page 27: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

27

HTTP Delivers pages from a hyperlinked web of files

that spans the world URLs link pages to one another and to objects

that are part of pages Includes media of various types as well as text Makes extensive use of caching to improve

performance—and reduce costs

Page 28: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

28

WEBDAV

Page 29: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

29

WebDAV

WebDAV stands for "Web-based Distributed Authoring and Versioning". It is a set of extensions to the HTTP protocol which allows users to collaboratively edit and manage files on remote web servers.

Page 30: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

30

WebDAV is

The HTTP extensions necessary to enable distributed web authoring tools to be broadly interoperable

A network file system that works on entire files at a time, with good performance in high-latency environments

A protocol for manipulating the contents of a document management system via the Web

Page 31: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

31

WebDAV Goals

To support virtual enterprises, being the primary protocol supporting a wide range of collaborative applications.

The support of remote software development teams.

To leverage the success of HTTP as a standard access layer for a wide range of storage repositories -- HTTP gave them read access, while DAV gives them write access.

Page 32: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

32

WebDAV Features Locking: long-duration exclusive and shared write

locks prevent the overwrite problem. The duration of DAV locks is independent of any individual network connection.

Properties: XML properties provide storage for arbitrary metadata, such as a list of authors on Web resources. These properties can be efficiently set, deleted, and retrieved using the DAV protocol. DASL, the DAV Searching and Locating protocol, provides searches based on property values.

Namespace manipulation: Since resources may need to be copied or moved as a Web site evolves, DAV supports copy and move operations. Collections, similar to file system directories, may be created and listed.

Page 33: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

33

Summary WWW consists of hypermedia documents

stored on Web servers, accessed by browsers

HTML allows a document to contain text, formatting commands, graphics and links to other documents

HTTP is an application-level protocol that supports negotiation, proxy servers, caching and persistent connections

WebDAV adds support for writing to HTTP, along with distributed versioning control

Page 34: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

34

SNMP

Page 35: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

Network Management

35

Simple approach for a single network—use link level protocol for network management Switches can be instructed to send control packets Control packets cause receiver to act under control

of manager, suspending normal operation But! The Internet is multiple IP networks

interconnected by routers, has no single link level protocol Single manager can control only homogeneous

devices Controlled entities may not have common link level

protocol Machines under control may be at arbitrary points in

the Internet

Page 36: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

Internet Network Management

36

Network management protocols operate at the application layer

Network management uses TCP/IP transport level protocols

Advantage—one set of protocols for all devices

Disadvantage—may be impossible to reach a device not operating properly, can’t do anything unusual with link level protocols

Page 37: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

Network Management Example

37Management client, management agents

Page 38: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

SNMP

38

Simple Network Management Protocol Defines set of operations and meaning of each Management Information Base—MIB—required

information to be maintained

Page 39: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

39

Structure of Management Information SMI standard covers MIB variables

Restrictions on types of variables Rules for naming MIB variables Rules for defining variable types

Abstract Syntax Notation 1 (ASN.1) is required Notation readable by humans Compact representation used by communication

protocols

Page 40: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

MIB Categories for TCP/IP

40

Page 41: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

Examples of MIB Variables

41

Page 42: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

SNMP

42

Defining SNMP with explicit commands could be very complex

Instead, fetch-store paradigm is used Operations take place as a side effect of fetch

and store operations

Page 43: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

SNMP Messages

43

No fixed formats Integer that specifies protocol version Additional header data Security parameters Data area

Data areas can be encrypted

Page 44: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

SNMP Operations

44

Page 45: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

Summary

45

Network management protocols are used to control routers and hosts

Devices are managed by a protocol that runs at the application layer.

SNMP is based on fetch-store paradigm MIB defines all variables maintained by a

managed entity

Page 46: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

46

Some Internet Design Principles Good Citizen Principle Conserve Router Time Make control messages human-readable Soft state Dumb Internet layer Simplicity Violate layers when needed

Page 47: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

47

Careers

One Path

Page 48: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

48

Importance of the Web

“Metcalfe’s Law”—value of a network is proportional to the square of the number of connections (more or less)

Computers are valuable, but they add that value only when they can access the needed information

What if every computer in the world had access to all relevant information? What happens to the value of computing?

Page 49: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

49

Changes Due to the Web In business—disintermediation

Businesses that sell information from other businesses are disappearing Travel agents, bookstores, CD stores

In politics—democracy Rising importance of small campaign donors

Obama campaign Inability of governments to control information

flow Social networks and insurrections

Page 50: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

50

In Technology The Web has enabled the Open Source

software movement Complex software products developed by

dispersed volunteers who can work together on the Web

Economics of packaged software business, built on large margins, are collapsing

Page 51: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

51

Stages of Open Source Maturity Stage One—volunteers writing products in

their spare time, as a hobby Stage Two—companies assigned some

programming professionals to work on open source projects as their work assignment

Stage Three—company formed to support and add value to an open source product

Page 52: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

52

Impact of Open Source

Costs to users decrease significantly “Closed” software companies must

compete with zero cost “Closed” software companies will offer

larger and larger integrated suites Eventually open source will offer suites as

well In the long run, the highly profitable run of

closed software companies will end

Page 53: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

53

Open Source Examples Enterprise DB 3 MySQL 3 WordPress 3 Flex 2

Joomla 2 Sendmail 3 Java 2 Lucid 3

Page 54: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

54

Choices In software, work with a technology provider or an

organization that’s a technology user Large technology product companies used to

provide good careers, in the future won’t provide as many long-term careers

Large technology companies can provide good experience for early career development, can be a way to make contacts among large-scale users of technology

Stage Three open source companies will provide steady employment but not huge riches

Users of technology will provide the bulk of the good jobs

Page 55: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

55

The Future of Commerce Commerce will increasingly be dominated by

the Internet because of low “friction” of Internet business

Creative use of the Internet has produced the greatest business successes ever—already

Every business will have its level of success greatly affected by its use of the Internet

Page 56: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

56

The Future of Application Development Technology providers will develop

sophisticated applications, but there are relatively few opportunities to work for them

Technology users will develop primarily applications that use a database

The database paradigm—CRUD operations—will dominate the applications of technology users

Page 57: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

57

What It Means to You Your career will be about use of the Internet Learn how Internet protocols work Learn how to write Web applications that

present HTML screens and use a database Learn how to develop good HTML interfaces Learn simple Web site design

Page 58: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

58

Even Better The future belongs to those who have a deep

understanding of the Internet and its impact, who can apply that knowledge to business

These people will become essential to business strategy—and the success of the business

They understand the technology—deeply—and also understand business

Page 59: CSCI 233 Class 11 Dave Roberts. Agenda  World Wide Web  SNMP  Your Career 2

59

How to Be A Huge Success

1. Learn how the Internet actually works, such as by taking CSCI 6433

2. Learn how to build Internet applications (such as by taking CSCI 6442) and the basics of Web site design

3. Learn about business, marketing and sales especially, by taking courses and through experience

4. Spend time in a service organization and pay attention to what works and what doesn’t work