Congestion control is intends to keep a fast sender from sending data into a network.Main reason behind congestion control is because of lack of resources.We assist research scholars in implementing NS2 Congestion Control Projects with source code.
Techniques involved in congestion control:
- Warning bit.
- Load shedding.
- Random early discard.
- Choke packets.
- Traffic shaping.
Types of congestion control in manet:
- Instantaneous congestion.
- Baseline congestion.
- Flash congestion.
- Spiky congestion.
Congestion control techniques in manet:
- CA-AODV.
- CFR.
- LSRP.
- CBCC.
- AODV
- ADCC.
- CERRT.
- CARP.
Architecture of congestion control:
Sample NS2 Code for Congestion Control
This code is contain the information of methods used in network flow
global nssim freelist reslist ftp tcp_s tcp_d rng nof_tcps mfsize mean_intarrtime simend #you have to create the variables tcp_s (tcp source) and tcp_d (tcp destination) set tt [$nssim now] set freeflows [llength $freelist($class)] set resflows [llength $reslist($class)] lappend nlist($class) [list $tt $resflows] if {$freeflows == 0} { puts "Class $class: At $tt, nof of free TCP sources == 0!!!" puts "freelist($class)=$freelist($class)" puts "reslist($class)=$reslist($class)" exit } #take the first index from the list of free flows set ind [lindex $freelist($class) 0] set cur_fsize [expr ceil([$rng exponential $mfsize])] $tcp_s($class,$ind) reset $tcp_d($class,$ind) reset $ftp($class,$ind) produce $cur_fsize set freelist($class) [lreplace $freelist($class) 0 0] lappend reslist($class) [list $ind $tt $cur_fsize] set newarrtime [expr $tt+[$rng exponential $mean_intarrtime]] $nssim at $newarrtime "start_flow $class" if {$tt > $simend} { $nssim at $tt "$nssim halt" } }
Journal Support for NS2 Projects:(Implementing NS2 Congestion Control)