Active vs Passive FTP
FTP ย่อมาจาก File Transfer Protocol เป็นโปรโตคอลมาตรฐานที่ใช้ในการถ่ายโอนไฟล์จากโฮสต์หนึ่งไปยังอีกโฮสต์หนึ่งผ่านเครือข่ายที่ใช้ TCP FTP มีสถาปัตยกรรมไคลเอนต์-เซิร์ฟเวอร์ และทำงานบนโมเดล OSI ของเลเยอร์แอปพลิเคชัน มีสี่โหมดการแสดงข้อมูลเมื่อถ่ายโอนข้อมูลผ่านเครือข่าย
1. โหมด ASCII
2. โหมดไบนารี (โหมดรูปภาพ)
3. โหมด EBCDI
4. โหมดท้องถิ่น
เมื่อโฮสต์หนึ่ง (สมมติว่าโฮสต์ A) ต้องการโอนไฟล์ไปยังโฮสต์อื่น (สมมติว่าโฮสต์ B) ควรมีการเชื่อมต่อระหว่างโฮสต์ A และโฮสต์ B นี้ มีสองวิธีในการเชื่อมต่อนี้ ระหว่างสองโฮสต์ พวกเขาถูกเรียกว่า
1. FTP ที่ใช้งานอยู่
2. FTP แบบพาสซีฟ
(อันที่จริงแล้ว FTP เหล่านี้ไม่ใช่ประเภทที่แตกต่างกัน แต่วิธีการเปิดพอร์ต FTP ต่างกัน)
FTP ที่ใช้งานอยู่
ในโหมดแอ็คทีฟ ไคลเอนต์ FTP จะเชื่อมต่อกับพอร์ต 21 ของเซิร์ฟเวอร์ FTP จากพอร์ตที่ไม่มีสิทธิพิเศษแบบสุ่ม ซึ่งมักจะมากกว่า 1024 (หมายเลขพอร์ต) ต่อไปนี้เป็นวิธีการสื่อสารระหว่างไคลเอนต์ FTP และเซิร์ฟเวอร์ FTP ใน Active FTP
• พอร์ตคำสั่งของลูกค้าติดต่อกับพอร์ตคำสั่งของเซิร์ฟเวอร์และให้พอร์ตข้อมูล
• เซิร์ฟเวอร์ตอบรับพอร์ตคำสั่งของลูกค้า
• เซิร์ฟเวอร์สร้างการเชื่อมต่อระหว่างพอร์ตข้อมูลและพอร์ตข้อมูลของลูกค้า
• ในที่สุด ลูกค้าส่งการตอบรับไปยังเซิร์ฟเวอร์
FTP ที่ใช้งานควรใช้เมื่อเซิร์ฟเวอร์ FTP ซึ่งกำลังพยายามเชื่อมต่อ ไม่สนับสนุนการเชื่อมต่อ FTP แบบพาสซีฟ หรือหากเซิร์ฟเวอร์ FTP อยู่หลังไฟร์วอลล์/เราเตอร์/อุปกรณ์ NAT
พาสซีฟ FTP
โหมดพาสซีฟ FTP ได้รับการพัฒนาเพื่อแก้ปัญหาการเชื่อมต่อของโหมดแอคทีฟ ไคลเอนต์ FTP สามารถใช้คำสั่ง PASV เพื่อบอกเซิร์ฟเวอร์ว่าการเชื่อมต่อเป็นแบบพาสซีฟ นี่คือการสื่อสารระหว่างไคลเอนต์ FTP และเซิร์ฟเวอร์ในโหมดพาสซีฟ
• ลูกค้าติดต่อพอร์ตคำสั่งเซิร์ฟเวอร์และออกคำสั่ง PASV เพื่อบอกว่านี่เป็นการเชื่อมต่อแบบพาสซีฟ
• จากนั้นเซิร์ฟเวอร์จะมอบพอร์ตข้อมูลการรับฟังให้กับลูกค้า
• จากนั้นไคลเอ็นต์จะทำการเชื่อมต่อข้อมูลระหว่างเซิร์ฟเวอร์กับตัวมันเองโดยใช้พอร์ตที่กำหนด (เซิร์ฟเวอร์กำหนดพอร์ต)
• ในที่สุด เซิร์ฟเวอร์ส่งการตอบรับไปยังไคลเอนต์
พาสซีฟ FTP ควรใช้ตลอดเวลาเว้นแต่จะเกิดข้อผิดพลาดหรือหากการเชื่อมต่อ FTP ใช้พอร์ต FTP ที่ไม่ใช่มาตรฐาน
FTP แบบ Active และ Passive ต่างกันอย่างไร
1. โหมดแอ็คทีฟช่วยเพิ่มความปลอดภัยให้กับเซิร์ฟเวอร์ FTP แต่ในโหมดพาสซีฟจะไม่มี (โหมดพาสซีฟจะใช้เมื่อการเชื่อมต่อ FTP ถูกบล็อกโดยไฟร์วอลล์)
2. Active FTP อาจทำให้เกิดปัญหาเนื่องจากไฟร์วอลล์ แต่ Passive FTP ไม่มีปัญหาการเชื่อมต่อจากไฟร์วอลล์)
3. ในโหมดแอ็คทีฟ ไคลเอนต์สร้างช่องคำสั่งและเซิร์ฟเวอร์สร้างช่องสัญญาณข้อมูล แต่ใน FTP แบบพาสซีฟ ไคลเอนต์สร้างการเชื่อมต่อทั้งคู่
4. โหมดเริ่มต้นของเว็บเบราว์เซอร์ส่วนใหญ่เป็นแบบพาสซีฟ โหมดแอคทีฟไม่ได้ใช้เป็นโหมดเริ่มต้นของเบราว์เซอร์