ความแตกต่างระหว่าง Active FTP และ Passive FTP
Active FTP และ FTP แบบพาสซีฟ
FTP (File Transfer Protocol) เป็นชุดของเครือข่ายมาตรฐาน (โปรโตคอล) เกี่ยวกับการถ่ายโอนไฟล์ระหว่างคอมพิวเตอร์สองเครื่องบนเครือข่าย TCP / IP (เครือข่ายที่ใช้ Transmission Control Protocol / Internet Protocol เพื่อส่งมอบไบต์ข้อมูลจากคอมพิวเตอร์เครื่องหนึ่งไปยังอีกเครื่องหนึ่ง) เช่นอินเทอร์เน็ต FTP ทำงานตามหลักการของไคลเอ็นต์ / เซิร์ฟเวอร์และอยู่ในระดับ Application ของโมเดล OSI (Open Systems Interconnection model)
โดยทั่วไปเซิร์ฟเวอร์ FTP ซึ่งจัดเก็บไฟล์ที่จะถ่ายโอนใช้พอร์ตสองพอร์ตสำหรับวัตถุประสงค์ในการโอนย้ายหนึ่งสำหรับคำสั่งและอีกส่วนหนึ่งสำหรับการส่งและรับข้อมูล คำขอจากคอมพิวเตอร์ไคลเอ็นต์จะได้รับที่พอร์ต 21 ของเซิร์ฟเวอร์ซึ่งสงวนไว้สำหรับการส่งคำสั่งเท่านั้น ดังนั้นจึงเรียกว่า Command Port เมื่อได้รับคำขอเข้ามาแล้วข้อมูลที่ร้องขอหรืออัปโหลดโดยคอมพิวเตอร์ไคลเอ็นต์จะถูกโอนย้ายผ่านทางพอร์ตที่แยกต่างหากซึ่งเรียกว่าพอร์ตข้อมูล ณ จุดนี้ขึ้นอยู่กับโหมด Active หรือ Passive ของการเชื่อมต่อ FTP หมายเลขพอร์ตที่ใช้สำหรับการถ่ายโอนข้อมูลจะแตกต่างกันไปโหมดการเชื่อมต่อ FTP ที่ใช้งานอยู่คือการเชื่อมต่อ Command ที่ริเริ่มโดย Client และการเชื่อมต่อข้อมูลจะเริ่มต้นโดยเซิร์ฟเวอร์ และเนื่องจากเซิร์ฟเวอร์มีการสร้างการเชื่อมต่อข้อมูลกับไคลเอ็นต์อย่างแข็งขันโหมดนี้จึงเรียกว่าใช้งานอยู่ ไคลเอนต์เปิดพอร์ตที่สูงกว่า 1024 และผ่านมันเชื่อมต่อกับพอร์ต 21 หรือพอร์ตคำสั่งของเซิร์ฟเวอร์ จากนั้นเซิร์ฟเวอร์จะเปิดพอร์ต 20 และสร้างการเชื่อมต่อข้อมูลกับพอร์ตที่สูงกว่า 1024 ของ Client ในโหมดนี้ Client ต้องตั้งค่าไฟร์วอลล์เพื่อยอมรับการเชื่อมต่อขาเข้าทั้งหมดที่ได้รับจากพอร์ตที่เปิดอยู่
ในโหมดการเชื่อมต่อแบบพาสซีฟ FTP เซิร์ฟเวอร์ทำหน้าที่เป็นแบบ passively ทั้งหมดในขณะที่การเชื่อมต่อ Command และการเชื่อมต่อข้อมูลจะเริ่มต้นและสร้างขึ้นโดยไคลเอ็นต์ ในโหมดนี้เซิร์ฟเวอร์จะรับฟังการร้องขอขาเข้าผ่านพอร์ต 21 (พอร์ตคำสั่ง) และเมื่อได้รับคำขอสำหรับการเชื่อมต่อข้อมูลจากไคลเอ็นต์ (โดยใช้พอร์ตสูง) เซิร์ฟเวอร์จะสุ่มเปิดพอร์ตที่มีอยู่สูงหนึ่งพอร์ต จากนั้นไคลเอ็นต์จะเริ่มการเชื่อมต่อข้อมูลระหว่างพอร์ตที่เปิดขึ้นของเซิร์ฟเวอร์และพอร์ตที่เลือกแบบสุ่มมากกว่า 1024 ในโหมดนี้ไคลเอ็นต์ไม่จำเป็นต้องเปลี่ยนการตั้งค่าไฟร์วอลล์เนื่องจากต้องใช้การเชื่อมต่อขาออกและไฟร์วอลล์เท่านั้นจึงไม่บล็อก การเชื่อมต่อขาออก อย่างไรก็ตามผู้ดูแลระบบเซิร์ฟเวอร์ต้องตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์อนุญาตการเชื่อมต่อขาเข้าที่พอร์ตที่เปิดอยู่ทั้งหมด
อะไรคือความแตกต่างระหว่าง Active FTP และ Passive FTP?
ความแตกต่างระหว่าง Active FTP และ Passive FTP ขึ้นอยู่กับผู้ที่เริ่มต้นการเชื่อมต่อข้อมูลระหว่างเซิร์ฟเวอร์และไคลเอ็นต์ ถ้าการเชื่อมต่อข้อมูลถูกริเริ่มโดยเซิร์ฟเวอร์การเชื่อมต่อ FTP จะใช้งานได้และถ้าไคลเอ็นต์เริ่มต้นการเชื่อมต่อข้อมูลการเชื่อมต่อ FTP จะเป็นแบบพาสซีฟ
พอร์ตที่ใช้สำหรับการเชื่อมต่อข้อมูลจะขึ้นอยู่กับโหมด Active หรือ Passive ของการเชื่อมต่อ ใน Active FTP จะมีการเชื่อมต่อข้อมูลระหว่างพอร์ต 20 ของเซิร์ฟเวอร์และ High Port ของไคลเอ็นต์ ในอีกทางหนึ่งใน Passive FTP จะมีการเชื่อมต่อข้อมูลระหว่างพอร์ต High ของ Server และ High port ของ Client
เมื่อใช้การเชื่อมต่อ Active FTP ต้องตั้งค่าไฟร์วอลล์ของ Client เพื่อยอมรับการเชื่อมต่อขาเข้าทั้งหมดไปยังไคลเอ็นต์ขณะที่อยู่ในการเชื่อมต่อแบบพาสซีฟ FTP เซิร์ฟเวอร์ต้องอนุญาตการเชื่อมต่อขาเข้าทั้งหมดเข้ากับเซิร์ฟเวอร์ เซิร์ฟเวอร์ FTP ส่วนใหญ่ต้องการการเชื่อมต่อแบบ Passive FTP เนื่องจากปัญหาด้านความปลอดภัย