Post on 25-Dec-2015
Fall 2010 CEG 4188 1-1
CEG-4188
Lecture 1:Computer Networks and Protocols
Prof. Gregor v. BochmannSITE, University of Ottawa
These course notes are based on slides prepared by Drs. Makrakis and Shirmohammadi
Fall 2010 CEG 4188 1-2
Why Computer Networks?
Application Type
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
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
Fall 2010 CEG 4188 1-5
Switching NetworksData are transferred from source to destination through a series of intermediate nodes
Fall 2010 CEG 4188 1-6
Broadcast Networks
Satellite
--There are no intermediate switching nodes
--All users are connected on the same medium
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
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
Fall 2010 CEG 4188 1-9
Local Area Networks (LANs)
Single-building LAN
Backbone
Multi-building LAN
Examples: home network, wireless-wired campus network
Fall 2010 CEG 4188 1-10
Examples: Ottawa-Carleton Research Institute (OCRI) MAN,National Capital Institute on Telecommunications (NCIT) MAN
Fall 2010 CEG 4188 1-11
Wide Area Networks (WAN)
Example: Canadian Network for the Advancement of Research, Industry and Education (CANARIE).
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
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
Fall 2010 CEG 4188 1-14
Circuit Switching NetworkExample: Public Service Telephone Network (PSTN)
Fall 2010 CEG 4188 1-15
Event Timing for Circuit Switching
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
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.
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)
Fall 2010 CEG 4188 1-19
DatagramPacket
Switching
19
Fall 2010 CEG 4188 1-20
Event Timing for Datagram
Fall 2010 CEG 4188 1-21
VirtualCircuitPacket
Switching
Fall 2010 CEG 4188 1-22
Event Timing for the 3 switching methods
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
Fall 2010 CEG 4188 1-24
Circuit versus Packet Switching:Comparison
• Circuit Switching– Dedicated
channels/resources– Constant delay– Blocking– Continuous flow– Point-to-Point
• Packet Switching– Shared channels– Variable delay– Store-and-forward
point-to-point & multipoint
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)
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
Fall 2010 CEG 4188 1-27
Internetwork (Internet)
Fall 2010 CEG 4188 1-28
OSI Reference Modeland
the Link layer – as an example protocol layer
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”
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.
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.
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
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?
Fall 2010 CEG 4188 1-34
Transmission Mode
Simplex
Half-duplex
Full-duplex
Fall 2010 CEG 4188 1-35
ENQ/ACKPoint-to-point
Line Discipline
Fall 2010 CEG 4188 1-36
Line Discipline (…)
• Multi-point
Fall 2010 CEG 4188 1-37
Select Line Discipline
Fall 2010 CEG 4188 1-38
Poll Line Discipline
Fall 2010 CEG 4188 1-39
listen
idle?
transmit
jammingsignal
waitrandom
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
Fall 2010 CEG 4188 1-40
Stop and WaitFlow Control
What is the problem with this scheme?
Fall 2010 CEG 4188 1-41
Sender Sliding Window
Flow Control (…)
Sliding Window
Fall 2010 CEG 4188 1-42
Damaged FrameError Control: Stop-and-Wait
• What causes an error?
Fall 2010 CEG 4188 1-43
Lost FrameError Control: Stop-and-Wait (…)
Fall 2010 CEG 4188 1-44
Lost ACK
Error Control: Stop-and-Wait (…)
Fall 2010 CEG 4188 1-45
Damaged FrameError Control: Go-Back-N
Fall 2010 CEG 4188 1-46
Lost FrameError Control: Go-Back-N (…)
What seems to be a drawback of Go-Back-N?
Fall 2010 CEG 4188 1-47
Lost ACK
Error Control: Go-Back-N (…)
Fall 2010 CEG 4188 1-48
Error Control: Selective RejectDamaged Frame
Seems to save bandwidth compared to Go-Back-N. What’s the cost?
Fall 2010 CEG 4188 1-49
What is a protocol ?
Fall 2010 CEG 4188
Architectural structure of a protocol layer
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
Fall 2010 CEG 4188
Link Layer protocolLink Layer protocol
protocol entity protocol entity
communication service of physical layersend/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 encodingPhysical layer service interface
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
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)
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 ?
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
Fall 2010 CEG 4188 1-56
OSI Model
• Open System Interconnection.
• An ISO standard• Why open?
Fall 2010 CEG 4188 1-57
Physical
Link
Network
Transport
Session
Presentation
Application
Fall 2010 CEG 4188 1-58
Protocol Data Unit (PDU)
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.
Fall 2010 CEG 4188 1-60
TCP/IP Protocol ArchitectureApplication
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)
Fall 2010 CEG 4188 1-61
TCP/IP Protocol ArchitectureApplication
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
Fall 2010 CEG 4188 1-62
Some TCP/IP Protocols
Fall 2010 CEG 4188 1-63
IEEE Project 802 - LAN
Network access service interface
Fall 2010 CEG 4188 1-64
Connection Devices
Fall 2010 CEG 4188 1-65
Connecting Devices and the OSI Model
Fall 2010 CEG 4188 1-66
Repeater
A Repeater
Fall 2010 CEG 4188 1-67
Function of Repeater
Fall 2010 CEG 4188 1-68
Bridge
A Bridge
Fall 2010 CEG 4188 1-69
Function of Bridge
Fall 2010 CEG 4188 1-70
Multiport Bridge
Fall 2010 CEG 4188 1-71
Router
Fall 2010 CEG 4188 1-72
Routers in an Internet
Fall 2010 CEG 4188 1-73
Gateway