introduction - class.ece.uw.edu€¦ · web viewnetworks. networks - what are they. what is a...
TRANSCRIPT
Introduction
NetworksNetworks - What are They
What is a network - a bit difficult to defineWe use the word all the time and seem to understand its meaning
Can talk of networks ofPeopleRoadsCompaniesTelephones
Here we’re going to talk about networks of computers
In the early days of computingHad one big computerPainted blue Kept in an air conditioned room and fed punch cardsAll the data and information kept in one place
Cheaper computersAllowed more computersMoved them out of the air conditioned room onto the desktopStuff suddenly got distributedPeople still needed to share the stuff
Sharing stuffAt the start sharing stuff meant
Writing the stuff to be shared to a tape or big floppy diskWalking over to the person who needed the stuffCopying the files to the new computer
Synchronizing stuff became an immediate problem
Major breakthroughRS232
Someone got the bright idea Let’s connect the computers together using a couple of wires
Pins 2, 3, and 7 that’s all you need - trust meThat was the start and the endThe rest is history
StuffWhat is stuff
Can mean a lot of thingsLet’s start at the bottom
We start with a collection of symbols or marksThese are our alphabet
In isolation they have no meaning
We next associate a meaning with the symbolsThis gives us numbers letters or other such primitivesStill these have no real meaning
We next begin grouping the symbols or associating a contextWe now have dataThis is the first step towards something usefulThe symbol 1 may mean a single buffalo or a biological needThe symbols leaf may indicate a tree appendage or a new set of clothes
Applying additional groupings and context to dataGives informationNote
The word information will be used throughout
Convey the general notion of StuffMoving stuff
Different from meaning hereIntent should be evident from the context
Continuing gives knowledgeThis gives a hierarchy of the form
Each level provides A richer expressive powerGreater flexibility
HistoryPrimitive with
Word of mouthDrums
Mark
Symbol
Relation
Data
Relation
Information
Relation
Knowledge
Relation
SmokePolished GlassMessengersPony express
Passing message from person to personPrimitive routers
AlexanderObjective
Move information from one place to anotherAs amount and importance of information increased
Complexity and sophistication of the network Increased correspondingly
ElementsPiece of information - Message
May be encodedRepresented some way
Means by which to send it - Transport mechanismHardware / software / whatever
Place or places to send from and to
Hardware
Can offer a number of different viewsObserve the views are not orthogonalCan have combinations
Types by Transmission TechnologiesBroadcastMulticastPoint to Point
Types by Information FlowSerial
BitCharacterWord
ParallelBitCharacterWord
Types by TopologyStarRingTreeFull or complete connectivityAd hocNetwork can be
Interconnected collection of nodes and arc Easily modeled using graph theoretic techniques
SimpleEach node in the graph
Is a vertexEach connection between two nodes
Is an edgeCollection of sub-networks
Need interconnections between sub-networksSuch connections provide for inter network communication
Referred to as inter-net connectionsMost familiar is the Internet
Provides interconnection between networks all over the world
Types by DistanceLocal Area Networks - LAN
Small to medium geographical areaAutomobile or aircraft have several LANsBoundary scan test technology uses integrated on chip networksA computer may internally connect constituents using a LAN
Single room with a couple of devicesSeveral buildings several hundred devicesSingle city to several cities
Wide Area Networks - WANMedium to large geographical areaSingle city to several citiesSingle CountrySeveral Countries
Types by TechnologySneaker netWire
Simple as a couple of wiresTwisted pairsCo-axial cable
Fiber OpticsWireless
Radio waves of one form or anotherMay be direct digital formTraditional modem through cellular telephone
Easy to installExcellent in areas where wire infrastructure is not in place
Cheaper than wire based
Typically slower than wire typeMore prone to errors
EnvironmentInterference
Types by MobilityMobile computing
Typically wireless but not necessaryStationary
Typically wired but not necessaryInterconnecting Networks
Software
Hardware provides The physical means by which data is moved from one place to another
Software includesDataAddressing and control mechanism
Virtual networksMost contemporary communications networks can be viewed as
Hierarchy of virtual networksHave talked about the hardware
This is the lowest layerOften called the physical layer
Above the hardwareVarying number of software layers or levelsAt each level
A different language is spokenReferred to as a protocol
The function is to provide services for the level aboveRelationship
Service providerService consumer
Physical Layer
Layer 1 Layer 1Layer 1 Protocol
Layer 2 Layer 2Layer 1 Protocol
Layer n-1 Layer n-1Layer n-1Protocol
Layer n Layer nLayer n Protocol
Entire collection called A network architecture
Set of protocols used by a machine calledA protocol stack
Information sent on each level calledA message or messagesIt is possible that message on higher level
Composed of several lower level messagesWill discuss in more detail shortly
Graphically this looks like
Familiar schemeWe should be familiar with such techniquesConsider a computer
Lowest level is the physical machineAbove the hardware
Machine CodeAssemblerHigher level languages C C++ Basic
At each level we have a virtual machineEach machine has its own languageEach has its own set of instructions
Bits and BytesAt the lowest level
Communication is simply a collection of 1’s and 0’sAs we move to higher levels
We place (different) meaningful interpretations on Information on the level below
ProtocolsA protocol is simply an interpretation placed on
Bits and bytes to be transmitted or receivedAs noted earlier we’re transferring messages Message
Is comprised of a collection of bitsSome are interpreted as
Data Some are interpreted as
Control informationOften called a header
DataThis is the actual stuff that is to be sentMoving the data is the goal of the communication
Control Control information is the overhead
Getting the data from one place to another
Two kinds of controlHeader informationScheme for executing the data transfer
Header Information
Potential header elements might beAddress or identifier information
Provides routing and destination informationIdentifies the senders and receivers of the message
Indication of the message Start and EndSize
Message type or structurePadding or fill bits
To ensure proper sizeSeparator
Error informationDetection onlyDetection and correction
Transfer scheme
ConsiderationsData movement
One direction - SimplexTwo directions
One direction at a time - half-duplexBoth directions simultaneously - full-duplex
Number of channelsSpeed or Timing
Individual bitsFlow control
Message orderingSub messages are not always sent in sequential order
HandshakingUse or not useLevel
Complete messageSub messages
Connection and Connectionless Two kinds of services
Connection OrientedConnectionless
Connection Oriented
Transaction protocolEstablish the connection
Transact the businessTerminate or release the connection
Messages Enter one end Extracted from the other end
Ordering preserved
Connectionless
Each (sub)message carries full address informationIf a message is composed of several sub messages
The sub-messages may not be in the order sentMessages sent as
Datagram serviceMessage sent - receiver does not acknowledge
Acknowledged datagram serviceMessage sent - receiver acknowledges
Request-reply serviceSender transmits a datagram containing a requestReceiver returns a datagram containing the answerFrequently used in the client-server model
Services and Service PrimitivesServices
Collection of primitive actions available to the user Request some action to be performedReport on the action taken
These provide the public interface to the service Similar to
Function members in C++Methods in Smalltalk
TypesServices may be
ConfirmedTransaction protocol
request - for an actionindication - the action occursresponse - receiver responds to the actionconfirm - the receiver confirms the action
UnconfirmedTransaction protocol
request - for an actionindication - the action occurs
Service PrimitiveImplementation of a particular action
ModelsLet’s examine several different network models in current use
Each is implemented as a collection of layers as discussedWe generally have two kinds of systems
OpenDesigned to communicate with other systems and vice versa
ClosedCommunication is limited to the confines of the system
OSI Model
Model is called theOpen Systems Interconnection modelNot an architecture but a model
Exact services and protocols are not specifiedProposed and developed by
The International Standards OrganizationISOAn international body similar to ANSI
American National Standards InstituteTheir larger task is to try to establish international standards
Many objects that affect our daily livesThe is becoming essential with the internationalization of trade and economies
OSI ModelComprised of 7 layers
As described in our earlier modelA standard has been defined for each layer
Physical Layer
Moves collections of bits (1’s and 0’s) Over a communications channelThere is no meaning or structure
At this level concern is forMechanical and electrical interfacesIntegrity of bitsPhysical characteristics of the bits
Logical 1 or 0Number of volts for each
The width of each bitDetermines how quickly bits can be moved through the channel
Transfer scheme
Layer Unit Transmitted
Physical BitData Link FrameNetwork PacketTransport TDPUSession SPDUPresentation PPDUApplication APDU
Uni-directionalBi-directional
Connectors and cablingHow connection established and released
Data Link Layer
Moves collections of bits aggregated as framesSender
Breaks data stream into data framesReceiver
Acknowledges reception via an acknowledgment frameData link layer must
Create and recognize frame boundariesAccomplished by surrounding a frame with delimiters
Header and trailerDelimiters must be distinguishable from the data frame
Handle frame re-transmission in the case of corruptionMust accommodate duplicate re-transmission
If acknowledge frame is lostHandle duplex transmission and acknowledgmentHandle broadcast traffic including shared channel access
Network Layer
Manages the routing of a transmission from the source to the destinationRouting alternatives
Fixed path via static tablesPredetermined and integrated into the network
Determined at the time of the connectionDynamically modified throughout the session
May be done to relieve congestionAccommodate network failureFind ‘shortest’ path
Must accommodateDifferent characteristics between or among networks
AddressingMessage sizeProtocols
Manage accounting for network useAt the network layer and below
Activities are directed toward Managing the networkPhysical movement of data
Bits are collected into manageable packetsAbove the network layer
Collection of virtual machines
These have the task of managing the sessionThe toplevel message is broken down into manageable packets
The interface occurs at the transport layerBelow is the subnet Above is the session
Transport Layer
Among the tasks of the transport layer Accept data from the session layer
Immediately aboveSubdivide into packets that are compatible with the network layer
Immediately belowDesire transactions to be implemented such that
Hardware appears invisible to the higher layersMust accommodate
Speed demandsHigh speed
Subdivide problem into multiple parallel transmissionsLow speed
Implement as a single pathPrice demands
Maximally use the transport mechanism is the transaction cost is high
Determine the type of servicePoint to point in order sentTransport of individual message componentsBroadcast to multiple destinations
Control the flow of informationPrevent over / under run
Session Layer
Permits users on separate or different machines to communicateLike transport layer - supports movement of data between machinesOffers richer set of features and capabilities
Analogous to moving to a higher level languageCan do a job in assemblerEasier to do in language like C
Potential servicesNote
Moving from must dos to offers to doManage dialog control
For single direction transmissionTrack turns to send
Manage tokens in token passing protocolsExample
IBM token ring
Like a relay raceCannot use the network until you have been given permissionPermission is in form of a token passed around
Synchronize transactionsReassemble message if necessaryIf complete transfer cannot be completed in single session
Major errorLine dropMachine crash
Rather than retransmit complete messageResume from point of last correct reception
Presentation Layer
Moving up another layer to richer set of toolsGoal of presentation layer is to offer generic set of solutions to common problemsPotential services
Map information - types, structures, encoding etc.From source computer representationTo network representationFrom network representation to destination representation
Similar to p-code generated from some compilersAt the p-code level can be moved between machinesAt the machine code level cannot be moved
Application Layer
This level also deals with incompatibilities between Systems at opposite ends of the network
HardwareSome accommodation at this levelUsually done at a lower level
SoftwarePrimary focus
Potential incompatibilitiesFile systemsTerminal typesMail systemsRemote procedure execution
TCP/IP Model
HistoryOriginated with the U.S. Department of Defense
Sponsored and developed as link between UniversitiesGovernment Installations
Contractors DARPA
Defense Advanced Research Projects AgencyEstablished ARPA NetPrivatized with the end of the cold warNow has become the familiar Internet
Means to exchange information over standard telephone linesPrimary goal
Seamless interconnectionExtreme reliability
As long as source and destination machines operableTransmission would / could continueEntailed sophisticated routing and re-routing schemes
ResultImplemented a packet switching networkConnectionless inter-network layer
This layer is key to the complete designConfiguration
Implemented with 4 layers rather than 7 as in OSI modelMissing are
PresentationSession
Data and PhysicalCombined into a single layer
Host to Network
No significant requirements specified at this levelHost system must
Be able to connect to the networkTransmit / Receive
IP (Internet protocol) packets
Internet Layer
As notedKey layer
Defines the official Packet formatProtocol
IP - Internet ProtocolObjective
OSI TCP/IPPhysical Host to NetworkData LinkNetwork InternetTransport TransportSession Not PresentPresentation Not PresentApplication Application
Get message comprised of packetsFrom point A to point B
No requirement placed on Packet ordering during transmissionRoute a packet may take
All packets may not take the same route
Transport Layer
Equivalent to the OSI transport layerSimilar responsibilities
Two communication protocols are defined for the layerTCPUDP
TCPTCP - Transmission Control ProtocolVery reliableConnection oriented protocolEnsures data stream
Originating on one machineDelivered to any other machine on the internet
Process Disassembles the byte stream into packetsPasses them to the internet level
Handles flow control
UDPUDP - User Datagram ProtocolUnreliable
In the sense that messages are not inherently acknowledgedConnectionless protocolAlternative to TCP
Designed for hosts who want to implement their ownPacket sequencingFlow control
Finds application in Request - response type applications
Client serverTrade speed for accuracy
Application Layer
Supports / Contains all the high level protocolsThree basic ones in support of the original intent of the development
Virtual Terminals - TELNETRecall the discussions of OSI applications layer
File Transfer - FTPFile transfer protocol
Electronic Mail - SMTPSimple mail transfer protocol
Later additionsMapping of host name to network address - DNS
Domain Name ServiceMoving news articles - NNTP
Network news transfer protocolInterface to the WWW - HTTP
Hypertext transfer protocol
Data Communication ServicesWe’ve looked at
HardwareSoftwareSeveral reference models
Recall network serviceSet of primitives or operations
A layer offers to its usersRepresents a set of tools to get a job done
Let’s briefly examine several communication servicesIntroducing the acronyms - Gotta do that
DQDB - Distributed Queue Dual BusSMDS - Switched Multimegabit Data ServiceX.25 - X.25Frame Relay - Frame RelayB-ISDN - Broadband Integrated Services Digital NetworkATM - Asynchronous Transfer Mode
DQDB - Distributed Queue Dual BusMentioned earlierComputers are interconnected via two unidirectional buses
Message traffic to the Right proceeds on the upper busLeft proceeds on the lower bus
SMDS - Switched Multimegabit Data ServiceDesigned by Bellcore as an internet service
Computer NComputer 3Computer 2Computer 1
Interconnect multiple local area networks - LANs
Broadband network - High Speed Data ServiceBroadband as many interpretations
Telephony Anything wider than 4KHz
Generally assumed to support higher frequency transmissionUp to 10’s to 100’s of megahertz
SMDS - 45 Mbps
Switched ServiceLines not dedicated but switched as needed
For above systemTo support full interconnectivity among all LANs
Require 6 dedicated linesUnless high utilization
The cost of dedicated system does not make senseAlternative
Connection on demandWhen needed - make connection
LAN via dedicated line to switchAbove with SMDS requires 4 lines
Eliminate 2 linesSuch a system is designed to handle bursts of data
Connectionless service with packet transmissionPacket order not guaranteedPacket format
Upto 10K bytes16 address bytes
8 byte destination address8 byte source address
LAN 3LAN 1
LAN 4LAN 2
Dedicated Lines
LAN 3
Switch
LAN 1
LAN 4LAN 2
Format4 bit code15 decimal digit telephone number
Country codeCity / area codeLocal numberEach digit is encoded in a 4 bit field
9188 data bytesMaximumNo restrictions on the content of the data
Bytes may contain any arbitrary protocol
Dynamic Message LengthEach access point contains a counter
Continuously incremented at constant rateWhen a packet arrives
Length in bytes compared to counter valueIf less
TransmitSubtract length from the count
ElseDiscard
ExampleLet counter increment at 10 ms rateEvery second will accumulate 100,000 countsAverage
Gives an average throughput of 100,000 bytes/secBurst
Assume a short message - 100 to 1000 bytesCan assure full speed (45 mbs) if transmit every 1ms to 10ms
X.25International standard developed in Europe early 70s by CCITT
Comite Consultatif International Telegraphique et TelephoniqueDesigned to provide an interface between
Public packet switched networksUsers
Digital transmission rather than analogMost telecommunication signaling is analog basedHas slowed acceptance
Connection oriented service with packet transmissionPacket order guaranteedTransmission commences after establishment of a (virtual) circuit
Packets up to 128 bytes
Circuit ConnectionSwitched virtual
Source - Make a request to communicateConnection establishedCommunication proceedsLink relinquished
Permanent virtualConnection established in advanceNot relinquished when transaction completeNot a physical nor dedicated connectionDesigned for burst data transmission
Frame RelayLow end service
Provides a means to identify Start and End of a frame
Error detectionDiscard on errorError recover is user’s responsibility
No flow control
Connection oriented service with packet transmissionPacket order guaranteedReception not acknowledged
Permanent virtualConnection established in advanceUsually between 2 pointsCan have a one to many configuration
Each virtual circuit identified by a 10 bit numberIncluded in each transmitted frame
Packets up to 1600 bytes
ATM - Asynchronous Transfer ModeAs the name suggests
ATM is the opposite of STMSynchronous Transfer Mode
Error ManagementNo packet acknowledgmentNo retransmission on errorCan be implemented on higher layer
STM
Most commonly used for reliable long distance Voice and data transmission
Works as followsBandwidth of the link divided into time slots or bucketsBuckets are collected together in a group like a linked listThus
On the channelThe group is repeated every T secThere can be up to m different groups
Such a configuration gives a total of n*m time slotsWhen a connection is established
It is assigned one of the time slotsFor the duration of the transmission
Data for that connection placed in that time slotTime slot occupied even if no data transmitted
Maximum number of connection thereforen*m
Values of T, m, and n Set up by international standards committees
The telecommunications companies are investigating Fiber optic cross country and cross oceanic links
With Gigabit/sec speedsWould like to carry
Real time traffic Voice and hi-resolution video
Which can tolerate some loss but not delayNon real time traffic
Computer data and file transfer Which may tolerate some delay but not loss
Problem Peak bandwidth requirements
May be quite high As in high-resolution full motion video
The duration for which the dataMay be quite small
That isThe data comes in bursts Must be transmitted at the peak rate of the burst
Tn-1T2T1T0
Average arrival time between bursts May be quite large and randomly distributed.
For bursty connectionsWaste of bandwidth
To reserve them a bucket at their peak bandwidth rate
When on the average Only 1 in 10 buckets may actually carry the data.
STM becomes inefficient with increasingPeak bandwidth of the link, Peak transfer rate of the trafficOverall burstiness of the traffic
Expressed as a ratio of peak/average
ATMInstead of always identifying a connection by bucket number
Carry the connection identifier along with the data Keep the size of the bucket small
If any bucket got dropped Not too much data lost,Some cases could easily be recovered
Similar idea to packet switching
Fixed packet sizeArose out of motivation
To sustain the same voice quality as in STM networksBut in the presence of some lost packets
Two end points are associated with each other via Virtual Circuit Identifier - VCI label
Instead of by a time-slot or bucket numberVCI is carried in the header portion of a packet
The packet is carried in the same type of bucket as STM
The terms fast packet, cell, and bucket Used interchangeably refer to the same thing.
Fast packet switching attempts to solve Unused bucket problem of STM
TechniqueStatistically multiplex several connections on the same link
Based on their traffic characteristics
If a large number of connections are very bursty Assign all to the same linkTheory
Statistically they will not all burst at the same timeIf some of them do burst simultaneously
There will sufficient elasticity that the burst Can be buffered up Put in subsequently available free buckets
Called statistical multiplexing
Connection oriented service with packet transmissionPacket order guaranteedReception not acknowledgedPacket format
Up to 53 bytes5 header bytes
3 byte VCI label1 Control field1 byte Header checksum4 byte Adaptation layer
Optional44 or 48 data bytes - based upon adaptation layer bytes
MaximumNo restrictions on the content of the data
Bytes may contain any arbitrary protocol
ISDN - Integrated Services Digital NetworkDesigned with the goal of replacing most of the existing
Analog networksProvide a means to transmit higher demand signals
High resolution / full motion videoComputer data and large files
Key technology is the ATM transmissionThe ISDN reference model is different from those examined thus far
ISDN ModelThree layers - three dimensionsBroken down very well in an object centered wayTasks and responsibilities are collected into related
LayersPlanes
LayersPhysical Layer
Physical medium including voltages and timingPlaces no restrictions on the actual hardware
Copper OKAimed towards fiber implementation
ATM LayerConcerned with
Packets and packet transportManagement of virtual connectionsFlow and congestion control
ATM Application LayerAccommodates data groupings larger than the specified packet sizeSource
Breaks data into appropriately sized packetsDestination
Reassemble back into original
Physical and Application layersDivided into two pieces
Interface to higher layerCollection of routines to do the work of the layer
User and Control PlanesThe tasks of managing the data transport and connection process
Separated into to groups that sit above or to the sideThe reference hierarchy
Denoted the User plane and the control planes
User PlaneData transportFlow controlError management
Control PlaneManage the connection / disconnection processes
SummaryHave looked at a general overview of networksExamined
HardwareSoftware
Reference ModelsNetwork ServicesStabdardsLearned some of the jargon and acronyms
Will now examine all in much greater detail
The reference model we will useComposite / distillation / abstraction of those currently in use
Physical LayerData Link LayerMedium Access SublayerNetwork LayerTransport Layer
Application Layer
The model Uses the layer paradigmIncludes all the functionality
Is not a model in actual use.