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

Preview:

Citation preview

CSCI 233

Class 11

Dave Roberts

2

Agenda World Wide Web SNMP Your Career

3

HTTP

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

5

Size of the Web

Source: whoishostingthis.com

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

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>

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>

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.

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

11

HTTP Message

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

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

13

HTTP Get, Illustrated

14

Errors Server presents error messages to browser in

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

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?

16

Length Encoding, Headers

HTTP borrows 822 format and MIME extensions from email

Each line has keyword, colon, value

17

Example of Transfer

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

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

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

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

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

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

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

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

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.

26

The Other Server: HTTP Proxy Cache Server

Source: Apache Server Documentation

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

28

WEBDAV

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.

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

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.

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.

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

34

SNMP

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

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

Network Management Example

37Management client, management agents

SNMP

38

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

information to be maintained

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

MIB Categories for TCP/IP

40

Examples of MIB Variables

41

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

SNMP Messages

43

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

Data areas can be encrypted

SNMP Operations

44

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

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

47

Careers

One Path

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?

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

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

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

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

53

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

Joomla 2 Sendmail 3 Java 2 Lucid 3

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

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

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

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

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

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

Recommended