1. NETWORK SOFTWARE
Definition: Network software encompasses a broad
range of software used for design, implementation, and
operation and monitoring of computer networks.
Traditional networks were hardware based with
software embedded. With the advent of Software –
Defined Networking (SDN), software is separated
from the hardware thus making it more adaptable to
the ever-changing nature of the computer network.
2. 1. Protocol Hierarchies
2. Design issues for the layers
3. Connection-oriented and connectionless services
4. Services primitives
5. The relationship of services to protocols
3. Protocol Hierarchies:
A protocol is a set of rules and conventions agreed upon and
followed by the communicating entities for data
communication. A protocol outlines the what, how and when
of a communication.
The three aspects of a protocol are −
Syntax − It defines the format of data that is to be sent or
received.
Semantics − It defines the meaning of each section of bits
that are transferred.
Timings − It defines the time at which data is transferred as
well as the speed at which it is transferred.
4. Protocol Hierarchies
Most networks are organized as a stack of layers,
one on the top of another. The number of layers and
their names vary from network to network. Each
layer has a specified function and adheres to
specified protocols. Thus we obtain a stack of
protocols.
6. Example
Above is diagram representing a five-layer network. The
diagram shows communication between Host 1 and Host 2.
The data stream is passed through a number of layers from
one host to other. Virtual communication is represented
using dotted lines between peer layers. Physical
communication is represented using solid arrows between
adjacent layers. Through physical medium, actual
communication occurs. The layers at same level are
commonly known as peers. The peer basically has a set of
communication protocols. An interface is present between
each of layers that are used to explain services provided by
lower layer to higher layer.
7. Interface:
Between each pair of adjacent layers is an interface. The
interface defines which primitive operations and services the
lower layer makes available to the upper one.
Network Architecture:
A set of layers and protocols is called a network
architecture.
Protocol stack:
A list of used by a certain system, one protocol per layer is
called a protocol stack.
8. Design Issues for the layers
A number of design issues exist for the layer to layer
approach of computer networks. Some of the main design
issues are as follows
Reliability
Network channels and components may be unreliable,
resulting in loss of bits while data transfer. So, an
important design issue is to make sure that the information
transferred is not distorted.
9. Scalability
Networks are continuously evolving. The sizes are
continually increasing leading to congestion. Also, when
new technologies are applied to the added components, it
may lead to incompatibility issues. Hence, the design
should be done so that the networks are scalable and can
accommodate such additions and alterations.
Addressing
At a particular time, innumerable messages are being
transferred between large numbers of computers. So, a
naming or addressing system should exist so that each
layer can identify the sender and receivers of each
message.
10. Error Control
Unreliable channels introduce a number of errors in
the data streams that are communicated. So, the layers
need to agree upon common error detection and error
correction methods so as to protect data packets while
they are transferred.
Flow Control
If the rate at which data is produced by the sender is
higher than the rate at which data is received by the
receiver, there are chances of overflowing the receiver. So,
a proper flow control mechanism needs to be
implemented.
11. Resource Allocation
Computer networks provide services in the form of
network resources to the end users. The main design issue is
to allocate and deallocate resources to processes. The
allocation/deallocation should occur so that minimal
interference among the hosts occurs and there is optimal
usage of the resources.
Statistical Multiplexing
It is not feasible to allocate a dedicated path for each
message while it is being transferred from the source to the
destination. So, the data channel needs to be multiplexed, so
as to allocate a fraction of the bandwidth or time to each host.
12. Routing
There may be multiple paths from the source to the
destination. Routing involves choosing an optimal path among
all possible paths, in terms of cost and time. There are several
routing algorithms that are used in network systems.
Security
A major factor of data communication is to defend it
against threats like eavesdropping and surreptitious alteration
of messages. So, there should be adequate mechanisms to
prevent unauthorized access to data through authentication
and cryptography
13. Connection Oriented and Connectionless Services
Connection oriented and Connectionless services are the
two data transmission services provided by the network layer
protocols and transport layer protocols. The Connection
oriented services establish a connection prior to sending the
packets belonging to the same message from source to the
destination. On the other hand, the connectionless
service considers each packet belonging to the same message
as a different & independent entity and route them with a
different path.
Connection oriented and connectionless services show
different behaviour at the network layer & the transport layer.
In this section, we will discuss both the services in-depth and
we will also discuss the nature of connection-oriented and
connectionless services at both the layers i.e. network layer
and transport layer.
14. What is Connection Oriented Service?
Connection oriented service is a data transfer method
between two computers in a different network, which is
designed after the telephone system. Like, in telephone
system if we want to talk to someone, we just pick up the
phone, dial the number of whom we want to talk with; after
the connection is established we talk and lastly, we hang up
the call.
Similarly, the connection oriented service first establishes
the virtual connection between the source and the
destination, then transfers all data packets belonging to the
same message through same dedicated established connection
and after all packets of a message is transferred it releases the
connection.
15.
16. To establish a connection a source sends a request packet to the
destination. In response to which destination sends
the acknowledgement packet to the source confirming that the
destination is ready to accept the data from the source.
Meanwhile, the routers involved in the exchange of request and
acknowledgement packet between source and destination, define
the virtual path that will be followed by all packets belonging to
the same message. So, we say that the resources involved in data
transfer are reserved before transferring all packet in a message.
As all the data packets in a message follow the same path
their order is preserved as they reach the destination. After
sending all data packets the source sends a special packet
to terminate the connection. To which destination sends an
acknowledgement confirming the termination of connection
and all the router delete the path entry from routing table.
17. As connection oriented service provide acknowledgement at
each action it provides reliability in the service. There
are fewer chances of packet loss as they travel a predefined
path. The connection oriented services are preferred over
a long and steady conversation.
As the virtual path is predefined there are rare or no chances
of congestion. If we talk about the delay in data transmission,
there is no delay in the transmission of packets as there is a
dedicated path for it. But, a substantial delay is introduced
due to the acknowledgement process during connection
establishment and termination.
The TCP protocol is a connection oriented protocol.
18. At Network Layer: At the network layer, the connection
oriented service is concerned regarding
the coordination of source, destination and routers involved
in between the source and destination.
As there is coordination between source, destination and all
the routers in between and all packet belonging to the same
message follow a dedicated established connection. So,
we can implement flow control, error control and
congestion control in connection oriented services.
At Transport Layer: At the transport layer, the connection
oriented service is concerned only about the source and
the destination. Here, the packets show dependency on each
other. As all packets will go around the same allocated route.
19. What is Connectionless Service?
Connectionless service is a method of data transmission between two
computers in a different network. Connectionless service is also termed
as datagram service. This service look-alike the postal system where
each letter carries its source & destination address and each one of them
is routed through a different path.
The source divides the message into small acceptable packets these
packets known as a datagram. These datagrams are individually pushed
into the network; each datagram may travel a different path. The
network considers each datagram or data packet as an independent
entity i.e. no relationship is considered between the packets belonging to
the same message.
20. Each datagram carries its source and destination address.
The router uses the destination address to route the datagram
to its destination. The packets received at the destination may
be received out of order. Hence, the datagrams are assembled
to recreate the original message.
The UDP protocol is a connectionless protocol.
21. Key points:
Connection oriented service is based on the telephone system.
Connection oriented service first establishes a connection between the source and
destination.
All packets belonging to the same message follows the same dedicated
established connection to reach the destination in connection oriented service.
At the network layer connection oriented service focuses on coordination
between source, destination and all the routers between source and destination.
At the transport layer connection, oriented service is only interested
in source and destination. The service here is end to end.
In connection oriented service we can implement flow control, error
control & congestion control.
Connectionless service is based on the postal services.
Connectionless service considers each packet of the same message as a different
and independent entity. Each data packet carries its source and destination
address.
In connectionless service, each packet of the same message may follow a
different route to get delivered to the destination.
In connectionless service, packets are routed based on the destination address on
the packet.
At the network layer, connectionless service signifies a different route for a
different packet belonging to the same message.
At the transport layer, connectionless service signifies the independency
between the packets of the same message.
In connectionless service, we cannot implement flow control, error
control, and congestion control.
22. Service Primitives
Each protocol which communicates in a layered architecture
(e.g. based on the OSI Reference Model) communicates in
a peer-to-peer manner with its remote protocol
entity.Communication between adjacent protocol layers (i.e.
within the same communications node) are managed by
calling functions, called primitives, between the layers. There
are various types of actions that may be performed by
primitives. Examples of primitives include: Connect , Data,
Flow Control, and Disconnect.
23.
24.
25. The Relationship of services to protocols
A service is a set of primitives (operation) that a layer
provides to the layer above it.
The service defines what operation the layer is prepared to
perform on behalf of its users.
A service relates to an interface between two layers, with
the lower layer being the service provider and the upper
layer being the service user.
Protocol is a set of rules
It related to the implementation of the service and as such
is not visible to the user of the service.
26. Layer k + 1 Layer k + 1
Layer K Layer K
Layer K + 1
Layer K + 1
27. Questions
1. Network software encompasses a broad range of
software used for _____
a) Design
b) Implementation and operation
c) Monitoring
d) All the above
28. 2 . A protocol is a set of ____
a) Rules
b) Variable
c) Constant
d) bits
29. 3.The format of data that is to be sent or
received is called
a) Timing
b) Receiving
c) Syntax
d) All the above
30. 4. It defines the meaning of each section of
bits that are transferred.
a) Semantics
b) Syntax
c) Timing
d) bits
31. Between each pair of adjacent layers is an
____
a) Protocol
b) Physical communication
c) Interface
d) Virtual communication