cs 453 computer networks lecture 2. a little history computer networking had some origins in the...
TRANSCRIPT
A little HistoryA little History
Computer networking had some origins in the Computer networking had some origins in the 1950s1950s Mostly phone circuits to connect remote IO devices Mostly phone circuits to connect remote IO devices
(card readers, line printers) to mainframe computers(card readers, line printers) to mainframe computers
It was the Cold War and the military used the It was the Cold War and the military used the national phone networknational phone networkThe phone network was built central switches The phone network was built central switches (i.e. many single points of failure(i.e. many single points of failureThe Defense Department wants a The Defense Department wants a communications system that was not vulnerable communications system that was not vulnerable to nuclear attack.to nuclear attack.
A Little HistoryA Little HistoryRand Corp (Baran) came up with a fault tolerant network Rand Corp (Baran) came up with a fault tolerant network designdesign
A Little HistoryA Little History
The Defense Department asked AT&T to The Defense Department asked AT&T to build the Rand designbuild the Rand design
AT&T refusedAT&T refused
So that was the end of that, right?So that was the end of that, right?
A Little HistoryA Little History
In 1968 ARPA asked BBN to build an In 1968 ARPA asked BBN to build an prototype network based on the RAND prototype network based on the RAND design…design…… … interconnecting a small number of interconnecting a small number of dedicated communications minicomputersdedicated communications minicomputers……at 56Kbpsat 56Kbps……which at the time very fastwhich at the time very fast……but how could computers be connected but how could computers be connected with such a network?with such a network?
A Little HistoryA Little History
In 1969 ARPA invited researchers (mostly In 1969 ARPA invited researchers (mostly graduate students) to a conferencegraduate students) to a conference
ARPA presented their idea of a computer ARPA presented their idea of a computer network based on the packet switching network based on the packet switching modelmodel
The grad students took on the task…The grad students took on the task…
… … and in December 1969 ARPANET was and in December 1969 ARPANET was bornborn
A Little HistoryA Little History
ARPANET was DoD sponsored but most ARPANET was DoD sponsored but most participants were universitiesparticipants were universities
Participating universities were able to Participating universities were able to collaborate on research and share data collaborate on research and share data unlike beforeunlike before
The National Science Foundation noticedThe National Science Foundation noticed
… … and built NSFNETand built NSFNET
… … the successor to ARPANETthe successor to ARPANET
A Little HistoryA Little History
NSFNET primarily interconnected NSF NSFNET primarily interconnected NSF sponsored Supercomputing Centers (i.e. sponsored Supercomputing Centers (i.e. Pittsburgh, Illinois, San DiegoPittsburgh, Illinois, San Diego
NSFNet started at 448Kbps then,1.5 Mbps NSFNet started at 448Kbps then,1.5 Mbps
Upgraded to 45 MbpsUpgraded to 45 Mbps
Followed by VBNSFollowed by VBNS
……Internet2/Abilene – 1GbpsInternet2/Abilene – 1Gbps
……Internet2/Newnet – 10 GbpsInternet2/Newnet – 10 Gbps
……NLR – multiple 10 GbpsNLR – multiple 10 Gbps
Conceptual Schematic of the Conceptual Schematic of the InternetInternet
From Tanenbaum (2003) pg. 58
Local Area Network on Wide Area Local Area Network on Wide Area InfrastructureInfrastructure
Comment about the subnetComment about the subnet From Tanenbaum 2003From Tanenbaum 2003
Network SoftwareNetwork Software
How would you write software to How would you write software to implement a computer networkimplement a computer network Consider our two machine scenarioConsider our two machine scenario ……and simple hardware interface like a com and simple hardware interface like a com
portport Implement SLIPImplement SLIP Suppose you have to implement this in your Suppose you have to implement this in your
application program…application program…
Network SoftwareNetwork Software
What are the implications of this?What are the implications of this?
What if you had to develop another What if you had to develop another network application?network application? Could you reuse your software interface?Could you reuse your software interface?
What if your original application stayed the What if your original application stayed the same, but your hardware interface same, but your hardware interface changes – say from a serial com port to a changes – say from a serial com port to a USB port? Or SuperDuperNet?USB port? Or SuperDuperNet?
Network SoftwareNetwork Software
Solution – modularize your softwareSolution – modularize your software..or more specifically create software ..or more specifically create software layerslayersLayers should isolate functionality in Layers should isolate functionality in conceptually and developmentally conceptually and developmentally significant wayssignificant ways Separate out what each layer needs to do and Separate out what each layer needs to do and
know and only share what the neighbor layers know and only share what the neighbor layers need to know, to do what they have to doneed to know, to do what they have to do
Network SoftwareNetwork Software
Layers functions at virtual channelsLayers functions at virtual channels Virtually connect to the network partnerVirtually connect to the network partner
Layers sometime call a stack, why?Layers sometime call a stack, why?Modules or layers must define Modules or layers must define Services – what can each layer doServices – what can each layer do Interface – the mechanism to evoke the Interface – the mechanism to evoke the
services of a layer from an adjacent layerservices of a layer from an adjacent layer Protocol – the rules or policies for how layers Protocol – the rules or policies for how layers
interact with each otherinteract with each other
Network SoftwareNetwork Software
Consider a simple three layer stackConsider a simple three layer stack Hardware layerHardware layer Driver layerDriver layer Applications layerApplications layer
What does each layer expose, to what?What does each layer expose, to what?
Network SoftwareNetwork Software
Network Architecture Layer requirementsNetwork Architecture Layer requirements Services – what does the network layer Services – what does the network layer
implementation do implementation do Layer functionalityLayer functionality Services like “send data” “receive data”Services like “send data” “receive data”
Interfaces – how does one layer evoke the services of Interfaces – how does one layer evoke the services of another layeranother layer
Think API, function calls, etcThink API, function calls, etc Protocols – the set of rules and policies that make Protocols – the set of rules and policies that make
layers and devices work well togetherlayers and devices work well together... Data must be in packets of 128 bytes with an eight byte ... Data must be in packets of 128 bytes with an eight byte address…address…
Network ArchitectureNetwork Architecture
Logically layers communicate with their Logically layers communicate with their corresponding layers in another hostcorresponding layers in another hostIn reality layers talk to neighboring layers and In reality layers talk to neighboring layers and only really pass messages in the physical layeronly really pass messages in the physical layerFor example,For example, A program on host A wants to send data to a program A program on host A wants to send data to a program
on host Bon host B It seems that the application programs communication It seems that the application programs communication
with each otherwith each other Or it looks like the driver layers talk to each otherOr it looks like the driver layers talk to each other But, really…But, really…
Network ArchitectureNetwork Architecture……
The program on host A sends the message to the application The program on host A sends the message to the application layer on host A…layer on host A…
The application layer on host A sends the message to the driver The application layer on host A sends the message to the driver layer on host A…layer on host A…
The driver layer on host A sends the message to the physical The driver layer on host A sends the message to the physical layer on host Alayer on host A
The physical layer on host A send the data to the physical layer The physical layer on host A send the data to the physical layer on host B…on host B…
The physical layer on host B sends the data to the driver layer The physical layer on host B sends the data to the driver layer on host B…on host B…
The driver layer on host B sends the data to the applications The driver layer on host B sends the data to the applications layer on host B…layer on host B…
The applications layer on host B sends the data to the program The applications layer on host B sends the data to the program on host B…on host B…
The program on host B processes the data in the messageThe program on host B processes the data in the message
Network Message FlowNetwork Message Flow
Host A
Program
Application Layer
Driver Layer
Physical Layer
Host B
Program
Application Layer
Driver Layer
Physical Layer
Network Architecture ConceptsNetwork Architecture Concepts
So how does make sure that different So how does make sure that different hosts can “understand” each otherhosts can “understand” each other ProtocolsProtocols Reference ModelsReference Models StandardsStandards
Network Architecture ConceptsNetwork Architecture Concepts
Reference model – a high level abstraction Reference model – a high level abstraction of computing systemof computing system……serves as a framework for the serves as a framework for the development of more specific models and development of more specific models and specificationsspecificationsProvides a framework to get everyone on Provides a framework to get everyone on the “same page”the “same page”Von Neumann architecture is a reference Von Neumann architecture is a reference model for conventional digital computersmodel for conventional digital computers
OSI Reference ModelOSI Reference Model
OSI or Open Systems Interconnection OSI or Open Systems Interconnection Reference ModelReference Model
Developed by the International Standards Developed by the International Standards Organization (ISO)Organization (ISO)
Defines seven layers Defines seven layers
SeeSee http://en.wikipedia.org/wiki/OSI_Modelhttp://en.wikipedia.org/wiki/OSI_Model
OSI Reference ModelOSI Reference Model
Layer 1 – Physical layerLayer 1 – Physical layer Lowest layer – concern with the transmission Lowest layer – concern with the transmission
data in its raw formdata in its raw form This is physical media layerThis is physical media layer
Twisted pair copperTwisted pair copper
Fiber opticsFiber optics
WirelessWireless Include interfaces devices – ethernet Include interfaces devices – ethernet
adapters, HCA/HBA, hubs and switchesadapters, HCA/HBA, hubs and switches
OSI Reference ModelOSI Reference Model
Layer 2 – Data-Link layerLayer 2 – Data-Link layer Concerned with flowing data across a network Concerned with flowing data across a network
linklink Packages data into frames/extracts data from Packages data into frames/extracts data from
framesframes Sublayers manage media access control (i.e. Sublayers manage media access control (i.e.
ethernet)ethernet)
OSI Reference ModelOSI Reference Model
Layer 3 – Network LayerLayer 3 – Network Layer Concerned with the network aspect of data Concerned with the network aspect of data
deliverydelivery Switching, routingSwitching, routing Creating addressed packetsCreating addressed packets IP addresses added hereIP addresses added here Network routing controlled in this layerNetwork routing controlled in this layer IP lives in this layerIP lives in this layer
OSI Reference ModelOSI Reference Model
Layer 4 – Transport LayerLayer 4 – Transport Layer Concerned with shipping and receiving Concerned with shipping and receiving
complete messagescomplete messages Deals with out of order packets, lost packets, Deals with out of order packets, lost packets,
etc.etc. TCP and UDP live in this layerTCP and UDP live in this layer
OSI Reference LayerOSI Reference Layer
Layer 5 – Session LayerLayer 5 – Session Layer Responsible for managing network sessionsResponsible for managing network sessions … … between senders and receiversbetween senders and receivers
OSI Reference ModelOSI Reference Model
Layer 6 – Presentation LayerLayer 6 – Presentation Layer Converts message from the way the network Converts message from the way the network
wants them to the way the application wants wants them to the way the application wants themthem
Repackages a network message into an Repackages a network message into an application recordapplication record
Repackages an application record into a Repackages an application record into a network messagenetwork message
OSI Reference ModelOSI Reference Model
Layer 7 – Application LayerLayer 7 – Application Layer Delivers messages to application/takes Delivers messages to application/takes
messages from applicationsmessages from applications Can be an application…Can be an application… Or can service an applicationOr can service an application SMTP, DNS, FTP and HTTP are Layer 7 SMTP, DNS, FTP and HTTP are Layer 7
protocolsprotocols
OSI and TCP/IP Reference ModelsOSI and TCP/IP Reference Models
……so where are they todayso where are they today
Networking StandardsNetworking Standards
So why can all of these devices from different So why can all of these devices from different vendors in different countries interoperate?vendors in different countries interoperate?StandardsStandardsLack of standards – a big problem – most of the Lack of standards – a big problem – most of the time – consider wireless networkingtime – consider wireless networkingStandards can be –Standards can be – Per companyPer company Per country Per country InternationalInternational
More concrete, specific than reference modelsMore concrete, specific than reference models
Networking StandardsNetworking Standards
Usually, Usually, starts with an identified problem domainstarts with an identified problem domain The a proposed or draft standardThe a proposed or draft standard A review and comment processA review and comment process Adoption of the standardsAdoption of the standards
Standards OrganizationsStandards Organizations
Telecommunications Telecommunications ITU-T (previously known as CCITT)ITU-T (previously known as CCITT) About 200 government membersAbout 200 government members About 500 industry membersAbout 500 industry members
Networking (International StandardsNetworking (International Standards ISO (International Standards Organization)ISO (International Standards Organization) Members are national standards bodyMembers are national standards body
US = ANSI, GB=BSI, France=AFNOR, Germany=DINUS = ANSI, GB=BSI, France=AFNOR, Germany=DIN
89 or so countries89 or so countries
Standards OrganizationsStandards Organizations
NIST (National Institute of Standards and NIST (National Institute of Standards and Technology)Technology) U.S. Dept. of CommerceU.S. Dept. of Commerce Primarily concerned with government Primarily concerned with government
standards, except DoDstandards, except DoD
IEEEIEEE
Internet StandardsInternet Standards
The Internet Society (ISOC)The Internet Society (ISOC) The Internet Architecture Board (IAB)The Internet Architecture Board (IAB) The Internet Engineering Task Force (IETF)The Internet Engineering Task Force (IETF) The Internet Research Task Force (IRTF)The Internet Research Task Force (IRTF) ICANN ICANN
Internet Corporation for Assigned Names and Internet Corporation for Assigned Names and NumbersNumbers