Abstract
Although most of the data traffic in Internet is HTTP-based, multimedia applications will soon dominate a large percentage of the traffic. These applications require satisfactory level of bandwidth as they normally have large datasets. Under the limitation of network bandwidth, multimedia traffic may become a source for congestion; particularly when UDP is used due to the absence of flow control or congestion control mechanisms in this protocol. Avoiding congestion can be done if arrival rate to gateways is maintained close to outgoing link capacity while maintain small queue lengths at the routers. This guarantees the availability of buffer capacity for successful buffering and consequent forwarding in case of temporary traffic upsurges which could otherwise cause buffer overflows and packet loss. This research work introduces a congestion-aware and friendly UDP-based multimedia system which can help to lessening congestion occurrence and improve network performance, principally in real-time environments. The evaluation results show that the proposed system helps in controlling congestion, reducing packet loss, increasing throughput, and providing improved network utilization.
Similar content being viewed by others
References
Thomas, S., Olivier, F., Alessio, B., Alberto, D., Antonio, P., Giorgio, V., et al.: Traffic analysis of peer-to-peer IPTV communities. Comput. Netw. 53(4), 470–484 (2009)
Zoran, B., Bojan, B., Miodrag, B: Multimedia traffic in new generation networks: requirements, control and modeling. Paper presented at the Proceedings of the 13th WSEAS international conference on communications, 2009
Ramaswamy, R: Data confidentiality service on top of transmission control protocol/internet protocol. Paper presented at the CompEuro ’90. Proceedings of the 1990 IEEE international conference on computer systems and software engineering, 8–10 May 1990
Postel, J.: User datagram protocol, RFC 0768, Internet Engineering Task Force (1980)
Floyd, S., Kohler, E.: Profile for datagram congestion control protocol (DCCP) congestion control ID 2: TCP-like congestion control, in RFC 4341 (2006)
Shahrudin Awang Nor, S.H., Ghazali, O., Kadhum, M.M.: Performance enhancement of DCCP TCP-like through reduction of congestion window. In: The 2010 International Conference on Modeling, Simulation and Control, ICMSC 2010, Egypt, pp. 247–251 (2010)
Yang, H., Zhang, F., Jiao, Q., Tang, X.: Dynamics of TCP-Like congestion control algorithm. In: The Sixth World Congress on Intelligent Control and Automation (WCICA), vol. 1, pp. 825–829 (2006)
Ishak, M.I., Ghani, M.A.H.A, Lynn, O.B.: Enhancement and analysis of TFRC performance for real-time data application: a survey. In: The 2nd International Conference on Computer and Automation Engineering (ICCAE), vol. 2, pp. 706–709, 26–28 Feb 2010
Sathiaseelan, A.; Fairhurst, G.: Use of quickstart for improving the performance of TFRC-SP over satellite networks. In: International Workshop on Satellite and Space Communications, vol., pp. 46–50, 14–15 Sept 2006
Nor, S.A., Hassan, S., Ghazali, O., Omar, M.H.: Enhancing DCCP congestion control mechanism for long delay link. In: International Symposium on Telecommunication Technologies (ISTT), pp. 313–318, 26–28 Nov 2012
Kohler, E., Floyd, S.: Profile for datagram congestion control protocol (DCCP) congestion control ID 2: TCP-like congestion control, RFC 4341, Internet Engineering Task Force (2006)
Ramakrishnan, K., Floyd, S., Black, D.: The addition of explicit congestion notification (ECN) to IP: RFC 3168 (2001)
Floyd, S., Kohler, E., Padhye, J.: Profile for datagram congestion control protocol (DCCP) congestion control ID 3: TCP-friendly rate control (TFRC), RFC 4342, Internet Engineering Task Force (2006)
Hoshikawa, T., Ishihara, S.: Estimation of sending rate of DCCP CCID3 flows based on jitter of probe packets on WLANs. In: IEEE Wireless Communications and Networking Conference (WCNC), pp. 701–706, 28–31 March 2011
Schier, M., Welzl, M.,: Using DCCP: Issues and improvements. In: 20th IEEE international conference on network protocols (ICNP), pp. 1–9 (2012)
Lien, Y.-N., Ding, Y.-C.: Can DCCP replace UDP in changing network conditions?. In: IEEE International Conference on Advanced Information Networking and Applications (AINA), pp. 716–723, 22–25 March 2011
Rahman, J., Saha, S., Hasan, S.F.: A new congestion control algorithm for datagram congestion control protocol (DCCP) based real-time multimedia applications. In: 7th International Conference on Electrical & Computer Engineering (ICECE), pp. 533–536, 20–22 Dec 2012
Yu, L., Li, X., Zhang, P., Li, G., Ma, M.,: An improved transport algorithm over DCCP in wireless ad hoc networks. In: IEEE International Conference on Communication Systems (ICCS), pp. 569–573, 19–21 Nov 2014
Biplab, S., Kalyanaraman, S., Kenneth, S.V.: An integrated model for the latency and steady-state throughput of TCP connections. Perform. Eval. 46, 139–154 (2001)
Acknowledgments
This research work is funded by Universiti Sains Malaysia (USM), Short-term Grant No. 304/PNAV6312117.
Author information
Authors and Affiliations
Corresponding author
Appendix
Appendix
Tool command language (TCL) is utilized to test the performance the responsive UDP-based system in Network Simulator 2 (ns-2) compared to that of standard UDP. In the following, the details of TCL codes are provided.
-
Start new simulation.
set ns [new Simulator]
-
Define different colors for data flows
$ns color 1 Red
$ns color 2 Blue
-
Create the trace files to store information about every event happens.
set NamFile [open out.nam w]
set TraceFile [open out.tr w]
$ns namtrace-all $nf
$ns trace-all $tf
-
Define a ’finish’ procedure to close the trace files once the simulation duration elapses and flash the information recorded and execute NAM for visualizing the simulation scenario.
proc finish {} {
global ns nf tf
$ns flush-trace
#Close the trace file
close $nf
close $tf
#Execute nam on the trace file
exec nam out.nam&
exit 0
}
-
Create the network nodes (sources, destinations, and routers nodes).
set node_(s1) [$ns node]
set node_(s2) [$ns node]
set node_(r1) [$ns node]
set node_(r2) [$ns node]
set node_(s3) [$ns node]
set node_(s4) [$ns node]
-
Create an access link between the sources and their gateway (R1); destinations and their gateway (R2). Create bidirectional link between bottleneck routers with specific bandwidth and delay.
$ns duplex-link $node_(s1) $node_(r1) 5Mb 3 ms DropTail
$ns duplex-link $node_(s2) $node_(r1) 5Mb 3 ms DropTail
$ns duplex-link $node_(r1) $node_(r2) 2Mb 10 ms RED
$ns duplex-link $node_(s3) $node_(r2) 5Mb 3 ms DropTail
$ns duplex-link $node_(s4) $node_(r2) 5Mb 3 ms DropTail
-
Setup the parameters for the queue management mechanism used in this network scenario. Here Random Early Detection (RED) mechanism is used.
$ns queue-limit $node_(r1) $node_(r2) 20
Queue/RED set thresh_ 5
Queue/RED set maxthresh_ 10
Queue/RED set q_weight_ 0.002
Queue/RED set ave_ 0
-
Monitor the queue link between the bottleneck routers.
$ns duplex-link-op $node_(r1) $node_(r2) queuePos 0.5
-
Set the position for the network nodes for NAM visualization.
$ns duplex-link-op $node_(s1) $node_(r1) orient right-down
$ns duplex-link-op $node_(s2) $node_(r1) orient right-up
$ns duplex-link-op $node_(r1) $node_(r2) orient right
$ns duplex-link-op $node_(s3) $node_(r2) orient left-down
$ns duplex-link-op $node_(s4) $node_(r2) orient left-up
-
Setup the modified UDP connection for Multimedia traffic between source 1 (s1) and its pair (s3). Define their packet sizes as well.
set udp_s [new Agent/UDP/UDPm]
set udp_r [new Agent/UDP/UDPm]
$ns attach-agent $node_(s1) $udp_s
$ns attach-agent $node_(s3) $udp_r
$ns connect $udp_s $udp_r
$udp_s set packetSize_ 1000
$udp_r set packetSize_ 1000
$udp_s set fid_ 1
$udp_r set fid_ 1
In the comparison scenario, this part is changed to the following:
set udp_s [new Agent/UDP]
set udp_r [new Agent/UDP/UDPm]
$ns attach-agent $node_(s1) $udp_s
$ns attach-agent $node_(s3) $udp_r
$ns connect $udp_s $udp_r
$udp_s set packetSize_ 1000
$udp_r set packetSize_ 1000
$udp_s set fid_ 1
$udp_r set fid_
-
Define the multimedia application and attach it to s1 and s3.
set mapp_s [new Application/MApp]
set mapp_r [new Application/MApp]
$mapp_s attach-agent $udp_s
$mapp_r attach-agent $udp_r
$mapp_s set pktsize_ 1000
$mapp_s set random_ false
In the comparison scenario, this part is changed to the following:
set udp_s [new Application/Traffic/CBR]
set udp_r [new Application/Traffic/CBR]
$ udp_s attach-agent $udp_s
$ udp_r attach-agent $udp_r
$ udp_s set pktsize_ 500
$ udp_s set interval_ 0.005
$ udp_s set random_ false
-
Setup the TCP connection, of type Newreno, for File Transfer traffic between source 2 (s2) and its destination (s4). Define the TCP source congestion window as well.
set tcp [$ns create-connection TCP/Newreno $node_(s2) TCPSink $node_(s4) 0]
$tcp set window_ 15
$tcp set fid_ 2
-
Setup a FTP Application and attach it to TCP connection for source 2 (s2)
set ftp [$tcp attach-source FTP]
-
Define the start time for FTP and multimedia applications. Define the simulation duration as well.
$ns at 0.0 “$ftp start”
$ns at 1.0 “$mapp_s start”
$ns at 50.0 “finish”
-
Call ns to run this scenario.
$ns run
Rights and permissions
About this article
Cite this article
Kadhum, M.M., Hassanein, H.S. Congestion-aware TCP-friendly system for multimedia transmission based on UDP. Cluster Comput 18, 693–705 (2015). https://doi.org/10.1007/s10586-015-0446-8
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10586-015-0446-8