ไคลเอนต์การถ่ายโอนไฟล์โปรโตคอลคืออะไร?

ไคลเอนต์การถ่ายโอนไฟล์โปรโตคอลเป็นโปรแกรมซอฟต์แวร์คอมพิวเตอร์ที่ใช้สำหรับการเข้าถึงเซิร์ฟเวอร์ข้อมูลโดยใช้โปรโตคอลการถ่ายโอนไฟล์ (FTP) ผ่านการใช้โปรโตคอลทั่วไปนี้ลูกค้าสามารถถ่ายโอนข้อมูลไปยังและจากเซิร์ฟเวอร์ แอปพลิเคชันไคลเอนต์มีวิธีในการสร้างการเชื่อมต่อแล้วออกคำสั่ง FTP ที่เหมาะสมไปยังเซิร์ฟเวอร์ มันมาในหลายรูปแบบดำเนินการผ่าน command line interface (CLI), ส่วนต่อประสานกราฟิกกับผู้ใช้ (GUI) หรือแม้แต่เว็บเบราว์เซอร์ทั่วไป

FTP เป็นส่วนหนึ่งของชั้นแอปพลิเคชันชั้นบนของชุด Internet protocol (IP) โดยมีโปรโตคอลควบคุมการส่งข้อมูล (TCP) ที่ใช้สำหรับการขนส่งการสื่อสาร ไคลเอ็นต์การถ่ายโอนไฟล์โปรโตคอลมีหน้าที่สร้างการเชื่อมต่อกับเซิร์ฟเวอร์โดยเปิดการเชื่อมต่อ TCP สองครั้งในที่สุด แรกคือการเชื่อมต่อการควบคุมที่ลูกค้าส่งคำสั่งไปยังเซิร์ฟเวอร์ FTP คำสั่งแรกที่ส่งผ่านการเชื่อมต่อการควบคุมคือคำสั่ง USER ที่มีชื่อของผู้ใช้เป็นอาร์กิวเมนต์แล้วคำสั่ง PASS ตามด้วยรหัสผ่าน เมื่อจัดตั้งขึ้นแล้วการเชื่อมต่อการควบคุมจะเปิดตลอดทั้งเซสชัน

ที่นี่ไคลเอนต์โปรโตคอลการถ่ายโอนไฟล์ตั้งค่าโหมดการสื่อสารที่แตกต่างกันซึ่งจะมีกับเซิร์ฟเวอร์ โดยทั่วไปข้อมูลจะแสดงด้วยหนึ่งในสองวิธีคือข้อความหรือไบนารีขึ้นอยู่กับข้อมูลที่ส่งหรือรับ การถ่ายโอนข้อความชนิดมักใช้สำหรับไฟล์ข้อความธรรมดาที่เข้ารหัสด้วยวิธีการเข้ารหัสรหัสมาตรฐานอเมริกันสำหรับการแลกเปลี่ยนข้อมูล (ASCII) โหมดไบนารีหรือที่เรียกว่าโหมดรูปภาพใช้สำหรับการถ่ายโอนไฟล์ในรูปแบบไบนารีที่ไม่ใช่ข้อความเช่นรูปภาพดิจิทัล อีกวิธีหนึ่งซึ่งเรียกว่าโหมดโลคัลเป็นอีกวิธีหนึ่งที่ FTP สามารถถ่ายโอนข้อมูลโดยใช้รูปแบบที่ไม่ซ้ำกันหรือเป็นกรรมสิทธิ์

ช่องสัญญาณ TCP ที่สองที่ใช้โดยไคลเอนต์การถ่ายโอนไฟล์โปรโตคอลเป็นการเชื่อมต่อข้อมูล การเชื่อมต่อนี้เป็นการชั่วคราวและถูกสร้างขึ้นเฉพาะเมื่อไคลเอนต์ขอรายชื่อของไฟล์บนเซิร์ฟเวอร์หรือโอนไฟล์ไปยังหรือจากเซิร์ฟเวอร์ การเชื่อมต่อข้อมูลจะถูกทำลายเมื่อไม่มีการถ่ายโอนข้อมูลเกิดขึ้น การเชื่อมต่อข้อมูลนั้นไม่เหมือนกันในวิธีการก่อตั้ง ไคลเอนต์จะต้องแจ้งให้เซิร์ฟเวอร์ทราบถึงประเภทของการเชื่อมต่อข้อมูลที่จะใช้ขึ้นอยู่กับประเภทการเชื่อมต่อที่มีอยู่บนไคลเอนต์

ด้วยการเชื่อมต่อข้อมูลที่ใช้งานไคลเอนต์โปรโตคอลการถ่ายโอนไฟล์จะบอกเซิร์ฟเวอร์ว่าหมายเลขพอร์ต TCP ใดที่จะใช้สำหรับการเชื่อมต่อข้อมูล เมื่อใช้ในโหมดพาสซีฟไคลเอนต์จะบอกเซิร์ฟเวอร์ว่ามันเป็นพาสซีฟจากนั้นเซิร์ฟเวอร์จะแจ้งไคลเอ็นต์ว่าพอร์ต TCP ใดที่จะใช้สำหรับการเชื่อมต่อข้อมูล ในกรณีส่วนใหญ่ไคลเอนต์ถูกตั้งค่าสำหรับการเชื่อมต่อแฝงเนื่องจากการใช้ไฟร์วอลล์ที่ปกป้องมันจากการเข้าถึงที่ไม่ได้รับอนุญาต

อันเป็นผลมาจากการขาดความปลอดภัยโดยทั่วไปใน FTP ความปลอดภัยสำหรับไคลเอนต์โปรโตคอลการถ่ายโอนไฟล์เป็นส่วนสำคัญในการดำเนินการเพื่อให้กิจกรรมของผู้ใช้ปลอดภัยจากการสอดส่อง มีการคิดค้นเทคนิคการรักษาความปลอดภัยเพิ่มเติมจำนวนหนึ่งเพื่อใช้กับ FTP ในช่วงหลายปีที่ผ่านมาเช่นไคลเอนต์อาจตั้งชื่อโปรโตคอลความปลอดภัยให้ใช้อย่างชัดเจนหรือใช้วิธีหนึ่งโดยอัตโนมัติ ไคลเอนต์อื่นพยายามใช้ FTP โดยใช้อุโมงค์ปลอดภัย (SSH) ซึ่งอาจมีปัญหาเนื่องจากลักษณะการเชื่อมต่อข้อมูลหายวับไป