Co to jest kodowanie sieciowe?
Kodowanie sieciowe to technika programowania stosowana w celu maksymalizacji potencjalnej wydajności sieci komputerowej. W kodowaniu sieci węzły sieci odgrywają aktywną rolę, pracując nad łączeniem i kompresowaniem pakietów informacji przed wysłaniem ich przez sieć. Umożliwia to bardziej wydajne wykorzystanie zasobów sieciowych, kosztem dodatkowego obciążenia ze strony komputerów klienckich, które muszą pracować o wiele ciężej, aby „rozwiązać” spakowane dane.
Węzły sieciowe są trochę jak policja drogowa: kierują przepływem danych w sieci komputerowej. W przypadku braku kodowania sieciowego węzły przenoszą informacje - pakiety danych - przez sieć bez korzystania z wolności w celu zmiany lub manipulowania tymi danymi w jakikolwiek znaczący sposób. Mogą wzmocnić sygnał, aby zapewnić, że dane nie zostaną utracone podczas transportu, ale faktyczne pakiety pozostaną nienaruszone.
W kodowaniu sieciowym zadaniem węzłów jest łączenie pakietów w razie potrzeby w celu zwiększenia wydajności w sieci. Na przykład, jeśli sieć jest w stanie przesłać pojedyncze pakiety po 100 bajtów i odbiera dwa pakiety 50 bajtów jednocześnie, system działający z kodowaniem niesieciowym przetworzy jeden pakiet 50 bajtów, a następnie następny, przenosząc je kolejno . Z drugiej strony, sieć kodująca sieć zarejestruje fakt, że 50 bajtów potencjalnego obciążenia sieci jest „marnowana” z każdym pakietem i połączy dwa 50 bajtowe pakiety w pojedynczy pakiet 100 bajtów, maksymalizując transmisję danych w sieci Pojemność.
Powoduje to wzrost wydajności sieci. Kodowanie sieciowe regularnie wykorzystuje większą dostępną przepustowość sieci. Innymi słowy, większy potencjał sieci jest realizowany. Jednak kodowanie sieciowe ma również wadę: połączone pakiety zapewniają dodatkową „pracę” komputerom odbierającym.
Gdy komputer odbiera pakiet informacji w sieci nieszyfrowanej, komputer uzyskuje dostęp do tej informacji indywidualnie i natychmiast. W tym przypadku pakiety są w całości poświęcone jednemu procesowi. Odbieranie pakietu informacji w sieci zakodowanej w sieci wymaga jednak od systemu rozpakowania i rozpowszechnienia informacji związanych z różnymi procesami w odpowiednich obszarach. Stwarza to dodatkowe obowiązki przetwarzania dla procesora komputera odbierającego dane, zwiększając jego stres. W systemach o niskim zużyciu energii lub systemach z wieloma innymi jednocześnie aktywnymi zadaniami dodatkowa praca może spowodować spowolnienie lub opóźnienie działania komputera.