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):
- Mijoz SYN bayrog'i va boshlang'ich ketma-ketlik raqami bilan segment yuboradi.
- 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.
- 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
};