cs 453 computer networks lecture 2. a little history computer networking had some origins in the...

44
CS 453 CS 453 Computer Networks Computer Networks Lecture 2 Lecture 2

Upload: octavia-day

Post on 28-Dec-2015

220 views

Category:

Documents


0 download

TRANSCRIPT

CS 453CS 453

Computer NetworksComputer Networks

Lecture 2Lecture 2

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

The Birth and Growth of ARPANETThe Birth and Growth of ARPANET

From Tanenbaum (2003) pg. 53

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

The InternetThe Internet

……a network of networksa network of networks

Conceptual Schematic of the Conceptual Schematic of the InternetInternet

From Tanenbaum (2003) pg. 58

UnicastingUnicasting

MulticastingMulticasting

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

From Tanenbaum, 2003

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

TCP Reference ModelTCP Reference Model

From Tanenbaum, 2003

TCP Reference ModelTCP Reference Model

Much more to comeMuch more to come

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

IEEE StandardsIEEE Standards

From Tanenbaum, 2003

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