UDP-tabanlı Veri Aktarım Protokolü - UDP-based Data Transfer Protocol

UDT
Geliştirici(ler) Yunhong Gu
kararlı sürüm
4.11 / 23 Şubat 2013 ( 2013-02-23 )
depo sourceforge .net /projeler /udt /
Yazılmış C++
Tip Protokol (bilgi işlem)
Lisans BSD Lisansı
İnternet sitesi udt .sourceforge .net

UDP tabanlı Veri Aktarım Protokolü ( UDT ), büyük hacimli veri kümelerini yüksek hızlı geniş alan ağları üzerinden aktarmak için tasarlanmış yüksek performanslı bir veri aktarım protokolüdür . Bu tür ayarlar tipik olarak daha yaygın TCP protokolü için dezavantajlıdır .

İlk sürümler, çok yüksek hızlı ağlarda (1 Gbit/s, 10 Gbit/s, vb.) geliştirildi ve test edildi; ancak protokolün son sürümleri, ticari interneti de destekleyecek şekilde güncellendi. Örneğin, protokol artık UDP kullanarak NAT güvenlik duvarlarını geçmek için istenen bir özellik olan randevu bağlantısı kurulumunu desteklemektedir .

UDT, SourceForge'da bulunabilen bir açık kaynak uygulamasına sahiptir . Yüksek hızlı veri aktarımını desteklemek için en popüler çözümlerden biridir ve birçok araştırma projesinin ve ticari ürünün bir parçasıdır.

Arka fon

UDT, Yunhong Gu tarafından Chicago'daki Illinois Üniversitesi Ulusal Veri Madenciliği Merkezi'nde (NCDM) Dr. Robert Grossman'ın laboratuvarında yaptığı doktora çalışmaları sırasında geliştirilmiştir . Dr. Gu, mezun olduktan sonra protokolü sürdürmeye ve geliştirmeye devam ediyor.

UDT projesi, pahalı olmayan optik ağların popüler hale geldiği ve yüksek hızlı geniş alan ağları üzerindeki TCP verimlilik sorunları hakkında daha geniş bir farkındalığı tetiklediği 2001 yılında başladı. SABUL (Basit Kullanılabilir Bant Genişliği Yardımcı Kitaplığı) olarak da bilinen UDT'nin ilk sürümü, özel ağlar üzerinden bilimsel veri hareketi için toplu veri aktarımını desteklemek üzere tasarlanmıştır. SABUL, veri aktarımı için UDP ve kontrol mesajları için ayrı bir TCP bağlantısı kullandı.

Ekim 2003'te NCDM , Chicago , Amerika Birleşik Devletleri'nden Amsterdam , Hollanda'ya saniyede 6.8 gigabit transfer gerçekleştirdi . 30 dakikalık test sırasında yaklaşık 1,4 terabayt veri ilettiler .

SABUL daha sonra 2004 yılında piyasaya sürülen 2.0 sürümünden başlayarak UDT olarak yeniden adlandırıldı. UDT2, SABUL'daki TCP kontrol bağlantısını kaldırdı ve hem veri hem de kontrol bilgisi için UDP kullandı. UDT2 ayrıca protokolün eşzamanlı UDT ve TCP akışlarıyla "oldukça ve kolay" çalışmasına izin veren yeni bir tıkanıklık kontrol algoritması tanıttı.

UDT3 (2006), protokolün kullanımını ticari internete genişletti. Tıkanıklık kontrolü de nispeten düşük bant genişliğini destekleyecek şekilde ayarlandı. UDT3 ayrıca sistem kaynaklarının (CPU ve bellek) kullanımını önemli ölçüde azalttı. Ek olarak, UDT3, kullanıcıların kendi tıkanıklık kontrol algoritmalarını kolayca tanımlamasına ve kurmasına olanak tanır.

UDT4 (2007), yüksek eşzamanlılık ve güvenlik duvarı geçişini daha iyi desteklemek için birkaç yeni özellik sundu. UDT4, birden fazla UDT bağlantısının aynı UDP bağlantı noktasına bağlanmasına izin verdi ve ayrıca daha kolay UDP delik delme için randevu bağlantı kurulumunu destekledi .

Protokolün beşinci versiyonu şu anda planlama aşamasındadır. Olası özellikler, tek bir bağlantı üzerinden birden çok bağımsız oturumu destekleme yeteneğini içerir.

Ayrıca, UDT için bir güvenlik özelliğinin olmaması, ticari bir ortamda ilk uygulanmasıyla ilgili bir sorun olduğundan, Bernardo (2011), doktora çalışmalarının bir parçası olarak UDT için bir güvenlik mimarisi geliştirmiştir. Ancak bu mimari, çeşitli ağ ortamlarında (yani optik ağlar) UDT'yi desteklemek için geliştirilmektedir.

Protokol mimarisi

UDT, Kullanıcı Datagram Protokolü (UDP) üzerine kuruludur ve tıkanıklık kontrolü ve güvenilirlik kontrol mekanizmaları ekler . UDT, hem güvenilir veri akışını hem de kısmi güvenilir mesajlaşmayı destekleyen , uygulama düzeyinde, bağlantı yönelimli, çift ​​yönlü bir protokoldür.

Teşekkür

UDT, paket teslimini onaylamak için periyodik alındı ​​bildirimlerini ( ACK ) kullanırken , paket kaybını bildirmek için negatif ACK'ler (kayıp raporları) kullanılır. Periyodik ACK'ler, veri aktarım hızı yüksek olduğunda ters yoldaki kontrol trafiğini azaltmaya yardımcı olur, çünkü bu durumlarda ACK'lerin sayısı veri paketlerinin sayısından ziyade zamanla orantılıdır.

Artış azalan AIMD

UDT, bir AIMD (toplamsal artış çarpımsal azalma) tarzı tıkanıklık kontrol algoritması kullanır. Artış parametresi, mevcut bant genişliği ile ters orantılıdır (paket çifti tekniği kullanılarak tahmin edilir), bu nedenle UDT, yüksek bant genişliğini hızla araştırabilir ve maksimum bant genişliğine yaklaştığında daha iyi kararlılık için yavaşlayabilir. Azaltma faktörü, 1/8 ile 1/2 arasında rastgele bir sayıdır. Bu, kayıp senkronizasyonunun olumsuz etkisini azaltmaya yardımcı olur.

UDT'de paket iletimi hem hız kontrolü hem de pencere kontrolü ile sınırlıdır. Gönderme hızı, yukarıda açıklanan AIMD algoritması tarafından güncellenir. Tıkanıklık penceresi, ikincil bir kontrol mekanizması olarak, alıcı tarafındaki veri geliş hızına göre ayarlanır.

Yapılandırılabilir tıkanıklık kontrolü

UDT uygulaması, bir C++ sınıfındaki tıkanıklık kontrolü ile ilgili bir dizi değişkeni ortaya çıkarır ve kullanıcıların bu değişkenleri manipüle etmek için bir dizi geri çağırma işlevi tanımlamasına izin verir. Böylece kullanıcılar, bu geri arama işlevlerinin bazılarını veya tümünü geçersiz kılarak kontrol algoritmasını yeniden tanımlayabilirler. Çoğu TCP kontrol algoritması, bu özellik kullanılarak 100'den az kod satırıyla uygulanabilir.

Randevu bağlantı kurulumu

Geleneksel istemci/sunucu bağlantı kurulumunun (bir dinleyicinin bağlantı için beklediği ve potansiyel olarak birden çok bağlanan arayanları kabul ettiği AKA arayan/dinleyici) yanı sıra, UDT ayrıca yeni bir buluşma bağlantısı kurulum modunu da destekler. Bu modda her iki taraf da kendi portunu dinler ve eşe aynı anda bağlanır, yani ikisi de birbirine bağlanır. Bu nedenle, her iki taraf da bağlantı için aynı bağlantı noktasını kullanmalıdır ve her iki taraf da rol eşdeğeridir (geleneksel kurulumdaki dinleyici/arayan rollerinin aksine). Rendezvous, her iki eş de güvenlik duvarlarının arkasında olduğunda güvenlik duvarı geçişi için yaygın olarak kullanılır.

Senaryoları kullan

UDT, optik ağlar üzerinden yüksek hızlı veri aktarımını desteklemek için yüksek performanslı bilgi işlemde yaygın olarak kullanılmaktadır . Örneğin, grid hesaplamada popüler bir veri aktarım aracı olan GridFTP , veri aktarım protokolü olarak UDT'ye sahiptir.

İnternet üzerinden, UDT, geniş alan ağları üzerinden hızlı dosya aktarımı için birçok ticari üründe kullanılmıştır .

UDT tamamen UDP'ye dayandığından, TCP'nin UDP'ye göre dezavantajlı olduğu birçok durumda da kullanılmıştır. Bu senaryolar, eşler arası uygulamaları, görüntülü ve sesli iletişimi ve diğer pek çok şeyi içerir .

Uygulanabilir güvenlik mekanizmalarının değerlendirilmesi

UDT, yüksek hızlı ağlarda veri iletmek için altyapı gereksinimlerini karşılayan son teknoloji bir protokol olarak kabul edilir. Bununla birlikte, gelişimi yeni güvenlik açıkları yaratır, çünkü diğer birçok protokol gibi, İletim Kontrol Protokolü (TCP) ve UDP gibi mevcut protokoller için yalnızca mevcut güvenlik mekanizmalarına dayanır.

Avustralya Teknoloji Ağı'nın bir üyesi olan Sydney Teknoloji Üniversitesi'nden Dr. Danilo Valeros Bernardo tarafından önerilen güvenlik mekanizmalarını kullanarak UDT üzerinde pratik deneylere odaklanan ve UDT için TCP/UDP'de kullanılan diğer mevcut güvenlik mekanizmalarının kullanımını araştıran araştırma, çeşitli ağ ve güvenlik bilimsel topluluklarında ilginç incelemeler kazandı.

Güvenlik mekanizmalarını analiz etmek için, protokol kompozisyon mantığını (PCL) kullanarak uygulanabilirliklerini belirlemelerine yardımcı olmak için resmi bir doğruluk kanıtı yürütürler . Bu yaklaşım modülerdir, her protokol bölümünün ayrı bir kanıtını içerir ve her bölümün güvenilir bir şekilde kullanılabileceği ağ ortamı hakkında bilgi sağlar. Ayrıca, kanıt, çeşitli arıza kurtarma stratejileri ve diğer uygulama ve yapılandırma seçenekleri için geçerlidir. Tekniklerini literatürdeki TLS ve Kerberos üzerindeki PCL'den alırlar. Yeniden yazma sistemlerini ve otomatları kullanarak güvenlik mimarisini geliştirmeye ve doğrulamaya çalışırlar.

Literatürde bir ilk olan çalışmalarının sonucu, diğer yüksek hızlı ağ protokolleriyle çalışabilen UDT güvenlik mimarisinin daha sağlam teorik ve pratik bir temsilidir.

Türev çalışmalar

UDT projesi, genel internet üzerinden canlı video akışı için iletim güvenilirliğini kullanan SRT projesi için bir temel olmuştur .

Ödüller

UDT ekibi, yüksek performanslı bilgi işlem, ağ oluşturma, depolama ve analiz için dünyanın önde gelen konferansı olan yıllık ACM/IEEE Süper Bilgi İşlem Konferansı sırasında prestijli Bant Genişliği Yarışmasını üç kez kazandı .

SC06'da (Tampa, FL), ekip 8 Gbit/s diskten diske bir astronomi veri kümesini UDT kullanarak Chicago, IL'den Tampa, FL'ye aktardı. SC08'de (Austin, TX), ekip, Baltimore, Chicago (2) ve San Diego'daki dört veri merkezinde 120 düğümlü bir sistem üzerinde çeşitli dağıtılmış uygulamaları içeren karmaşık bir yüksek hızlı veri aktarımında UDT'nin kullanımını gösterdi. SC09'da (Portland, OR), NCDM, Naval Research Lab ve iCAIR'den ortak bir ekip, UDT destekli geniş alanlı veri yoğun bulut bilişim uygulamalarını sergiledi.

Ayrıca bakınız

Edebiyat

  • Bernardo, DV ve Hoang, D.B; "Ampirik Araştırma: GRID için Yüksek Hızlı Protokol Veri Transferi Deneyi ve Uygulamaları" IEEE 25th International Conference on Advanced Information Networking and Application Workshops, Mart 2011, Singapur.
  • Yunhong Gu ve Robert L. Grossman, UDT: Yüksek Hızlı Geniş Alan Ağları, Bilgisayar Ağları (Elsevier) için UDP-tabanlı Veri Transferi. Cilt 51, Sayı 7. Mayıs 2007.

Referanslar

Dış bağlantılar