network software in computer network, design issues for the layers in computer network
Size: 1.13 MB
Language: en
Added: Dec 06, 2021
Slides: 32 pages
Slide Content
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.
Protocol Hierarchies Design issues for the layers Connection-oriented and connectionless services Services primitives The relationship of services to protocols
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.
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.
The following figure illustrates a four-layer network
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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 .
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.
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.
Layer k + 1 Layer k + 1 Layer K Layer K Layer K + 1 Layer K + 1
Questions 1. Network software encompasses a broad range of software used for _____ Design Implementation and operation Monitoring All the above
2 . A protocol is a set of ____ Rules Variable Constant bits
3. T he format of data that is to be sent or received is called Timing Receiving Syntax All the above
4. It defines the meaning of each section of bits that are transferred. Semantics Syntax Timing bits
Between each pair of adjacent layers is an ____ Protocol Physical communication Interface Virtual communication