This document provides an overview of computer networks and protocols. It begins by explaining why computer networks exist and some common communication tasks. It then describes different types of networks, including switching networks, broadcast networks, local area networks (LANs), metropolitan area networks (MANs), and wide area networks (WANs). The document discusses circuit switching and packet switching, including datagram and virtual circuit approaches. It also covers internetworking, the OSI reference model, and examples of link layer protocols. In closing, it defines what a protocol is and discusses relevant standards bodies.
AlbaniaDreamin24 - How to easily use an API with Flows
Computer Networks and Protocols Lecture Overview
1. Fall 2010 CEG 4188 1-1
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
2. Fall 2010 CEG 4188 1-2
Why Computer Networks?
Application Type
3. Fall 2010 CEG 4188 1-3
Communications Tasks
Transmission system
utilization
Addressing
Interfacing Routing
Signal generation Recovery
Synchronization Message formatting
Exchange management Security
Error detection and
correction
Network management
Flow control
4. Fall 2010 CEG 4188 1-4
Types of Communication Networks
Classification according to the way the
“information flows” are transported to the
users
• Switching Networks
• Broadcast Networks
5. Fall 2010 CEG 4188 1-5
Switching Networks
Data are transferred from source to
destination through a series of intermediate
nodes
6. Fall 2010 CEG 4188 1-6
Broadcast Networks
Satellite
--There are no intermediate switching
nodes
--All users are connected on the same
medium
7. Fall 2010 CEG 4188 1-7
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
8. Fall 2010 CEG 4188 1-8
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
9. Fall 2010 CEG 4188 1-9
Local Area Networks (LANs)
Single-building LAN
Backbone
Multi-building LAN
Examples: home network, wireless-wired campus network
10. Fall 2010 CEG 4188 1-10
Metropolitan Area Networks (MAN)
Examples: Ottawa-Carleton Research Institute (OCRI) MAN,
National Capital Institute on Telecommunications (NCIT) MAN
11. Fall 2010 CEG 4188 1-11
Wide Area Networks (WAN)
Example: Canadian Network for the Advancement of Research, Industry
and Education (CANARIE).
12. Fall 2010 CEG 4188 1-12
Wide Area Networks (WAN)
• Traditionally, WANs have been
implemented using one of two
technologies
• Circuit Switching
• Packet Switching
–Datagram
–Virtual Circuit
13. Fall 2010 CEG 4188 1-13
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
14. Fall 2010 CEG 4188 1-14
Circuit Switching Network
Example: Public Service Telephone Network (PSTN)
15. Fall 2010 CEG 4188 1-15
Event Timing for Circuit Switching
16. Fall 2010 CEG 4188 1-16
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
17. Fall 2010 CEG 4188 1-17
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.
18. Fall 2010 CEG 4188 1-18
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)
19. Fall 2010 CEG 4188 1-19
Datagram
Packet
Switching
19
21. Fall 2010 CEG 4188 1-21
Virtual
Circuit
Packet
Switching
22. Fall 2010 CEG 4188 1-22
Event Timing for the 3 switching methods
23. Fall 2010 CEG 4188 1-23
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
25. Fall 2010 CEG 4188 1-25
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.
• MPLS (label switching)
26. Fall 2010 CEG 4188 1-26
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
28. Fall 2010 CEG 4188 1-28
OSI Reference Model
and
the Link layer – as an example
protocol layer
29. Fall 2010 CEG 4188 1-29
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”
30. Fall 2010 CEG 4188 1-30
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.
31. Fall 2010 CEG 4188 1-31
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.
32. Fall 2010 CEG 4188 1-32
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
33. Fall 2010 CEG 4188 1-33
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?
39. Fall 2010 CEG 4188 1-39
listen
idle?
transmit
jamming
signal
wait
random
time
collision?
no
no
yes
yes
CSMA/CD
(network access protocol = line discipline)
• Carrier Sense Multiple Access
with Collision Detection
• Used in Ethernet: the most
widely-used type of LAN
40. Fall 2010 CEG 4188 1-40
Stop and Wait
Flow Control
What is the
problem
with this
scheme?
41. Fall 2010 CEG 4188 1-41
Sender Sliding Window
Flow Control (…)
Sliding Window
42. Fall 2010 CEG 4188 1-42
Damaged Frame
Error Control: Stop-and-Wait
• What causes
an error?
43. Fall 2010 CEG 4188 1-43
Lost Frame
Error Control: Stop-and-Wait (…)
44. Fall 2010 CEG 4188 1-44
Lost ACK
Error Control: Stop-and-Wait (…)
50. Architectural structure of a
protocol layer
protocol entity protocol entity
communication service used by the protocol
(offered by the lower layer)
service offered
by the
protocol
user of protocol user of protocol
service interfaceservice interface
Protocol
service interfaces of lower layer
message encoding message encoding
51. Link Layer protocol
protocol entity protocol entity
communication service of physical layer
send/receive a block of data
user of protocol user of protocol
send/receive user data block (reliably)
Link layer
service interface
Protocol
data blocks containing SEL, Poll, datablock, ack, nack
message encoding message encoding
Physical layer
service interface
52. Fall 2010 CEG 4188 1-52
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
53. Fall 2010 CEG 4188 1-53
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)
54. Fall 2010 CEG 4188 1-54
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).
» 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 in the case of
TCP is the data field of an IP packet) is the TCP sequence number placed and how are the integer values coded ?
55. Fall 2010 CEG 4188 1-55
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
56. Fall 2010 CEG 4188 1-56
OSI Model
• Open System
Interconnection.
• An ISO standard
• Why open?
57. Fall 2010 CEG 4188 1-57
OSI Reference Model
Physical
Link
Network
Transport
Session
Presentation
Application
59. Fall 2010 CEG 4188 1-59
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.
60. Fall 2010 CEG 4188 1-60
TCP/IP Protocol Architecture
Application
Layer
Host-to-Host
or Transport
Layer
Internet Layer
Network Access
Layer
Physical Layer
Contains the logic needed to support user applications
(ftp, telnet, http etc.) Each application requires different
module.
Covers the physical interface between device (computer
and transmission medium or network - medium, signals,
data rates..)
Concerned with the exchange of data between end
system and network (destination address, priority etc.)
Depends on net. type
Provides routing functions across multiple networks. It is
implemented in end-systems and routers
Concerned with the reliability of transmission/reception
(error control, sequencing, flow control)
61. Fall 2010 CEG 4188 1-61
TCP/IP Protocol Architecture
Application
Layer
Host-to-Host
or Transport Layer
Internet Layer
Network Access
Layer
Physical Layer
Application
Layer
Host-to-Host
or Transport
Layer
Internet Layer
Network Access
Layer
Physical Layer
Network