Lecture 1 - Lane Department of Computer Science and Electrical
Download
Report
Transcript Lecture 1 - Lane Department of Computer Science and Electrical
CS 453
Computer Networks
Lecture 1
Computer Networking
From a social, economic and technical
perspective, computer networks have
grown
from a high technical, exclusive and
expensive resource that served a few very
specialized facilities
to a common place (some places) commodity
utility that is “touched” by almost everyone on
a daily basis.
in about 40 years
Computer Networks
..play a central role in our daily lives
Imagine being without our networks
Few businesses without access to the
Internet, and for some, without local network
access within their offices, factories and
facilities
…have become economic engines of sorts
determining where companies locate and
what they do
Computer Networks
Access to information resources – sometimes
remote – but we don’t care.
Demand for better networks is dramatically
increasingTelecommunications companies are racing to
get better computer networking capabilities to
home, businesses and communities
Has become the political center of attention –
with government agencies pushing initiatives to
get greater network connectivity to the
communities and constituencies
Computer Networking
…give us a growing range of services
Email and text messaging
World Wide Web access to a vast reservoir of
information and knowledge
Voice communications in the form of VoIP
Video conferencing
Access to music and videos/movies
…
Imagine…
You have two computers
And you need them to talk to each other
One here
and one here
What will you have to do?
…so what if you need to network 3
computers
What new problems do we have?
… what about 5 computers
How do we connect them
How do we get messages from computer x to computer y
…for 5 computers
We need more
connection
channels (wires).
How many?
The computers
need more
interfaces.
How many?
How about bigger networks
What about 6 computers
How many wires? How many interfaces per
machine?
What about 30 computers or 100
computers?
This problem quickly gets out of hand.
We have to have a better way
…there are solutions…
Ring
Bus
…and others
Classes of Networks
Computer networks are often thought of in
terms of broad class or categories
The distinguishing feature is usually
proximity or, conversely, distance…
But really is more about the technology
used to implement it
The categories have very blurry
boundaries
Network Classification by proximity
–based on Tanenbaum (2003) pg. 16
Interprocessor
distance
Processors
located in same
Network Class
1m
Square meter
10 m
Room
100 m
Building
1 km
Campus
10 km
City
Metropolitan area
network
100 km
Country
Wide area network
1000 km
Continent
10,000 km
Planet
Personal area network
Local area network
The Internet
Classes of Networks
Personal Area Network – in the immediate
vicinity of the person or machine – wearable
computers, bluetooth
Local Area Networks – limited distance, usually
within a building, maybe a few buildings,
perhaps a campus
Wide Area Network – interconnect machines in
different cities, states, across the country,
intercontinental
Internet – technically the Internet is a network of
networks
Metropolitan Area Network
From Tanenbaum (2003) pg. 18
Wide Area Networks
How do we transmit data on a network
Data transmitted on a network may be
transmitted as a flow of discrete bits – bit
stream
…or may be grouped and transmitted as
chunks call packets
This is generally true for all networks but this
raises some interesting issues in Wide Area
Networks
Wide Area Networks
It is common in Wide Area Networks to
multiple paths from the source of the data
transmission to the destination
From Tanenbaum (2003) pg.20
Wide Area Networks
In order to send across a network from the
source to the destination…
We must establish a path across the network
from a number of possible paths
We can –
Fix a path for the duration of the transmission
Circuit switching
Common for bit streams, telephone traffic
Set the path dynamically on a packet by packet basis
Packet switching
Wide Area Networks
Packet switched networks
Data transmitted in packets
The best route for the packets decided per packet by
the network (routers) based on link failures,
congestion, bandwidth…
Packet switched networks can be very efficient
Packets from a dataset can travel different paths at the same
time
Packets do not have to flow through the network in order, if
the network can sequence them before delivery
Packet switched networks are sometimes called “store and
forward” networks.
A little History
Computer networking had some origins in the
1950s
Mostly phone circuits to connect remote IO devices
(card readers, line printers) to mainframe computers
It was the Cold War and the military used the
national phone network
The phone network was built central switches
(i.e. many single points of failure
The Defense Department wants a
communications system that was not vulnerable
to nuclear attack.
A Little History
Rand Corp (Baran) came up with a fault tolerant network
design
A Little History
The Defense Department asked AT&T to
build the Rand design
AT&T refused
So that was the end of that, right?
A Little History
In 1968 ARPA asked BBN to build an
prototype network based on the RAND
design…
… interconnecting a small number of
dedicated communications minicomputers
…at 56Kbps
…which at the time very fast
…but how could computers be connected
with such a network?
A Little History
In 1969 ARPA invited researchers (mostly
graduate students) to a conference
ARPA presented their idea of a computer
network based on the packet switching
model
The grad students took on the task…
… and in December 1969 ARPANET was
born
The Birth and Growth of ARPANET
From Tanenbaum (2003) pg. 53
A Little History
ARPANET was DoD sponsored but most
participants were universities
Participating universities were able to
collaborate on research and share data
unlike before
The National Science Foundation noticed
… and built NSFNET
… the successor to ARPANET
A Little History
NSFNET primarily interconnected NSF
sponsored Supercomputing Centers (i.e.
Pittsburgh, Illinois, San Diego
NSFNet started at 448Kbps then,1.5 Mbps
Upgraded to 45 Mbps
Followed by VBNS
…Internet2/Abilene – 1Gbps
…Internet2/Newnet – 10 Gbps
…NLR – multiple 10 Gbps
The Internet
…a network of networks
Conceptual Schematic of the
Internet
From Tanenbaum (2003) pg. 58
Unicasting
Multicasting
Local Area Network on Wide Area
Infrastructure
Comment about the subnet
From Tanenbaum 2003
Network Software
How would you write software to
implement a computer network
Consider our two machine scenario
…and simple hardware interface like a com
port
Implement SLIP
Suppose you have to implement this in your
application program…
Network Software
What are the implications of this?
What if you had to develop another
network application?
Could you reuse your software interface?
What if your original application stayed the
same, but your hardware interface
changes – say from a serial com port to a
USB port? Or SuperDuperNet?
Network Software
Solution – modularize your software
..or more specifically create software
layers
Layers should isolate functionality in
conceptually and developmentally
significant ways
Separate out what each layer needs to do and
know and only share what the neighbor layers
need to know, to do what they have to do
Network Software
Layers functions at virtual channels
Virtually connect to the network partner
Layers sometime call a stack, why?
Modules or layers must define
Services – what can each layer do
Interface – the mechanism to evoke the
services of a layer from an adjacent layer
Protocol – the rules or policies for how layers
interact with each other
Network Software
Consider a simple three layer stack
Hardware layer
Driver layer
Applications layer
What does each layer expose, to what?
Network Software
Network Architecture Layer requirements
Services – what does the network layer
implementation do
Layer functionality
Services like “send data” “receive data”
Interfaces – how does one layer evoke the services of
another layer
Think API, function calls, etc
Protocols – the set of rules and policies that make
layers and devices work well together
... Data must be in packets of 128 bytes with an eight byte
address…
Network Architecture
Logically layers communicate with their
corresponding layers in another host
In reality layers talk to neighboring layers and
only really pass messages in the physical layer
For example,
A program on host A wants to send data to a program
on host B
It seems that the application programs
communication with each other
Or it looks like the driver layers talk to each other
But, really…
Network Architecture
…
The program on host A sends the message to the application
layer on host A…
The application layer on host A sends the message to the driver
layer on host A…
The driver layer on host A sends the message to the physical
layer on host A
The physical layer on host A send the data to the physical layer
on host B…
The physical layer on host B sends the data to the driver layer
on host B…
The driver layer on host B sends the data to the applications
layer on host B…
The applications layer on host B sends the data to the program
on host B…
The program on host B processes the data in the message
Network Message Flow
Host A
Host B
Program
Program
Application Layer
Application Layer
Driver Layer
Driver Layer
Physical Layer
Physical Layer
Network Architecture Concepts
So how does make sure that different
hosts can “understand” each other
Protocols
Reference Models
Standards
Network Architecture Concepts
Reference model – a high level abstraction
of computing system
…serves as a framework for the
development of more specific models and
specifications
Provides a framework to get everyone on
the “same page”
Von Neumann architecture is a reference
model for conventional digital computers
OSI Reference Model
OSI or Open Systems Interconnection
Reference Model
Developed by the International Standards
Organization (ISO)
Defines seven layers
See
http://en.wikipedia.org/wiki/OSI_Model
OSI Reference Model
From Tanenbaum, 2003
OSI Reference Model
Layer 1 – Physical layer
Lowest layer – concern with the transmission
data in its raw form
This is physical media layer
Twisted pair copper
Fiber optics
Wireless
Include interfaces devices – ethernet
adapters, HCA/HBA, hubs and switches
OSI Reference Model
Layer 2 – Data-Link layer
Concerned with flowing data across a network
link
Packages data into frames/extracts data from
frames
Sublayers manage media access control (i.e.
ethernet)
OSI Reference Model
Layer 3 – Network Layer
Concerned with the network aspect of data
delivery
Switching, routing
Creating addressed packets
IP addresses added here
Network routing controlled in this layer
IP lives in this layer
OSI Reference Model
Layer 4 – Transport Layer
Concerned with shipping and receiving
complete messages
Deals with out of order packets, lost packets,
etc.
TCP and UDP live in this layer
OSI Reference Layer
Layer 5 – Session Layer
Responsible for managing network sessions
… between senders and receivers
OSI Reference Model
Layer 6 – Presentation Layer
Converts message from the way the network
wants them to the way the application wants
them
Repackages a network message into an
application record
Repackages an application record into a
network message
OSI Reference Model
Layer 7 – Application Layer
Delivers messages to application/takes
messages from applications
Can be an application…
Or can service an application
SMTP, DNS, FTP and HTTP are Layer 7
protocols
TCP Reference Model
From Tanenbaum, 2003
TCP Reference Model
Much more to come
OSI and TCP/IP Reference Models
…so where are they today
Networking Standards
So why can all of these devices from different
vendors in different countries interoperate?
Standards
Lack of standards – a big problem – most of the
time – consider wireless networking
Standards can be –
Per company
Per country
International
More concrete, specific than reference models
Networking Standards
Usually,
starts with an identified problem domain
The a proposed or draft standard
A review and comment process
Adoption of the standards
Standards Organizations
Telecommunications
ITU-T (previously known as CCITT)
About 200 government members
About 500 industry members
Networking (International Standards
ISO (International Standards Organization)
Members are national standards body
US = ANSI, GB=BSI, France=AFNOR, Germany=DIN
89 or so countries
Standards Organizations
NIST (National Institute of Standards and
Technology)
U.S. Dept. of Commerce
Primarily concerned with government
standards, except DoD
IEEE
IEEE Standards
From Tanenbaum, 2003
Internet Standards
The Internet Society (ISOC)
The Internet Architecture Board (IAB)
The Internet Engineering Task Force (IETF)
The Internet Research Task Force (IRTF)
ICANN
Internet Corporation for Assigned Names and
Numbers