C OMPUTER N ETWORKS
N ETWORK A RCHITECTURE AND
P ROTOCOLS
The Need for Standards
Computers have different architectures, store data in different formats and communicate at different rates
Agreeing on a particular standard is difficult
Defacto Standards
Standards that exist by virtue of wide spread use
Products consistent with these standards often have a large market
Standards adopted by Agencies
Step 1 – Submit proposal to be considered by an agency
Step 2 – If proposal has merit and wide spread acceptance, agency make suggestions for modifications to originators
Step 3 – After rounds of suggestions and modifications the proposal is adopted or refused
Network Architectures
The task of designing a communication network is too complex to be handled as a monolithic unit.
An alternative, a structured approach.
Divide communication task into manageable parts.
Need to describe the communication functions in terms of an architecture.
A network architecture defines the relationship and interactions between network services and functions through common interfaces and
protocols.
What is a Protocol?
A protocol is a set of mutually agreed upon rules that regiment interactions between communicating
entities.
The key elements of a protocol are:
Syntax – defines tstructure of information communicated
Semantics – defines the meaning of the exchanged information, including control and signaling
information
Timing – defines the time at which data should be exchanged.
Key elements define
WHATis comunicated,
HOWit
is communicated, and
WHENit is communicated.
L AYERING
N ETWORK A RCHITECTURE
OSI Reference Model – Layered
Architecture of Computer Networks
International Organization for Standardization (ISO) developed Open Systems Interconnection (OSI)
Reference Model that characterizes and standardizes the internal functions of a communication system
Model provides a framework for the development protocols for computer communication
Defines the rules and conventions for various functions within each layer
Specifies the general relations among these functions.
Determines the constraints on the types of functions and their relations.
Layered Architecture
Model describes the architecture in terms of abstract layers
Boundaries between adjacent layers are called interfaces
Each layer performs a related subset of functions required for communication, and adds value to the services provided by lower layers.
Layer N relies on services of layer N-1 to provide a service to layer N+1
Service required from lower layer is independent of how that service is implemented
Information and complexity hiding
Why Layering?
Monolithic non-layered architectures are costly, inflexible, and soon obsolete
Layering simplifies the design, implementation and testing
Layering provides flexibility for modifying and
evolving protocols and services without having to change layers below
Protocol in each layer can be designed separately from those in other layers
ISO/OSI Reference Model
The ISO reference model defines seven layers:
Application Layer,
Presentation Layer,
Session Layer,
Transport Layer,
Network Layer,
Data Link Layer, and
Physical Layer.
Physical Data Link
Network
ISO/OSI Reference Model
Physical Data Link
Network Transport
Session Presentation
Application
Physical Data Link
Network Transport
Session Presentation
Application
Physical Data Link
Network
Communication Medium
Router Router
Host Host
Exist in Hosts and Routers
Exist only in
Hosts
Layers, Services & Protocols
Each layer operates according to a protocol to provide a service to the layer above
Logically, each layer communicates directly with its peer
A peer is the communication entity residing at the same layer in the other communication
system
Physically, each layer communicates with the
layers directly above it and below it
Physical Data Link
Network
ISO/OSI Reference Model
Physical Data Link
Network Transport
Session Presentation
Application
Physical Data Link
Network Transport
Session Presentation
Application
Physical Data Link
Network
Communication Medium
Router Router
Host Host
Physical Layer Data Link Layer
Network Layer Transport Layer
Session Layer Presentation Layer
Application Layer
ISO/OSI Refrence Model
H Data T
H Data H Data
H Data H Data
Data
ISO/OSI L AYERS
N ETWORK A RCHITECTURE
ISO/OSI Physical Layer
Transmission of raw bits, 0/1, over a
communication medium
Physical Layer Characteristics and Functions
Transmission Medium
Twisted-pairs, Coaxial cable, Optical fiber, Radio, Satellite, Infrared, …
Aspects of a communications link
Mechanical – Cable, Wires, Connectors, Pins, ...
Electrical and Optical – Interfacing, Modulation, Data Encoding, Signal Strength, Voltage levels, Clock Recovery, …
Functional and Procedural – Activation,
Maintenance and Deactivation of physical links
Data Link Layer Functions
Transfers frames across direct connections between two adjacent nodes.
Transform an unreliable physical link into a reliable logical link
Error free communication over a single link between adjacent nodes
Speed matching between senders and receivers
Framing
Data Link Layer
The DLL is composed of two Sub-Layers
Logical Link Control (LLC)
Medium Access Control (MAC)
LLC MAC
Data Link Layer Architecture
Network
Physical
Medium Access Control (MAC)
Contention occurs, when two or more nodes
attempt to access a shared medium at the same time
Rules must be in place to regiment access
The MAC sublayer defines the rules for accessing the medium
Common MAC Schemes include;:
Random Access
Carrier Sense Multiple Access (CSMA)
CSMA, with Collision Detection (CSMA/CD)
CSMA, with Collision Avoidance (CSMA/CA)
Token Passing
Reservation
LLC Sublayer Main Functions
Framing – Groups bits into frames, using a header and a trailer
Flow Control – Prevent sender from overwhelming the receiver’s buffers
Error Control – Detecting and recovering from bit errors
1011000
LLC
Even Parity
10110001
LLC
10110101
Single Error Detected
Retransmission
1011000
LLC
Even Parity
10110001
LLC
10100101
Double Error Undetected
Retransmission
Network Layer
Network Layer:
Data transmission and delivery between hosts
Controls access to the network
Provides routing of packets within the network
Manages contention and bottlenecks within the network
Data Link Layer:
Error free communication over a single link between adjacent nodes
Speed matching between senders and receivers
Framing
Network Layer Main Functions
The network layer provides the functional and procedural means of transferring packet data units from a source to a destination functions
Basic Network Layer functions include:
Addressing – Network devices must be assigned network addresses for identification
Routing: Network nodes jointly execute a routing
algorithm to determine “shortest” paths between traffic sources and destinations
Packet Forwarding – Transfer packets across a routing path
Congestion Control – To mitigate the impact of traffic surges
Transport Layer
Transport layer supports required functions to enable communications between end systems.
Main functions often performed include:
Naming: used to differentiate between different communicating processes
Multiplexing and Demultiplexing:
TL multiplexes data, received from many local application programs, into as a single data stream before sending it
TL demultiplexes an incoming stream of data, and directs each data packet to the appropriate recipient application process.
Connection Management – for Call Setup and Teardown
Segmentation and Reassembly – To meet the length requirement of the physical network
Reliability and Flow Control – To deal with packet error and packet loss, delivery out-of-order, and packet duplication
Session Layer
The main function of a session layer is to
establish and maintains a session between two end-users
Dialog management can be full duplex or half Duplex
The session layer establishes the connection in conjunction with the application
A video session may have multiple transport connections for Video audio, and textual Data
In case of connection disruption during large file
transfers, SL enables the communication resume
form synchronization points
Presentation Layer
Different computers have different ways of representing the same information
The presentation layer establishes a common ground of communication
Data compression
Decreasing as much as possible the amount of bits used to represent information
Security
If an un-authorized person intercepts the message, it is unintelligible
Application Layer
Application Layer: Provides services that are frequently required by applications:
Typical application layers
File Transfer Protocol (FTP)
Hypertext Transfer Protocol (HTTP)
Telnet
P EER-
TO- P EER C OMMUNICATION
N ETWORK A RCHITECTURE
Peer-to-Peer Communication Protocols
Layer-N in one system interacts with Layer-N in another system to provide service to Layer-( N+1)
The entities comprising the corresponding layers on different machines are called peer processes.
The communicating entities use a set of rules and conventions called the layer-N Protocol.
Layer-N peer processes communicate by
exchanging Protocol Data Units (PDUs)
Layer N
Layer N-1
Layer N
Layer N-1
SAP SAP
Interface Protocol
Interface Protocol Peer-To-Peer
Protocol
Peer-To-Peer Protocol
End System End System
Service Access Point
Peer-to-Peer Communication
Communication between peer processes is virtual and actually indirect
Layer-N+1transfers information by invoking the services provided by Layer-N
Services are available at Service Access Points (SAP)
Each layer passes data and control information to the layer below it until the physical layer is reached and transfer occurs
The data passed to the layer below is called a Service Data Unit (SDU)
SDU’s are encapsulated in PDU’s
30
Layer N
Protocol Data Unit
A layer accepts a Service Data Unit and adds Protocol Control Information to form a Protocol Data Unit .
Layer N+1 SAP
NSDU NPCI
NPCI
NPDU
Layer N
Layer N+1 SAP
NSDU NPCI
NPCI
NPDU Peer-to-peer
communication
Interface Data Unit
A set of Interface Data and its associated ICI makes an IDU, the data unit passed across
abstract interfaces at the Service Access Point.
SAP
ICI Int. Data ICI Int. Data ICI Int. Data
PCI SDU
PCI SDU PDU
IDU
33
Headers & Trailers
Application Presentation
Session Transport
Network Data Link
Physical
CRC
Application Presentation
Session Transport
Network Data Link
Physical
Data
Data
Data
Data
Data
Data
Data AH
AH
AH
AH
AH
AH PH
PH
PH
PH
PH SH
SH
SH
SH TH
TH
TH NH
DH NH
00101 10101010
ISO/OSI Service Primitives
Interactions between adjacent layers are managed by communication primitives.
A primitive initiates an action or reports a result.
These primitives can occur at various instances of the dialogue.
ISO/OSI Service Primitives
Four basic primitives are defined:
Service.Request(): Invokes the services of the lower layer and passes the needed parameters.
Service.Indication(): Advises the higher layer of the requested service.
Service.Response(): Used to reply to an indication issued by the lower layer.
Service.Confirmation(): Used to acknowledge the completion of a request previously invoked by a higher layer.
ISO/OSI Service Types
Three types of service:
Confirmed Service
Involves all four primitives
Unconfirmed Service
Involves only Service.Request() and Service.Indication() primitives. Acknowledgment (Service.Response() and Service.Confirm()) are omitted.
Provider Initiated Service
Used by the network to signal special conditions, involves only Service.Indication() primitive.
ISO/OSI Confirmed Service
SAP SAP
End System End System
Time Request
Indication
Response Confirm
ISO/OSI Unconfirmed Service
SAP SAP
End System End System
Time Request
Indication
ISO/OSI Provider Initiated Service
SAP SAP
End System End System
Time Indication
Indication
Provider
Segmentation & Reassembly
A layer may impose a limit on the size of a data segment that it can transfer for
Thus, a Layer-N SDU may be too
large to be handled as a single unit by Layer-N-1
The SDU is
segmented into multiple PDUs
Segmentation
Reassembly n-SDU
n-PDU n-PDU n-PDU
n-SDU
n-PDU n-PDU n-PDU
Multiplexing
Sharing of Layer-N service by multiple Layer-N+1 users
Multiplexing ID is required in each PDU to determine Layer N+1
Entity
Layer N Entity
Layer N Entity
N-sap N-SAP
N-SDU
N-SDU H
N-PDU
N-PDU N-sap
N-sap
Layer N+1 Entity
H Layer N+1
Entity
Layer N+1 Entity
I NTERNET ARCHITECTURE
N ETWORK A RCHITECTURE
Internet Design Philosophy
The approach resulted from extensive research and practical experience of ARPANET, currently the Internet
The fundamental principle of the architecture
Communication between local and remote processes can be accomplished by first identifying the remote host and then identifying the remote process within the remote host.
Internet Design
The actions of identifying the network and the remote process can be handled independently.
The task of the network is reduced mainly to routing data between hosts.
The network need not be concerned with how the data is directed to the remote process within the host.
Internet Layers
Based on the above concept, the architecture was conceived as a hierarchical ordering of
protocols that can be organized into four layers:
Application layer,
Transport layer, the
Internet layer, and
Network access layer.
Higher layers may bypass an adjacent layer and
directly use the services of a lower layer.
Internet Protocol Architecture
Subnetwork A Subnetwork B Process
Network Interface
Telnet FTP HTTP ToD
User Datagram Protocol (
UDP
)Transmission Control Protocol (
TCP
)Host-to-Host (Transport)
Internet Protocol (
IP
)Internet Control Message Protocol
(
ICMP
)Internet (Network)
SNMP
ISO/OSI – Internet Correspondence
ISO/OSI Internet Application
Presentation Session Transport
Network Data Link
Physical
Network Access Internet Host-to-Host
Process
Internet Addressing Concept
Physical
Network Access Protocol
IP TCP
Physical
Network Access Protocol
IP TCP
Host A Host B
IP
NAP 1 NAP 2 Router
Network IP Address
Logical Transport Connection Port
Net 1 Net 2
Physical Address
Internet Architecture
The IP network layer provides a simple, best effort, datagram service
May not be reliable
TCP supports reliable data delivery
Performance enhancement for a variety of applications:
Telnet, FTP, HTTP, etc
Decision does not impact other applications, if UDP can be used
Everything else is implemented at
application level
Internet Architecture
Internet Protocol
R O B U S T
FRAGILE
Application
Network
Physical
Summary
Introduced the concept of a protocol
Introduced the main network architectures
Discussed future trends of communication networks