Monday, June 16, 2008

สถาปัตยกรรม OSI

สถาปัตยกรรมเครือข่ายรูปแบบ OSI

ในปี ค.ศ.1977 องค์กร ISO (International Organization for Standard) ได้จัดตั้งคณะกรรมการขึ้นกลุ่มหนึ่ง เพื่อทำการศึกษาจัดรูปแบบมาตรฐาน และพัฒนาสถาปัตยกรรมเครือข่าย และในปี ค.ศ.1983 องค์กร ISO ก็ได้ออกประกาศรูปแบบของสถาปัตยกรรมเครือข่ายมาตรฐานในชื่อของ "รูปแบบ OSI" (Open Systems Interconnection Model) เพื่อใช้เป็นรูปแบบมาตรฐานในการเชื่อมต่อระบบคอมพิวเตอร์ อักษร "O" หรือ " Open" ก็หมายถึง การที่คอมพิวเตอร์หรือระบบคอมพิวเตอร์หนึ่งสามารถ "เปิด" กว้างให้ คอมพิวเตอร์หรือระบบคอมพิวเตอร์อื่นที่ใช้มาตรฐาน OSI เหมือนกันสามารถติดต่อไปมาหาสู่ระหว่างกันได้

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

1.ไม่แบ่งโครงสร้างออกเป็นเลเยอร์ ๆ มากจนเกินไป
2.แต่ละเลเยอร์จะต้องมีหน้าที่การทำงานแตกต่างกันทั้งขบวนการและเทคโนโลยี
3.จัดกลุ่มหน้าที่การทำงานที่คล้ายกันให้อยู่ในเลเยอร์เดียวกัน
4.เลือกเฉพาะการทำงานที่เคยใช้ได้ผลประสบความสำเร็จมาแล้ว
5.กำหนดหน้าที่การทำงานเฉพาะง่าย ๆ แก่เลเยอร์ เผื่อว่าต่อไปถ้ามีการออกแบบเลเยอร์ใหม่ หรือมีการเปลี่ยนแปลงโปรโตคอลใหม่ในอันที่จะทำให้สถาปัตยกรรมมีประสิทธิภาพดียิ่งขึ้น จะไม่มีผลทำให้อุปกรณ์ ฮาร์ดแวร์ และซอฟต์แวร์ที่เคยใช้ได้ผลอยู่เดิมจะต้องเปลี่ยนแปลงตาม
6.กำหนดอินเตอร์เฟซมาตรฐาน
7.ให้มีความยืดหยุ่นในการเปลี่ยนแปลงโปรโตคอลในแต่ละเลเยอร์
8.สำหรับเลเยอร์ย่อยของแต่ละเลเยอร์ให้ใช้หลักเกณฑ์เดียวกันกับที่กล่าวมาใน 7 ข้อแรก


โครงสร้างของสถาปัตยกรรมรูปแบบ OSI

สามารถการแบ่งออกเป็น 7 เลเยอร์ และในแต่ละเลเยอร์ได้มีการกำหนดหน้าที่การทำงานไว้ดังต่อไปนี้

1.เลเยอร์ชั้น Physical เป็นชั้นล่างสุดของการติดต่อสื่อสาร ทำหน้าที่ส่ง-รับข้อมูลจริง ๆ จากช่องทางการสื่อสาร (สื่อกลาง) ระหว่างคอมพิวเตอร์เครื่องหนึ่งกับคอมพิวเตอร์เครื่องอื่น ๆ มาตรฐานสำหรับเลเยอร์ชั้นนี้จะกำหนดว่าแต่ละคอนเนคเตอร์ (Connector) เช่น RS-232-C มีกี่พิน (PIN) แต่ละพินทำหน้าที่อะไรบ้าง ใช้สัญญาณไฟกี่โวลต์ เทคนิคการมัลติเพล็กซ์แบบต่าง ๆ ก็จะถูกกำหนดอยู่ในเลเยอร์ชั้นนี้

2. เลเยอร์ชั้น Data Link จะเป็นเสมือนผู้ตรวจสอบ หรือควบคุมความผิดพลาดในข้อมูลโดยจะแบ่งข้อมูลที่จะส่งออกเป็นแพ็กเกจหรือเฟรม ถ้าผู้รับได้รับข้อมูลถูกต้องก็จะส่งสัญญาณยืนยันกลับว่าได้รับข้อมูลแล้ว เรียกว่าสัญญาณ ACK (Acknowledge) ให้กับผู้ส่ง แต่ถ้าผู้ส่งไม่ได้รับสัญญาณ ACK หรือได้รับสัญญาณ NAK (Negative Acknowledge) กลับมา ผู้ส่งก็อาจจะทำการส่งข้อมูลไปให้ใหม่ อีกหน้าที่หนึ่งของเลเยอร์ชั้นนี้คือป้องกันไม่ให้เครื่องส่งทำการส่งข้อมูลเร็วจนเกิดขีดความสามารถขเเครื่องผู้รับจะรับข้อมูลได้

3. เลเยอร์ชั้น Network เป็นชั้นที่ออกแบบหรือกำหนดเส้นทางการเดินทางของข้อมูลที่ส่ง-รับในการส่งผ่าน ข้อมูลระหว่างต้นทางและปลายทาง ซึ่งแน่นอนว่าในการสื่อสารข้อมูลผ่านเครือข่ายการสื่อสารจะต้องเส้นทางการรับ-ส่งข้อมูลมากกว่า 1 เส้นทาง ดังนั้นเลเยอร์ชั้น Network นี้จะมีหน้าที่เลือกเส้นทางที่ใช้เวลาในการสื่อสารน้อยที่สุด และระยะทางสั้นที่สุดด้วย ข่าวสารที่รับมาจากเลเยอร์ชั้นที่ 4 จะถูกแบ่งออกเป็นแพ็กเกจ ๆ ในชั้นที่ 3 นี้

4. เลเยอร์ชั้น Transport บางครั้งเรียกว่า เลเยอร์ชั้น Host-to-Host หรือเครื่องต่อเครื่อง และจากเลเยอร์ชั้นที่ 4 ถึงชั้นที่ 7 นี้รวมกันจะเรียกว่า เลเยอร์ End-to-End ในเลเยอร์ชั้น Transport นี้เป็นการสื่อสารกันระหว่างต้นทางและปลายทาง (คอมพิวเตอร์กับคอมพิวเตอร์) กันจริง ๆ เลเยอร์ชั้น Transport จะทำหน้าที่ตรวจสอบว่าข้อมูลที่ส่งมาจากเลเยอร์ชั้น Session นั้นไปถึงปลายทางจริง ๆ หรือไม่ ดังนั้นการกำหนดตำแหน่งของข้อมูล (Address) จึงเป็นเรื่องสำคัญในชั้นนี้ เนื่องจากจะต้องรับรู้ว่าใครคือผู้ส่ง และใครคือผู้รับข้อมูลนั้น

5. เลเยอร์ชั้น Session ทำหน้าที่เชื่อมโยงระหว่างผู้ใช้งานกับคอมพิวเตอร์เครื่องอื่น ๆ โดยผู้ใช้จะใช้คำสั่งหรือข้อความที่กำหนดไว้ป้อนเข้าไปในระบบ ในการสร้างการเชื่อมโยงนี้ผู้ใช้จะต้องกำหนดรหัสตำแหน่งของจุดหมายปลายทางที่ต้องการติดต่อสื่อสารด้วย เลเยอร์ชั้น Session จะส่งข้อมูลทั้งหมดให้กับเลเยอร์ชั้น Transport เป็นผู้จัดการต่อไป ในบางเครือข่ายทั้งเลเยอร์ Session และเลเยอร์ Transport อาจจะเป็นเลเยอร์ชั้นเดียวกัน

6. เลเยอร์ชั้น Presentation ทำหน้าที่เหมือนบรรณารักษ์ กล่าวคือคอยรวบรวมข้อความ (Text) และแปลงรหัส หรือแปลงรูปของข้อมูลให้เป็นรูปแบบการสื่อสารเดียวกัน เพื่อช่วยลดปัญหาต่าง ๆ ที่อาจจะเกิดขึ้นกับผู้ใช้งานในระบบ

7. เลเยอร์ชั้น Application เป็นเลเยอร์ชั้นบนสุดของรูปแบบ OSI ซึ่งเป็นชั้นที่ใช้ติดต่อกันระหว่างผู้ใช้โดยตรงซึ่งได้แก่ โฮสต์คอมพิวเตอร์ เทอร์มินัลหรือคอมพิวเตอร์ PC เป็นต้น แอปพลิเคชันในเลเยอร์ชั้นนี้สารมารถนำเข้า หรือออกจากระบบเครือข่ายได้โดยไม่จำเป็นต้องสนใจว่าจะมีขั้นตอนการทำงานอย่างไร เพราะจะมีเลเยอร์ชั้น Presentation เป็นผู้รับผิดชอบแทนอยู่แล้ว ในรูปแบบ OSI เลเยอร์นั้น Application จะทำการติดต่อกับเลเยอร์ชั้น Presentation โดยตรงเท่านั้น

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

No comments: