Wednesday, August 14, 2013

Technology ที่เกี่ยวข้อง iSCSI Technology

Technology ที่เกี่ยวข้อง

iSCSI Technology

ปัจจุบันคอมพิวเตอร์ในองค์กรส่วนใหญ่ จะใช้คอมพิวเตอร์ระบบเครือข่ายเข้ามาจัดการกับข้อมูล การที่เราสามารถเก็บและเรียกใช้ข้อมูลได้อย่างรวดเร็วและมีเสถียรภาพตลอด เวลาโดยไม่มีปัญหาใดๆ นั่นหมายถึงการได้เปรียบและเป็นต่อทางการค้า ดังจะเห็นได้จาก เทคโนโลยีด้านการเก็บข้อมูลที่เปลียนแปลงอย่างก้าวกระโดด เมื่อเปรียบเทียบกับช่วงเวลาในอดีต ตัวอย่างเช่น เริ่มมีการใช้ Serial ATA (S-ATA) เป็นช่องทางสื่อสารระหว่าง ฮาร์ดดิสก์มีความเร็วอยู่ที่ 150 MB/sec และมีการพัฒนา Serial ATA2 (S-ATA2) ซึ่งมีความเร็วอยู่ที่ 300 MB/sec เพื่อลดปัญหาคอขวดที่เกิดกับ CPU ความเร็วสูงๆ ซึ่งมีใช้อยู่ในตลาดขณะนี้ นอกจากนี้ยังมีการใช้โครงสร้าง InfiniBand เป็นตัวเชื่อมโยงระหว่างระบบคลัสเตอริ่ง และมีการใช้เทคโนโลยีสวิตช์แบ็กเพลนแบบฝังในตัวด้วย มีการพัฒนาโครงสร้างซีเรียลบัสแบบใหม่ออกมาชื่อ PCI Express ซึ่งเป็นบัสประสิทธิภาพสูง เข้ามาแทนที่ PCI เดิม ทำให้สามารถเพิ่มความเร็วในการรับส่งข้อมูลสูงกว่า 1000 MB/sec ขึ้นไป มีอุปกรณ์แบบ Object-Based Storage Dencous (OSD) ซึ่งอุปกรณ์ประเภทนี้ จะทำงานได้อย่างชาญฉลาดและมีความยืดหยุ่นมากขึ้น นอกจากที่กล่าวไปแล้วก็ยังเทคโนโลย iSCSI ที่ออกแบบมาเพื่อรองรับการใช้ระบบจัดเก็บข้อมูลแบบ Internet Protocol(IP)อีกด้วย






What is iSCSI ?
iSCSI ย่อมาจาก Internet Small Computer System Interface ซึ่งเป็นระบบมาตรฐานการจัดเก็บข้อมูลใหม่ล่าสุดซึ่งพัฒนาโดยกลุ่มวิศวกรของ IETF (Internet Engineering Task Force)และMicrosoft เป็นระบบมาตรฐานที่ช่วยให้องค์กรสามารจัดเก็บ เรียกใช้และจัดการข้อมูลได้ จากระยะไกลๆ โดยไม่คำนึงถึงสถานที่ ซึ่งเป็นการรับ-ส่งข้อมูลข้ามเครือข่ายด้วยความเร็วที่สูง โดย iSCSI จะอนุญาตให้ ส่งคำสั่ง ( SCSI Command) ซึ่งถูกห่อหุ้มไว้ ผ่านแพ็กเก็ต TCP/IP ซึ่งเป็นโปรโตคอลหลักของระบบเน็ตเวริ์กที่ใช้กันอย่างแพร่หลายในปัจจุบันนี้ ซึ่ง iSCSI ที่ใช้ในระบบ SAN ของ Promise จะเป็นรุ่น VTrak 15200 มาพร้อมกับเทคโนโลยี PerfectRAID ช่วยเก็บ , ป้องกันการ Error ของข้อมูล และ กู้ข้อมูลกลับได้อย่างมีประสิทธิภาพมากยิ่งขึ้น ซึ่งประกอบไปด้วย 15 drive bays , 2 iSCSI , Fully redundant, มี data cache 256 MB ซี่งสามารถอัพเกรดได้ถีง 512 MB มี Power supply 2 ตัว ที่ช่วยกันทำงาน มีแบตเตอรี่สำรองไฟ 72 ชั่วโมง ช่วยให้ระบบมีเสถียรภาพมากยิ่งขี้น อุปกรณ์ต่างๆ ใน Vtrak 15200 นี้ มีคุณสมบัติ Hot Swap ในตัวทุกชิ้น กล่าวคือ สามารถถอด เข้า-ออก ได้ในขณะเปิดเครื่อง โดยที่ข้อมูลและอุปกรณ์ ไม่เสียหาย นอกจากนี้ยังสนับสนุน Parallel ATA ( optional adapter)

FTP (File Tranfer Protocol)
FTP เป็นเซอร์วิสที่ทำงานบนโปรโตคอล TCP/IP ในการติดต่อและรับส่งข้อมูลกับ client โดยใช้พอร์ต 2 พอร์ต คือ พอร์ตรับคำสั่ง และพอร์ตข้อมูล โหมดของ FTP สามารถแบ่งออกเป็น 2 โหมด คือ Active Mode และ Passive Mode ซึ่งจะมีการทำงานที่แตกต่างกัน



ใน active mode ของ FTP ไคลเอ็นต์จะเชื่อมต่อจากพอร์ตแบบสุ่มที่มีค่าพอร์ตมากกว่า 1023 มาที่พอร์ต 21 ของเซิร์ฟเวอร์ ซึ่งเป็นพอร์ตรับคำสั่ง (พอร์ต N>1023 จากรูปจะสมมติให้ N=1026) แล้วส่งคำสั่งซึ่งจะบอกให้เซิร์ฟเวอร์ทราบหมายเลขพอร์ตที่จะใช้ในการรับส่ง ข้อมูลกับเครื่องไคลเอ็นต์ (พอร์ต N+1) จากนั้นเซิร์ฟเวอร์จะตอบสนองคำสั่งโดยจะส่ง acknowledge จากพอร์ต 21 กลับไปยังพอร์ต N ของเครื่องไคลเอ็นต์ แล้วจึงทำการเชื่อมต่อจากพอร์ต 20 ซึ่งเป็นพอร์ตข้อมูลของเซิร์ฟเวอร์ไปยังพอร์จ N+1 ของเครื่องไคลเอ็นต์ ในขั้นตอนท้ายสุด ไคลเอ็นต์จะตอบสนองการเชื่อมต่อจากเซิร์ฟเวอร์โดยจะส่ง acknowledge กลับไปยังพอร์ต 20 ของเครื่องเซิร์ฟเวอร์ คำสั่งจากเครื่องไคลเอ็นต์จะส่งไปที่พอร์ต 21 ของเครื่องเซิร์ฟเวอร์ และเซิร์ฟเวอร์จะรับส่งข้อมูลกับเครื่องไคลเอ็นต์ผ่านทางพอร์ต 20
ปัญหา หลักของการทำงานในโหมดนี้ ก็คือ เครื่องไคลเอ็นต์ที่ติดตั้งไฟร์วอลล์ไว้ อาจจะไม่สามารถใช้งานได้ เนื่องจากเซิร์ฟเวอร์จะส่งข้อมูลจากพอร์ต 20 กลับไปที่พอร์ต N+1 ซึ่งพอร์ตดังกล่าวเป็นแบบสุ่ม ซึ่งโดยทั่วไปมักจะบล็อคไว้
วิธีแก้ไข คือจะต้อง allow packet ทั้งหมดที่มาจากพอร์ต 20 ของเครื่องภายนอก แต่วิธีนี้ก็อาจทำให้เกิดผลกระทบต่อความปลอดภัยภายในองค์กรอีกเช่นเดียวกัน
เพื่อแก้ปัญหาดังกล่าว จึงมีการพัฒนารูปแบบการเชื่อมต่อของ FTP ขึ้นมาอีกแบบหนึ่งซึ่งเรียกว่า Passive Mode
หลักการทำงานในโหมดนี้ ก็คือ


การ ทำงานในโหมดนี้จะเริ่มจากไคลเอ็นต์เชื่อมต่อจากพอร์ตแบบสุ่ม N>1023 ไปที่พอร์ต 21 ของเครื่องเซิร์ฟเวอร์ และส่งคำสั่ง PASV ไปที่เซิร์ฟเวอร์
เมื่อ เซิร์ฟเวอร์ได้รับคำสั่งจะสุ่มพอร์ตสำหรับใช้เป็นพอร์ตข้อมูล สมมติให้เป็นพอร์ต P>1023 จากรูป พอร์ต P=2024 จากนั้นเซิร์ฟเวอร์จะส่งหมายเลขพอร์ต P ดังกล่าวกลับไปที่พอร์ต N ของเครื่องไคลเอ็นต์
เมื่อเครื่องไคลเอ็นต์รับทราบ ไคลเอ็นต์จะเชื่อมต่อจากพอร์ต N+1 ไปที่พอร์ต P ของเครื่องเซิร์ฟเวอร์ จากนั้นเซิร์ฟเวอร์จะส่ง Acknowledge กลับไปยังพอร์ต N+1 ของเครื่องไคลเอ็นต์ คำสั่งจากเครื่องไคลเอ็นต์จะส่งไปที่พอร์ต 21 ของเครื่องเซิร์ฟเวอร์ และเซิร์ฟเวอร์จะรับส่งข้อมูลกับไคลเอ็นต์ผ่่านทางพอร์ต P ที่เซิร์ฟเวอร์สุ่มขึ้นมา
ถึงตรงนี้ ก็คงจะเห็นภาพกันแล้วว่าใน Passive Mode การเชื่อมต่อจะเริ่มจาก client ก่อนเสมอ จึงขจัดปัญหาเรื่องไฟร์วอลล์ในส่วนของไคลเอ็นต์ไป แต่คำถามต่อมาก็คือ แล้วเซิร์ฟเวอร์ล่ะ จะควบคุมนโยบายและกฎเกณฑ์ต่างๆ ของไฟร์วอลล์ได้อย่างไร ในเมื่อพอร์ตที่ใช้เป็นพอร์ตข้อมูลเป็นพอร์ตแบบสุ่มซึ่งมากกว่า 1023 แต่เป็นพอร์ตอะไรก็ได้ จะต้อง allow ทุกพอร์ตที่มีค่ามากกว่า 1023 เลยอย่างนั้นหรือ
คำตอบ คือ ไม่จำเป็นครับ เพราะ FTP Server แต่ละค่าย ก็จะมีวิธีในการกำหนด port range ที่จะใช้ในการสุ่มเป็นพอร์ตข้อมูลในการทำงานแบบ Passive Mode อยู่แล้ว แต่วิธีการก็จะแตกต่างกันไป ตามแต่ละค่าย ทีนี้เราก็แค่ allow เฉพาะพอร์ตที่อยู่ใน port range ที่เรากำหนดไว้เท่านั้น

0 comments:

Post a Comment