Computer Networks with
Internet Technology
William Stallings
Chapter 2
Protocols and the TCP/IP
Protocol Suite
Need For Protocol Architecture
E.g. File transfer
Source must activate comms. Path or inform
network of destination
Source must check destination is prepared to
receive
File transfer application on source must check
destination file management system will
accept and store file for his user
May need file format translation
Task broken into subtasks
Implemented separately in layers in stack
Functions needed in both systems
Peer layers communicate
2
Key Elements of a Protocol
Syntax
Data formats
Signal levels
Semantics
Control information
Error handling
Timing
Speed matching
Sequencing
3
Protocol Architecture
Task of communication broken up into
modules
For example file transfer could use three
modules
File transfer application
Communication service module
Network access module
Figure 2.1 Simplified
Architecture for File Transfer
A Three Layer Model
Network Access Layer
Transport Layer
Application Layer
Network Access Layer
Exchange of data between the computer
and the network
Sending computer provides address of
destination
May invoke levels of service
Dependent on type of network used (LAN,
packet switched etc.)
Transport Layer
Reliable data exchange
Independent of network being used
Independent of application
Application Layer
Support for different user applications
e.g. e-mail, file transfer
Figure 2.2 Protocol
Architectures and Networks
10
Addressing Requirements
Two levels of addressing required
Each computer needs unique network
address
Each application on a (multi-tasking)
computer needs a unique address within
the computer
The service access point or SAP
The port on TCP/IP stacks
11
Figure 2.3 Protocols in
Simplified Architecture
12
Protocol Data Units (PDU)
At each layer, protocols are used to
communicate
Control information is added to user data at
each layer
Transport layer may fragment user data
Each fragment has a transport header
added
Destination SAP
Sequence number
Error detection code
This gives a transport protocol data unit
13
Figure 2.4
Protocol Data Units
14
Network PDU
Adds network header
network address for destination computer
Facilities requests
15
Figure 2.5 Operation of a
Protocol Architecture
16
Standardized Protocol
Architectures
Required for devices to communicate
Vendors have more marketable products
Customers can insist on standards based
equipment
Two standards:
OSI Reference model
Never lived up to early promises
TCP/IP protocol suite
Most widely used
Also: IBM Systems Network Architecture (SNA)
17
OSI
Open Systems Interconnection
Developed by the International
Organization for Standardization (ISO)
Seven layers
A theoretical system delivered too late!
TCP/IP is the de facto standard
18
OSI - The Model
A layer model
Each layer performs a subset of the
required communication functions
Each layer relies on the next lower layer to
perform more primitive functions
Each layer provides services to the next
higher layer
Changes in one layer should not require
changes in other layers
19
Figure 2.6
OSI Layers
20
Figure 2.7
The OSI Environment
21
Figure 2.8 OSI as Framework
for Standardization
22
Figure 2.9
Layer Specific Standards
23
Elements of Standardization
Protocol specification
Operates between the same layer on two
systems
May involve different operating system
Protocol specification must be precise
Format of data units
Semantics of all fields
allowable sequence of PCUs
Service definition
Functional description of what is provided
Addressing
Referenced by SAPs
24
Service Primitives and
Parameters
Services between adjacent layers
expressed in terms of primitives and
parameters
Primitives specify function to be
performed
Parameters pass data and control info
25
Primitive Types
REQUEST
A primitive issued by a service user to
invoke some service and to pass the
parameters needed to specify fully the
requested service
INDICATION
A primitive issued by a service provider
either to:
indicate that a procedure has been invoked
by the peer service user on the connection
and to provide the associated parameters, or
notify the service user of a provider-initiated
action
RESPONSE
A primitive issued by a service user to
acknowledge or complete some procedure
previously invoked by an indication to that
user
CONFIRM
A primitive issued by a service provider to
26
Figure 2.10 Timing Sequence
for Service Primitives
27
TCP/IP Protocol Architecture
Developed by the US Defense Advanced
Research Project Agency (DARPA) for its
packet switched network (ARPANET)
Used by the global Internet
No official model but a working one.
Application layer
Host to host or transport layer
Internet layer
Network access layer
Physical layer
28
Physical Layer
Physical interface between data
transmission device (e.g. computer) and
transmission medium or network
Characteristics of transmission medium
Signal levels
Data rates
etc.
29
Network Access Layer
Exchange of data between end system
and network
Destination address provision
Invoking services like priority
30
Internet Layer (IP)
Systems may be attached to different
networks
Routing functions across multiple
networks
Implemented in end systems and routers
31
Transport Layer (TCP)
Reliable delivery of data
Ordering of delivery
32
Application Layer
Support for user applications
e.g. http, SMPT
33
Figure 2.11
OSI v TCP/IP
34
TCP
Usual transport layer is Transmission Control
Protocol
Reliable connection
Connection
Temporary logical association between entities in different
systems
TCP PDU
Called TCP segment
Includes source and destination port (c.f. SAP)
Identify respective users (applications)
Connection refers to pair of ports
TCP tracks segments between entities on each
connection
35
UDP
Alternative to TCP is User Datagram
Protocol
Not guaranteed delivery
No preservation of sequence
No protection against duplication
Minimum overhead
Adds port addressing to IP
36
Figure 2.12
TCP and UDP Headers
37
IP and IPv6
IP (v4) header minimum 20 octets (160 bits)
32-bit source and destination addresses
Checksum applies to header to avoid incorrect
delivery
Protocol field shows if TCP, UDP etc. carried
Flags and fragmentation offset used in
fragmentation
1995 IPng became standard IPv6 in 1996
Enhancements for modern high speed networks
Carry multimedia data streams
Increase address space
38
Figure 2.13 (a)
IPv4 Header
39
Figure 2.13 (b)
IPv6 Header
40
Figure 2.14
TCP/IP Concepts
41
Addressing level
Level in architecture at which entity is
named
Unique address for each end system
(computer) and router
Network level address
IP or internet address (TCP/IP)
Network service access point or NSAP (OSI)
Process within the system
Port number (TCP/IP)
Service access point or SAP (OSI)
42
Trace of Simple Operation
Process associated with port 1 in host A
sends message to port 2 in host B
Process at A hands down message to TCP
to send to port 2
TCP hands down to IP to send to host B
IP hands down to network layer (e.g.
Ethernet) to send to router J
Generates a set of encapsulated PDUs
43
Figure 2.15
PDUs in TCP/IP
44
Example Header Information
Destination port
Sequence number
Checksum
45
Internetworking
Most networks not isolated
Different types of LAN
Multiple similar LANs
Multiple sites connected by WAN(s)
May appear as large network
Entire configuration referred to as an internet
Note indefinite article and lower case i
Each constituent network is a subnetwork
Most important example of an internet is referred to simply
as the Internet
Note definite article and upper case I
The Internet evolved from research-oriented packetswitching network
Basis for development of internetworking technology
Model for private internets
46
Internetworking Devices
Each subnetwork supports communication among
devices attached to that subnetwork
End systems (ESs)
Subnetworks connected by intermediate systems (ISs)
Provide communications path and relay and routing functions
Bridges and routers
Different types of protocols used
Bridge operates at layer 2
Relay between like networks
Router operates at layer 3
Routes packets between potentially different networks
47
Routers
Interconnect dissimilar subnetworks
Provide a link between networks
Provide for routing and delivery of data between processes
on end systems attached to different networks
Do not require modifications of architecture of
subnetworks
Must accommodate differences among networks
Addressing schemes
Maximum packet sizes
Interfaces
Reliability
Satisfied by internetworking protocol implemented
in all end systems and routers
IP
48
Figure 2.16 Configuration for
TCP/IP Example
49
Figure 2.17
Action of
Sender
50
Figure 2.18
Action of Router
51
Figure 2.19
Action of
Receiver
52
Internetworking Terminology
(1)
Internet
Collection of communication networks interconnected
by bridges and/or routers
Intranet
An internet used by single organization
Provides key Internet applications (World Wide Web)
Operates within organization for internal purposes
Can exist as isolated, self-contained internet
May have links to the Internet
Subnetwork
Refers to a constituent network of an internet. This
avoids ambiguity because the entire internet, from a
user's point of view, is a single network
53
Internetworking Terminology
(2)
End System (ES)
Device attached to one of the networks of an internet
Supports end-user applications or services
Intermediate System (IS)
Device used to connect two networks
Permits communication between ES attached to different networks
Bridge
IS used to connect two LANs that use similar protocols
Address filter
Does not modify packets
Layer 2 of the OSI model
Router
IS used to connect two networks that may or may not be similar
Uses an internet protocol present in each router and each end
system of the network
Layer 3 of the OSI model
54
Required Reading
Stallings chapter 2
Comer,D. Internetworking with TCP/IP
volume I
Comer,D. and Stevens,D. Internetworking
with TCP/IP volume II and volume III,
Prentice Hall
Halsall, F. Data Communications,
Computer Networks and Open Systems,
Addison Wesley
RFCs
55