Title: COM347 Computer Networking Notes
1Protocols, ISO Model and Layering
2Protocols Background
In the early days of computing every time a new
communications application was developed, a set
of communications routines for handing the
communications hardware had to be developed.
The result was that even when these routines
did work, they did not work very well when they
did actually work. There were simply too many
types of communications hardware for every
application to be able to work on every machine.
There were also too many opportunities for
errors to creep into the code handing the
communications hardware. The solution was to
develop a set of routines built into the system
for each piece of communications hardware
attached to the computer. The applications could
then access these routines via a set of
standardised calls. Doing this meant that
applications could be moved from one computer to
the next without substantial change.
Furthermore, since the routines only needed to be
written once for each piece of communications
hardware, any software errors could be detected
and fixed more quickly.
3Protocols...
Once the concept of assigning different levels of
controls to different sets of standardised
routines caught on, network designers developed
reference models. Reference models are standard
ways of breaking the task of communications into
different layers. Each layer performs tasks
for the layer above it and calls upon the layer
below it to perform certain tasks for it in turn.
The International Standards Organisation have
developed a network model that contains 7 layers.
Internet Protocol (IP) is a connectionless
protocol that gateways use to identify networks
and paths to networks and hosts. In other
words, IP handles the routing of data between
networks and nodes on those networks. TCP is an
end-to-end protocol that is used for push and
pull communication via a point-to-point link.
TCP is the primary transport protocol in the
Internet (as well as Intranets and Extranets)
suite of protocols providing reliable,
connection-oriented, full-duplex streams and uses
IP for delivery. RTP is a real-time transport
protocol providing supporting applications
transmitting real-time data over unicast and
multicast networks.
4Elements of a network
- communication links point-to-point (e.g.,
A-to-B) or broadcast (e.g., Ethernet LAN) - host computer running apps which use network
(e.g. H1) - router computer (often w/o applications-level
programs) routing packets from input line to
output line. (e.g., C) - gateway a router directly connected to two
networks (e.g. A) - network set of nodes (hosts/routers/gateways)
within single administrative domain - internet collection of interconnected networks
5Protocols
- protocol rules by which active network elements
(applications, hosts, routers) communicate with
each other - protocols define
- format/order of messages exchanged
- actions taken on receipt of message
- Examples
- RTP
- TCP
- UDP
- SNMP
6Protocols Continued...
- rules by which two or more people communicate to
provide a service, or to get something done - protocols in every day life e.g. Conversation,
meeting a VIP
7Layered Architecture
- complex system architecture simplified by
layering. - layer N relies on services of layer N-1 to
provide a service to layer N1 - service from lower layer independent of how that
service implemented - information/complexity hiding
- layer N change doesn't affect other layers
-
- interfaces define how services requested
8Layered Network Architecture
- the network consists of geographically
distributed hardware/software components - a distributed layered view
9Layering and Protocols
- peer entities (e.g., processes) in layer N
provide service by communicating (sending
"packets") with each other, using communication
service provided by layer N-1. - logical versus physical communication
10ISO Model
The ISO (International Standards Organisation)
have developed a network model which represents a
different level of abstraction with each layer
performing a well-defined function with minimum
information flowing across layer boundaries (as
described above).
Another principle was that there should be a
manageable number of layers. The Figure here
shows the structure of the 7-Layer OSI (Open
Systems Interconnection) Reference Model.
The Network Access Layer has between broken up
into three separate layers comprising the Network
Layer, the Data Link Layer and the Physical
Layer. Two additional layers have been placed
between the Application Layer and the Transport
Layer the Presentation Layer and the Session
Layer. The Application Layer provides interfaces
for using high-level network protocols such as
the File Transfer Protocol (FTP) and the
Hypertext Transfer Protocol (HTTP).
11The Internet and ISO/OSI Standards
- Internet not exactly OSI - close.
12Layers of a Protcol Architecture
application layer process-to-process
communication examples WWW, email,
teleconferencing, info. retrieval presentation
layer (OSI only) conversion of data to a common
format (e.g., little endian versus big-endian
byte orders, integer and floating point numbers).
Internet stack data conversion a
user-level concern session layer (OSI only)
session set up (e.g., authentication),
recovery from failure (broken session) a "thin"
layer transport layer transport
service end-to-end delivery of data
may multiplex several streams from higher layers
sender/receiver speed matching
Internet TCP and UDP
13Layers of a network architecture
- Network layer
- at end hosts start packets on their way
- at routers control packet routing
- bottleneck avoidance, congestion control
- Internet IP packets, BGP, RIP
-
- Data link layer
- point-to-point error free communication over a
single link - multiaccess LAN protocols
- speed matching between sender/receiver
- Ethernet, HDLC, PPP
- Physical layer stuff of EE's
- transmitting raw bits over wire
14Internetworks - The Internet
- an internet interconnection of many networks
-
- a network of networks
- each network administered separately
- the Internet each network runs same software
the Internet protocols
15Protocol Packets
- packet unit of data exchanged between protocol
entities in a given layer - data at one layer encapsulated in packet at
lower layer - "envelope within envelope"
16Generic Issues in a layer
- error control make "channel" more reliable
- flow control avoid flooding slower peer
- fragmentation dividing large data chunks into
smaller pieces reassembly - multiplexing several higher level session share
single lower level connection - connection setup handshaking with peer
- addressing/naming locating, managing identifiers
associated with entities
17IP
Internet Protocol (IP) is a connectionless
protocol that gateways use to identify networks
and paths to networks and hosts. In other words,
IP handles the routing of data between networks
and nodes on those networks. In addition to
defining an address scheme IP also handles the
transmission of data from an originating computer
to the computer specified by the IP address. It
does so by breaking up larger chunks of data into
easily manageable IP packets that it can deliver
across the network in a connectionless fashion.
In an effort to better manage traffic, IP
specifies the protocol for breaking single
messages into portions. Each portion is
responsible for finding its way across the
network based on changing traffic congestion and
the IP protocol. Each time a message arrives at
an IP router, the router decides where to send it
next. There is no concept of a session with a
pre-selected path for all traffic. Routers can
send data along the path of least resistance
regardless of local network traffic congestion.
Packets are sent across the Internet from subnet
to subnet via gateways or routers
18IP....
The Internet gateway is designed to be
transparent to the end-user application in the
host computers and the subnet it is attached to.
The gateway routes the IP packets to the
appropriate subnet. Routing takes place in the
Internet layer of the gateway that enables TCP/IP
to work on different types of LAN using different
media and different protocols.
TCP usually resides in the Transport Layer and
provides a reliable end-to-end communication
service that uses acknowledgements to ensure that
packets have been delivered
A different protocol called UDP can be used
instead of TCP. The User Datagram Protocol (UDP)
sends IP packets but does not use
acknowledgements (and is therefore unreliable).
This type of service is more suitable for status
information, video conferencing and voice
communication applications where the loss of the
occasional packet can be safely ignored. Each
application process must identify itself by a
port number. The port number is equivalent to
the service access point (SAP) found in the OSI
model. Typically, ports 1-1023 are reserved for
system use.
19TCP
TCP/IP (Transmission Control Protocol/Internet
Protocol) is a two-layered protocol. The higher
layer, Transmission Control Protocol, manages the
assembling of a message or file into smaller
packets that are transmitted over the Internet
and received by a TCP layer that reassembles the
packets into the original message. The lower
layer (network layer), Internet Protocol, handles
the address part of each packet so that it gets
to the right destination. TCP is an end-to-end
protocol that is used for push and pull
communication via a point-to-point TCP link
. TCP is the primary transport protocol in the
Internet (as well as Intranets and Extranets)
suite of protocols providing reliable,
connection-oriented, full-duplex streams and uses
IP for delivery.
20TCP.....
The TCP/IP model traditionally has 4
layers. There is no session layer or
presentation layer in the TCP/IP model (if
necessary, their tasks are made the
responsibility of the application layer). The
TCP/IP layers that exist are essentially the same
as those in the OSI reference model. The
host-to-network layer is responsible for sending
bits across the network and for link error
control and link flow control (i.e. data link
layer and physical layer combined). The
Internet layer switches packets around the
network and places packets on (or removes them
from) the network using a packet format called IP
(Internet Protocol). The transport layer
accepts data (and instructions) from the
application layer and breaks the data up into
packets. It also reassembles received packets
into data streams and passes that data to the
appropriate port number (e.g. port number 1066)
and is also responsible for end-to-end flow
control. Finally, the application layer
contains all the higher-level protocols such as
TELNET, FTP and SMTP that are used by
applications.
21RTP
RTP is a real-time transport protocol providing
supporting applications transmitting real-time
data over unicast and multicast networks. RTP
services include payload type identification,
sequence numbering, and time stamping. Delivery
is monitored by the closely integrated control
protocol RTCP. While RTP provides end-to-end
delivery services, it does not provide all of the
functionality typically provided by transport
protocols therefore RTP generally resides on top
of UDP to utilise its multiplexing services.
End-to-end support includes multi-party
functions, such as synchronisation of multiple
streams, and reconstruction of streams based on
timestamps. Sequence numbers allow the
identification of packet positions in a stream
that may arrive out of order (e.g. to aid video
decoding). RTP bridges can act as
synchronisation points along a path to transcode
data into a more suitable format for the
destinations that they serve.
22RTP....
- Each RTP data packet consists of an RTP packet
header and payload. The packet header includes a
sequence number, a media-specific timestamp, and
a synchronisation source (SSRC) identifier while
the RTP control protocol (RTCP) provides
mechanisms for data distribution monitoring,
cross-media synchronisation, and sender
identification. - The control information transmission interval
(sent to all participants) is randomised and
adjusted according to the session size to
maintain the RTCP bandwidth below some
configurable limit. - RTCPs primary function is to provide session
feedback on data distribution quality, which is
useful for diagnosing failures and monitoring
performance, and can be adopted by applications
for dynamic adaptation to congestion. - Monitoring statistics such as Sender Reports
(SR) include the sender's cumulative packet count
and cumulative byte count while the Receiver
Reports (RR) statistics include cumulative count
of lost packets, jitter, short-term loss
indicator, and round-trip time estimation
time-stamps.
23RTP.....
RTPs design is based on the IP multicast group
delivery protocol where data sources broadcast to
a groups multicast address without knowledge of
the actual group membership. Real time
applications such as adaptive audio or video
conferencing tools are often based on RTP so that
they can work in loaded networks so long as a
minimal amount of bandwidth is available. Real
time applications make use of RTPs support of
intra and inter-stream synchronisation and
encoding detection with RTP being frequently
integrated into the application software rather
than being implemented as a separate layer. In
accordance with ALF principle, the semantics of
several RTP fields are app dependent and several
profile documents specify the use of RTP header
fields for different applications (e.g. the
marker bit of the RTP header defines the start of
a talk spurt in an audio packet and the end of a
video frame in a video packet) That is, RTP
"will often be integrated into the application
processing rather than being implemented as a
separate layer" oblivious to whether IPv4, IPv6,
Ethernet, ATM, or another communication mechanism
is being used.
24Practical Work
Q. There are various LLC different services. 2 of
these are unacknowledged connectionless (type 1)
and acknowledged connectionless (type 3).
Describe the differences?
- Answer
- Unacknowledged connectionless (type 1).
- No error or flow control.
- No delivery guarantees.
- Acknowledged connectionless (type 3).
- No logical connection.
- Flow and error control.
-
25Summary
The International Standards Organisation has
developed a network model that contains 7 layers.
Internet Protocol (IP) is a connectionless
protocol that gateways use to identify networks
and paths to networks and hosts. In other
words, IP handles the routing of data between
networks and nodes on those networks. TCP is an
end-to-end protocol that is used for push and
pull communication via a point-to-point TCP link.
TCP is the primary transport protocol in the
Internet (as well as Intranets and Extranets)
suite of protocols providing reliable,
connection-oriented, full-duplex streams and uses
IP for delivery. RTP is a real-time transport
protocol providing supporting applications
transmitting real-time data over unicast and
multicast networks.