Abdulhameed
Abdulhameed

Reputation: 210

Please Where do I modify in ns2 source files to implement this congestion control algorithm and how?

Warm greetings to you,

Please I would like to find out where I need to adjust in the ns2 source code in order to implement the TCP algorithm below. It is a variant of TCP AIMD algorithm called TCP - BIAD

    #.................................................................................................................
            if (ACK recieved)
              call routine function ()
               if congestion window <= slow start threshold
                  increment congestion window by 1
               else
                set Minimum window = congestion window
                set target window = Average of max. Window and min. window
                 if(dist. btw current window & target window > max.increment)
                  set S to maximum increment
            else if (distance between current window and target window <=1)
                  set S to 1
                else
                set S to distance between current window and target window
            end if 
            congestion window = congestion window + S/congestion window
           end if 
          end if 
    #...........................................................................................................................

              Algorithm after a single packet is Lost

    #..............................................................................................................................
    if ( three DUPACKs are recieved)
        Maximum window = Congestion Window
        slowstart threshold = max (2, B x Minimum Roundtriptime)/ Pipe Size of bottleneck link during congestion
        congestion window = slow start threshold
    end if

#.......................................................................................................................................

I am new to this area so I will appreciate all necessary and related information materials and links you are willing to share. 

Upvotes: 0

Views: 625

Answers (1)

Knud Larsen
Knud Larsen

Reputation: 5899

I guess you can compare your code with the old "tcp congestion" files for ns-2.30

http://www.mathcs.emory.edu/~cheung/Courses/558/Syllabus/06-Extend-NS/TCP.html

Or / and the patches :

congestion_ns230.patch https://drive.google.com/file/d/0B7S255p3kFXNcTJ4SU81N0ctYk0/view?usp=sharing

congestion_ns235.patch https://drive.google.com/file/d/0B7S255p3kFXNcW0yY1VOZHhvRUU/view?usp=sharing

Upvotes: 1

Related Questions