1 Introduction

The advancement in wireless communications has provided significant benefits. People in urban home and offices, and also rural areas are able to communicate. The increase of wireless applications must efficiently manage network traffic, and congestion, and should not impact application and network performance [22]. The data streams in wireless communication are unbalanced because of its random destination delivery, which adheres to challenging in routing and congestion management in wireless networks, especially for the multi-streaming application. Streaming requires a continuous delivery of data packets for better QoS, and TCP is unable to perform satisfactorily [41] due to Head-of-Line (HoL) blocking and strict data ordering. This problem is more severe when the receiver’s buffer is small in size.

Due to the collapse of the Internet in 1986, the jargon of congestion collapse came into existence, and various versions of TCP are improved to face the congestion. Congestion avoidance predicts the happening of congestion and tries to decrease the rate of transfer from the sender side. There are some techniques in TCP that are used in wired networks. SCTP also has congestion avoidance behaviours for flooding and masquerade attacks as exposed in RFC 4960 [34]. Congestion also happens when multiple input streams arrive at a router whose output capacity is less than the sum of the inputs. In SCTP, after the completion of the slow-start stage, SCTP enters into congestion avoidance stage as illustrated in RFC 2581 [2]. When congestion is detected, immediately SCTP reverts to slow-start. Due to the use of multi-streaming in SCTP over MANETs in delivering multimedia services, in this paper, we propose a novel approach to avoid congestion when dealing with the multimedia transmission.

The improvisation in multi-streaming can be provided through SCTP. SCTP provides several features that do not exist in traditional TCP and UDP, such as multi-streaming and multi-homing [24, 35]. In particular, SCTP can overcome the problem of TCP’s strict ordering and Head of Line blocking by transmitting independent objects across different streams using the multi-streaming feature. This independent data streaming can also alleviate the problem of packet loss and congestion. If there are packet losses in one stream, another stream with no packet loss can continue forwarding unordered packets to the receiver application and to free the receiving buffer space for other arriving packets [5, 17].

The characteristics of MANETs, when compared to the wireless network, are reasonably diverse in terms of congestion prevention and multi-streaming. Information messages generated during critical scenarios are very important, and the loss of this data can compromise the purpose of deploying a dynamic wireless network. In other words, the job of data transmission for a critical condition or requirement must stick to the promise of QoS for the application needs based on the available resources of the network and its routing protocols. Applications [13] in wireless networks need attention according to the data and need criticalities, such as vehicles information, secure messages, live conferences, and biomedicine information. Different applications have diverse data traffic and QoS requirements along with effective congestion control to meet the objectives desired.

The routing structure of MANET is highly dynamic, and resource depended. Here, multiple senders compete for link bandwidth and optimal route to achieve the throughput. It is highly challenging to maintain the fairness between end-to-end flows in case of multi-streaming as it can overload and congest the network. In most cases, it adjusts or reduces the data rate to reduce the overload or congestion, but it shows a severe impact on end-to-end throughput. In current years, routing and congestion control mechanisms are designed for MANET to reduce the packet losses [31]. But, for unusual routing such as controlling excessive traffic or original traffic in the state of multi-streaming data, most of the suggestions are not desired, as they can have a significant negative impact. The need for improvisation in multi-streaming in MANET motivate us to design a competent routing protocol for multi-streaming routing to avoid congestion and reduce control overhead through classification of data and stream priority and efficient stream selection.

D. Djenouri et al. [9] presented a data routing protocol through the splitting of traffic utilizing data priority based on its criticality in a wireless network. The construct design model classifies traffic according to the QoS requirement into several categories utilizing the different traffic standards and measures for routing of each kind of data priority. Its analysis shows that using multi-queuing with priority reduces the latency to critical and delay-sensitive data packets and ensures better QoS and traffic control. J. Eklund et al. [11] studied concurrent multipath transmission (CMT) to schedule telecommunication signaling traffic through multiple paths with SCTP efficiently. CMT-SCTP [16] is used to handle caller scheduling to normalize the latency for signaling traffic. It also presents Dynamic Stream (DS) aware scheduling using the SCTP streaming conception and believes current network conditions and data weight to make scheduling decisions. Experimental studies show that DS scheduling can considerably decrease latency evaluated to dynamic route scheduling without streaming.

This paper proposes a congestion avoidance mechanism in SCTP (CAM-SCTP) based on data and stream prioritization for effective congestion control to attain QoS over MANET environment. Deriving the concept of traffic splitting and data prioritization mechanism, the CAM-SCTP mechanism classifies the data and stream priority based on two major class categories as, Normal-Priority and High-Priority.

The objective of proposed CAM-SCTP is to contribute the functionality to avoid congestion and smooth data streaming over MANET as follows.

  • Classification of Data Priority: Traffic is dissimilar and could have diverse QoS necessities. It can be inspected as application-related QoS metric that has to be engaged in the description for all forms of traffic because ensuring an extensive network duration is crucial for all applications. Here, we design a module which classifies the data based on two classes as, Normal-Priority and High-Priority. These data classes will be assigned based on the tolerance of data for loss and delay.

  • SCTP Congestion Avoidance based on Streaming Delay Weight (SDW): The SDW will provide a process to compute the streaming rate of the node based on queue In and Out Delay and Transmission Delay. Each flow, or set of it, is associated with an independent queue that is weighted so that critical traffic has a higher priority than less critical traffic. At a congested time, traffic in each queue is fairly protected and handled according to its weights.

As per our knowledge, the proposed CAM-SCTP is unique in its contribution such that it supports delivery of streaming media data and can efficiently transfer prioritized or non-prioritized data promptly without destabilizing the network and by dynamically adjusting the number of streams based on the traffic and congestion in the network.

The remaining of the paper is arranged as follows. In the next Section 2, we discuss the related work regarding SCTP Multi-Streaming and Congestion in MANETs. In Section 3, we discuss our proposed Congestion Avoidance Mechanism in SCTP. Section 4 illustrates the simulation configuration and results and Section 5 present the conclusions.

2 Related work

In general, the recent wireless network end users wish to request a variety of kinds of data from a source application. Therefore, the source application has to offer the most suitable approach to transmit numerous data varieties in parallel and have to react efficiently to phases of inadequate bandwidth [6]. This section discusses SCTP multi-streaming mechanism, limitations of MANET routing, and congestion problems in MANET with related works.

The SCTP multi-streaming [7] is a new transport layer feature can make transmission of diverse forms of data in parallel to a destination. This mechanism offers the advantage of combining target connection streams from multiple sources over unidirectional transport channels that overcome the drawbacks of TCP’s buffer overload and HoL blocking issues [32]. Figure 1 illustrates an SCTP association with 2 data streams stream 0 and stream 1. SCTP uses stream 0 and stream 1 for multi-streaming mechanism. When an SCTP association is initiated, the number of in and out streams is configured for the sender. The receiver reads packets through the allocated streams. The order of the packets depends on the data variety of the stream. The sender Host-A and receiver Host-B specifies diverse data types for each data stream.

Fig. 1
figure 1

An illustration of SCTP multi-streaming of an SCTP association between hosts A and B

SCTP multi-streaming can improve multimedia data transmission performance compared to TCP or single-stream SCTP by avoiding HoL [40]. In multi-streamed SCTP associations, when a data stream is choked-up because of a missing packet or a transmission delay, data in other streams can still be transmitted. Multi-streaming consigns to the ability to send multiple autonomous streams of portions in similar, such as sending a webpage image along with its text. SCTP is one of the promising data transmission protocols for multimedia communications, and few researchers have attempted to improve the transmission performance of multimedia data using SCTP multi-streaming. For instance, in [36], authors study the scalability of SCTP multi-streaming in video transmission. It was reported [42] that the number of streams could be properly adjusted to improve the performance of the SCTP multimedia transmission.

Another study reported that when MPEG framework was assigned to another stream, SCTP could improve MPEG-based stream transmission performance through multi-streaming [37]. These results also confirm the decline of packet transmission performance due to inter-stream interference. With SCTP, data transmission in one stream is not affected by delays or losses in other streams. Another way to enhance the SCTP outcome is to set multimedia data transmitted in multiple streams. Conventional techniques are focused on stream mechanisms [10]. However, there is no work for the receiver to control the access frequency of each stream to achieve better performance. This motivated our proposed scheme.

SCTP multi-streaming can ensure that each type of multimedia data is transmitted over a different stream. The source and destination endpoints would know the data category of every stream and the requirements for the delay guarantees. This allows us to appropriately determine the strategy for accessing the stream on the destination endpoint. If this approach permits a slighter delay for imperative multimedia data than other multimedia, the QoS improvisation is obtainable as shown in [8, 18, 30]. Our proposed scheme dynamically adjusts the access frequency of the stream according to the measured actual end-to-end delay at the receiver. For instance, a client can use SCTP multi-streaming to receive multimedia-based services from the server. If the network is congested, the latency may be longer. As an outcome, the quality of multimedia services deteriorates. For the original SCTP, each stream is accessed by the equivalent priority. The identical access priority for every stream does not satisfy the QoS of the delay-sensitive traffic such as VoIP service. The CAM-SCTP proposed in this paper also improves the quality of delay-sensitive services for data file transmission.

It is significant to employ a capable routing protocol that provides high-quality communications in ad hoc networks. There are many resources in this network to maintain portability, device size, and weight. Nodes have inadequate battery power, bandwidth, and buffer space, so traffic must be distributed among different mobile hosts. The routing protocol of MANET needs to transfer the routing work fairly between mobile hosts. Unbalanced traffic and load balancing can affect the network performance deficiency. This imbalance results in a greater number of nodes in the network, which is rich in routing queues, which increases queue size, packet delay, packet loss rate, and power consumption [12].

Ad hoc networks are dynamic. Congestion occurs when resources are limited, and demand is high. Many types of technologies have been proposed to overcome traffic on mobile ad hoc networks. Most methods of congestion control occur in router or node centers [33]. Most of the earlier studies on congestion control in wireless communications focused only on traffic control including end-to-end and hop-by-hop congestion [15]. Traffic control techniques are effective in controlling congestion in existing networks, and some have been proposed in wireless network scenarios [4]. But most of the proposals are limited or inadequate for specific uses such as control. Source traffic is not desirable because it greatly offsets the requirements. It is better to tune resources to accommodate critical requirements and to control excessive incoming traffic in a critical state.

The major issues for the congestion in MANET can be categorized as follows,

  • Congestion control in MANETs is significantly different from traditional networks.

  • Congestion causes packet loss and bandwidth shortage and also misuses time and energy.

  • Present congestion control algorithms aim to mitigate network congestion by reducing rate of data delivery.

  • Standard TCP control mechanisms cannot handle the special characteristics of shared wireless multi-hop communication.

  • TCP control technology is inadequate to handle congestion that is applied to ad hoc networks due to high node mobility and topology changes.

S. Sadouni et al. [29] proposed SCTP extensions for MANET (SCTP-MAN) to provide robustness. It suggested that a more sophisticated integration for the MANET network would inevitably improve performance. Leveraging a cross-layer interface and using specific messages to minimize average latency can improve average throughput. The evaluation of SCTP-MAN extension performance is clearly superior to that of the SCTP protocol, but the increase in the number of nodes implies an approximation of network performance for all SCTP protocol versions. This is because path availability between source and destination affects node growth as well as a more effective recovery in the case of path growth.

T. D. Wallace et al. [38] studied Concurrent Multipath Transmission (CMT) with SCTP that can use devices to improve data communication. They present two modes to form a supposed throughput of the CMT session. Based on an update theory and many other Markov chains, real transport layer resources such as shared receipt buffer are taken into consideration. They concluded that the Markov series is more accurate with scalability issues compared to others models.

T. D. Wallace et al. [39] proposed on-demand scheduling for CMT with SCTP for waiting for transmission opportunities before allocating packets to one of the receiver’s destination addresses. On-demand Scheduler (ODS) allows you to control congestion and flow between transmission and destination. In response to congestion, authors developed a policy with a new Congestion Window Update policy for CMT that limits the CWND of the destination to the bandwidth perspective of that network path. Along with every scheduling approaches, performance results show that ODSs and policies that have the most significant impact on concurrent multipath transmission.

D. Jung et al. [19] proposed an improvement of SCTP with access frequency control. The use of access frequency controller is to assign the frequency for each stream by observing the transmission status on calculating throughput and delay priorities. Due to the HoL blocking with multi-streaming control on SCTP, performance is improved. The paper proposes a new technique of controlling access frequency, which is not sensitive to delay reception by utilizing service bandwidth to lead the service frequency service quality. Experimental evaluation shows significant improvements compared to the original SCTP.

J. Ortiz et al. [25] proposed an evaluation of Scalable Video Coding (SVC) transmission using SCTP. Experiments demonstrated how mixing an SVC stream with an SVC layer is a natural and profitable approach to deliver video at high error rate transmissions. Surveys can be improved by incorporating other SCTP extensions, such as the Potentially Failed (SCTP-PF) [23] technique, which provides non-redundant transport services with coordinated loss recovery. It is a quick failover technique in providing a potentially failed path state in the path management of SCTP. In [28], authors compare TCP, DCCP, and SCTP protocols in terms of various metrics and analyze their performance. In [20], authors discussed the performance analysis of transport protocols in multimedia traffic considering various parameters. They also shown effect of channel fading on protocols, and provided a conclusion that transport protocols must be given a high priority for better transmission of multimedia applications. In [1], authors proposed solutions for streaming in cellular network using LTE. They also shown different cross-layer adaptions for video streaming to deliver high performance.

Based on all studies above and observations of the benefits of using SCTP multi-streaming and the problems of congestion in MANET, we are motivated to propose a Congestion Avoidance Mechanism using SCTP multi-streaming in MANET (namely CAM-SCTP) to overcome the data loss during multipath routing. In the following Section 3, we discuss our proposal in detail.

3 Congestion avoidance mechanism in SCTP multi-streaming (CAM-SCTP) for MANET

The proposed CAM-SCTP for MANET is based on data and stream prioritization for effective congestion control and better quality of service. As we discussed above, the MANET is prone to congestion due to its limited bandwidth and routing constraints. In such cases, multi-streaming over MANET through the streaming media applications which prefer to have timely and reliable service suffer from big data loss. If data in this application is not delivered within its deadline, the data at the receiver becomes invalid at the receiver. In addition, reliable communication is essential if the delivered content is to be recognized as high quality [14, 27]. Taking advantage of SCTP multi-streaming, we intend a data and stream priority-based architecture as shown the Fig. 2 to have a quality data throughput for multimedia transmissions.

Fig. 2
figure 2

Architecture of CAM-SCTP based multi-streaming

3.1 System architecture

Traffic congestion control strategies are useful in controlling traffic on conventional networks but are not suitable for special cases such as when controlling data traffic during an emergency because it will be undesirable to control the traffic as it will significantly go against the application requirements. On the other hand, the CAM-SCTP proposes a practice to control excessive incoming traffic in a critical state. In particular, it adjusts the resources based on the selection of streaming delay during transmission.

Each node in the network consists of this functionality and depends on their functionality status, the node behaves as a source node or intermediate forwarding nodes. The developed mechanism and the model of network layer stack for each node is shown in Table 1. The PM lies at the application layer and the modified Ad hoc On-Demand Distance Vector Routing (AODV) [26] routing with congestion avoidance mechanism (CAM) in the network layer of the model.

Table 1 Network protocol stack of CAM-SCTP

3.2 Priority manager (PM)

Priority Manager is an application layer entity which is responsible for classifying data and effectively selecting a stream to send the data based on the computed SDW per stream. A priority-based data priority strategy adjusts the node traffic rates to avoid congestion with unrelated service priority for congestion control in MANET. Data traffic will have two different types of data priority requirements. Data traffic which can tolerate reasonable delay and loss is classified as Normal-Priority (NP). Data traffic which cannot tolerate delay and loss and is of high importance and is classified as High-Priority (HP).

  1. A.

    Classification of Data Priority

The process of classification is designed to satisfy the imposed quality of delivery for each data packet. It devotes to each quality delivery requirement in addition to the SCTP congestion avoidance module. This module is accountable for implementing the priority for the SCTP multi-streaming based on the data class. The classification ensures that high priority data receives the delay and loss services it needs.

The classification of data is made on the sensitivity of the data. For example, an audio, video data is more sensitive to delay than a text data. In some cases, an emergency text message also might be sensitive to delay if the data is related to a critical application. So, in this paper, the sensitivity of data is categorized manually. We considered an audio and video data file as HP and a text data file as NP.

  1. B.

    SCTP Congestion Avoidance depending on Streaming Delay Weight (SDW)

Due to the dynamic and resource constraint environment, MANETs get congested at any point of time. As an SCTP sender initiates multiple streams for data transmission, the sender can get frequently congested due to over exhaust of queue buffer space and failure in continuously forwarding data due to frequent link failures between nodes. So, to overcome these congestion issues, we compute SDW for each node being linked to the source node.

Let us assume source node X has to transmit a data file to destination Y through SCTP streaming. Now, based on available one-hop links, nodes X computes an SDW for each stream. If a first hop node N has a queue as Q and its maximum buffer length is L, then an incoming packet into Q will be dropped if the length of Q > L. Before initiating streaming through a node, its SDW value is computed based on the node’s packet dropping probability.

The well-known queuing theory Little’s Law [21] is practical in computing delay. It states that average rate of arrivals for a system will be measured based on two important parameters: average waiting time and average number of items waiting for service in the system.

According to the Little’s Law, we also derive two delay parameters for computing the SDW namely, In-Out Delay (QDelay), and Transmission Delay (TDelay). The SDW of a stream is then calculated as the sum of these two delay parameters. We define these parameters as follows,

  • In-Out Delay (QDelay) - It measures the delay interval (difference in time) between a packet arrival in the queue and the wait time of the packet to reach the head of the queue for transmission.

  • Transmission Delay (TDelay) – It gives the amount of time required to transmit all of the packets bits into the link. i.e., it is the ratio of a number of bits to the rate of transmission.

First, we compute the QDelay of a node. Let’s assume that L is the maximum queue length, n is the number of packets that are already in the queue waiting for transmission, i.e., (n ≤ L), the number of data packets is transmitted at the rate of δt, and the number of data packets arrive at the rate of δa. Utilizing these three factors, the probable QDelaycan be computed using Eq. (1).

$$ {\mathrm{Q}}_{\mathrm{Delay}}=\left(\frac{\updelta \mathrm{a}}{\updelta \mathrm{t}}\right)\times \frac{\left(\mathrm{n}-1\right)}{\mathrm{L}} $$
(1)

Second, we compute the TDelay of a node. We compute the number of packets transmitted, δt over an interval of 1 s, and to get an average of TDelay, we divide δt with the required rate of transmission as β, between the interval per second. As per Little’s Law, we can define β = ((1/δa) × L), in an interval of 1 s. Now, utilizing these values, we can compute TDelay using Eq. (2).

$$ {\mathrm{T}}_{\mathrm{Delay}}=\left(\frac{\updelta \mathrm{t}}{\upbeta}\right)\times \frac{1}{\mathrm{n}} $$
(2)

We can then calculate SDW using the Eq. (3).

$$ \mathrm{SDW}=\left({\mathrm{Q}}_{\mathrm{Delay}}+{\mathrm{T}}_{\mathrm{Delay}}\right) $$
(3)

When we substitute Eqs. (1) and (2) into Eq. (3), we derive Eq. (4) to calculate SDW value per streaming node.

$$ \mathrm{SDW}=\left(\left(\frac{\updelta \mathrm{a}}{\updelta \mathrm{t}}\right)\times \frac{\left(\mathrm{n}-1\right)}{\mathrm{L}}\right)+\left(\left(\frac{\updelta \mathrm{t}}{\upbeta}\right)\times \frac{1}{\mathrm{n}}\right) $$
(4)

For instance, let’s assume that a streaming node has L = 10, δa = 1, δt =1, and n = 1, then its β =10, and its SDW value = 0.1 according to Eq. (4). So, for the case where δa = δt (that is when the packet arrival and transmission rates are equal), the lowest SDW value will be 0.1. This suggests that the lower the SDW value, the higher the streaming efficiency. For our CAM-SCTP, we then defined a threshold limit value RTh for different priority streaming. The lowest SDW value is 0.1 for a L = 10, and max SDW value can be 1. Based on this range from 0.1 to 1, we considered below 50% of SDW (that is < = 0.5) for High Priority (HP) data and above 50% of SDW for Normal Priority (NP) data and hence set RTh = 0.5 in our simulations. As the computation of SDW depends on L, so with varying the L the value of RTh also will change accordingly.

Each streaming node will calculate its SDW value using Eq. (4) per ∆t seconds and will provide its SDW value to the source node, on receiving a request from the source node via SDW control message (SDWMsg). A source node will, in turn, maintain the SDW values in a 1-Hop Table. In next section, we describe how in MANET environment, we can perform SCTP multi-streaming by utilizing the data priority information and the computed SDW values for efficient routing.

4 Data routing using CAM-SCTP multi-streaming mechanism

The process of data routing in MANET required a routing algorithm to discover the route to the destination. In this paper, we utilize the AODV protocol. AODV is a Distance Vector kind of routing protocol, where each node knows its neighbour nodes and the cost to reach to each neighbour. AODV initiates a path discovery process when a path is unused, expired, or eventually discarded. This reduces the need for path maintenance in AODV which makes it useful for multicasting or multiple routes applications. In CAM-SCTP architecture, we modified AODV to allow Multipath Discovery and Priority-based SCTP multi-streaming to perform efficient data routing.

4.1 Multipath discovery

Multipath discovery is implemented using AODV broadcasting mechanism. AODV broadcasts route request (RREQ) messages in the network to discover a possible route to the destination. On route reply (RREP) message from the destination back to the source, intermediate nodes in between maintain the route information to the source nodes, previous nodes, and forwarding nodes in the route. An illustration of a multipath route from source node S, to destination node D, using 11 intermediate nodes is shown in Fig. 3 and the corresponding multipath route table is shown in Table 2.

Fig. 3
figure 3

An illustration of multipath topology from source to destination

Table 2 A multipath route table from S to D

Each node maintains its forwarding and previous hop nodes as shown in Table 2. On receiving data forwarding request, each node utilizes the most efficient streaming node according to the data priority and its computed SDW to avoid congestion in the network and to achieve the highest data throughput.

4.2 Priority based SCTP multi-streaming

As discussed above, the PM at the application layer implements the data priority assignment and calculates SDW values for allowing multi-streaming data transmission and congestion avoidance. The assignment of data packet priority is done manually based on the type of data as discussed above. As per the data priority, a source or intermediate node selects the most efficient streaming node dynamically to retain the importance of data priority delivery with or without delay. The CAM-SCTP implements two types of streaming categorization based on the data priority namely NP and HP. The streams with high streaming rates (that is low SDW values) will be used to transmit the HP data. The streams with low streaming rates (high SDW values) will be used to transmit NP data. The process of CAM-SCTP data routing by the PM is described in Algorithm-1.

figure d

5 Experiment evaluation

In the next section, we perform the experimental evaluation of our proposed CAM-SCTP architecture and mechanisms.

5.1 Simulation configuration

In this paper, we present the simulation using the GloMoSim network simulator [3] as it provides a realistic MANET environment. The simulation topology illustration is shown in Fig. 4 which consists of one source node S and three streaming nodes (N1, N2, N3) which are connected to S with a multi-streamed SCTP association to provide three streams for three different data types. In Table 3, we present the configuration parameters of the network and simulation environment of the simulator.

Fig. 4
figure 4

Simulation topology

Table 3 Network simulation parameters

Simulation time is 1000 s. We created three variable bit rate (VBR) data traffic to represent different data priorities as shown in Table 4.

Table 4 Data traffic parameters of the simulation

Metrics:

  • Throughput: It measures the number of data packets being delivered to the receiver application by the number of data being streamed by the source node during the simulation period.

  • Jitter: It measures the average variation in the end-to-end delay between transmitted and received packets in a continuous stream by the number of transmissions made during the simulation period.

  • Packet Loss: It measures the total number of packets being dropped out of the number of data packets transmitted by the source in the simulation period.

  • Control Overhead: It measures the total number of network control packets (such as RREQ, RREP) and SDWMsg messages transmitted to manage network routing and SDW computation by the CAM-SCTP.

5.2 Simulation results

We measured Throughput, Jitter, Packet Loss, and Overhead in original multi-streamed SCTP and CAM-SCTP and compared the two sets of values. In case of CAM-SCTP, the rate of data transmission is evaluated based on two data priorities Normal and High Priority. That is, we manually marked the data as HP and NP for each experiment and measured the performance of CAM-SCTP and depicted in Figs. 5, 6, and 7 as CAM_SCTP_HP and CAM_SCTP_NP respectively.

Fig. 5
figure 5

Audio data streaming result analysis

Fig. 6
figure 6

Video data streaming result analysis

Fig. 7
figure 7

Text data streaming result analysis

  1. A.

    Audio Data Streaming Analysis

Figure 5 presents the audio data transmission comparison results between SCTP, CAM-SCTP_NP, and CAM-SCTP_HP. The evaluation of an audio stream at a rate of 8 pkts/s shows impressive results in all the three protocols, but with increasing mobility, all three protocols have increased packet loss and jitter. Figure 5a and b show an improvisation in throughput and low packet loss for CAM-SCTP. CAM-SCTP_NP and CAM-SCTP_HP show some packet loss and reduction in throughput due to unavailability of the links in case of high node mobility. This packet loss affects the jitter and control overhead of the network. Figure 5c depicts that CAM-SCTP in both data priorities shows an average of 0.2 s less jitter compared to SCTP. Figure 5d shows that all three protocols have similar control overhead, but with high mobility, SCTP is negatively affected even more due to high number packet losses whereas CAM-SCTP attains 50% less packet loss compared to the SCTP. As seen in the experimental results, low packet loss and jitter values obtained make CAM-SCTP_NP and CAM-SCTP_HP suitable for audio data streaming by enhancing SCTP.

  1. B.

    Video Data Streaming Analysis

Figure 6 presents the video data transmission comparison results between SCTP, CAM-SCTP_NP, and CAM-SCTP_HP. Similar to audio data transmission, video data throughput is also affected by the congestion and queuing delays in the network. The simulation evaluates the transmission of video data packets at a rate of 12 pkts/s. This high rate of transmission negatively affects the throughput with increasing mobility as shown in Fig. 6a. CAM-SCTP_HP attains higher throughput compared to SCTP and CAM-SCTP_NP because both the protocols may utilize highly congested routes which in turn causes a high number of packet losses with increasing mobility as shown in Fig. 6b. Increase in packet loss causes more jitter in packet delivery and more control overhead in the network as shown in Fig. 6c and d respectively. Video streaming requires low packet loss and jitter for quality delivery. Therefore, a lower jitter value of CAM-SCTP_HP makes it more suitable for efficiently streaming video data in comparison to SCTP and CAM-SCTP_NP.

  1. C.

    Text Data Streaming Analysis

Figure 7 presents the text file data transmission comparison results between SCTP, CAM-SCTP_NP, and CAM-SCTP_HP. Text data transmission is simulated by transmitting data packets at the rate of 20 pkts/s. Both CAM-SCTP_NP and CAM-SCTP_HP has better throughput compared to SCTP due to the efficient streaming node selection based on SDW values, whereas SCTP shows an average of 20% less throughput due to its round-robin streaming node selection without considering the data priorities and the quality of the links in the routes. A variation of 20% less throughput, makes SCTP have more packet losses compared to both CAM-SCTP protocols as shown in Fig. 7b. Because of high throughput, CAM-SCTP_NP and CAM-SCTP_HP also reduce the jitter as shown and control overhead as shown in Fig. 7c and d, Thus, lower packet loss and jitter values of CAM-SCTP_HP makes it more suitable for efficiently streaming text data in comparison to SCTP and CAM-SCTP_NP.

Based on our experimental analysis, we conclude that CAM-SCTP provides throughput improvement due to its appropriate stream selection mechanism based on data priority and the SDW values. Even though every data type has a different data rate, the selection of appropriate stream for the data priority in CAM-SCTP, results in higher throughput for both normal and high priority data compared to SCTP. The PM at the application layer computes SDW at each node linked to the source and routes data according to its priority to the appropriate stream. This helps to reduce the congestion in the network and hence minimizes the jitter. The main cause of packet loss in MANET is congestion and link failures. CAM-SCTP reduces network congestion by streaming data across separate streams (routes). Finally, the comparison of control overhead between SCTP and CAM-SCTP shows quite reasonable overheads for CAM-SCTP irrespective of data type and priority.

6 Conclusion

The proposed CAM-SCTP supports best delivery of streaming media data combined with the best features of MANET routing protocols to efficiently transfer prioritized (HP) or non-prioritized (NP) data without destabilizing the network. CAM-SCTP dynamically selects the number of streams depending on the data traffic and congestion control behaviour of the nodes. CAM-SCTP provides a PM at the application layer to handle different data types and priority-based streaming. PM computes a SDW value for each link and streaming node to select the most efficient priority stream for data transmission.

An extensive evaluation of the CAM-SCTP is performed for three different data types with a different streaming packet size and transmission rates. Our experimental results show that CAM-SCTP improves the throughput while providing lower jitter, packet loss, and overhead compared to the original SCTP multi-streaming. In this paper, we considered the limitation of SDW with threshold <0.5 for HP and > 0.5 for NP streaming. We want to study further the impact of the varying this threshold and evaluate the effectiveness of our proposal. Another future direction is to enhance CAM-SCTP to allow multiple transmitter and receivers in the network.