Load balancing on concurrent multipath transfer with sctp - Akzeybek, Murat (My University, 2013)
SCTP İLE YAPILAN ÇOKLU YOLDAN EŞ ZAMANLI VERİ AKTARIMINDA YÜK DENGELEME Bir bilgisayarın birden fazla IP adresi varsa bu bilgisayar çok bağlantılı bir bilgisayar olarak adlandırılır. Bunun sonucu olarak bilgisayar farklı ağlarla aynı anda bağlantı kurabilir. Bu sayede bilgisayar değişik işlemlerin kontrollerini bu bağlantılar ile sağlayarak zaman kazancı sağlayabilir. Dahası çoklu bağlantı sayesinde daha hızlı veri transferi ve daha büyük band genişliğinde bağlantıya sahip olabilir ve bu band genişliğini daha etkili kullanabilir. SCTP (Stream Control Tranmission Protocol) hariç diğer transfer katmanı protokolleri çoklu bağlantı özelliğini desteklemez. SCTP diğer IP adreslerini yedekleme için kullanmaktadır. SCTP bir yol seçer ve veriyi bu yol üzerinden aktarır, eğer veri aktarımı tıkanırsa, alternatif yolları aktarımın devam etmesi için kullanmaktadır. Diğer bir taraftan aktif bağlantı koparsa diğer yolları bağlantının kopmaması için kullanır, bu sayede bağlantının devamlılığını sağlar. SCTP bağlantı kurmak için dört akışlı el sıkışma kullanır. İlk olarak eş zamanlı transfer için iki bilgisayar bağlantı kurarken, bütün yolların kullanılabilir olduğunu kontrol etmek gerekmektedir.Bu kontrol de HEARTBEAT paketinin bütün yollara gönderilmesi ile yapılabilir, HEARTBEAT-ACK paketi gelen yolların veri transferi için aktif olarak kullanılabileceğini gösterir. SCTP yolları belirler ve HEARTBEAT paketi ile veri transferi için uygun olup olmadığı kontrolünü yapar. Eş zamanlı veri aktarımında transfer oranını artırmak için farklı algoritmalar kullanılmaktadır. Verinin bütün yollardan gönderilmesi için bir algoritmaya ihtiyaç vardır. Bu algoritma yolun bant genişliği gibi yolun değişkenliğine göre adaptif olmalıdır. Dahası veri paketinin CWND (Tıkanıklık Pencere Boyutu) özelliği bize yolun performanısını yansıtabilir. CWND cevap almadan gönderilebilecek maksimum veri boyutunu belirtir. CWND'nin yardımı sayesinde yolların uygunluğu kontrol edilr ve bu uygunluk sayesinde veri aktarımı sağlanabilir. Bu çalışmada eş zamanlı veri aktarımında yük dengelemeye yönelik adaptif bir algoritma tasarlandı ve uygulandı. Bu algoritma her koşula adapte olabilecek şekilde olmalıdır. Algoritma uygun yoldan veri akatrımı yapmak için, CWND ve gönderilmiş ancak onaylanmamış veri boyutunu göstermekte olan flight_size üzerinde hesaplama yapmaktdır. SCTP'nin CWND için bir hesaplama mekanizması vardır. Ödüllendirme olarak CWND boyutu eklemeli olarak arttırılabilmektedir. Diğer bir taraftan ağ karmaşıklığında bir cezalandırma çarpımsal olmaktadır. Çoklu yoldan eş zamanlı aktarımda karmaşıklık olabilir. Karmaşıklık oluştuğunda CWND boyutunu hesaplamada çarpımsal cezalandırma yerine, tasarlanan algoritmada arttırımsal azaltma yöntemi kullanılmıştır. Aynı zamanda veri aktarımında onaylama olarak SACK mekanizması kullanılmaktadır. SCTP her iki pakette bir veya herhangi bir boşluk oluştuğunda SACK göndermektedir. Bu mekanizmada çalışmada değiştirilmiştir. Sonuç olarak bu açıklanan adaptif algortima adımları uygulanmıştır. SCTP ile çoklu yoldan eş zamanlı veri aktarımı dengeli olarak yapılabilmiştir.

LOAD BALANCING ON CONCURRENT MULTIPATH TRANSFER WITH SCTP A host can be named as multi-homed if it has more than one IP address. So it can communicate with different networks at the same time. By this way host can save time and control different process with this communication. Furthermore this multi-homing can be used for getting data faster and increasing total bandwidth of a connection, hence using total bandwidth very effectively. The transport layer protocols do not support multi-homing except SCTP (Stream Control Transmission Protocol). SCTP uses other IP address interfaces for redundancy. SCTP chooses a path and transmits data over that path, if data sending fails then it uses the alternative paths for retransmitting the data. SCTP also uses other paths if the selected primary path fails or connection is lost. SCTP uses four handshake mechanisms to establish a connection. Firstly for concurrent transfer between two hosts after establishing connection, controlling the availability of paths is important. This can be done by sending HEARTBEAT chunk on every path and control if HEARTBEAT ACKNOWLEDGE chunk is arrived to make the path active before sending data chunks. SCTP initializes paths and checks if paths are available with HEARTBEAT chunk to use these paths when needed. Different algorithms were employed for concurrent multi-path transfer in order to increase transfer rate. An algorithm is needed for sending data over these alternative paths. This algorithm should be adaptive according to the changes of the path variables such as bandwidth. Moreover we can use CWND (congestion window size) of a data chunk to see the performance of each path. CWND shows maximum bytes that can be sent without any acknowledgement. By the help of CWND we can organize the availability of paths to send data according to this information. In this study an adaptive algorithm has been proposed and implemented for load balancing to transfer data with concurrent multi-path. This algorithm is adaptive to changing network conditions such as congestion, delays and path unavailability. This algorithm makes calculations with the CWND and FLIGHTSIZE which shows data send but not acknowledged, to enable data transfer over an appropriate path. SCTP protocol has a mechanism for CWND size. In case of successful data transfer, sending rate is increased by additive increase mechanism. On the other hand punishment for network collision is done multiplicatively. However, in concurrent multi-path transfer, when collusion occurs, instead of using multiplicative punishment, the proposed algorithm uses incremental decrease in CWND size. There is also SACK mechanism for acknowledgment of send data. SCTP sends a SACK on every second packet or send immediately if a gap occurred. This mechanism also has been modified in the proposed algorithm. As a result these adaptive algorithm steps were applied to the concurrent SCTP. Concurrent SCTP transfer was done on multiple paths and data sending load balanced on paths.
Keywords: Bilgisayar Mühendisliği