Download Objectives - Websupport1

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Business intelligence wikipedia , lookup

Data vault modeling wikipedia , lookup

Transcript
Objectives
Understand the Open Systems Interconnection
network reference model, often used to
characterize network protocols and services,
and how it relates to TCP/IP’s own internal
networking model
• Understand TCP/IP’s origins, history, and
design goals
• Define the terms involved and explain how
TCP/IP protocols, sockets, and parts are
identified
What Is TCP/IP?
• The large collection of networking protocols and services
called TCP/IP denotes far more than the combination of the
two key protocols that gives this collection its name
• These protocols deserve an initial introduction:
Transmission Control Protocol, or TCP, handles reliable
delivery for messages of arbitrary size, and defines a
robust delivery mechanism for all kinds of data across a
network
• The Internet Protocol, or IP, manages the routing of
network transmissions from sender to receiver, along with
issues related to network and computer addresses, and
much more
The Origins and History of
TCP/IP
• In 1969, an obscure arm of the United States
Department of Defense (DoD), known as the
Advanced Research Projects Agency (ARPA),
funded an academic research project for a special
type of long-haul network, called a packetswitched network
• In a packet-switched network, individual chunks
of data (called packets) can take any usable path
between the sender and receiver
• The network built as a result of this project is
known as the ARPANET
TCP/IP’s Design Goals
• The design of the ARPANET and protocols
that evolved to support it were based on the
following government needs:
– A desire to withstand a potential nuclear strike
– A desire to permit different kinds of computer
systems to easily communicate with one
another
– A need to interconnect systems across long
distances
A TCP/IP Chronology
• In 1983, the Defense Communications Agency
(DCA), now known as the Defense
Information Systems Agency, or DISA) took
over operation of the ARPANET from DARPA
(Defense Research Projects Agency, a.k.a.
ARPA)
• The Internet and TCP/IP enjoyed a series of
events and firsts that ultimately resulted in the
global Internet as we know it today
A TCP/IP Chronology
• Here are some additional highlights of that
history:
– 1986: The National Science Foundation (NFS) launches
a long-haul, high-speed network, known as NSFNET,
that creates a network backbone running at 56 Kbps.
NSF also imposed a set of policies, known as the
Acceptable Use Policies (AUPs)
– 1987: Number of hosts on the Internet breaks 10,000
– 1989: Number of hosts on the Internet breaks 100,000
– 1990: McGill University releases the Archie protocol
and service, based on TCP/IP
A TCP/IP Chronology
– 1990: ARPANET ceases doing business under that
name, and commercial, academic, government, and
communications company operations begin
supporting the Internet as a cooperative venture
Work begins in earnest on the Hypertext Transfer
Protocol (HTTP) and the notion of the Worldwide
Web is born at Centre European Researche Nucleaire
(CERN)
– 1991: The Commercial Internet Exchange (CIX), a
consortium of Internet operators, system providers,
and other commercial operations with Internet
interests, is formed
A TCP/IP Chronology
– 1991: Thinking Machines Corporation releases the
Wide Area Information Service (WAIS), a TCP/IPbased protocol and service
University of Minnesota releases Gopher, a
TCP/IP-based protocol that not only allows
searching of text-based archives and other data
types online, but also links all such archives
together into a single virtual information universe
known as “Gopherspace”
– 1992: The Internet Society (ISOC) is chartered
A TCP/IP Chronology
– 1993: The Internet Network Information Center
(InterNIC) is chartered to manage domain names
– 1994: U.S. Senate and House of Representatives
establish information servers on the Internet
– 1995: Netscape launches Netscape Navigator and
begins the commercialization of the Web
– 1996: Microsoft launches Internet Explorer Web
browser, even though Netscape dominates the Web
browser marketplace
OSI Network
Reference Model Overview
• This model is a network reference model, but is
formally known as the International Standards
Organization Open Systems Interconnection
network reference model, sometimes called the
ISO/OSI network reference model
• Governed by ISO standard 7498, the ISO/OSI
network reference model, or reference model was
developed as part of an international standards
initiative in the 1980s that was supposed to usher
in a new and improved suite of protocols
specifically designed to replace TCP/IP
Models Break Networking into
Layers
• The reference model’s value lies in its ability to
break a big technical problem into a series of
interconnected and interrelated sub-problems, and
then solve each sub-problem individually
• Computer scientists call this approach divide and
conquer
• A divide and conquer approach permits concerns
related to networking hardware to be completely
separated from those related to networking
software
Models Break Networking into
Layers
– Different expertise is needed to implement the
solutions necessary for the networking functions or
tasks handled at each layer
– The layers in a network implementation work
together to create a general solution to the general
problem known as networking
– Network protocols usually map into one or more
layers of the reference model
– TCP/IP itself is designed around a layered model
for networking
The ISO/OSI Network Reference
Model
• The reference
model described
in OSI Standard
7498 breaks
network
communication
into seven
layers, as
follows (named
from the top
down, as
illustrated in
Figure 1-1
How Protocol Layers Behave
• Layers in the reference model exist to provide
services to the layer above (where applicable), and
to deliver data to (for outbound traffic) or accept
data from (for inbound traffic) the layer below
• For each layer in a model that is implemented in
code (you learn why this is important when we
discuss how the layered model for TCP/IP differs
from the reference model in the section titled “The
TCP/IP Networking Model”), the software handles
packages of data that are sometimes called
protocol data units (PDUs)
How Protocol Layers Behave
• PDUs are often generically described as
packets irrespective of the layer in the model
addressed
• PDUs typically include “envelope
information” in the form of specific headers
and trailers
• The reference model, as shown in Figure 1-1,
looks something like a layer cake as it presents
a stack of named layers from which the model
is built
How Protocol Layers Behave
• Because this stack-like structure so accurately depicts how
many networking protocol suites are implemented—
including TCP/IP—it is common to talk about the
components of hardware and software that map into this
model as a protocol stack when implemented on a specific
computer
• On a Windows computer, the network interface card (NIC),
the driver that permits the operating system to “talk” to the
NIC, and the various software components that make up
TCP/IP’s other layers, may be called a protocol stack, or
more accurately, the TCP/IP protocol stack for that
machine
Physical Layer
• The Physical layer includes the physical
transmission medium (cables or wireless media)
that any network must use to send and receive
the signals that constitute the physical
expression of networked communications
• A simplistic view of the Physical layer is that it
concerns itself with the networking hardware
and the connections that permit that hardware to
access some networking medium
Physical Layer
• This layer also coordinates the sending and
receiving of signals across the networking
medium, and determines what kinds of cables,
connectors, and network interfaces must be used
to access a specific area on a network
• The Physical layer manages communications with
the network medium going down the protocol
stack, and handles conversion of outgoing data
from the bits that computers use into the signals
that networks use
Data Link Layer
• The Data Link layer is situated between the Physical layer
and the Network layer in the reference model
• Its job is to enable reliable transmission of data through the
Physical layer at the sending end, and to check such
reliability and up reception at the receiving end
• The Data Link layer also manages point-to-point
transmission across the networking medium, from one
computer to another on a single logical or physical cable
segment
• The Data Link layer manages local area network (LAN)
connections between the machines to which those
interfaces are attached
Data Link Layer
• The Data Link layer can also control the pace at which data
is transmitted from sender to receiver—a process called
media flow control that responds to local congestion
conditions and helps keep the network medium from
becoming swamped by local traffic
• The Data Link layer requests data transfers to occur when
outgoing PDUs are ready to be transmitted, and also
handles accepting and constructing incoming PDUs for
incoming data
• Data Link layer PDUs are called frames or data frames
Network Layer
• The Network layer is where notions of network
location are addressed, and where the intricacies
involved in directing a PDU from sender to
receiver are handled
• The Network layer handles the logical addresses
associated with individual machines on a network
• The Network layer also uses that addressing
information to determine how to send a PDU from
a sender to a receiver when the source and
destination for traffic do not reside on the same
physical segment on a network
Network Layer
• The Network layer also embodies the notion of multiple
simultaneous connections between different IP addresses,
so that numerous applications can maintain network
connections at the same time
• The Network layer is also sensitive to delays associated
with routes, and can manage how much traffic is sent
across them, while it is forwarding data from a sender to a
receiver
• This process is called congestion control, and helps
networks avoid being overrun when high levels of activity
occur from time to time
Transport Layer
• The Transport layer’s name is highly evocative of
its function: this layer’s job is to ensure reliable
end-to-end transmission of PDUs from sender to
receiver
• The Transport layer often includes end-to-end
error-detection and error-recovery data
• Such data is usually packaged as a part of the
trailers for Transport layer PDUs, where special
values called checksums are calculated before and
after data delivery
Transport Layer
• The amount of data that may be sent from sender to
receiver is arbitrary in size, but the containers for such data
that can transport it from end to end have a fixed maximum
size (called the MTU, for maximum transmission unit), the
Transport layer also handles the activities known as
segmentation and reassembly
• Segmentation involves cutting up a big message into a
numbered sequence of chunks, called segments, in which
each chunk represents the maximum data payload that the
network media can carry between sender and receiver
Transport Layer
• In equally simple terms, reassembly describes the process
whereby the chunks as sent are put back into their original
order and used to re-create the data in the form it took
before it was segmented for transmission
• The Transport layer is equipped to request retransmission
of all erroneous or missing PDUs when reassembly is
underway, so that it can guarantee reliable delivery of data
from sender to receiver
• The PDUs used at the Transport layer are called segments,
or data segments
Session Layer
• The Session layer is where ongoing
communications between a sender and a
receiver, somewhat like a telephone
conversation, are set up, maintained, and then
terminated, or torn down, as needed
• The Session layer includes mechanisms to
maintain reliable ongoing conversations, called
checkpoints
Session Layer
• Checkpoints define the last point up to which
successful communications are known to have
occurred, and define the last known point to which
a conversation must be rolled back for missing or
damaged elements to be replayed to recover from
the effects of missing or damaged data
• The Session layer’s primary job is to support
communications between two networked parties,
in which a sequence of messages or PDUs is
typically exchanged
Presentation Layer
• The Presentation layer manages the way data is presented
to the network (on its way down the protocol stack), and to
a specific machine/application combination (on its way up
the protocol stack)
• The Presentation layer can also supply special datahandling functions for applications, including protocol
conversions (when applications use protocols distinct from
those used for networked communications, as may be the
case for e-commerce, database, or other transactionoriented services), data encryption (for outgoing
messages), decryption (for incoming ones), data
compression (for outgoing messages), or expansion (for
incoming ones)
Application Layer
• The Application layer defines an interface that
applications can use to request network services,
rather than referring directly to applications
themselves
• The Application layer defines a set of access
controls over the network, in the sense that it
determines what kinds of things applications can
ask the network to carry or deliver, and what
kind of activities the network can support
The TCP/IP Networking Model
• Figure 1-2 shows the layers identified for the native
TCP/IP model, and maps its layers to those of the reference
model
• That’s because some functions associated with the Session
layer and the Presentation layer for the OSI reference
model appear in the TCP/IP Application layer, while some
aspects of the Session layer from the OSI reference model
appear in the TCP/IP Transport layer as well
• The Transport model for both layers maps together quite
well
OSI Reference Model
and TCP/IP
Networking Model Layers
TCP/IP Network Access Layer
• The TCP/IP Network Access layer is sometimes
called the Network Interface layer
• It’s the layer wherein LAN technologies, such as
Ethernet, token ring, and wireless media and
devices, come into play
• It’s also the layer in which WAN and connectionmanagement protocols, such as Serial Line
Internet Protocol (SLIP), Point-to-Point Protocol
(PPP), and X.25, come into play
TCP/IP Network Access Layer
• At the Network Access layer, the Institute for Electrical
and Electronic Engineers (IEEE) standards for networking
apply
• These include the IEEE 802 family of standards, which
features the following components of interest, among
others:
– 802.1 Internetworking
– 802.2 Logical Link Control
– 802.2 Media Access Control
– 802.3 CSMA/CD: CSMA/CD stands for Carrier Sense
Multiple Access with Collision Detection
– 802.5 Token Ring
TCP/IP Network
Access Layer Protocols
• The most important TCP/IP Network Access
layer protocols include SLIP and PPP
• PPP is a more modern serial line protocol,
which is widely used for Internet and private
TCP/IP network connections
• PPP is protocol neutral, and may be used to
simultaneously ferry a range of protocols
across a single serial line connection
TCP/IP Network
Access Layer Protocols
• The Windows implementation of PPP supports all the
major Windows protocols—namely, TCP/IP, Internetwork
Packet Exchange Sequenced Packet Exchange (IPX/SPX),
and NetBIDS Enhanced User Interface (NetBEUI), along
with tunneling protocols, such as Point-to-Point Tunneling
Protocol (PPTP), and other Virtual Private Network (VPN)
protocols—across a single connection
• Other implementations add support for numerous other
protocols—including AppleTalk and Systems Network
Architecture (SNA)—to this mix
TCP/IP Internet Layer Functions
• The Internet layer handles three primary tasks for
TCP/IP:
1. MTU fragmentation
2. Addressing
3. Routing
Internet Layer Protocols
• The primary protocols that function at the TCP/IP
Internet layer include the following:
–
–
–
–
–
–
–
–
–
Internet Protocol (IP)
Internet Control Message Protocol (ICMP)
Packet Internetwork Groper(PING)
Address Resolution Protocol (ARP)
Reverse ARP (RARP)
Bootstrap Protocol (BOOTP)
Routing Information Protocol (RIP)
Open Shortest Path First (OSPF)
Border Gateway Protocol (BGP)
TCP/IP Transport Layer
Functions
• Devices that operate on the Internet are generically
identified as hosts, so the TCP/IP Transport layer
is also sometimes called the host-to-host layer
because this layer involves moving data from one
host to another
TCP/IP Transport Layer
Protocols
• There are two TCP/IP Transport layer
protocols: the Transmission Control Protocol
(TCP) and the User Datagram Protocol (UDP)
• These two transport protocols come in two
flavors: connection-oriented and
connectionless, whereby TCP is connectionoriented, and UDP is connectionless
TCP/IP Application Layer
• The TCP/IP Application layer is also known as the Process
layer because this is where the protocol stack interfaces
with applications or processes on a host machine
• File Transfer Protocol (FTP), Telnet, etc. represent specific
TCP/IP-based protocols, and also define services for file
transfer, terminal emulation, etc.
• The best-known TCP/IP-based services use TCP as
transports, rather than UDP
• But some services (Network File System, NFS) often use
USP for transport
TCP/IP Application Layer
•
TCP/IP services depend on two elements to operate:
1. In UNIX terminology, a special “listener process,”
called a daemon, operates on a server to handle
incoming user requests for specific services
2. Each TCP/IP service has an associated port address
that uses a 16-bit number to identify a specific process
or service. Addresses in the range from 0 to 1024 are
often called well-known port addresses and associate a
specific port address with a specific service
TCP/IP Application Layer
• Any daemon or listener process essentially hangs around,
listening for attempts to connect on the well-known port
address (or addresses) associated with its services
• A well-known port address can often be changed as a
configuration option, which is why you sometimes see
Web Uniform Resource Locators, or URLs, that specify a
different port address at the end of the domain name
portion of the string
TCP/IP Protocols,
Services, Sockets, and Ports
• TCP/IP’s inclusion in the version of UNIX known as
4.2BSD was a milestone in its history
• This inclusion exposed the worldwide research and
academic communities to the joys and sorrows of working
with TCP/IP
• Combining the various sources of outgoing data into a
single output data stream is called multiplexing; breaking
up an incoming data stream so that separate portions may
be delivered to the correct applications is called
demultiplexing
TCP/IP Protocols,
Services, Sockets, and Ports
• To help make this job easier, TCP/IP uses protocol
numbers to identify distinct protocols, and those
protocols use port numbers to identify specific
Application layer protocols and services
• Numerous port numbers are reserved to identify
well-known protocols
TCP/IP Protocol Numbers
• Well-known protocols (also called well-known services in
some contexts) assign a series of numbers to represent a
sizable collection of TCP/IP-based network services, such
as file transfer (FTP), terminal emulation (Telnet), and email (SMTP, POP3, and IMAP)
• In an IP datagram header, the protocol number appears as
its 10th byte
• This 8-bit value indicates which Transport layer protocol
should accept delivery of incoming data
TCP/IP Protocol Numbers
TCP/IP Port Numbers
• After IP passes incoming data to TCP or UDP at
the Transport layer, the protocol must perform its
duties, then pass that data to its intended
application process
• TCP/IP application processes are sometimes called
network services and are identified by port
numbers
• The source port number identifies the process that
sent the data, and the destination port number
identifies the process that is to receive that data
TCP/IP Port Numbers
• The source port number identifies the process
that sent the data, and the destination port
number identifies the process that is to receive
that data
• All port addresses below 1024 represent wellknown services, and there are many so-called
registered ports associated with specific
application services in the range from 1024
through 65,535
TCP/IP Sockets
• Well-known or registered ports represent preassigned port
numbers that have specific associations to particular
network services
• After a client or server uses a well-known port address to
establish communications, the connection established
(called a session) is invariably handed to a temporary pair
of socket addresses that provides the sending and receiving
port addresses for further communications between sender
and receiver
• The combination of a particular IP address and a
dynamically assigned port address is called a socket
address (or socket)
Data Encapsulation in TCP/IP
• At each layer in the TCP/IP protocol stack—the Network
Access, Internet, Transport, and Application layers (where
TCP/IP’s many application protocols and services, each
represented by one or more well-known port numbers,
operate)—outgoing data is packaged and identified for
delivery to the layer underneath
• Thus, each PDU has its own particular opening component
called a header (or packet header) that identifies the
protocol in use, the sender and intended recipient, and
other information
Data Encapsulation in TCP/IP
• Likewise, many PDUs also include a characteristic closing
component called a trailer (or packet trailer) that provides a
data integrity checks for the data portion of the PDU,
known as the payload
• The enclosure of a payload between a header and an
(optional) trailer is what defines the mechanism known as
encapsulation, where data from an upper layer gets
manipulated and then enclosed with a header (and,
possibly, a trailer) before being passed to the layer below,
or across the networking medium for delivery elsewhere
Summary
•
TCP/IP was designed with the following goals in mind:
1. To support multiple, packet-switched pathways
through the network so that transmissions can survive
all conceivable failures
2. To permit dissimilar computer systems to easily
exchange data
3. To offer robust, reliable delivery services for both
short- and long-haul communications
4. To provide comprehensive network access with global
scope. Although it’s been revised and changed since
its initial implementation, TCP/IP’s ongoing success
derives in no small part from meeting those goals