Internet Systems Design - User page server for CoE

Download Report

Transcript Internet Systems Design - User page server for CoE

Section 1:
Internet
Technologies
1
Internet Overview
2
What is the Internet?






Collection of computers networked
together
Uses standards based on TCP/IP
Data broken down into packets
Allows for differing computer platforms to
communicate
Based on globally unique address for
each node
Network is global
3
The Internet Network
Computer
Computer
Data
Data
Internet
Computer
Data
Data
Data
Computer
Data
Computer
4
Using the Internet
User
Computer
Application
Data
TCP/IP
Internet
Data
Internet
Connection
Internet
5
Computer to Access Internet:
Three Requirements

Application - many available


TCP/IP



E-Mail, Web Browser, Server, File Transfer,
Video Conferencing, + Others
Standard in computer operating systems
Interfaces to Internet
Internet Connection
6
User
Application
TCP/IP
Data
Internet
Connection
E-Mail
Web Browser, Server
File Transfer Protocol
Video Conferencing
+ Others
Included with Computer
Operating System
(usually)
Internet
7
Internet Connection
User
Application
TCP/IP
•Plain Phone Line (POTS)
•Higher Speed Phone Line:
ISDN, DSL
•Cable Modem
•Ethernet etc.
Internet
8
Example:What is the throughput capacity of
this system?
100 500
150
250
10
300
Throughput in MB/Sec
Note: real Internet is very large scale and dynamic
9
What is the World Wide Web?







Client: browser connected to Internet.
Uses hypertext and graphics to display information
Server: server software connected to Internet
Client-Server based - no platform incompatibilities (?)
Any WWW browser can connect to any WWW server
(if both follow standards)
Rapid growth in capabilities of servers and clients
(browsers).
Note use of standards.
10
The World Wide Web
Computer
Request Received
Data Sent
Server
Data resides
on server
TCP/IP
Internet
Data
Request Sent
Data Received
Client clicks on hyperlink.
Data received
Browser
Computer
TCP/IP
11
WWW and Hyperlinks



Use embedded codes to allow for hyperlinks
(Hypertext Markup Language).
When viewed in browser, user does not see
embedded codes.
Allows for simple point and click navigation.
12
Browsers





Increasing
Sophistication
Hyperlinked text
Graphics
Plug-ins (e.g. sound, video)
Active elements (Java, ActiveX)
Operating Environment
13
Web Pages and HTML




Hypertext Markup Language (HTML)
Uses tags that allow browser to change the
format
Tools to help write HTML (Word, FrontPage
etc.)
See refs on web site
14
HTML Element
An HTML element may include a name,
some attributes and some text or hypertext
<tag_name> text </tag_name> or
<tag_name attribute_name=argument> text
</tag_name> or
<tag_name>

15
HTML Text Elements
<h1> . . . </h1> Heading 1 to heading 6 <h6> . . .
</h6>
 <b> . . . </b> Bold; <i> . . . </i> Italic; <u> . . .
</u> Underline
 Unordered List ul
<ul>
<li> First item in the list
<li> Next item in the list
</ul>

16
HTML Hyperlink

<a href="URL"> . . . </a>
Links to another file or resource



Also need <html> <head> and <TITLE>
Examples
Other elements are also defined – will be
using HTML Forms later
17
<html>
<head>
<TITLE>HTML Example</TITLE>
</head>
<body>
<H1>HTML is Pretty Easy To Learn</H1>
<P>Welcome to HTML. This is a paragraph.</P>
<IMG
SRC=http://www.engineering.uiowa.edu/~pjogrady/Internet/ImagesSounds/JA
CKSGLOBE.gif>
<P> <A HREF =
"http://www.engineering.uiowa.edu/~pjogrady/Internet/Default.htm">
This is a hyperlink</A></P>
</body>
</html>
1. Put the above text in a file named *.htm or *.html (use
Notepad or similar text editor.)
2. Open using browser
3. Browser interprets tags to display contents
18
19
Growth in Number of Web
Sites

1992


50 web sites in world.
Now

65,000 web sites added per hour.
20
Thoughts on the Issue of
Internet Overload.


The first suggests that the internet capacity is a
finite resource but that users are not charged for
each use. Hence Internet will be overused.
The second school of thought more optimistically
suggests that the Internet can continue to grow
and response time can remain reasonable.
Seems to be the most accurate.
21
Internet Traffic


Routers on the Internet continually collate
the return time for test packets and this is
called the ping delay (next slide)
Used as part of routing for packets
22
Technology Change
“Technology will develop in response
to customer demand”
Peter O’Grady


Processor (Moore’s Law)
Communications Capacity (Gilder's Law)
(infrastructure and bandwidth)


More complex to forecast than processor
Estimate to be growing by factor of three per year
(doubtful)
23
From http://www.physics.udel.edu/wwwusers/watson/scen103/intel.html.
24
From: The Economist, 2003
25
Computer Processing Power:
Moore's Law
MIPs
1200
1000
1000
Compaq
Microsoft
Dell
800
600
500
400
300
200
0.3
0.9
5
20
8088
8286
8386
8486
100
0
Pentium Pentium Pentium
Pro
II
886
26
Name
Date
Transistors
Microns
Clock
speed
MIPS
8080
1974
6,000
6
2 MHz
0.64
8088
1979
29,000
3
5 MHz
0.33
80286
1982
134,000
1.5
6 MHz
1
80386
1985
275,000
1.5
16 MHz
5
80486
1989
1,200,000
1
25 MHz
20
Pentium
1993
3,100,000
0.8
60 MHz
100
Pentium II
1997
7,500,000
0.35
233 MHz
~300
Pentium III
1999
9,500,000
0.25
450 MHz
~510
Pentium 4
2000
42,000,000
0.18
1.5 GHz
~1,700
Pentium 4
"Prescott"
2004
125,000,000
0.09
3.6 GHz
~7,000
From: http://computer.howstuffworks.com/microprocessor2.htm
27
Communications (2002 = 1)
7000
6000
5000
4000
3000
2000
1000
0
2002
2003
2004
2005
2006
2007
2008
2009
2010
Investment in new fiber has slumped
Estimated 95% of fiber is “dark”
Potential increase in efficiency of existing fiber.
28
140
120
100
80
60
40
20
0
00
20
98
19
96
19
94
19
92
19
90
Atlantic
Pacific
19
Capacity, Gigabits/sec
Trans-Oceanic Fiber-Optic Cable
Year
29
From: The Economist, 2003
30
What are the
implications of this
growth in bandwidth?
Potential for increasing speed of information
flow and ideas. This could increase
Productivity
Economic growth
World peace?
Outsourcing (why?)
31
Old and New Economies
OLD
A
Little Trade
B
Tariffs, Regulations, Poor
Communications
NEW
A
Large Trade
B
Ricardo - Theory of Comparative Advantage 1817
Increased economic growth
32
Manufacturing Output per Hour 1995-2000
Average Annual Change %
Source: Bureau of Labour Statistics
5
4.5
4
3.5
2.5
2
1.5
1
0.5
ly
Ita
a
ad
C
an
rla
n
he
Ne
t
B
rit
ai
n
ds
y
an
G
er
m
B
el
gi
um
n
pa
Ja
Fr
an
ce
0
US
A
%
3
33
World Trade Volumes
From: The Economist
34
35
36
37
38
From: The Economist
39
Impact of E-Commerce

Impact of Business to Consumer




5% reduction in aggregate distribution costs
0.5 - 0.7% reduction in costs in overall
economy
63-88% of annual increase in total factor
productivity in G-7 countries
Impact of Business to Business ECommerce

“orders of magnitude higher”
Source: OECD: “The Economic and Social Impacts of E-Commerce”
40
Internet Fundamentals
41
How do standards happen?

Standards organizations (e.g. ISO)





Usually international
Often slow
Non-proprietary
Industry Groups (e.g. bar codes)
De Facto (e.g. TCP/IP)



Result of widespread use
Can be quick to develop
Can be quick to change, proprietary, no
international body to maintain standard
42
ISO Model


The International Standards Organization,
based in Geneva Switzerland
Composed of groups from various countries
that set standards working towards the
establishment of world-wide standards for
communication and data exchange.
43
ISO Model


Developed a Reference Model that
contains specifications for a network
architecture for connecting dissimilar
computers.
A main goal being that of producing an
open and non-proprietary method of data
communication.
44
ISO Model

This reference model, called the Open
Systems Interconnect Reference Model (OSI
RM), was developed in 1981 and revised in
1984.
45
The OSI RM


Uses 7 layers, each independent of each
other, to allow computers to exchange data.
To transfer a message from user A to user B,
the data has to pass through the 7 layers on
user's A machine, before being transmitted
through the selected medium.
46
The OSI RM


At the receiving computer of user B, the data
must then pass through the 7 layers again,
this time in reverse sequence before being
received by user B.
For data to be transferred, it must pass
through all 7 layers on both computers.
47
The OSI RM


Each layer follows a relatively strict
specification and this allows the differing
layers to be produced and implemented by
different concerns.
Each layer can then interface with its
neighboring layers even though they may
have been developed by different groups.
48
The OSI RM

The Layers Are Arranged in Order As Follows:







Layer 7, Application Layer.
Layer 6, Presentation Layer.
Layer 5, Session Layer.
Layer 4, Transport Layer.
Layer 3, Network Layer.
Layer 2, Data Link Layer.
Layer 1, Physical Layer.
49
The OSI RM


In spite of enormous amount of work, little of
the OSI RM is in use.
This is probably due to the rise of TCP/IP
50
Internet Network Structure



The Internet grew out of the 1960s Cold
War.
Response to the issue of making sure that
computer networks could survive a nuclear
weapons attack.
Problem: Nuclear war could destroy much
of the military communications networks military control then lost.
51
Internet Network Structure



Approach needed whereby the networks
could operate even when substantive
portions had been destroyed.
One proposal formed the basis of the
Internet
Based on a simple and elegant digital
model of a very decentralized network.
52
Internet Network Structure


Such a network is digital in nature and was
therefore dependent on readily available
computing power.
Such power was becoming available only in
the 1970s.
53
Internet Network Structure

The University of California at Berkeley
received a contract from the United States
Department of Defense to develop a
computer network that would:


Operate on a wide variety of computer
hardware with differing communications media
Reconfigure itself if portions of the network
failed.
54
The TCP/IP Model, and Hence
the Internet

Based on two structures:


Data being transmitted
Computer routers that make up the core of the
network.
55
The TCP/IP Model: Data



Data is broken down into smaller packets.
Each packet includes address of the
destination computer as well as other
information such as the transmitting
computer.
The packets are reassembled into the data
file at the destination computer.
56
Packets






Data broken into packets
Each packet sent separately with address
(note need for unique address)
Passes through routers in network
Similar to sending letter via multiple
postcards
Packet switching technology required
Unique address IMPORTANT
57
The TCP/IP Model: Routing


The network is essentially composed of a
number of routing computers (or routers)
Route the packets towards their destination
computer by passing them to the next router
that is available in the general direction of the
destination computer.
58
Analogy: Sending Postcards



Break a message into smaller parts and
send each on a postcard
each packet (or postcard) may follow a
completely different route and each may
arrive at different times.
For the digital Internet network we can
improve performance by e.g. replicating
packets.
59
The Internet Network Model



The model is essentially non-hierarchical
in character with each router being at the
same level of control.
The model is highly decentralized with
each router operating quasi-independently.
The model is also self-managing to some
extent.
60
The Internet Network Model


The model is also scaleable in that we can
continue to add (or subtract) routers and
computers to the network without changing
its essentially characteristics.
The Internet model is an open standard with
the specifications being openly and freely
available.
61
TCP/IP


TCP/IP consists of a whole series of
protocols applications and services.
Can be thought of as containing five layers
(cf. OSI RM with seven layers).
62
TCP/IP


The application layer containing such
protocols and applications as Simple Mail
Transfer Protocol (SMPT), File Transfer
Protocol (FTP), Hypertext Transfer
Protocol (HTTP) and Telnet.
The transport layer contains such
protocols as Transmission Control Protocol
(TCP) and User Datagram Protocol
(UDP).
63
TCP/IP



The Internet layer contains such protocols as
Internet Protocol (IP), Internet Control
Message Protocol (ICMP), Address Resolution
Protocol (ARP), and Reverse Address
Resolution Protocol (RARP)
The data link layer and
The physical layer handle the hardware
connections. A wide variety of hardware
network connections are possible ranging from
token ring to Ethernet and from twisted pair
cables to fiber optic cables.
64
TCP/IP


Upper layer: application
Mid-layers (transport and Internet)



Core of Internet
Allows for applications to communicate with
other computers
Lower Layer (data link and physical layers)


Hardware
Ethernet, token ring, fiber optic
65
TCP/IP



Modular approach
Allows for wide variety of configurations
Need to have at least one from each layer.
Often called the “stack”
66
TCP/IP Protocols



See course ref chapter 2.
Note wide variety possible.
Modular architecture also allows new
protocols and applications to be developed
67
Internet Addressing


The Internet Protocol (IP) Uses Numbers to
Identify Host Computers and Uses These
Address Numbers to Route Data Between
Them.
The IP Addresses Are 32 Bit (or 4 Byte)
Binary Values, for Example:

10000000.11111111. 00010111.10111100
68
Internet Addressing


These Are Usually Expressed in Decimal
With a Period Between the Bytes for
Convenience.
The Above IP Address Would Therefore
Be Expressed in Decimal As Follows:
128.255.23.188
(server in instructors office)

Note: IP address often allocated
dynamically to individual computers
69
Example IP
Specification
in Windows
70
Note address in xx.xx.xx.xx form
71
Internet Addressing


Each site connected to the Internet has it's
own IP Address and messages can be
addressed using this number. The routers
on the Internet then pass the message
through to its address.
The numbering scheme was thought to be
somewhat difficult to use and early in the
development of the Internet a parallel
naming scheme was begun.
72
Internet Addressing



Uses descriptive words for the site address,
so that telegraph.co.uk for example could be
used instead of it's IP address of
193.130.188.19
The system that operates this is called the
Domain Name System (DNS).
DNS servers scattered around Internet
73
Example DNS
Specification
in Windows
74
Internet Addressing



Lookup tables are incorporated into the
Internet to convert from the more
descriptive form, the DNS name, to the IP
number address.
These are used in DNS servers
In the DNS, domain types are allocated to
particular categories.
75
DNS Categories

For example, in U.S. then the categories are
allocated as follows:





.com
.edu
.org
.gov
.mil
Commercial (E.G. intel.com)
Education (E.G. uiowa.edu)
Organization (E.G. ims.org)
Government (E.G. nsf.gov)
Military (E.G. navy.mil)
76
DNS Categories

The countries are also identified. For
example:





.jp
.kr
.uk
.de
.nl
Japan
Korea
United Kingdom.
Germany
Netherlands
77
DNS


The DNS Name Is Usually Cascaded.
For example,www.eng.cam.ac.uk refers to
the WWW site in the Engineering Department
(eng) at Cambridge University (cam) which is
an academic institution (ac) in the United
Kingdom (uk).
78
IP Packet or Datagram
Version
IHL
TOS
Total Length
Identification
Flags
Fragment Offset
TTL
Protocol
Header Checksum
Source IP Address
Destination IP Address
Options
Padding
Payload (TCP/UDP/ICMP etc.)
From http://www.inetdaemon.com/tutorials/internet/ip/datagrams.html
See http://www.inetdaemon.com/tutorials/internet/ip/datagrams.html
79
Ports and IPv6
80
Ports
Generally speaking, a computer has a single physical connection to
the network. All data destined for a particular computer arrives
through that connection. However, the data may be intended for
different applications running on the computer. So how does the
computer know to which application to forward the data?

Through the use of ports. Data transmitted over the Internet is
accompanied by addressing information that identifies the computer
and the port for which it is destined. The computer is identified by
its 32-bit IP address, which IP uses to deliver data to the right
computer on the network. Ports are identified by a 16-bit number,
which TCP and UDP use to deliver the data to the right application.
[From sun.com]

81
Ports
Port numbers range from 0 to 65,535 because
ports are represented by 16-bit numbers. The
port numbers ranging from 0 - 1023 are
restricted; they are reserved for use by wellknown services such as HTTP and FTP and
other system services. These ports are called
well-known ports.
 There are 65,535 port numbers available for
application processes that use Transmission
Control Protocol (TCP). The same number of
ports are available for application processes that
use User Datagram Protocol (UDP).
[from sun.com] [see
http://www.iana.org/assignments/port-numbers ]

82
Ports
Default TCP Port
Number
Internet Service
20
File Transfer Protocol (FTP) Data Channel
21
File Transfer Protocol (FTP) Control Channel
23
Telnet (enabled on some intranet or Internet servers)
25
Simple Mail Transfer Protocol (SMTP)
80
Hypertext Transfer Protocol (HTTP) used for World Wide Web
119
Network News Transfer Protocol (NNTP)
443
Hypertext Transfer Protocol over TLS/SSL (HTTPS) for secure World Wide
Web
563
Network News Transfer Protocol over TLS/SSL (NNTPS)
UPD Port Number
Service
53
Domain Name System (DNS) name queries (supports some Internet services)
161
Simple Network Management Protocol (SNMP)
From Microsoft.com
83
IPv6





Present IPv4 is used
This is 32 bits, and has about 4,300,000,000
address spaces (2^32 – 1)
IPv6 is started to be implemented.
IPv6 is 128 bits giving 3.4 x 10^38 addresses
Allows for an (almost) inexhaustible supply of
addresses.
84
Internet History



Started with design of network to
survive nuclear attack
Highly distributed design
Mainly used by researchers and
academics up to about 1993-1995
85
History of WWW




1989 CERN started development to allow
physicists to communicate
August 1991 first WWW software publicly
released
February 1993 NCSA published Mosaic
Exponential growth in WWW servers
86
The World Wide Web

While the Internet provided powerful
capabilities in such utilities as telnet and FTP,
it was not particularly easy to use.
87
The World Wide Web

This began to change in 1993 when
researcher at CERN in Switzerland
developed a means of sharing data using
hypertext, where codes in the document
being examined allowed users to jump to
another document merely by clicking on a
hyperlink.
88
The World Wide Web



ftp and telnet capability were added so that
they could also be invoked merely by clicking
on a hyperlink.
This type of program became known as a
browser
CERN browser was limited to text
documents.
89
The World Wide Web


A team at University of Illinois at UrbanaChampaign (specifically the National
Center for Supercomputer Applications NCSA) developed a more powerful
browser called Mosaic which allowed for
the inclusion of graphics.
Mosaic was freely available and led to a
huge increase in the use of the Internet
and WWW.
90
The World Wide Web

Some of those involved in the development of
Mosaic helped form Netscape Corporation,
which has developed commercial versions of
both browsers and servers.
91
WWW Clients and Servers


The WWW, in it's early form, is a very large
collection of clients and servers that support
the Hypertext Transfer Protocol (HTTP) on
the Internet.
This is an open standard and is implemented
on a wide variety of platforms.
92
WWW Developments

The interaction between WWW servers and clients
can be classified as follows:



The web server sends a static file to the client as a
result of a Hypertext Transmission Protocol (HTTP)
request from the client.
The WWW Server Can Process Data in Response to
Input From Client Browser. Such process can include,
for example, extracting the information from the
corporate databases in response to the client browser
requests. SERVER SIDE PROGRAMMING
A program can be downloaded from the WWW server
to a client which can then carry out the programmed
actions on the client. CLIENT SIDE PROGRAMMING
93
Server Side Programming

Common Gateway Interface (CGI)


CGI Is a standard for interfacing external
applications with WWW servers (Common
Gateway Interface, 1995).
Application Programming Interface (API)
94
Common Gateway Interface
(CGI)

CGI is just a set of commonly-named
variables and agreed-upon conventions for
passing information back and forth
between the client (the user's WWW
browser) and the server (the computer that
sends web pages to the client).
95
Common Gateway Interface
Information Query
Information Query
HTML page
Web Browser
CGI P rogram
Formatted Results
HTTP Sever
Query Results
Query Results
Database Query
Database
Database
Interface
Query Results
96
Use of APIs


Each time a new CGI program is started a
new process is begun and this is notoriously
inefficient.
For a server with multiple CGIs executing
simultaneously, the result can be very slow
response times.
97
Use of APIs


Recently, therefore, much attention has
begun to be focussed on more efficient
methods of executing programs on the
server.
Much of the developments has been on
Application Program Interfaces (API) that,
in their pure form, is a set of functions in
the operating system that programmers
can use.
98
Use of APIs


However the APIs tend to be proprietary and
therefore are particular to server/operating
system combinations.
An example Is the Internet Services
Application Programming Interface (ISAPI)
that Is proprietary to Microsoft.
99
Use of APIs


ISAPI Allows for Programs to Be Dynamic
Link Libraries (DLLs) for Use on a Windows
Server and Only One Copy of the DLL Need
Be Loaded No Matter How Many Programs
Use It.
Active Server Pages (Microsoft) Java Server
Pages (Sun/Netscape) have program on
server.
100
Use of APIs

Results would indicate that servers that use
APIs have substantially shorter response
time than those that use CGIs and we can
therefore expect that CGIs will tend to fall in
relative disuse.
101

Server Side
Programming





CGI
API
ASP (Microsoft only)
JSP
can include executable
and/or scripts

Client Side
Programming



Java applet
Java Script
VB Script (Microsoft
only)
Important application is interfacing to databases.
Course homework addresses many of these.
102