DATA — FTP protokoli kontekstida rasmiy alohida client buyrug‘idan ko‘ra, fayl yoki katalog mazmuni uzatiladigan data connection tushunchasini ifodalaydi. FTP control connection orqali buyruq va statuslarni, data connection orqali esa haqiqiy byte oqimini uzatadi. Ayrim hujjat yoki loglarda DATA qisqa kanal belgisi sifatida uchrashi mumkin.
Control va data kanallari
Client serverning control portiga ulanib USER, PASS, TYPE, RETR yoki STOR kabi buyruqlarni yuboradi. Fayl mazmuni shu control socketdan oqmaydi. Transfer boshlanishidan oldin active yoki passive rejimda alohida TCP data connection tayyorlanadi.
Server control channelda preliminary reply, odatda 1xx sinfidagi javob yuboradi. Data oqimi tugagach connection yopiladi va control channelda yakuniy success yoki failure status keladi. Client data socket yopilganini yolg‘iz muvaffaqiyat dalili deb qabul qilmaydi; server disk xatosi yoki abort haqida keyin xabar berishi mumkin.
Active va passive yo‘nalish
Active mode da client PORT yoki EPRT bilan o‘z tinglovchi manzilini beradi, server data connectionni boshlaydi. Passive mode da server PASV yoki EPSV orqali port e’lon qiladi va client unga ulanadi. NAT hamda firewall sabab passive rejim amaliyotda kengroq ishlatiladi.
Har bir LIST, RETR yoki STOR uchun alohida data connection ochilishi mumkin. Shu arxitektura FTPni bitta TCP oqimida buyruq va mazmunni multiplekslaydigan protokollardan farqlaydi. Load balancer va firewall ikki kanalni bir sessiyaga bog‘lay olishi kerak.
Transfer representation
TYPE buyrug‘i ma’lumot representationini belgilaydi. Image yoki binary rejim byte larni o‘zgartirmasdan uzatadi. ASCII rejim matn qator oxirlarini platformaga moslashtirishi mumkin. Binary artifactni ASCII rejimida yuborish fayl buzilishiga sabab bo‘ladi.
STRU va MODE tarixiy FTP imkoniyatlari ma’lumot tuzilishi va uzatish rejimini bildiradi, ammo ko‘p zamonaviy server stream mode va file structuredan foydalanadi. REST buyrug‘i qo‘llansa, ma’lum offsetdan transferni davom ettirish mumkin; server imkoniyati va fayl versiyasi tekshiriladi.
TLS bilan himoya
FTPSda control va data channel himoyasi alohida boshqariladi. AUTH TLS control kanalni shifrlashni boshlaydi, PBSZ va PROT esa data channel uchun himoya darajasini kelishadi. PROT P data oqimini TLS bilan himoyalaydi, PROT C esa ochiq qoldiradi.
Faqat control channel shifrlanib, data ochiq qolsa fayl mazmuni tarmoqda ko‘rinadi. Server siyosati maxfiy transfer uchun private data channelni majburiy qiladi. Data TLS sessiyasi sertifikat tekshiruvi va control sessiya bilan bog‘lanish qoidalariga ega.
Yaxlitlik va xatolar
FTP transferning o‘zida barcha implementatsiya uchun majburiy kuchli file hash bermaydi. SIZE hajmni, ayrim kengaytmalar hashni qaytarishi mumkin, lekin capability tekshiriladi. Muhim artifact uchun tashqi SHA-256 yoki digital signature bilan yakuniy nusxa tasdiqlanadi.
Timeout, qisqa write va yarim transfer temporary faylda saqlanadi. Qabul qiluvchi barcha byte va yakuniy statusni olgach faylni tayyor nomga ko‘chiradi. Logda control status, uzatilgan byte, endpoint va correlation ma’lumoti birga saqlanadi.
Parallel data transfer
FTP bitta control sessiyada bir vaqtda nechta data connectionga ruxsat berishi implementatsiyaga bog‘liq. Ko‘p client parallel download uchun alohida control sessiyalar ochadi. Bu throughputni oshirishi mumkin, ammo server connection limiti, disk seek va bandwidth fairnessga ta’sir qiladi. Bir katta faylni segmentlarga bo‘lish REST hamda range imkoniyatini talab qiladi.
Proxy va inspection
FTP-aware proxy control javobidan data endpointni topib vaqtinchalik firewall ruxsati yaratishi mumkin. FTPS control oqimi shifrlanganda intermediary buyruqni ko‘ra olmaydi. Explicit passive port range va bevosita end-to-end policy shunday muhitda aniqroq boshqaruv beradi.
Bog‘liq tushunchalar
FTP, Data connection, Control connection, Active mode, Passive mode, FTPS, Transfer type