What is Internet?

Download Report

Transcript What is Internet?

Internet Applications Development
Topics on Basic Internet Applications
• What is Internet?
• Key Milestones in Evolution
• How Internet is organized?
• Internet Applications
• Internet Protocols
• Client-server paradigm
• Domain Name System (DNS)
Basic Internet Applications
1
What is Internet?
• The network formed by the co-operative
interconnection of a large number of
computer networks.
• Network of networks.
• No one owns the internet
• Every person who makes a connection owns a
slice of the Internet.
• There is no central administration to the
Internet.
Basic Internet Applications
2
Key Milestones in Evolution
• 1950’s
ARPA (Advanced Research Projects Agency)
• 1970 –
ARPANET creates precursor to Transmission Control Protocol (TCP)
• 1971
Universities added to net
Telnet and FTP are available
• 1972
First electronic mail message sent
• 1973ARPANET connected to England and Norway
• 1974TCP starts being used for communicating across a system of networks
• 1982US DoD starts building defense data networks based on ARPANET
technology
Basic Internet Applications
3
Key Milestones in Evolution (contd.)
• 1983ARPANET splits into ARPANET and MILNET
• 1983Internet now in place TCP/IP standardized
• 1986National Science Foundation (NSF) implements NFSNET; a system of
regional network of routers connected over a backbone network
• 1990
Tim Berners-Lee starts work on a global hypertext system, GUI browser /
editor using the NeXTStep development environment. He makes up
"WorldWideWeb" as a name for the program.
• 1991First (text only) web browser available.
Archie and Gopher released
Basic Internet Applications
4
Key Milestones in Evolution (contd.)
• 1992Internet links more that 17,000 networks in 33 countries; 3 million hosts
• 1993World Wide Web is launched
• 1994
10,000 WWW sites. Over 1500 registered servers.
• 1995Interconnected network providers start offering service
About 30 million users
100,000 WWW Sites.
New WWW technologies emerge: JAVA, Javascript, ActiveX, VRML, Search
engines. WWW traffic now dominates NSF backbone traffic.
• 1996
Over 500,000 WWW Sites. Microsoft enters. Internet phones arrive.
Basic Internet Applications
5
Key Milestones in Evolution (contd.)
• 1997
Over 1,300,000 WWW Sites. Streaming media available.
• 1998
Over 3,300,000 WWW Sites. Web size estimated at about 300,000,000
pages. E-Commerce, E-Auctions, Portals; E-trading begins.
• 1999
Over 9,500,000 WWW Sites. E-Trade, Online Banking, MP3 popular.
• 2000
Over 22,000,000 WWW Sites. Estimated 6 billion people on line. Wireless
technologies maturing.
• 2001
Over 575,000,000 WWW sites by January, estimated 1.4 billion pages.
Broadband high speed access enters mainstream
Basic Internet Applications
6
Growth of Internet
Basic Internet Applications
7
How Internet is organized?
• The Internet is not a single network, but a worldwide
collection of loosely connected networks that are accessible
by individual computer hosts in a variety of ways, including
gateway, routers, dial-up connections, cell phones Internet
enabled, etc, and Internet Service Providers (ISP).
• The Internet has two aspects, physical and logical and it can
be viewed as a collection of physical and logical pieces that
are tied together physically and logically.
• The physical aspect is a collection of wires, optical fibers, and
microwave radio links and other devices that carry digital
signal between computers.
Basic Internet Applications
8
How Internet is organized? (contd.)
• The logical aspect is a set of standards for the signals that
travel through that network. The Internet uses various
protocols depending on what kind of job is to be done and
what kind of data is being transferred.
• The language that allow computers to talk to another are
called protocols. The protocol is the method in which the
network interface cards (NIC) communicate over the
topology.
• The chief protocol and the defining standard of the Internet is
TCP/IP (Transmission Control Protocol/Internet Protocol).
Basic Internet Applications
9
How Internet is organized? (contd.)
Basic Internet Applications
10
Internet Applications
• Elements of Internet Applications
– Client-server model
• iterative vs. concurrent server
• Important Internet Applications
–
–
–
–
–
–
–
Telnet
File Transfer Protocol (FTP)
Electronic Mail (Email)
World Wide Web (WWW)
Internet Relay Chat (IRC)
Usenet News
Gopher
Basic Internet Applications
11
Internet Protocol (IP)
• The Internet Protocol (IP) is the principal communications
protocol used for relaying datagrams (also known as network
packets) across an internetwork using the Internet Protocol
Suite responsible for routing packets across network
boundaries. It is the primary protocol that establishes the
Internet.
• IP is the primary protocol in the Internet Layer of the Internet
Protocol Suite and has the task of delivering datagrams from
the source host to the destination host solely based on the
addresses.
Basic Internet Applications
12
Internet Protocol (IP) (contd.)
Basic Internet Applications
13
IP address
• An Internet Protocol address (IP address) is a numerical label
assigned to each device (e.g., computer, printer) participating
in a computer network that uses the Internet Protocol for
communication.
• An IP address serves two principal functions: host or network
interface identification and location addressing. Its role has
been characterized as follows: "A name indicates what we
seek. An address indicates where it is. A route indicates how
to get there.“
Basic Internet Applications
14
IP address (contd.)
• The designers of the Internet Protocol defined an IP address
as a 32-bit number and this system, known as Internet
Protocol Version 4 (IPv4), is still in use today.
• A new version of IP (IPv6), using 128 bits for the address, was
developed in 1995. IPv6 was standardized as RFC 2460 in
1998, and its deployment has been ongoing since the mid2000s.
• IP addresses are binary numbers, but they are usually stored
in text files and displayed in human-readable notations, such
as 172.16.254.1 (for IPv4), and 2001:db8:0:1234:0:567:8:1 (for
IPv6).
Basic Internet Applications
15
Elements of Internet Applications
• Network application
– communicating, distributed processes (programs) running in network
hosts
– exchange messages to implement application (e.g., e-mail, file
transfer, web)
– message format and actions to be taken are defined by applicationlayer protocols (e.g., FTP, SMTP, HTTP)
• Computing model used:
– Software that implements Internet services use client-server
computing
– Some computer on the Internet offer services that others access
Basic Internet Applications
16
Client-server paradigm
• Client-server paradigm is a form of communication
• Server application is ``listener'’
– Waits (passively) for incoming message
– Performs service
– Returns results
• Eg, a mail server’s function is to receive, store and deliver e-mails.
• Client application establishes connection
– Sends message to server
– Waits for return message
• Eg, a mail client (also called a mailer or mail program mail application) is
a software that allows a user to manage, read, and compose e-mail.
Basic Internet Applications
17
Client-server paradigm
Basic Internet Applications
18
Characteristics of client
• Arbitrary application program
 Becomes client when network service is needed (Eg, a
sender’s computer becomes a client to a remote mail
server)
 Also performs other computations
• Invoked directly by user
• Runs locally on user's computer Initiates contact with
server
• Can access multiple services (one at a time)
• Does not require special hardware or sophisticated
operating system
Basic Internet Applications
19
Characteristics of server
 Special purpose application dedicated to providing
network service
 Starts automatically at system initialization time (system
boot)
 Runs on a remote computer (usually centralized, shared
computer)
 Waits for service requests from clients; loops to wait for
next request
 Will accept requests from arbitrary clients; provides one
service to each client
 May require powerful hardware and sophisticated
operating system
Basic Internet Applications
20
Server types:
• Iterative server:
– can process one request at a time.
– it receives a request, processes it, and sends the
response to the requestor before it handles
another request.
• Concurrent server:
– can process many requests at the same time.
Basic Internet Applications
21
Multiple servers for one service
•
•
•
•
Responding to a client request may require significant time
Other clients must wait while earlier requests are satisfied
concurrent program - has > 1 thread of control
concurrent server offers service to multiple clients at the
same time
• When a request arrives, the server assigns the request to a
thread of control that can execute concurrently with existing
threads
• In other words, multiple copies of a servers for a single service
can handle requests concurrently
Basic Internet Applications
22
Dynamic servers
• Concurrent server operates dynamically
• One way to run concurrent servers is to dynamically create
server processes for each client
• Parent (or Master) server accepts incoming requests and
starts Child (or slave) server for each client
• Child server handles subsequent requests from its client
• Parent server then waits for next request
Basic Internet Applications
23
Client-Server Example
Basic Internet Applications
24
Selecting from multiple servers
• How do incoming messages get delivered to the correct server?
• To allow a process to identify the other process with which it wants to
communicate some form of addressing is needed.
• Addressing: Each transport session has two unique identifiers
–
–
(IP address, port number) on server
(IP address, port number) on client
• A port number is a 16 bits number located in the TCP header
• port numbers 0 to 1,023 (controlled by IANA (Internet Assigned Numbers
Authority)) are reserved for `well-known` services like telnet and ftp
• port numbers 1,024 to 49,151 (not controlled by IANA, these ports can only be
registered with IANA)
• port numbers from 49,152 to 65,535 are ephemeral ports (Dynamic and/or Private
Ports) and can be used by any process.
• No two clients on one computer can use same source port
• Thus, client endpoints are unique, and server computer protocol software
can deliver messages to correct server process
Basic Internet Applications
25
Domain Name System (DNS)
• All applications use IP addresses through the TCP/IP
protocol software
• Difficult for humans to remember: 134.82.11.70
• The Domain Name System (DNS) provides translation
between symbolic names and IP addresses
• DNS is the naming scheme used in the Internet
Basic Internet Applications
26
Structure of DNS names
• Each name consists of a sequence of alphanumeric components separated
by periods
• Examples:
–
www.eg.bucknell.edu
–
www.netbook.cs.purdue.edu
–
charcoal.eg.bucknell.edu
–
challenger.atc.fhda.edu
• Names are hierarchical, with most-significant component on the right
• Left-most component is computer name
• Domain name space: names are defined in an inverted-tree structure with
the root at the top
• the tree can have only 128 levels: level 0 (root) to level 127.
Basic Internet Applications
27
DNS: Tree Structure
– Each node in the tree has
• a label - a string with a maximum of 63 characters.
• a domain name - a sequence of labels separated by
dots.
Basic Internet Applications
28
DNS naming structure
• Domain: a part of the computer naming hierarchy used in the
Internet.
• Eg, commercial organization have names registered under the .com
domain
• Top level domains (right-most components; also known as TLDs)
defined by global authority
Basic Internet Applications
29
DNS naming structure
• Organizations apply for names in a top-level domain:
–
bucknell.edu
–
macdonalds.com
•
Organizations determine own internal structure
–
cs.stanford.edu
–
cs.purdue.edu
–
ie.cuhk.edu.hk
Basic Internet Applications
30
Geographic structure
•
Top-level domains are US-centric
•
Geographic TLDs used for organizations in other countries:
TLD
.ca
.uk
.fr
.ch
.hk
.cn
.jp
.sg
.au
Country
Canada
United Kingdom
France
Switzerland
Hong Kong
China
Japan
Singapore
Australia
• Countries define their own internal hierarchy: ac.uk and .edu.au are used
for academic organizations in the United Kingdom and Australia
Basic Internet Applications
31
DNS and client-server computing
• DNS names are managed by a hierarchy of DNS servers
– Translates a name to an IP address, or
– Contains information that links to other DNS servers
• Hierarchy is related to DNS domain hierarchy
• Root server at top of tree knows about next level servers
• Next level servers, in turn, know about lower level servers
Basic Internet Applications
32
Name Servers
• Partition hierarchy into administrative authority responsible
for portion of the hierarchy
edu
princeton
cs
ee
… mit
com
cisco
gov
… yahoo
nasa … nsf
mil
arpa … navy
org
net
uk
fr
acm … ieee
physics
ux01 ux04
Basic Internet Applications
33
Domain Name System (DNS)
• DNS Name Servers:
– maps domain name of a host to its IP address.
– hierarchically organized
• local name servers:
– located in the same domain as the host that make the DNS query.
• authoritative name servers:
– often located in the domain where the host that we queried is
located.
– can perform name/address translation for that host’s name
• root name servers:
– contacted by local name server that can not resolve name
– give referral on which authoritative name servers to contact.
Basic Internet Applications
34
Domain Name System (DNS)
• host surf.ie.cuhk.edu.hk
wants IP address of
gaia.cs.umass.edu
root name
server
2
1. contacts its local DNS server,
dns.ie.cuhk.edu.hk
2. dns.ie.cuhk.edu.hk contacts
root name server
3. root name server contacts
authoritative name server,
dns.umass.edu
4-6. root name server returns the
resolved name to local host via
local name server.
3
5
local name server
dns.ie.cuhk.edu.hk
1
authoritative name
server
dns.umass.edu
6
requesting host
surf.ie.cuhk.edu.hk
Basic Internet Applications
4
gaia.cs.umass.edu
35
Domain Name System: nslookup
• Trying out DNS for yourself:
– Use nslookup to find the IP address or hostname of a
machine:
• Go to http://www.infobear.com/nslookup.shtml
• Enter the IP address or hostname that you want to look it up
• Select the name server: WebSiteSource -ns.websitesource.com
– Try to look up www.ie.cuhk.edu.hk - it should give you an
IP address.
– For popular web sites, such as www.cnn.com, nslookup
may give you multiple IP addresses. This indicates that the
website are served by multiple servers.
Basic Internet Applications
36
Domain Name System: nslookup
• Sample output of nslookup for www.cnn.com :
Output of:
nslookup -q=A www.cnn.com ns.websitesource.com
Server: ns.websitesource.com
Address: 216.147.43.135
Non-authoritative answer:
Name: cnn.com
Addresses: 64.236.16.116, 64.236.24.4, 64.236.24.12, 64.236.24.20
64.236.24.28, 64.236.16.20, 64.236.16.52, 64.236.16.84
Aliases: www.cnn.com
Basic Internet Applications
37
Domain Name System: nslookup
• Output of: nslookup -q=A gaia.cs.umass.edu
ns.websitesource.com
• Server: ns1.worldnet.att.net
Address: 204.127.129.1
• Name: gaia.cs.umass.edu
Address: 128.119.245.12
Basic Internet Applications
38
DNS Example: sending E-mail
User
2
1
user @ cs.princeton.edu
cs.princeton.edu
Name
Mail
server
program
192.12.69.5
192.12.69.5
4
192.12.69.5
5
3
TCP
IP
Basic Internet Applications
39
DNS Example: sending E-mail
1. User presents domain name of host (eg, cs.princeton.edu)
to an application program (eg, a mail program)
2. Application program (mail program in this example)
engage the naming system (name server program) to translate
the domain name of host into host address (ie IP address).
3. Application (mail program) opens a connection to the host
by presenting its IP address to TCP
Basic Internet Applications
40
Telnet
• Telnet (TErminaL NETwork)
– the standard TCP/IP protocol for virtual terminal
service by ISO.
– enables the establishment of a connection to a
remote system in such a way that the local
terminal appears to be a terminal at the remote
system.
– uses TCP service on the well-known port 23.
– Cf. Rlogin - remote login protocol by BSD UNIX.
Basic Internet Applications
41
Telnet: How Remote Login Works
• Remote login follows the clientserver paradigm.
• The client:
– Is the application that uses
TCP/IP for making connection
– transforms the characters typed
by users to a universal character
set called Network Virtual
Terminal (NVT) characters.
– e.g. End of file in DOS (Ctrl+z),
UNIX (Ctrl+d)
• The server:
– Allows the user to interact with
the remote computer
– Sends output to the client
Basic Internet Applications
42
FTP
• FTP (File Transfer Protocol)
– the standard application for copying a file from one host to another.
– uses the client-server approach
Basic Internet Applications
43
FTP: Retrieve and Store Files
• Retrieve A File
– Contacts a remote computer
– Obtains a copy of a file
– get: receive one file, eg, get filename1
– mget: get multiple files, eg, mget filename1 filename2
• Store A File
– Contacts a remote computer
– Sends a copy of a file
– put: send one file , eg, put filename1
– mput: send multiple files, eg, mput filename1 filename2
• open: connect to a remote computer
– FTP Prompts for a login identifier
– FTP Prompts for a password
• bye: terminate a connection and leave FTP program
• Two FTP file formats: text(ascii) & binary
Basic Internet Applications
44
FTP: Making Connections
• needs two TCP connections.
– well-known port 21 for control connection.
– well-known port 20 for data connection.
Basic Internet Applications
45
FTP: Making Connections
Basic Internet Applications
46
How E-mail Works
• E-mail systems follow the client
server approach
• In sender’s computer, an email
program becomes a client
– contacts an e-mail server
program on the recipient’s
computer
– transfer a copy of the message
• When the e-mail server receives
a message, it
– stores the message in the
recipient’s mailbox
– informs the recipient
Basic Internet Applications
47
SMTP
• SMTP (Simple Mail Transfer Protocol)
– the standard TCP/IP protocol for supporting
electronic mail on the Internet
– uses the TCP well-known port 25.
– SMTP client/server has two components:
• UA (User Agent) - prepares the message, creates the
envelope and puts the message in the envelope.
• MTA (Mail Transfer Agent) - transfers the mail across
the Internet.
Basic Internet Applications
48
SMTP
• Relay MTAs
Basic Internet Applications
49
SMTP
• E-mail format:
– Envelope: contains the
sender address, receiver
address and other
information
– Message: contains the
headers and the body.
• Address format:
– local_part@domain_na
me
– local_part defines the
name of user mailbox
Basic Internet Applications
50
SMTP
• Connection establishment
• Mail transfer phases:
– connection establishment
• client made a TCP
connection to the wellknown port 25
– message transfer
• client sends a single message
• the message can be to more
than one recipients
– connection termination
• client terminate the
connection.
Basic Internet Applications
51
SMTP
• Message transfer
• Connection termination
Basic Internet Applications
52
Gopher
• The Gopher protocol is a TCP/IP application layer protocol
designed for distributing, searching, and retrieving
documents over the Internet.
• Strongly oriented towards a menu-document design, the
Gopher protocol presented an alternative to the World
Wide Web in its early stages, but ultimately HTTP became
the dominant protocol.
• The Gopher ecosystem is often regarded as the effective
predecessor of the World Wide Web.
Basic Internet Applications
53
Internet Relay Chat (IRC)
• Internet Relay Chat (IRC) is a protocol for real-time Internet
text messaging (chat) or synchronous conferencing.
• It is mainly designed for group communication in discussion
forums, called channels, but also allows one-to-one
communication via private message as well as chat and data
transfer, including file sharing.
Basic Internet Applications
54