Lecture 2 - Lane Department of Computer Science and Electrical

Download Report

Transcript Lecture 2 - Lane Department of Computer Science and Electrical

CS 453
Computer Networks
Lecture 2
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