Wide Area Networks - Department of Computer Science

advertisement
Wide Area Networks
The Internet and the
World Wide Web
Eric Cozzi
eric (at) cozzi (dot) us
Agenda
History of the Internet
Transmission Control Protocol / Internet Protocol
Modern Day Internet
Questions
History of the Internet
• In the 1960’s there was great concern that a
nuclear strike would render all traditional
communications useless.
• As a result, the US Department of Defense
funded the ARPAnet in the development of a
decentralized, resilient, and self-configuring
communications network.
First ARPANet Connections
The first ARPANET links
were between UCLA and
the Stanford Research
Institute in November
1969. A month later links
to the University of Utah
and the UC Santa Barbara
were added.
Len Kleinrock standing next to the
first Inter Message Processor (IMP) at
UCLA
Creation of the NSFNet
• Recognizing the potential of the ARPANet,
the National Science Foundation funded the
non-military NSFNet.
• The NSFNet initially interconnected six
universities: Boulder, Champaign, Ithaca,
Pittsburg, Princeton, and San Diego. A
gateway to the ARPANet was provided by
Carnegie Mellon University.
Commercialization of the Internet
• While both the ARPANet and NSFNet were
funded by the United States government,
both networks were for the sole purpose of
supporting research.
• In the 1980’s, the “Internet” started to be
commercialized by Telephone Providers and
privately owned Internet Service Providers.
Exponential Growth of the Internet
After widespread
commercialization of the
Internet in the 1980’s,
Internet use grew and
continues to grow at an
exponential rate.
Agenda
History of the Internet
Transmission Control Protocol / Internet Protocol
Modern Day Internet
Questions
TCP/IP
TCP/IP defines a set of rules to
enable computers to
communicate over a network,
specifying how data should be
packaged, addressed, shipped,
routed and delivered to the right
destination. The specification
defines protocols for different
types of communication between
computers and provides a
framework for more detailed
standards.
Application Layer
Transport Layer
Network Layer
Data Link Layer
Application Layer
Network communication starts
and ends at the Application
Layer.
The application layer interfaces
directly to and performs common
application services for the
application processes in order to
send and receive data. The
application layer also issues &
receives requests to/from the
transport layer.
Data
IP
Data
Frame
Data
Application Layer
TCP
Data
Data
Transport Layer
TCP Data
Network Layer
IP Data
CRC
Data Link Layer
Transport Layer
The transport layer validates the
application layer request, segments the
data, encapsulates it with a transport layer
header containing the correct port
numbers and sequence count. The packet
is then and passes down to the network
layer.
The transport layer also has the tricky
task of dealing with transfer problems. In
the event of a TX/RX failure, the transport
layer (in the case of TCP) will send and
request duplicate packets in order to
maintain application layer data integrity.
Data
IP
Data
Frame
Data
Application Layer
TCP
Data
Data
Transport Layer
TCP Data
Network Layer
IP Data
CRC
Data Link Layer
TCP Header
Handling Errors and Flow Control
Here you can see the error handling that is
performed by TCP. Whenever a packet is
correctly received by the receiver, an ACK is
sent to the sender acknowledging the packet.
If the sender does not hear an
acknowledgement within a certain timeout,
the sender will automatically resend any
unacknowledged packets.
This is known as a Sliding Window Flow
Control Protocol.
Network Layer
The network layer translates the
source and destination IP
addresses into physical MAC
addresses. A MAC address is a
quasi-unique identifier that acts
like a name for a particular network
adapter.
The resolution of an IP address
into a MAC address is performed
through an ARP (Address
Resolution Protocol) lookup.
Data
IP
Data
Frame
Data
Application Layer
TCP
Data
Data
Transport Layer
TCP Data
Network Layer
IP Data
CRC
Data Link Layer
IP Header
Data Link Layer
The data link provides data transfer
across the physical network link.
That transfer may or may provide
reliable communications as many
data link protocols do not provide a
means to test the correctness of a
received frame. In these cases,
higher-level protocols (such as TCP
at the Transport Layer) must provide
flow control, error checking, and
acknowledgments and
retransmission.
Data Application Layer
TCP
Data Transport Layer
Data
IP
Data
Frame
Data
TCP Data
IP Data
Network Layer
CRC Data Link Layer
Ethernet Header & Footer
Packet Routing over the Internet
• For a packet to get to its intended recipient, it needs to find a
route through the network.
• The most common way for this to happen is hop by hop. The
originating machine will deliver the packet to the best next-hop
toward the ultimate destination. The packet will continue to
move “1 hop” closer to its destination until either the hop count
dies or the packet reaches its intended destination.
Source
1st Hop
…
Nth Hop
Destination
Routing Protocols
• There are a number of different routing
protocols that are employed to correctly
route a packet through the Internet. Some of
the most common include
–
–
–
–
Static Routes
Routing Information Protocol (RIP)
Spanning Tree
Border Gateway Protocol (BGP)
DNS - The Big Phone Book in the Sky
• When trying to connect to a remote machine, often
all we know is the machine’s name and not its IP
address.
• The Domain Name Service (DNS) can be thought of
like a giant phone book in the sky, that automatically
maintains a mapping between Domain Names and
IP Addresses.
• The DNS system maintains a hierarchy of redundant
DNS servers starting with the Root Name Servers.
When looking up a domain name, a DNS host
resolves the name against this hierarchy until the
ultimate host IP is found.
The OSI Model
• The OSI Model is an idealized networking model
that can be closely correlated to the TCP/IP model.
• The OSI Model defines 7 layers, where the TCP/IP
model defines 4 (or 5 depending).
• Roughly the first three layers of the OSI model map
to the Application layer of the TCP/IP model. Further,
the last two layers of the OSI model roughly map to
the Data Link layer of the TCP/IP model.
• Each layer in between directly maps with its
couterpart.
Comparison of the TCP/IP and OSI Models
TCP/IP Model
OSI Model
Application Layer
Application Layer
Presentation Layer
Session Layer
Transport Layer
Transport Layer
Network Layer
Network Layer
Data Link Layer
Data Link Layer
Physical Layer
Agenda
History of the Internet
Transmission Control Protocol / Internet Protocol
Modern Day Internet
Questions
The World Wide Web
• The World Wide Web (WWW) was developed by Sir
Timothy Berners-Lee while working at the CERN
laboratories.
• While at CERN, Berners-Lee proposed a method of
using a HyperText Transmission Protocol (HTTP),
along with HyperText Markup Language (HTML) to
facilitate the sharing of ideas among researchers.
• To view an HTML page, a browser application would
reformat and display the HTML encoded page in a
way appropriate for the user’s display. In this way,
hypertext documents are not tied to any particular
capability or functionality.
HTML
• HTML consists of a series of formatting commands,
known as HTML tags, which can be embedded into
the text content of a page.
• These tags are used to describe properties of the
page including how the page should be formatted
and presented.
• Some Example Tags include:
–
–
–
–
<B> … </B> - embolden font
<I> … </I> - Italicize font
<A HREF=“URL”>…</A> - Define a hyperlink\
<IMG SRC=“URL”> - Insert an image
Hello World in HTML
<html>
<head>
<title>HTML Hello World</title>
</head>
<body>
<H1>Heading of Hello World!</H1>
This is where we say
<p>Hello World</p>
</body>
</html>
Server and Browser side Enhancements
• Since the inception of the WWW, new
technologies and language extensions have
been developed that have enhanced both
the server and browser sides of the web
experience.
• Some of these include:
– Server Side Scripting:
• PHP, Java, ASP, CGI, Perl,
– Client Side Scripting:
• JavaScript, Flash, AJAX
HyperText Transfer Protocol (HTTP)
• HTTP is a client-server protocol intended for
use when retrieving documents from the
World Wide Web.
• Some examples of HTTP commands
include:
–
–
–
–
PROXY <URL>
HEAD <URL> HTTP/1.0
GET <URL> HTTP/1.0
POST <URL> HTTP/1.0
Uniform Resource Locators (URLs)
• A Uniform Resource Locators (URLs) are used to
‘address’ web pages on the World Wide Web. These
can be thought of like a file path to a file on your
hard drive.
• A URL can be split into a minimum of three different
parts:
– Protocol: Most commenly, HTTP
– Machine Name: The DNS name or IP address of the
server machine where the HTTP page ‘lives’
– File Path: The relative file path to the file on the server
machine.
Example: http://www.cs.sjsu.edu/~lee/index.html
WWW Search Engines
• Without the modern day search engines, like Yahoo
and Google, the World Wide Web would long ago
have become unmanageable.
• Search Engines work by ‘crawling’ the Internet to
find, sort, rank and index pages. This results in an
extremely large database which essentially holds
the entire Internet.
• When performing a user search, the search engine
uses this local database to locate presumptive
matches before presenting them to the user.
Agenda
History of the Internet
Transmission Control Protocol / Internet Protocol
Modern Day Internet
Questions
Download