Transcript Lecture 1

ICOM 6115 – Computer Networks
and the WWW
Manuel Rodriguez-Martinez, Ph.D.
Lecture 1
ICOM 6115
©Manuel Rodriguez-Martinez
Course Objectives
• Introduction to computer networks
– Design
– Implementation
– Performance Characterization
– Application Development
• … Computer Science perspective
– Design tradeoffs
– Software organization
– Hardware/Software Interface
– Application requirements on the network
ICOM 6115
©Manuel Rodriguez-Martinez
This course is not about …
•
•
•
•
•
•
•
•
Putting Cat 5 cables together
Cutting fiber
Hacking a Linux kernel
Configuring routers and workstations
Setting up Web servers
Troubleshooting networks cards
Writing applets, cgi scripts or servlets
Reading packet formats
ICOM 6115
©Manuel Rodriguez-Martinez
This course is about …
• Understanding how networks work and
how can they be used
– Hardware issues
– Software organization and implementation
– Application development
– Network services
– Performance trade-offs
ICOM 6115
©Manuel Rodriguez-Martinez
Why do we need networks?
Network
To share data and computing resources
ICOM 6115
©Manuel Rodriguez-Martinez
Rationale
• Avoid centralization of resources
– Early days
• One big computer with disk(s) and printers
• Terminals attached to this mainframe
– Today
• Machine powerful machines with disk, fast CPU,
memory and printer(s)
• Share these resources among the pool of users
ICOM 6115
©Manuel Rodriguez-Martinez
Key benefits
• Share resources
– Make data, programs, hardware and other stuff
available to everyone else
• High reliability
– Many sources to supply services (disk or CPU)
– Reduce down times
• In a company, computer down time is money lost
• Save Money ($$$)
– Get performance and throughput via commodity
computers connected in a network
ICOM 6115
©Manuel Rodriguez-Martinez
Networks for Enterprises
• Interconnect office buildings
– In a country and between countries
– Exchange data between
• Company dependencies
• Business partners
– Form teams across geographical regions
• Leverage on expertise world wide
– Keep assets spread and diversified
ICOM 6115
©Manuel Rodriguez-Martinez
Networks for people
• Access remote information
– Journals and books
– Software
• Personal communication channels
– ICQ, e-mail, newsgroups, videoconferencing
• Entertainment
– Music, Video, newspapers and magazines
– Games : Half-life
ICOM 6115
©Manuel Rodriguez-Martinez
Building networks of computers
UPRM
ICOM 6115
UCLA
©Manuel Rodriguez-Martinez
Sounds cool but how do I build one?
• Need to create a bit pipe!!!
– Move bits from one computer to another
• Ingredients:
– Communication medium
– Signaling scheme
– Hardware to inject bits into the medium
– Software to manipulate the hardware
– Software to control data movement
– Programming model to build applications
ICOM 6115
©Manuel Rodriguez-Martinez
Communications Medium
• Provides a channel to carry the bits
between machines
• Example
– Cooper
• Use voltage or current to encode bits
– Fiber
• Use light to encode bit
– Air
• Use Radio waves or microwaves to encode bits
ICOM 6115
©Manuel Rodriguez-Martinez
Signaling Scheme
• Provides a mechanism to convert bits into
signals propagated by the medium and
vice-versa
– Bits <- -> voltage
– Bits <- -> radio signals
– Bits <- -> light pulses
– Bits <- -> microwave signal
• Specifies possible error conditions on
medium
ICOM 6115
©Manuel Rodriguez-Martinez
Network Hardware
• Has circuit logic to:
– convert chunks of bytes into bits that get
injected into the network
– Read groups of bit from medium and make
them into chunks of bytes
– Implements the signaling scheme
• Has other logic to
– Detect error and other conditions on the
medium
• Diagnostic information
ICOM 6115
©Manuel Rodriguez-Martinez
Networking Software
• Device drivers are needed to manipulate
the networking hardware
– Network card
• Driver implement the logic to control the
card
– Read/write operations
• Protocols to
– recover from error in bit transmission
– arbitrate access to the medium
ICOM 6115
©Manuel Rodriguez-Martinez
More Networking Software
• Many networks might have different pieces
– Cooper-based and wireless
• Need software to move data between
machines on these segments
– Identify data packets
• Sender
• Receiver
– Finds paths for packets over the segments
– Control traffic of the packets
– Support for Quality of Service (QoS)
ICOM 6115
©Manuel Rodriguez-Martinez
Moving packets over networks
Network 1
Network 2
This is called forwarding
ICOM 6115
©Manuel Rodriguez-Martinez
More on Networking Software
• Data packets can be lost on transit
– Error on media
• Bent wire
– Error on network hardware
• Faulty card
– Error on network software
• Buggy code
• Need to software to make sure data gets
to its destination
ICOM 6115
©Manuel Rodriguez-Martinez
Reliable data movement
• Software needs to monitor data movement
– Keep timers to determine timeouts
– Resent lost packets
– Keep track of packet sequences
• To put packet in the proper order
– Control the rate of packet movement
• To prevent error due to overloaded
ICOM 6115
©Manuel Rodriguez-Martinez
Application Software
• You programs need to have an API to deal
with the network
– Find other computer to send/receive data to
– Invoke the routines provides by the OS to use
the network
– Determine the way in which data will be
exchanged
• Characters
• Binary code
– Specify operations to exchange data
• Control commands
ICOM 6115
©Manuel Rodriguez-Martinez
Application Software
• The API software must deal with errors
and inform them to the application
– Computer not found
– Illegal operation
– Network is not reachable
– File is too big …
ICOM 6115
©Manuel Rodriguez-Martinez
Network Design
• Networks are designed and implemented
in terms of layers
– Each layer deals with specific communication
issue
– Provide a service (some kind of useful
operation)
• A given layer:
– Leverages on services provided by lowerlevel layer
– Provides services to upper level layers
ICOM 6115
©Manuel Rodriguez-Martinez
Internet Networking Layers
Application Layer
Transport Layer
Network Layer
Data Link Layer
Physical Layer
ICOM 6115
©Manuel Rodriguez-Martinez
Communication based on this model
Application Layer
Application Layer
Transport Layer
Transport Layer
Network Layer
Network Layer
Data-Link Layer
Data-Link Layer
Physical Layer
Physical Layer
Bit Pipe
Physical Medium
ICOM 6115
©Manuel Rodriguez-Martinez