Course Notes

Download Report

Transcript Course Notes

CEG-4188
Lecture 1:
Computer Networks and Protocols
Prof. Gregor v. Bochmann
SITE, University of Ottawa
These course notes are based on slides prepared by Drs. Makrakis and
Shirmohammadi
Fall 2010
CEG 4188
1-1
Why Computer Networks?
Application Type
Fall 2010
CEG 4188
1-2
Communications Tasks
Transmission system
utilization
Interfacing
Addressing
Signal generation
Recovery
Synchronization
Message formatting
Exchange management
Security
Error detection and
correction
Flow
control
Fall 2010
Network management
Routing
CEG 4188
1-3
Types of Communication Networks
Classification according to the way the
“information flows” are transported to the
users
• Switching Networks
• Broadcast Networks
Fall 2010
CEG 4188
1-4
Switching Networks
Data are transferred from source to
destination through a series of intermediate
nodes
Fall 2010
CEG 4188
1-5
Broadcast Networks
--There are no intermediate switching
nodes
--All users are connected on the same
medium
Satellite
Fall 2010
CEG 4188
1-6
Classification According to Coverage Area

Local Area Networks (0-2 Km; campus)
• Ethernet (10/100/1000 Mbps), Token ring (4, 16 Mbps),
IEEE 802.11(b, g, a, n)

Metropolitan Area Networks (2-50 km; corporate offices, city)
• DQDB (Distributed Queue Dual Bus), WiMAX
(IEEE 802.16.a/b/e)

Wide Area Networks (country, continent)
• transmission lines, switching elements

Personal Access Networks (PANs)
• Bluetooth, IEEE 802.15.3
Fall 2010
CEG 4188
1-7
Local Area Networks (LANs)
• It expands over small geographic areas
(within a building or close-by buildings)
• It is usually owned by the same organization
• The internal data rates are typically much
greater than those of WANs
• Typically, they make use of broadcast rather
than switching
Fall 2010
CEG 4188
1-8
Local Area Networks (LANs)
Backbone
Single-building LAN
Multi-building LAN
Examples: home network, wireless-wired campus network
Fall 2010
CEG 4188
1-9
Metropolitan Area Networks (MAN)
Examples: Ottawa-Carleton Research Institute (OCRI) MAN,
National Capital Institute on Telecommunications (NCIT) MAN
Fall 2010
CEG 4188
1-10
Wide Area Networks (WAN)
Example: Canadian Network for the Advancement of Research, Industry
and Education (CANARIE).
Fall 2010
CEG 4188
1-11
Wide Area Networks (WAN)
• Traditionally, WANs have been
implemented using one of two
technologies
• Circuit Switching
• Packet Switching
–Datagram
–Virtual Circuit
Fall 2010
CEG 4188
1-12
Circuit Switching
• Uses a dedicated path between two stations
• Process consists of three phases
– establish
– transfer
– disconnect
• Bandwidth inefficient
– channel capacity dedicated for duration of connection
– if no data, capacity wasted
• Set up (connection) takes time
• Once connected, transfer is transparent
• Can provide deterministic performance guarantees
Fall 2010
CEG 4188
1-13
Circuit Switching Network
Example: Public Service Telephone Network (PSTN)
Fall 2010
CEG 4188
1-14
Event Timing for Circuit Switching
Fall 2010
CEG 4188
1-15
Packet Switching
•
•
•
•
circuit switching was designed for voice
packet switching was designed for data
transmitted in “small” packets
packet contains user data and control info
– user data may be part of a larger message
– control info includes routing (addressing) info
• packets are received, stored briefly
(buffered) and passed on to the next node
Fall 2010
CEG 4188
1-16
Packet Switching
• Source breaks long message into “information
transporting segments” (packets).
• Packets are sent one at a time to the network.
• Packets contain user data and
control/signaling information.
– user data may be part of a larger message
– control information includes routing/addressing
information
• Packets are received, stored “briefly”
(buffered) and are passed onto the next node.
Fall 2010
CEG 4188
1-17
Characteristics
• Line efficiency
– single link shared by many packets over time
– packets queued and transmitted as fast as possible
• Data rate conversion
– stations connect to local nodes at their own speed
– nodes buffer data if required to equalize rates
• Packets are accepted even when the “line” is busy
• Priorities can be used to support users’ needs,
instead of dedicating resources regardless if they are
used or not (becoming wasted if they are not)
Fall 2010
CEG 4188
1-18
Datagram
Packet
Switching
Fall 2010
CEG 4188
1-19 19
Event Timing for Datagram
Fall 2010
CEG 4188
1-20
Virtual
Circuit
Packet
Switching
Fall 2010
CEG 4188
1-21
Event Timing for the 3 switching methods
Fall 2010
CEG 4188
1-22
Virtual Circuits versus Datagram
• Virtual circuits
– network can provide sequencing
– traffic engineering can be applied, enabling more practical
provision of quality of service (QoS) support
– less reliable in cases of switching node failures
• Datagram
–
–
–
–
no call setup phase
more flexible
more reliable in cases of switching node failures
difficult to control network’s state and provide quality of
service
Fall 2010
CEG 4188
1-23
Circuit versus Packet Switching:
Comparison
• Circuit Switching
• Packet Switching
– Dedicated
channels/resources
– Constant delay
– Blocking
– Continuous flow
– Point-to-Point
– Shared channels
– Variable delay
– Store-and-forward
point-to-point &
multipoint
Fall 2010
CEG 4188
1-24
Other forms of Packet Switching Services
• Frame Relay based Networks
– requires high level of network reliability.
– took away a lot of overhead, improved
efficiency.
• Asynchronous Transfer Mode (ATM)
– based on the use of fixed size packets (53 bytes,
called ATM cells).
– first Broadband Integrated Services (ISDN)
network .
– offered quality of service (QoS) choices.
•FallMPLS
(label
switching)
2010
CEG 4188
1-25
Internetworking

Internetworking is a scheme for
interconnecting multiple networks of non
identical technologies
Uses both hardware and software
• Extra hardware positioned between networks
• Software on each attached computer

System of interconnected networks is
called an internetwork or an internet
Fall 2010
CEG 4188
1-26
Internetwork (Internet)
Fall 2010
CEG 4188
1-27
OSI Reference Model
and
the Link layer – as an example
protocol layer
Fall 2010
CEG 4188
1-28
Open System Interconnection (OSI) Reference Model
• Developed by the International Organization for
Standardization (ISO).
• Has become the standard model for classifying
communication functions.
• Has seven layers.
• It is a “theoretical” system delivered too late!
• It has NOT dominated. TCP/IP is the de facto
standard.
• Several reasons:
– TCP/IP appeared earlier
– Internet “won” the game
– OSI has a “complex” structure that could result in “heavy
processing”
Fall 2010
CEG 4188
1-29
Functions of the OSI Layers
• Physical
– The bits that are transmitted over the communication media.
– Deals with network hardware, bit encoding.
– Examples: copper, fiber, radio, satellite.
• Data Link
– Activates, maintains, and deactivates the physical link
between two adjacent nodes (node-to-node delivery).
– Deals with framing, windowing, flow control, error detection
and recovery.
• Network
– Determines how best to route packets of data from source to
destination via intermediate network nodes.
– Deals with addressing, routing, fragmentation, and
congestion.
Fall 2010
CEG 4188
1-30
Functions of OSI Layers (…)
• Transport
– Provides end-to-end message delivery and error recovery.
– Deals with end to end integrity and quality of service.
• Session
– To establish, manage, and terminate sessions.
– Controls the dialogue between two host applications.
– Reports exceptions to upper layers.
• Presentation
– Resolves data representation differences.
– To translate, encrypt, and compress data.
• Application
– Perform functions to implement network applications.
– E.g.; e-mail, teleconferencing.
Fall 2010
CEG 4188
1-31
Generic Communication Issues
• Error control: making a channel more reliable, and handling
lost or out of sequence messages.
• Flow control: avoid flooding a slower peer entity.
• Resource allocation: mediating contention for physical (e.g.
buffers) or logical (e.g. data structures) resources
• Fragmentation: dividing chunks of data into smaller pieces,
and subsequent reassembly
• Multiplexing: combining several higher layer sessions
• Connection setup: initiating logical communication with peer
entity
• Addressing / naming: managing identifiers
• Compression: reducing data rate
• Encryption: provide data security
• Timer management: bookkeeping and error recovery
Fall 2010
CEG 4188
1-32
Link layer protocols
- as an example
•
•
•
•
Transmission mode - physical link property
Line discipline - Who should send now?
Flow control - How much data should be sent?
Error control - How can errors be corrected?
Fall 2010
CEG 4188
1-33
Transmission Mode
Simplex
Half-duplex
Full-duplex
Fall 2010
CEG 4188
1-34
Line Discipline
ENQ/ACK
Point-to-point
Fall 2010
CEG 4188
1-35
Line Discipline (…)
• Multi-point
Fall 2010
CEG 4188
1-36
Select Line Discipline
Fall 2010
CEG 4188
1-37
Poll Line Discipline
Fall 2010
CEG 4188
1-38
CSMA/CD
(network access protocol = line discipline)
• Carrier Sense Multiple Access
with Collision Detection
listen
• Used in Ethernet: the most
widely-used type of LAN
idle?
no
wait
random
time
yes
transmit
collision?
yes
jamming
signal
no
Fall 2010
CEG 4188
1-39
Flow Control
Stop and Wait
What is the
problem
with this
scheme?
Fall 2010
CEG 4188
1-40
Flow Control (…)
Sliding Window
Sender Sliding Window
Fall 2010
CEG 4188
1-41
Error Control: Stop-and-Wait
Damaged Frame
• What causes
an error?
Fall 2010
CEG 4188
1-42
Error Control: Stop-and-Wait (…)
Lost Frame
Fall 2010
CEG 4188
1-43
Error Control: Stop-and-Wait (…)
Lost ACK
Fall 2010
CEG 4188
1-44
Error Control: Go-Back-N
Damaged Frame
Fall 2010
CEG 4188
1-45
Error Control: Go-Back-N (…)
Lost Frame
What seems to be a drawback of Go-Back-N?
Fall 2010
CEG 4188
1-46
Error Control: Go-Back-N (…)
Lost ACK
Fall 2010
CEG 4188
1-47
Error Control: Selective Reject
Damaged Frame
Seems to save bandwidth compared to Go-Back-N.
What’s
the cost?
Fall 2010
CEG 4188
1-48
What is a protocol ?
Fall 2010
CEG 4188
1-49
Architectural structure of a
protocol layer
user of protocol
user of protocol
service interface
protocol entity
message encoding
service interface
service offered
protocol entity
by the
protocol
Protocol
message encoding
service interfaces of lower layer
communication service used by the protocol
(offered by the lower layer)
Link Layer protocol
user of protocol
Link layer
service interface
user of protocol
send/receive user data block
protocol entity
message encoding
Physical layer
service interface
(reliably)
protocol entity
Protocol
message encoding
data blocks containing SEL, Poll,
communication service of physical layer
send/receive a block of data
datablock, ack, nack
Protocols
• A protocol is a set of rules that govern all aspects of
communication between two or more partners, called peers
– These rules are human-made; not like chemistry or physics!
• The purpose of a protocol is to provide a specific
communication service.
• What aspects must be defined for assuring compatibility
between the communicating partners? (see next slides)
• Who makes protocols?
– Standardization committees
– Designers of a new distributed application
Fall 2010
CEG 4188
1-52
Service specification
• The specification of a communication service has two parts:
– specification of an abstract service interface through which the service can be
locally obtained (sometimes called service access point)
• e.g. in the case of TCP: local interactions for establishing a connection and for
closing it; sending a flow of data over an established connection (with flow control,
no notion of "end of service unit")
• It is an abstract interface, the interaction primitives may be considered a kind of
abstract message (initiated by one side, received by the other side of the interface;
some interactions are initiated by the user, others are initiated by the service). The
specification of an abstract service interface is like the specification of the dynamic
behavior of an object class. It includes
– Static aspects
» list of interaction primitives, also called service primitives (like messages exchange;
not like method calls that have the initiating party blocked until the method returns)
» for each primitive, which sides initiates the message, and its parameters and their
type
– Dynamic aspects
» sequencing rules which define in which order the primitives may be executed
» rules concerning the allowed parameter values for particular execution sequences
– specification of the end-to-end behavior of the (distributed) system component
that provides the service
• e.g. in the case of TCP: the establishment of a connection involves local exchanges
at both end-points of the connection concerning the connection establishment; data
received at one end-point must have been sent at the other end-point (with FIFO
property without loss nor errors)
Fall 2010
CEG 4188
1-53
Protocol specification
•
•
Protocol specification = definition of the behavior of a protocol entity as visible at the upper
and lower (abstract) service interfaces
This includes
– reference to the specification of the upper (abstract) service interface (normally defined by the
corresponding service specification)
– reference to the specification of the lower (abstract) service interface (normally defined by the
service specification of the underlying service used by the protocol)
– dynamic behavior of the protocol entity, that is,
• sequencing rules concerning interactions at the upper and lower interfaces.
–
–
Note (a): Certain protocols developed by certain groups, e.g. IETF, do not refer to any service specification. In this case
only the ordering of interactions at the lower interface are defined.
Note (b): In the simplest case (if the protocol does not use any connections, or if it can be assumed that appropriate
connections are already established) the interactions at the lower interface only include the sending and receiving of
protocol messages (so-called PDU's).
• Rules concerning the allowed interaction parameters
–
e.g sequence numbering in TCP, sending acknowledgements, etc.
• Encoding rules
–
(a) concerning how interaction parameters received at the upper interface are coded and sent as so-called "user data" in
one of the data fields of the primitives at the lower interface (and inversely the decoding of user data to obtain the corresponding value for
the upper interaction parameter).
»
–
Fall 2010
e.g. in the case of the IP protocol: how is the address "local host" coded in the destination address field of an IP
packet ?
(b) concerning the coding of protocol control information managed by the protocol entity
» e.g. in the case of the TCP protocol:
where
in the "user data" of the lower layer primitive (which 1-54
in the case of
CEG
4188
TCP is the data field of an IP packet) is the TCP sequence number placed and how are the integer values coded ?
Relevant Standards Bodies
• ISO (www.iso.org)
– An agency of the United Nations.
– Collaborates standards development for information technology.
• ITU (www.itu.int)
– UN treaty agency that sets telecommunications standards.
– ITU-T (Telecommunications section)
• ANSI (www.ansi.org)
– American National Standards Institute: the US national standards body.
– Coordinates and accredits standards development across the US.
• IEEE (www.ieee.org)
– US based international professional organization.
– Among other things, develops standards.
• IETF / IRTF
– Internet Engineering Task Force (www.ietf.org)
– Internet Research Task Force (www.irtf.org)
• EIA (www.eia.org)
– Electronic Industries Alliance
– E.g.; standards for wiring and interconnection
Fall 2010
CEG 4188
1-55
OSI Model
• Open System
Interconnection.
• An ISO standard
• Why open?
Fall 2010
CEG 4188
1-56
OSI Reference Model
Application
Presentation
Session
Transport
Network
Link
Physical
Fall 2010
CEG 4188
1-57
Protocol Data Unit (PDU)
Fall 2010
CEG 4188
1-58
TCP/IP Protocol Architecture
• No official model but a working one.
• Has 5 layers (OSI has 7 layers)
• Was the result of research conducted on
ARPANET, funded by DARPA (USA).
• Initially developed as a US military research
effort funded by the Department of Defense
• It has dominated.
• It is the “heart” of Internet.
Fall 2010
CEG 4188
1-59
TCP/IP Protocol Architecture
Application
Layer
Contains the logic needed to support user applications
(ftp, telnet, http etc.) Each application requires different
module.
Host-to-Host
Concerned with the reliability of transmission/reception
(error control, sequencing, flow control)
or Transport
Layer
Internet Layer
Network Access
Layer
Physical Layer
Fall 2010
Provides routing functions across multiple networks. It is
implemented in end-systems and routers
Concerned with the exchange of data between end
system and network (destination address, priority etc.)
Depends on net. type
Covers the physical interface between device (computer
and transmission medium or network - medium, signals,
data rates..)
CEG 4188
1-60
TCP/IP Protocol Architecture
Application
Layer
Application
Layer
Host-to-Host
Host-to-Host
or Transport Layer
or Transport
Layer
Internet Layer
Internet Layer
Network Access
Layer
Network Access
Layer
Network
Physical Layer
Fall 2010
Physical Layer
CEG 4188
1-61
Some TCP/IP Protocols
Fall 2010
CEG 4188
1-62
IEEE Project 802 - LAN
Network access service interface
Fall 2010
CEG 4188
1-63
Connection Devices
Fall 2010
CEG 4188
1-64
Connecting Devices and the OSI Model
Fall 2010
CEG 4188
1-65
Repeater
A Repeater
Fall 2010
CEG 4188
1-66
Function of Repeater
Fall 2010
CEG 4188
1-67
Bridge
A Bridge
Fall 2010
CEG 4188
1-68
Function of Bridge
Fall 2010
CEG 4188
1-69
Multiport Bridge
Fall 2010
CEG 4188
1-70
Router
Fall 2010
CEG 4188
1-71
Routers in an Internet
Fall 2010
CEG 4188
1-72
Gateway
Fall 2010
CEG 4188
1-73