Sobes.tech
Middle

TCP/IP modelining transport qatlam (transport layer) haqida gapirib bering.

sobes.tech AI

AIdan javob

TCP/IP tashish darajasi turli xostlarda ishga tushirilgan jarayonlar o'rtasida aloqa ta'minlaydi. Asosiy vazifalar:

  • Xostdagi ilovalar/protsesslarni identifikatsiya qilish (portlar orqali).
  • Ma'lumotlarni yetkazib berish xizmatlarini taqdim etish:
    • Ishonchli, tartiblangan yetkazib berish (TCP).
    • Ishonchsiz, kafolatlanmagan yetkazib berish (UDP).

Ikki asosiy protokol:

  • Transmissiya nazorati protokoli (TCP):
    • Aloqa asosida.
    • Paketlarni yetkazib berishni kafolatlaydi, tartibni saqlaydi, oqimni nazorat qiladi va tıg'ishlarni boshqaradi.
    • Ishonchli uzatishni talab qiladigan ilovalar uchun ishlatiladi (HTTP, FTP, SMTP).
  • Foydalanuvchi datagramlari protokoli (UDP):
    • Aloqa yo'q.
    • Yetkazib berishni, tartibni yoki oqim nazoratini kafolatlamaydi.
    • Kam kechikishli, vaqtga sezgir ilovalar uchun mos, kichik ma'lumotlar yo'qotilishi mumkin (DNS, VoIP, video oqimi).

TCP segmentlari quyidagi maydonlarni o'z ichiga oladi: manba/maqsad portlari, ketma-ketlik raqamlari, tasdiqlash raqamlari, bayroqlar (SYN, ACK, FIN), tekshirish summasi.

UDP datagramlari quyidagi maydonlarni o'z ichiga oladi: manba/maqsad portlari, uzunligi va tekshirish summasi.

Portlar (ports): jarayonlar o'rtasida ma'lumotlarni multiplexing/demultiplexing qilish uchun ishlatiladigan 16-bitli raqamlar.

  • Well-known ports (0-1023): Standart xizmatlar uchun ajratilgan (80 HTTP uchun, 443 HTTPS uchun, 22 SSH uchun).
  • Registered ports (1024-49151): IANA ro'yxatiga olingan maxfiy ilovalar uchun ishlatiladi.
  • Dynamic/Private ports (49152-65535): Mijozlar uchun chiqish ulanishlarida ishlatiladi.

TCP ulanishini o'rnatish misoli (Three-way Handshake):

  1. Mijoz SYN bayrog'i va boshlang'ich ketma-ketlik raqami bilan segment yuboradi.
  2. Server SYN-ni oladi, SYN va ACK bayroqlari bilan javob yuboradi, o'z boshlang'ich ketma-ketlik raqami va client_seq + 1 ga teng tasdiqlash raqami bilan.
  3. Mijoz SYN+ACK-ni oladi, ACK bayrog'i va serverning ketma-ketlik raqami + 1 ga teng tasdiqlash raqami bilan javob yuboradi. Ulanish o'rnatildi.
// TCP sarlavha strukturasining misoli (soddalashtirilgan)
struct tcp_header {
    unsigned short src_port;       // Manba porti
    unsigned short dest_port;      // Maqsad porti
    unsigned int   seq_num;        // Ketma-ketlik raqami
    unsigned int   ack_num;        // Tasdiqlash raqami
    unsigned short flags;          // Bayroqlar (SYN, ACK, FIN va boshqalar)
    // boshqa maydonlar...
};
// UDP sarlavha strukturasining misoli (soddalashtirilgan)
struct udp_header {
    unsigned short src_port;       // Manba porti
    unsigned short dest_port;      // Maqsad porti
    unsigned short length;         // UDP datagramining uzunligi
    unsigned short checksum;       // Tekshirish summasi
};