TCP və UDP: Etibarlılıq və Səmərəlilik Mübahisəsinin Sirrini Açmaq

Bu gün TCP-yə diqqət yetirməklə başlayacağıq. Daha əvvəl təbəqələşmə fəslində vacib bir məqamı qeyd etmişdik. Şəbəkə səviyyəsində və aşağıda söhbət daha çox hostdan hosta bağlantılardan gedir, yəni kompüterinizin ona qoşulmaq üçün başqa bir kompüterin harada olduğunu bilməsi lazımdır. Lakin, şəbəkədəki rabitə çox vaxt maşınlararası rabitədən daha çox proseslərarası rabitədir. Buna görə də, TCP protokolu port anlayışını təqdim edir. Bir port yalnız bir proses tərəfindən işğal edilə bilər ki, bu da müxtəlif hostlarda işləyən tətbiq prosesləri arasında birbaşa rabitə təmin edir.

Nəqliyyat təbəqəsinin vəzifəsi müxtəlif hostlarda işləyən tətbiq prosesləri arasında birbaşa rabitə xidmətləri təmin etməkdir, buna görə də bu, həm də başdan-başa protokol kimi tanınır. Nəqliyyat təbəqəsi şəbəkənin əsas detallarını gizlədir və tətbiq prosesinin iki nəqliyyat təbəqəsi varlığı arasında məntiqi başdan-başa rabitə kanalının olduğunu görməsinə imkan verir.

TCP, Transmissiya İdarəetmə Protokolunun qısaltmasıdır və əlaqə yönümlü protokol kimi tanınır. Bu o deməkdir ki, bir tətbiq digərinə məlumat göndərməyə başlamazdan əvvəl iki proses əl sıxışmalıdır. Əl sıxışma, məlumatların etibarlı ötürülməsini və nizamlı qəbulunu təmin edən məntiqi şəkildə əlaqəli bir prosesdir. Əl sıxışma zamanı, uğurlu məlumat ötürülməsini təmin etmək üçün bir sıra idarəetmə paketləri mübadiləsi və bəzi parametrlər və qaydalar barədə razılığa gəlməklə mənbə və təyinat hostları arasında əlaqə qurulur.

TCP nədir? (Mylinking'sŞəbəkə TapŞəbəkə Paket Brokerihəm TCP, həm də UDP paketlərini emal edə bilər)
TCP (Transmissiya İdarəetmə Protokolu) bağlantı yönümlü, etibarlı, bayt axını əsaslı nəqliyyat təbəqəsi rabitə protokoludur.

Əlaqəyə yönəlmişBağlantı yönümlü dedikdə, TCP rabitəsinin tək-tək, yəni nöqtədən-nöqtəyə, yəni nöqtədən-nöqtəyə ucdan-uca rabitə olduğu başa düşülür. UDP-dən fərqli olaraq, UDP eyni anda birdən çox host-a mesaj göndərə bilir, ona görə də tək-tək rabitə təmin edilə bilməz.
EtibarlıTCP-nin etibarlılığı, şəbəkə bağlantısındakı dəyişikliklərdən asılı olmayaraq paketlərin alıcıya etibarlı şəkildə çatdırılmasını təmin edir ki, bu da TCP-nin protokol paket formatını UDP-dən daha mürəkkəb edir.
Bayt axını əsaslıTCP-nin bayt axını əsaslı təbiəti istənilən ölçülü mesajların ötürülməsinə imkan verir və mesaj sırasını təmin edir: əvvəlki mesaj tam alınmasa belə və sonrakı baytlar alınsa belə, TCP onları emal üçün tətbiq səviyyəsinə çatdırmayacaq və avtomatik olaraq təkrarlanan paketləri atacaq.
A hostu və B hostu əlaqə qurduqdan sonra tətbiq yalnız məlumat göndərmək və qəbul etmək üçün virtual rabitə xəttindən istifadə etməlidir və beləliklə, məlumat ötürülməsini təmin edir. TCP protokolu əlaqənin qurulması, kəsilməsi və saxlanması kimi tapşırıqları idarə etməkdən məsuldur. Qeyd etmək lazımdır ki, burada virtual xətt yalnız əlaqə qurmaq deməkdir, TCP protokolu bağlantısı isə yalnız iki tərəfin məlumat ötürülməsinə başlaya biləcəyini və məlumatların etibarlılığını təmin etməyi göstərir. Marşrutlaşdırma və ötürmə qovşaqları şəbəkə cihazları tərəfindən idarə olunur; TCP protokolunun özü bu detallarla maraqlanmır.

TCP bağlantısı tam dupleks xidmətdir, yəni A hostu və B hostu TCP bağlantısında hər iki istiqamətdə məlumat ötürə bilər. Yəni, məlumatlar A hostu və B hostu arasında iki istiqamətli axınla ötürülə bilər.

TCP məlumatları müvəqqəti olaraq bağlantının göndərmə buferində saxlayır. Bu göndərmə buferi üç tərəfli əl sıxma zamanı qurulan keşlərdən biridir. Daha sonra, TCP göndərmə keşindəki məlumatları müvafiq vaxtda təyinat hostunun qəbul keşinə göndərəcək. Praktikada, hər bir həmyaşıdın burada göstərildiyi kimi göndərmə keşi və qəbul keşi olacaq:

TCP-UDP

Göndərmə buferi, göndərən tərəfdə TCP tətbiqi tərəfindən saxlanılan və göndəriləcək məlumatları müvəqqəti olaraq saxlamaq üçün istifadə edilən yaddaş sahəsidir. Bağlantı yaratmaq üçün üç tərəfli əl sıxışması edildikdə, göndərmə keşi qurulur və məlumatları saxlamaq üçün istifadə olunur. Göndərmə buferi şəbəkə tıxanmasına və alıcıdan gələn rəyə uyğun olaraq dinamik olaraq tənzimlənir.

Qəbul buferi, qəbul edən tərəfdə TCP tətbiqi tərəfindən saxlanılan və alınan məlumatları müvəqqəti olaraq saxlamaq üçün istifadə edilən yaddaş sahəsidir. TCP, alınan məlumatları qəbul keşində saxlayır və yuxarı tətbiqin onu oxumasını gözləyir.

Nəzərə alın ki, göndərmə və qəbul etmə keşinin ölçüsü məhduddur, keş dolu olduqda, TCP etibarlı məlumat ötürülməsini və şəbəkə sabitliyini təmin etmək üçün tıxacların idarə olunması, axınların idarə olunması və s. kimi bəzi strategiyalar qəbul edə bilər.

Kompüter şəbəkələrində hostlar arasında məlumat ötürülməsi seqmentlər vasitəsilə həyata keçirilir. Bəs paket seqmenti nədir?

TCP, daxil olan axını hissələrə bölməklə və hər hissəyə TCP başlıqları əlavə etməklə TCP seqmenti və ya paket seqmenti yaradır. Hər bir seqment yalnız məhdud müddətə ötürülə bilər və Maksimum Seqment Ölçüsünü (MSS) keçə bilməz. Aşağıya doğru gedərkən paket seqmenti əlaqə qatından keçir. Bağlantı qatında məlumat əlaqə qatından keçə bilən maksimum paket ölçüsü olan Maksimum Ötürmə Vahidi (MTU) var. Maksimum ötürmə vahidi adətən rabitə interfeysi ilə əlaqəlidir.

Bəs MSS və MTU arasındakı fərq nədir?

Kompüter şəbəkələrində iyerarxik arxitektura çox vacibdir, çünki müxtəlif səviyyələr arasındakı fərqləri nəzərə alır. Hər təbəqənin fərqli adı var; nəqliyyat təbəqəsində məlumatlar seqment, şəbəkə təbəqəsində isə məlumatlar IP paketi adlanır. Buna görə də, Maksimum Ötürmə Vahidi (MTU) şəbəkə təbəqəsi tərəfindən ötürülə bilən Maksimum IP paket ölçüsü kimi qəbul edilə bilər, Maksimum Seqment Ölçüsü (MSS) isə bir anda TCP paketi tərəfindən ötürülə bilən maksimum məlumat miqdarına aid olan nəqliyyat təbəqəsi anlayışıdır.

Qeyd edək ki, Maksimum Seqment Ölçüsü (MSS) Maksimum Ötürmə Vahidindən (MTU) böyük olduqda, IP parçalanması şəbəkə səviyyəsində həyata keçiriləcək və TCP daha böyük məlumatları MTU ölçüsünə uyğun seqmentlərə bölməyəcək. Şəbəkə səviyyəsində IP səviyyəsinə həsr olunmuş bir bölmə olacaq.

TCP paket seqment strukturu
Gəlin TCP başlıqlarının formatını və məzmununu araşdıraq.

TCP Seqmenti

Ardıcıllıq nömrəsiTCP bağlantısı qurulduqda kompüter tərəfindən bağlantı qurulduqda ilkin dəyəri olaraq yaradılan təsadüfi bir ədəd və ardıcıllıq nömrəsi SYN paketi vasitəsilə qəbulediciyə göndərilir. Məlumat ötürülməsi zamanı göndərən göndərilən məlumatların miqdarına uyğun olaraq ardıcıllıq nömrəsini artırır. Qəbuledici məlumatların sırasını alınan ardıcıllıq nömrəsinə görə qiymətləndirir. Məlumatların sıradan çıxdığı aşkar edilərsə, qəbuledici məlumatların sırasını təmin etmək üçün məlumatları yenidən sıralayacaq.

Təsdiq nömrəsiBu, TCP-də məlumatların qəbulunu təsdiqləmək üçün istifadə olunan ardıcıllıq nömrəsidir. Bu, göndərənin almağı gözlədiyi növbəti məlumatların ardıcıllıq nömrəsini göstərir. TCP bağlantısında qəbuledici, alınan məlumat paketi seqmentinin ardıcıllıq nömrəsinə əsasən hansı məlumatların uğurla alındığını müəyyən edir. Alıcı məlumatları uğurla aldıqda, göndərənə təsdiq təsdiq nömrəsini ehtiva edən ACK paketi göndərir. ACK paketini aldıqdan sonra göndərən cavab nömrəsini təsdiqləməzdən əvvəl məlumatların uğurla alındığını təsdiqləyə bilər.

TCP seqmentinin idarəetmə bitlərinə aşağıdakılar daxildir:

ACK bitiBu bit 1 olduqda, təsdiq cavab sahəsinin etibarlı olduğu anlamına gəlir. TCP, bağlantı ilkin olaraq qurulduqda SYN paketləri istisna olmaqla, bu bitin 1-ə təyin edilməli olduğunu göstərir.
RST bitiBu bit 1 olduqda, bu, TCP bağlantısında bir istisna olduğunu və bağlantının məcburi şəkildə kəsilməli olduğunu göstərir.
SYN bitiBu bit 1-ə təyin edildikdə, bu, əlaqənin qurulacağı və ardıcıllıq nömrəsinin ilkin dəyərinin ardıcıllıq nömrəsi sahəsində təyin olunacağı deməkdir.
FIN bitiBu bit 1 olduqda, bu, gələcəkdə daha heç bir məlumat göndərilməyəcəyi və bağlantının arzuolunan olduğu deməkdir.
TCP-nin müxtəlif funksiyaları və xüsusiyyətləri TCP paket seqmentlərinin strukturu ilə təcəssüm olunur.

UDP nədir? (Mylinking's)Şəbəkə TapŞəbəkə Paket Brokerihəm TCP, həm də UDP paketlərini emal edə bilər)
İstifadəçi Dataqram Protokolu (UDP) bağlantısız rabitə protokoludur. TCP ilə müqayisədə UDP mürəkkəb idarəetmə mexanizmləri təmin etmir. UDP protokolu tətbiqlərə əlaqə yaratmadan birbaşa kapsulalanmış IP paketləri göndərməyə imkan verir. Geliştirici TCP əvəzinə UDP istifadə etməyi seçdikdə, tətbiq birbaşa IP ilə əlaqə saxlayır.

UDP Protokolunun tam adı İstifadəçi Datagram Protokoludur və başlığı cəmi səkkiz baytdan (64 bit) ibarətdir ki, bu da çox qısadır. UDP başlığının formatı aşağıdakı kimidir:

UDP seqmenti

Təyinat və mənbə portlarıOnların əsas məqsədi UDP-nin hansı prosesə paket göndərməli olduğunu göstərməkdir.
Paket ölçüsüPaket ölçüsü sahəsi UDP başlığının ölçüsünü və məlumatların ölçüsünü saxlayır
Yoxlama cəmiUDP başlıqlarının və məlumatlarının etibarlı şəkildə çatdırılmasını təmin etmək üçün hazırlanmışdır. Yoxlama cəminin rolu məlumatların bütövlüyünü təmin etmək üçün UDP paketinin ötürülməsi zamanı səhv və ya korrupsiyanın baş verib-vermədiyini aşkar etməkdir.

Mylinking-də TCP və UDP arasındakı fərqlərŞəbəkə TapŞəbəkə Paket Brokerihəm TCP, həm də UDP paketlərini emal edə bilər
TCP və UDP aşağıdakı aspektlərdə fərqlənir:

TCP və UDP

BağlantıTCP, məlumatların ötürülməsindən əvvəl bir əlaqənin qurulmasını tələb edən bir əlaqə yönümlü nəqliyyat protokoludur. Digər tərəfdən, UDP bağlantı tələb etmir və məlumatları dərhal ötürə bilər.

Xidmət ObyektiTCP, tək-bir iki nöqtəli xidmətdir, yəni bir bağlantının bir-biri ilə əlaqə qurmaq üçün yalnız iki son nöqtəsi var. Bununla belə, UDP eyni anda birdən çox hostla əlaqə qura bilən tək-bir, tək-çox və çox-çox interaktiv ünsiyyəti dəstəkləyir.

EtibarlılıqTCP, məlumatların etibarlı şəkildə çatdırılmasını təmin edərək, məlumatların səhvsiz, itkisiz, təkrarlanmayan və tələb olunduqda çatdırılmasını təmin edir. Digər tərəfdən, UDP əlindən gələni edir və etibarlı çatdırılmanı təmin etmir. UDP ötürülmə zamanı məlumat itkisi və digər vəziyyətlərdən əziyyət çəkə bilər.

Tıxanma nəzarəti, axın nəzarətiTCP, məlumat ötürülməsinin təhlükəsizliyini və sabitliyini təmin etmək üçün şəbəkə şərtlərinə uyğun olaraq məlumat ötürmə sürətini tənzimləyə bilən tıxanma nəzarəti və axın nəzarəti mexanizmlərinə malikdir. UDP, şəbəkə çox tıxansa belə, tıxanma nəzarəti və axın nəzarəti mexanizmlərinə malik deyil, UDP göndərmə sürətində düzəlişlər etməyəcək.

Başlıq üst hissəsiTCP-nin başlıq uzunluğu adətən 20 baytdır və seçim sahələri istifadə edildikdə bu rəqəm artır. Digər tərəfdən, UDP-nin yalnız 8 baytlıq sabit başlığı var, buna görə də UDP-nin başlıq yükü daha aşağıdır.

TCP və UDP

TCP və UDP Tətbiq Ssenariləri:
TCP və UDP iki fərqli nəqliyyat təbəqəsi protokoludur və tətbiq ssenarilərində bəzi fərqlərə malikdirlər.

TCP bağlantı yönümlü bir protokol olduğundan, əsasən etibarlı məlumatların çatdırılmasının tələb olunduğu ssenarilərdə istifadə olunur. Bəzi ümumi istifadə hallarına aşağıdakılar daxildir:

FTP fayl ötürülməsiTCP, faylların ötürülmə zamanı itirilməməsini və zədələnməməsini təmin edə bilər.
HTTP/HTTPSTCP veb məzmunun bütövlüyünü və düzgünlüyünü təmin edir.
UDP bağlantısız protokol olduğundan, etibarlılıq zəmanəti vermir, lakin səmərəlilik və real vaxt xüsusiyyətlərinə malikdir. UDP aşağıdakı ssenarilər üçün uyğundur:

DNS (Domen Adı Sistemi) kimi aşağı paketli trafikDNS sorğuları adətən qısa paketlərdir və UDP onları daha sürətli tamamlaya bilər.
Video və audio kimi multimedia rabitəsiYüksək real vaxt tələbləri olan multimedia ötürülməsi üçün UDP məlumatların vaxtında ötürülməsini təmin etmək üçün daha aşağı gecikmə təmin edə bilər.
Yayım rabitəsiUDP birdən çoxa və çoxdan çoxa rabitəsini dəstəkləyir və yayım mesajlarının ötürülməsi üçün istifadə edilə bilər.

Xülasə
Bu gün TCP haqqında məlumat əldə etdik. TCP bağlantı yönümlü, etibarlı, bayt axını əsaslı nəqliyyat təbəqəsi rabitə protokoludur. Bağlantı, əl sıxma və təsdiqləmə quraraq məlumatların etibarlı ötürülməsini və nizamlı qəbulunu təmin edir. TCP protokolu proseslər arasında rabitəni həyata keçirmək üçün portlardan istifadə edir və müxtəlif hostlarda işləyən tətbiq prosesləri üçün birbaşa rabitə xidmətləri təqdim edir. TCP əlaqələri tam dupleksdir və eyni vaxtda iki istiqamətli məlumat ötürülməsinə imkan verir. Bunun əksinə olaraq, UDP etibarlılıq zəmanəti verməyən və yüksək real vaxt tələbləri olan bəzi ssenarilər üçün uyğun olan bağlantısız yönümlü rabitə protokoludur. TCP və UDP əlaqə rejimi, xidmət obyekti, etibarlılıq, tıxanma nəzarəti, axın nəzarəti və digər aspektlər baxımından fərqlidir və onların tətbiq ssenariləri də fərqlidir.


Yazı vaxtı: 03 Dekabr 2024