Salam dostlar,
Bu məqaləmdə sizə məlumat mübadiləsi (data transfer) məqsədilə istifadə olunan məlumat mübadiləsi protokolları (file/data transfer protocols) haqqında bəhs edəcəm. Beləliklə, istifadə etdiyimiz kompüterlərdə (windows, linux və s. əməliyyat sistemlərində) hər birimiz məlumat mübadiləsi həyata keçiririk ki, bu məlumat mübadiləsi zamanı istər fiziki olaraq "usb drive", istər proqram təminatı olaraq bəzi "tool"-lara, istərsə də virtual olaraq şəbəkə və s. tipli məlumat mübadiləsi vasitələrinə istinad edirik. Məlumat mübadiləsi vasitələri (tools) həm "GUI" (graphical user interface), həm də "CLI" (command line interface) olmaqla müxtəlifdir, eləcə də "Linux" əməliyyat sistemində istifadə olunan bəzi məlumat mübadiləsi protokolları aşağıdakılardır:
- FTP (File Transfer Protocol) şəbəkədə olan (server --> client) "host"-lar arasında məlumatların paylanması və ya fayl (məlumat) mübadiləsini həyata keçirən protokoldur və "ftp" əmrinin "linux" terminalda icra edilməsi aşağıdakı kimidir:
ftp Hostname/Domain_name/IPAddress
ftp>
- FTPS (File Transfer Protocol Secure) "TLS" və "SSL" üzərindən olan bir "FTP"-dir, bu zaman ötürülən məlumat mübadiləsi şifrələnmiş olur və "ftps" əmrinin "linux" terminalda icra edilməsi aşağıdakı kimidir:
ftp-ssl Hostname/Domain_name/IPAddress
ftp>
- SCP (Secure Copy Protocol) təhlükəsiz nüsxədir (copy) və "SSH" tunelinə əsaslanan fayl ötürmə (məlumat mübadiləsi) protokoludur. Məlumat mübadiləsi zamanı əsasən mənbə (source) faylı oxuyaraq (destination) təyinat yerinə yazır və "scp" əmrinin "linux" terminalda icra edilməsi aşağıdakı kimidir:
scp -P port "filename" user@HOHOSTNAME/IPADDRESS:/data/directory
scp "filename" user@HOHOSTNAME/IPADDRESS:/data/directory
- SFTP (Secure File Transfer Protocol) "SSH" əasaslı və "SSH" tunelindən istifadə edən məlumat mübadiləsi protokoludur. Bu mübadilə protokolu vasitəsilə "host"-lar arasında təhlükəsiz və interaktiv əlaqənin yaradılması təmin edilir. Lakin "SSH" ilə "SFTP" protokolları fərqli bir funksiyaya sahibdir. Belə ki, "SSH" vasitəsilə uzaq hostlara daxil ola bilirsinizsə, "SFTP" vasitəsilə bu mümkün deyil, çünki "SFTP" yalnız məlumat mübadiləsi üçün nəzərdə tutulmuş bir protokoldur. Bu protokolun "linux" terminalda icra edilməsi əmri aşağıdakı kimidir:
sftp -P port username@hostname_or_IPAddress_of_remote_host
sftp username@hostname_or_IPAddress_of_remote_host
sftp>
- Rsync (Remote Sync) uzaqdan (kənardan) köçürmə (copy) və sinxronizasiya deməkdir ki, "local" və "remote" "host"-lardakı fayl, qovluqları sinxronlaşdırır. Əgər "remote host"-da ona ötürülən məlumatlardan (fayl, qovluq) hər hansısa biri mövcud deyilsə, onda "remote host"-da həmin mövcud olmayan məlumatlar (fayl, qovluq) sinxronizasiya (köçürmə) zamanı yaradılmış olur. "Rsync" protokolu ən effektiv və sürətli məlumat (data) mübadiləsi vasitələrindən biridir, çünki bu protokoldan ehtiyat nüsxələri (live backup) yaratmaq üçün də istifadə edilə bilər. "Rsync" protokolu "scp" protokolu ilə müqayisə oluna bilər ki, bu protokolun üstünlüklərini təqdim edirəm:
- "rsync" protokolu köçürmə (copy) funksiyasına görə "scp" protokolu ilə eynilik təşkil etsə də, lakin köçürmə (copy) prosesini "rsync" protokolu "scp" protokolundan daha da sürətli həyata keçirir;
- "rsync" protokolu köçürmə prosesi zamanı köçürülən məlumatın (data) həqiqətən də köçürülüb-köçürülmədiyini yoxlayır, eləcə də hər hansı bir fərq varsa müqayisə edir, təyinat (destination) olan yerə yalnız fərqli məlumatların köçürülməsini təmin edir. Məsələn: Əgər ilk köçürülmə və ya sinxronlaşdırma prosesi zamanı 2GB həcmində məlumat mübadiləsi həyata keçirilibsə, sonradan həmin həcmli məlumatlara əlavə edilən dəyişiklik 3GB həcminə yüksəlibsə, bu zaman növbəti köçürülmə və ya sinxronlaşdırma prosesi zamanı təkrarən mövcud olan (2GB) məlumat deyil, yalnız əlavə edilmiş (1GB) dəyişiklik (məlumat) mübadilə olunur;
- "rsync" protokolu vasitəsilə köçürmə prosesi zamanı əgər hər hansı bir şəbəkə (connection lost) itkisi yaranırsa, şəbəkə bağlantısı bərpa edildikdən sonra proses yenidən deyil, qaldığı yerdən davam edir;
Bu protokolun "linux" terminalda icra edilməsi əmri aşağıdakı kimidir:
rsync -avzh filename usename@hostname_or_IPAddress_of_remote_host:/data/directory
rsync -avzh /data/directory usename@hostname_or_IPAddress_of_remote_host:/data/directory
Dostlar,
İstər "GUI", istərsə də "CLI" olaraq bir çox məlumat mübadiləsi protokolları vardır və bu məlumat mübadiləsi bir çox "options"-larla istifadə oluna bilir. Beləliklə, güman edirəm ki, məlumat mübadiləsi protokollarının bəziləri barəsindəki bu məqaləm maariflənməniz istiqamətində işinizə yarayacaqdır.
Təşəkkür edirəm və uğurlar!
Hörmətlə,
Müəllif
Araz Əhmədov
Comments
Post a Comment