วันพฤหัสบดีที่ 19 กันยายน พ.ศ. 2556

หลักการทำงานและประโยชน์ของFile Tranfer Protocol (FTP)


FTP คืออะไร 

            FTP (File Transfer Protocol) คือการถ่ายโอนไฟล์ หรือเรียกได้อีกอย่างว่า การคัดลอกแฟ้มข้อมูลบนเครือข่าย คือ การโอนย้ายแฟ้มข้อมูลจากเครื่องคอมพิวเตอร์ระบบหนึ่งมายังอีกระบบหนึ่งผ่านเครือข่าย ซึ่งทำได้หลายรูปแบบ เช่น การโอนจากแม่ข่ายมายังเครื่องพีซี หรือ เครื่องพีซีไปแม่ข่ายหรือระหว่างแม่ข่ายด้วยกันเอง การถ่ายโอนแฟ้มข้อมูลหรือการโอนย้ายแฟ้มข้อมูลอาศัยโปรแกรมหนึ่งที่มีการใช้งานกันมากและมีบริการอยู่ในโฮสต์แทบทุกเครื่อง คือ โปรแกรม FTP

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

วิธีการทำงานของ FTP 
            FTP ทำงานในแบบไคลเอนต์เซิร์ฟเวอร์ โดยพัฒนาขึ้นตามโปรโตคอลพื้นฐาน TCP ซึ่งจะต้องมีการติดต่อเพื่อจองช่องสื่อสาร (Connection Establishment) ก่อนทำการสื่อสารจริง ซึ่งเรียกว่าเป็นการติดต่อแบบที่ต้องขอเชื่อมต่อก่อน (Connection – Oriented) ในการใช้งาน FTP เพื่อเริ่มการติดต่อสื่อสารนั้น จะต้องระบุหมายเลข IP ปลายทาง และต้องผ่านการแจ้งรหัส Login และ Password ของเซิร์ฟเวอร์ที่จะติดต่อก่อนจึงจะเข้าใช้งานได้
ข้อมูลของ FTP ที่สื่อสารระหว่างกันมี 2 ประเภทคือ
  ข้อมูล(Data) หมายถึงข้อมูลต่างๆที่ต้องการรับส่ง รวมทั้งไฟล์ที่รับมาจากเซิร์ฟเวอร์ หรือส่งมาจาก ไคลเอนต์แล้วไปเก็บที่เซิร์ฟเวอร์
  ข้อมูลคำสั่ง (Command) FTP จะมีคำสั่งที่ใช้สั่งงานต่างๆ เช่น dir เป็นคำสั่งที่ใช้แสดงชื่อไฟล์หรือไดเรคทอรีในเครื่องเซิร์ฟเวอร์ หรือ get ใช้โหลดไฟล์มาที่เครื่องไคลเอนต์ผ่านโปรแกรม FTP แล้วโปรแกรมจะส่งคำสั่งไปยังเซิร์ฟเวอร์เพื่อทำงาน และแจ้งผลการทำงานกลับมายังไคลเอนต์ ซึ่งผลการทำงานนี้จะนำหน้าด้วยตัวเลข 3 หลัก เป็นรหัสที่ใช้แสดงสถานะการทำงานภายในของ FTP และต่อด้วยข้อความที่เป็นเท็กซ์ต่อท้าย ซึ่งก็คือผลการทำงานหรือคำอธิบายต่างๆ โดยที่ FTP มีกระบวนการภายในที่จะตรวจสอบได้ว่าข้อมูลที่จะรับส่งนี้เป็นประเภทคำสั่งไม่ใช่ตัวข้อมูลที่ต้องการจะโอนย้าย
            การที่ FTP สามารถแยกแยะข้อมูลจริงออกจากข้อมูลที่เป็นคำสั่งได้นั้น ถือว่าเป็นหน้าที่การทำงานของโมดูลใน FTP ที่เรียกว่าโปรโตคอล (Protocol Interpreter Module หรือ PI) ซึ่งทำหน้าที่รองรับการทำงานคำสั่งต่างๆของ FTP และในส่วนของข้อมูลที่รับส่งนั้นจะเป็นหน้าที่ของโมดูลโอนข้อมูล (Data Transfer หรือ DT) ซึ่งโมดูลทั้งสองนี้จะต้องทำงานอยู่ทั้งในเครื่องที่เป็นเซิร์ฟเวอร์ และไคลเอ็นต์

รูปการทำงานของ Protocal FTP
            จากรูปแสดงถึงองค์ประกอบและกลไกการทำงานของโปรโตคอล FTP จะเริ่มจากผู้ใช้ (USER) เรียกใช้โปรแกรมผ่าน User Interface และ เมื่อเป็นโปรแกรม FTP พร้อมใช้งานแล้ว ถ้ามีการใช้คำสั่งต่างๆของFTPจะเป็นหน้าที่ของ PI (Protocol Interpreter module) ทำหน้าที่แปลคำสั่งและทำงานตามคำสั่ง ในกรณีที่มีการส่งรับข้อมูลก็จะเป็นหน้าที่ของ DT (Data Transfer module) ซึ่งโมดูล PI และDTนี้จะอยู่ทั้งด้านของไคลเอนต์และเซิร์ฟเวอร์
ประเภทของการล็อกอินในบริการ FTP
·      ล็อกอินด้วยผู้ใช้ที่มีอยู่ในระบบ (Real FTP) ผู้ใช้บริการจะต้องมีบัญชีผู้ใช้อยู่จริงบนเซิร์ฟเวอร์ สามารถเปลี่ยนไดเร็คทอรี่ไปที่อื่นได้
·      ล็อกอินด้วยผู้ใช้ที่มีอยู่ในระบบแต่จำกัดขอบเขต (Guest FTP) คล้ายกับ Real FTP ต่างตรงที่ ไม่สามารถเปลี่ยนไดเร็คทอรีไปไหนได้เกินขอบเขตที่เซิร์ฟเวอร์กำหนด
·      ล็อกอินด้วยผู้ใช้ที่ไม่มีอยู่ระบบ (Anonymous FTP) การบริการ FTP แบบที่เปิดเสรีให้คนทั่วโลกมาใช้บริการ คงเป็นไปไม่ได้ที่จะมานั่งสร้างบัญชีผู้ใช้ให้รอบรับคนทั่วโลก แบบนี้จึงกำหนดให้ล็อกอินโดยใช้ชื่อ anonymous ส่วนรหัสผ่าน E-Mail Address

§    การโอนย้ายแฟ้มคือการคัดลอกแฟ้มจากโฮสต์หนึ่งมายังอีกโฮสต์หนึ่ง ในอินเตอร์เน็ตใช้โปรโตคอล FTP (File Transfer Protocol) เป็นมาตราฐานและใช้โปรแกรม FTP สำหรับสั่งงาน โอนย้ายข้อมูล โปรโตคอล FTP ทำให้โอนย้ายแฟ้มได้โดยไม่จำกัดประเภทของโฮสต์ หรือระบบปฏิบัติการ
             FTP เป็นโปรแกรมที่ใช้กันอย่างแพร่หลายเครือข่ายแต่ละแห่งจะมีข้อมูลให้บริการแตกต่างกันไป โดยปกติแล้วผู้ที่สามารถ
โอนย้ายแฟ้มได้ จะต้องมีบัญชีผู้ใช้บนโฮสต์ทั้งสอง แต่เครือข่ายหลายแห่งได้เปิดบริการให้ผู้ใช้ภายนอกสามารถนำข้อมูล
หรือโปรแกรมไปใช้โดยไม่คิดมูลค่าในปัจจุบันมีศูนย์ FTP สาธารณะมากมายหลายแห่งทั้งภายในประเทศ และภายนอกประเทศที่เปิดให้บริการตลอด 24 ชั่วโมง

    ข้อมูลภายในศูนย์บริการ

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

    1. การเข้าสู่ FTP


    1. เริ่มจากที่ปุ่ม Start
    2. จะปรากฏหน้าต่างดังรูป
    3.  เลือกไปที่ เมนู Programs
    4.  เลือกโปรแกรม MS-DOS Prompt
    5.  จะปรากฏหน้าจอดังรูป

 

 
        การเข้าสู่โปรแกรม FTP

        รูปแบบคำสั่งให้ใช้ FTP ตามด้วยชื่อโฮสต์ หรือ หมายเลข IP ของศูนย์บริการ ดังเช่น 
 
c:\> ftp  emisc.moe.go.th  

        หากเชื่อมต่อได้สำเร็จ บนจอภาพจะปรากฏข้อความแสดงการเชื่อมต่อและรอให้ป้อนชื่อบัญชี เพื่อเข้าสู่ระบบดังตัวอย่างต่อไปนี้
 
$ ftp emisc.moe.go.th
Connected to emisc.moe.go.th.
220 emisc.moe.go.th FTP server (Digital UNIX Version 5.60) ready.
Name (emisc.moe.go.th:bumrung): std1
331 Password required for std1.
Password:
230 User std1  logged in.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
 
 
        2. เรียนรู้คำสั่งใน FTP
         FTP เป็นโปรแกรมประยุกต์ที่มีคำสั่งภายในจำนวนมาก ในส่วนต่อจากนี้จะเป็น ตัวอย่างการใช้คำสั่งภายใน โปรแกรม FTP
        คำสั่งขอดูชื่อแฟ้ม
         สิ่งที่จำเป็นต้องทราบก่อนการโอนย้ายแฟ้มจากโฮสต์  คือชื่อแฟ้มและไดเร็คทอรี่ ของโฮสต์ โปรแกรม FTP มีคำสั่ง  ls  ใช้แสดงรายชื่อในโฮสต์ ดังตัวอย่าง
 
ftp> ls
200 PORT command successful.
150 Opening ASCII mode data connection for file list
.cshrc
.login
.profile
bin
mail
mars
test.txt
226 Transfer complete.
ftp> 

         คำสั่ง ls จะแสดงเฉพาะชื่อแฟ้มเท่านั้น หากใช้คำสั่ง dir หรือ ls - l  จะแสดงทั้งชื่อแฟ้ม และรายละเอียดของแฟ้มที่สมบูรณ์ ดังตัวอย่าง
 
ftp> dir
200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls

total 34
-rwxr-xr-x   1 std1     emisc       1499 Jul 25  1995 .cshrc
-rwxr-xr-x   1 std1     emisc       1639 Jul 25  1995 .login
-rwxr-xr-x   1 std1     emisc       1580 Jul 25  1995 .profile
drwxr-xr-x   2 std1     emisc        512 Dec  7  1995 bin
drwx------   2 std1     emisc        512 Aug 13 09:07 mail
drwxr-xr-x   2 std1     emisc        512 Jul 10 14:56 mars
-rw-r--r--   1 std1     emisc         19 Jul 15 11:45 test.txt
226 Transfer complete.
ftp>
 

        คำสั่งเปลี่ยนไดเร็คทอรี่
         หากต้องการเปลี่ยนไดเร็คทอรี่อื่น ให้ใช้คำสั่ง cd เพื่อย้ายไปยังไดเร็คทอรี่ ที่ต้องการ ดังตัวอย่างเช่น
 
ftp> pwd
257 "/disk14/std1" is current directory.
ftp> cd mail
250 CWD command successful.
ftp> pwd
257 "/disk14/std1/mail" is current directory.
ftp> cd ..
250 CWD command successful.
ftp> pwd
257 "/disk14/std1" is current directory.
ftp> 

         ศูนย์บริการ FTP อาจมีไดเร็คทอรี่และแฟ้มจำนวนมากมาย    โดยปกติแล้วไดเร็คทอรี่ที่เก็บแฟ้มข้อมูลซึ่งเตรียมไว้ ให้โอนย้ายมักอยู่ในไดเร็คทอรี่  pub  ภายใต้ไดเร็คทอรี่ pub อาจมีไดเร็คทรอรี่ย่อยแยกตามชุดโปรแกรม เช่น win,dos,unix หรือ os2 เป็นต้น การเข้าไปค้นหาแฟ้มจึงมักเริ่มต้นที่ไดเร็คทอรี่นี้

        คำสั่งโอนย้าย

         คำสั่ง  get  ใช้สำหรับการโอนย้ายแฟ้มจากโฮสต์มายังเครื่อง PC โดยใช้ชุดคำสั่งกำหนดชื่อแฟ้มต้นทางและแฟ้มปลายทาง
ตามรูปแบบดังนี้
 
 get  ชื่อแฟ้มต้นทาง [ชื่อแฟ้มปลายทาง( จะไม่กำหนดก็ได้)] 

        หากไม่กำหนดชื่อแฟ้มปลายทางไว้ จะได้แฟ้มชื่อเดียวกันกับแฟ้มที่โหลดมา ภายหลังการโอนย้าย
ตัวอย่างการโอนย้ายแฟ้มข้อมูล login.bat ที่อยู่ในไดเร็คทอรี่ pub
 
ftp> pwd
257 "/disk14/std1" is current directory.
ftp> cd ..
250 CWD command successful.
ftp> pwd
257 "/disk14" is current directory.
ftp> cd pub
250 CWD command successful.
ftp> pwd
257 "/disk14/pub" is current directory.
ftp>  dir
-rw-r--r--   1 root     system       1920 Aug 14 16:39 ll3.exe
-rw-r--r--   1 root     system       1182 Aug 14 16:42 login.bat
-rw-r--r--   1 root     system    1108490 Aug 14 16:40 r32_4b1b.exe
-rw-r--r--   1 root     system       2132 Aug 14 16:42 school11.txt
226 Transfer complete.
ftp>  get  login.bat
200 PORT command successful.
150 Opening BINARY mode data connection for login.bat  (1182 bytes).
226 Transfer complete.
1182 bytes received in 0.00098 seconds (1.2e+03 Kbytes/s)
ftp> 

        คำสั่งโอนย้ายแฟ้มข้อมูลเป็นกลุ่ม

         คำสั่ง  get  ใช้โอนย้ายแฟ้มข้อมูลครั้งละหนึ่งแฟ้มเท่านั้น  หากต้องการโอนย้ายแฟ้มหลายแฟ้มต่อเนื่องกัน ควรใช้คำสั่ง mget (Multiple get) ซึ่งมีรูปแบบการใช้งานเป็นดังนี้
 mget  กลุ่มแฟ้มต้นทาง
        ตัวอย่างต่อไปนี้แสดงการใช้ mget  โอนย้ายแฟ้มกลุ่ม ก่อนการโอนย้ายแต่ละแฟ้มจะมีการถามยืนยันให้ผู้ใช้ตอบ Y เพื่อเลือกโอนย้าย หรือตอบ N เพื่อไม่โอนย้าย
 
ftp> pwd
257 "/disk14/pub" is current directory.
ftp> mget  l*
mget ll3.exe? y
200 PORT command successful.
150 Opening BINARY mode data connection for ll3.exe (1920 bytes).
226 Transfer complete.
1920 bytes received in 0.033 seconds (57 Kbytes/s)
mget login.bat? y
200 PORT command successful.
150 Opening BINARY mode data connection for login.bat (1182 bytes).
226 Transfer complete.
1182 bytes received in 0 seconds (1.2 Kbytes/s)
ftp>

             หากต้องการใช้คำสั่ง mget โดยไม่ต้องตอบยืนยันด้วย Y หรือ N ให้ใช้คำสั่ง prompt  off  ก่อนจะสั่ง  mget โปรแกรมจะถือว่า
ผู้ใช้ตอบ Y โดยอัตโนมัติสำหรับทุกแฟ้มที่ขอโอนย้าย
        คำสั่งโอนแฟ้มข้อมูลไปยังโฮสต์
        เมื่อต้องการโอนแฟ้มข้อมูลจากเครื่อง PC ไปยังโฮสต์ ให้ใช้คำสั่ง put หรือต้องการโอนแฟ้มข้อมูลหลายๆ แฟ้มพร้อมกันให้ใช้คำสั่ง  mput  ได้ ซึ่งคำสั่ง put มีรูปแบบดังนี้
 
put  ชื่อแฟ้มต้นทาง [ชื่อแฟ้มปลายทาง( จะไม่กำหนดก็ได้)] 

         การนำข้อมูลลงโฮสต์นั้นจะลงได้เฉพาะไดเร็คทอรี่ของเราเองเท่านั้น โฮสต์ทั่วๆไป จะไม่อนุญาตให้ผู้ใช้บริการนำข้อมูลลง นอกไดเร็คทอรี่ นอกจากโฮสต์เปิดเป็นไดเร็คทอรี่พิเศษ
 
        คำสั่งแสดงปริมาณข้อมูลที่โอนย้าย
        แฟ้มข้อมูลที่มีขนาดใหญ่มักใช้เวลาการโอนย้ายนาน หากต้องการทราบว่าในขณะนั้นมีการโอนย้ายข้อมูลหรือไม่ ให้ใช้คำสั่ง  hash  ซึ่งทำหน้าที่เป็นสวิตช์ปิดเปิดสำหรับแสดงปริมาณข้อมูลให้ทราบ ทุกๆ จังหวะของการโอนย้ายแฟ้ม จะปรากฏเครื่องหมาย # ขึ้นบนหน้าจอ จำนวนสัญลักษณ์ จึงช่วยให้เราทราบได้โดยประมาณว่าการโอนย้ายได้ดำเนินไปมากน้อยเพียงใด
        คำสั่งขอความช่วยเหลือ
        โปรแกรม FTP มีคำสั่งภายในอยู่เป็นจำนวนมาก หากต้องการขอดูคำสั่งให้พิมพ์ help หรือ ? เพื่ออ่านรายละเอียดวิธีการใช้และคำสั่งต่างๆ ของโปรแกรม
        คำสั่งจบการทำงาน โปรแกรม FTP
        หากเสร็จสิ้นการโอนย้ายแฟ้มแล้ว ให้ใช้คำสั่ง quit หรือ bye เพื่อออกจากโปรแกรม FTP
    3. ข้อคำนึงถึงเมื่อใช้ โปรแกรม FTP
         บริการโอนย้ายแฟ้มข้อมูลนับเป็นบริการที่ได้รับความนิยมอย่างมาก และปัจจุบันมีศูนย์บริการโอนย้ายข้อมูลอยู่มากมาย ศูนย์บริการมักจะจำกัดจำนวนผู้เข้าขอใช้บริการ การขอบริการโอนย้ายแฟ้มข้อมูล จึงมักต้องเลือกช่วงเวลาที่เหมาะสมด้วย ศูนย์บริการบางแห่งอาจไม่ควบคุมการโอนย้ายข้อมูลมากนัก แต่บางแห่งก็มีกฏเกณฑ์ที่บอกให้ผู้ใช้ทราบก่อนเข้าไปถ่ายข้อมูลมา
 ศูนย์บริการหลายแห่งเปิดให้เข้าไปถ่ายโอนข้อมูลได้อิสระ แต่มักใช้ที่อยู่ E-Mail ของผู้ใช้บริการเป็นรหัสผ่าน และบันทึกคำสั่งทุกคำที่ใช้งานอยู่เพื่อไว้ตรวจสอบภายหลัง


ที่มา : http://ejeepss.wordpress.com/2007/06/20/packet-ftp-%E0%B8%97%E0%B8%B3%E0%B8%87%E0%B8%B2%E0%B8%99%E0%B8%AD%E0%B8%A2%E0%B9%88%E0%B8%B2%E0%B8%87%E0%B9%84%E0%B8%A3/





ไม่มีความคิดเห็น:

แสดงความคิดเห็น