วันพุธที่ 2 กุมภาพันธ์ พ.ศ. 2554

บทที่ 7 เรื่องOSI Model

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



จึงได้เกิดหน่วยงานกำหนดมาตรฐานสากลขึ้นคือ International Standards Organization ขึ้นและทำการกำหนดโครงสร้างทั้งหมดที่จำเป็นต้องใช้ในการสื่อสารข้อมูลและเป็นระบบเปิด เพื่อให้ผู้ผลิตต่างๆสามารถแยกผลิตในส่วนที่ตัวเองถนัด แต่สามารถนำไปใช้ร่วมกันได้ ระบบเครือข่ายคอมพิวเตอร์สมัยใหม่จะถูกออกแบบให้มีโครงสร้างทีแน่นอน และเพื่อเป็นการลดความซับซ้อน ระบบเครือข่ายส่วนมากจึงแยกการทำงานออกเป็นชั้นๆ (layer) โดยกำหนดหน้าที่ในแต่ละชั้นไว้อย่างชัดเจน แบบจำลองสำหรับอ้างอิงแบบ OSI (Open System Interconnection Reference Model) หรือที่นิยมเรียกกันทั่วไปว่า OSI Reference Model ของ ISO เป็นแบบจำลองที่ถูกเสนอและพัฒนาโดยองค์กร International Standard Organization (ISO) โดยจะบรรยายถึงโครงสร้างของสถาปัตยกรรมเครือข่ายในอุดมคติ ซึ่งระบบเครือข่ายที่เป็นไปตามสถาปัตยกรรมนี้จะเป็นระบบเครือข่ายแบบเปิด และอุปกรณ์ทางเครือข่ายจะสามารถติดต่อกันได้โดยไม่ขึ้นกับว่าเป็นอุปกรณ์ของผู้ขายรายใด
แบบจำลอง OSI

แบบจำลอง OSI จะแบ่งการทำงานของระบบเครือข่ายออกเป็น 7 ชั้น  ตามรูปด้านล่าง (OSI Model 7 Layer Reference Model) คือ



แต่ละชั้นของแบบการสื่อสารข้อมูลเรียกว่า Layer ประกอบด้วย Layer ย่อยๆทั้งหมด7 Layerแต่ละชั้นทำหน้าที่รับส่งข้อมูลกับชั้นที่อยู่ติดกับตัวเองเท่านั้นจะไม่ติดต่อกระโดดข้ามไปยังชั้นอื่นๆเช่น Layer 6จะติดต่อกับ Layer5 และ Layer7 เท่านั้นและการส่งข้อมูลจะทำไล่จาก Layer7 ลงมาจนถึง Layer1 ซึ่งเป็นชั้นที่มีการเชื่อมต่อทางกายภาพ จากนั้นข้อมูลจะถูกส่งไปยังเครื่องผู้รับปลายทางโดยเริ่มจาก Layer1 ข้อมูลก็จะถูกถอดรหัส และส่งขึ้นไปตาม Layer จนถึง Layer7 ก็จะประกอบกลับมาเป็นข้อมูล นำไปส่งให้ application นำไปใช้แสดงผลต่อไป

OSI Model ได้แบ่ง ตามลักษณะของออกเป็น 2 กลุ่มใหญ่ ได้แก่

Application-oriented Layers เป็น 4 Layer ด้านบนคือ Layer ที่ 7,6,5,4 ทำหน้าที่เชื่อมต่อรับส่งข้อมูลระหว่างผู้ใช้กับโปรแกรมประยุกต์ เพื่อให้รับส่งข้อมูลกับฮาร์ดแวร์ที่อยู่ชั้นล่างได้อย่างถูกต้อง ซึ่งจะเกี่ยวข้องกับซอฟแวร์เป็นหลัก

Network-dependent Layers เป็น 3 Layers ด้านล่าง ทำหน้าที่เกี่ยวกับการรับส่งข้อมูลผ่านสายส่ง และควบคุมการรับส่งข้อมูล.ตรวจสอบข้อผิดพลาด รวมทั้งเลื่อกเส้นทางที่ใช้ในการรับส่ง ซึ่งจะเกี่ยวข้องกับฮาร์ดแวร์เป็นหลัก ทำให้ใช้ผลิตภัณฑ์ต่างบริษัทกันได้อย่างไม่มีปัญหา



การส่งผ่านข้อมูลระหว่างชั้น
เมื่อ computer A ต้องการส่งข้อมูลไปยัง computer B จะมีกระบวนการทำงานต่างๆ ตามลำดับดังนี้

1.ข้อมูลจาก Layer 7,6,5 จะถูกนำมาหั่นเป็นท่อนๆ แล้วใส่ข้อมูลบางอย่างตอ่เพิ่มเข้าไปในส่วนหัว เรียกว่า Header เพื่อใช้ในการบันทึกข้อมูลที่จำเป็นเช่น หมายเลข port ต้นทางและหมายเลข port ปลายทาง กลายมาเป็นก้อนข้อมูล(Segment) ใน Layer4 ซึ่งเรียกว่า TCP Segment

2.จากนั้นข้อมูล Layer4 จะถูกส่งผ่านลงไปยัง Layer3 และจะถูกใส่ Header อีกซึ่งเป็นการเพิ่ม header เป็นชั้นๆ เรียกว่า การ Encapsulate ซึ่งในส่วนนี้จะเหมือนกับการเอาเอกสารใส่ซองจดหมายแล้วจ่าหน้าซองระบุผู้ส่งและผู้รับ คือเป็นการบันทึกหมายเลข ip address ของโฮสต์ต้นทางและโฮสต์ปลายทางไว้ด้วย เมื่อการ encapsulate เสร็จสิ้นจะได้ก้อนข้อมูลที่เรียกว่า packet

3.จากนั้น packet ของข้อมูลจะถูกส่งผ่านไปยังระดับล่างอีก คือส่งไปให้ Layer2 ในชั้นนี้ข้อมูลจะถูกใส่ header เพิ่มเข้าไปที่ส่วนหัวเพื่อเก็บ MAC Address ของต้นทางและปลายทาง และยังมีการใส่ข้อมูล่ต่อเพิ่มเข้าไปในส่วนหางด้วย ข้อมูลที่ต่อเพิ่มไปในส่วนหางนี้เรียกว่า Trailer จึงรวมกันกลายเป็นก้อนข้อมูลของ Layer2 ที่เรียกว่า Frame

4.จากนั้น Frame ข้อมูลจะถูกแปลงให้กลายเป็น bit ของข้อมูลเพื่อส่งไปตามสื่อเข่นสาย UTP,Fiber ต่อไป การส่งสัญญาณทางไฟฟ้าไปตามสื่อต่างๆนี้ เป็นการทำงานในระดับ Layer1 เรียกว่า Physical Layer



หน้าที่ของแต่ละ Layer

Layer7, Application Layer
เป็นชั้นที่อยู่บนสุดของขบวนการรับส่งข้อมูล ทำหน้าที่ติดต่อกับผู้ใช้ โดยจะรับคำสั่งต่างๆจากผู้ใช้ส่งให้คอมพิวเตอร์แปลความหมาย และทำงานตามคำสั่งที่ได้รับในระดับโปรแกรมประยุกต์ เช่นแปลความหมายของการกดปุ่มเมาส์ให้เป็นคำสั่งในการก็อปปี้ไฟล์ หรือดึงข้อมุลมาแสดงผลบนหน้าจอเป็นต้น
ตัวอย่างของ protocol ในชั้นนี้คือ Web Browser,HTTP,FTP,Telnet,WWW,SMTP,SNMP,NFS เป็นต้น

Layer6, Presentation Layer
เป็นชั้นที่ทำหน้าที่ตกลงกับคอมพิวเตอร์อีกด้านหนึ่งในชั้นเดียวกันว่า การรับส่งข้อมูลในระดับโปรแกรมประยุกต์จะมีขั้นตอนและข้อบังคับอย่างไร จุดประสงค์หลักของ Layer นี้คือ กำหนดรูปแบบของการสื่อสาร อย่างเช่น ASCII Text,EBCDIC,Binary และ JPEG รวมถึงการเข้ารหัส (Encription)ก็รวมอยู่ใน Layer นี้ด้วย ตัวอย่างเช่น โปรแกรม FTP ต้องการรับส่งโอนย้ายไฟล์กับเครื่อง server ปลายทาง โปรโตคอล FTP จะอนุญาติให้ผู้ใช้ระบุรูปแบบของข้อมูลที่โอนย้ายกันได้ว่าเป็นแบบ ASCII text หรือแบบ binary
ตัวอย่างของ protocol ในชั้นนี้คือ JPEG,ASCII,Binary,EBCDICTIFF,GIF,MPEG,Encription เป็นต้น


Layer5, Session Layer
เป็น Layer ที่ควบคุมการสื่อสารจากต้นทางไปยังปลายทางแบบ End to End และคอยควบคุมช่องทางการสื่อสารในกรณีที่มีหลายๆ โปรเซสต้องการรับส่งข้อมูลพร้อมๆกันบนเครื่องเดียวกัน (ทำงานคล้ายๆเป็นหน้าต่างคอยสลับเปิดให้ข้อมูลเข้าออกตามหมายเลขช่อง(port)ที่กำหนด) และยังให้อินเตอร์เฟซสำหรับ Application Layer ด้านบนในการควบคุมขั้นตอนการทำงานของ protocol ในระดับ transport/network เช่น socket ของ unix หรือ windows socket ใน windows ซึ่งได้ให้ Application Programming Interface (API) แก่ผู้พัฒนาซอฟแวร์ในระดับบนสำหรับการเขียนโปรแกรมเพื่อควบคุมการทำงานของ protocol TCP/IP ในระดับล่าง และทำหน้าที่ควบคุม "จังหวะ" ในการรับส่งข้อมูล ของทั้ง 2ด้านให้มีความสอดคล้องกัน (syncronization) และกำหนดวิธีที่ใช้รับส่งข้อมูล เช่นอาจจะเป็นในลักษณะสลับกันส่ง (Half Duplex) หรือรับส่งไปพร้อมกันทั้ง2ด้าน (Full Duplex) ข้อมูลที่รับส่งกันใน Layer5 นี้จะอยู่ในรูปของ dialog หรือประโยคข้อมูลที่สนทนาโต้ตอบกันระหว่างต้านรับและด้านที่ส่งข้อมูล ไม่ได้มองเป็นคำสั่งอย่างใน Layer6 เช่นเมื่อผู้รับได้รับข้อมูลส่วนแรกจากผู้ส่ง ก็จะตอบกลับไปให้ผู้ส่งรู้ว่าได้รับข้อมูลส่วนแรกเรียบร้อยแล้ว และพร้อมที่จะรับข้อมูลส่วนต่อไป คล้ายกับเป็นการสนทนาตอบโต้กันระหว่างผู้รับกับผู้ส่งนั่นเอง เป็น Layer ที่มีหน้าที่หลักในการแบ่งข้อมูลใน Layer บนให้พอเหมาะกับการจัดส่งไปใน Layer ล่าง ซึ่งการแบ่งข้อมูลนี้เรียกว่า Segmentation ,ทำหน้าที่ประกอบรวมข้อมูลต่างๆที่ได้รับมาจาก Layer ล่าง และให้บริการตรวจสอบและแก้ไขปัญหาเมื่อเกิดข้อผิดพลาดขึ้นระหว่างการส่ง(error recovery) ทำหน้าที่ยืนยันว่าข้อมูลได้ถูกส่งไปถึงยังเครื่องปลายทางและได้รับข้อมูลถูกต้องเรียบร้อยแล้ว
หน่วยของข้อมูลที่ถูกแบ่งแล้วนี้เรียกว่า Segment

Layer4,Transport Layer
เป็น Layer ที่มีหน้าที่หลักในการแบ่งข้อมูลใน Layer บนให้พอเหมาะกับการจัดส่งไปใน Layer ล่าง ซึ่งการแบ่งข้อมูลนี้เรียกว่า Segmentation ,ทำหน้าที่ประกอบรวมข้อมูลต่างๆที่ได้รับมาจาก Layer ล่าง และให้บริการตรวจสอบและแก้ไขปัญหาเมื่อเกิดข้อผิดพลาดขึ้นระหว่างการส่ง(error recovery) ทำหน้าที่ยืนยันว่าข้อมูลได้ถูกส่งไปถึงยังเครื่องปลายทางและได้รับข้อมูลถูกต้องเรียบร้อยแล้ว
หน่วยของข้อมูลที่ถูกแบ่งแล้วนี้เรียกว่า Segment     ตัวอย่างของ protocol ในชั้นนี้คือ TCP,UDP,SPX

Layer3,Network Layer
เป็น Layer ที่มีหน้าที่หลักในการส่ง packet จากเครื่องต้นทางให้ไปถีงปลายทางด้วยความพยายามที่ดีที่สุด (best effort delivery) layer นี้จะกำหนดให้มีการตั้ง logical address ขึ้นมาเพื่อใช้ระบุตัวตน ตัวอย่างของ protocol นี้เช่น IP และ logical address ที่ใช้คือหมายเลข ip นั่นเอง layer นี้ส่วนใหญ่เกี่ยวข้องกับอุปกรณ์ฮาร์ดแวร์ซึ่งที่ทำงานอยูบน Layer นี้คือ router นั่นเอง
protocol ที่ทำงานใน layer นี้จะไม่ทราบว่าpacketจริงๆแล้วไปถึงเครื่องปลายทางหรือไม่ หน้าที่ยืนยันว่าข้อมูลได้ไปถึงปลายทางจริงๆแล้วคือหน้าที่ของ Transport Layer นั่นเอง ซึ่ง หน่วยของ layer นี้คือ packet รับผิดชอบในการส่งข้อมูลบน network แต่ละประเภทเช่น Ethernet,Token ring,FDDI, หรือบน WAN ต่างๆ ดูแลเรื่องการห่อหุ้มข้อมูลจาก layer บนเช่น packet ip ไว้ภายใน Frame และส่งจากต้นทางไปยังอุปกรณ์ตัวถัดไป layer นี้จะเข้าใจถึงกลไกและอัลกอริทึ่มรวมทั้ง format จอง frame ที่ต้องใช้ใน network ประเภทต่างๆเป็นอย่างดี ในnetworkแบบEthernet layer นี้จะมีการระบุหมายเลข address ของเครื่อง/อุปกรณ์ต้นทางกับเครื่อง/อุปกรณ์ปลาทางด้วย hardware address ที่เรียกว่า MAC Address
MAC Address เป็น address ที่ฝังมากับอุปกรณ์นั้นเลยไม่สามารถเปลี่ยนเองได้ MAC Address เป็นตัวเลขขนาด 6 byte, 3 byte แรกจะได้รับการจัดสรรโดยองค์กรกลาง IEEE ให้กับผู้ผลิตแต่ละราย ส่วนตัวเลข 3 byte หลังทางผู้ผลิตจะเป็นผู้กำหนดเอง
หน่วยของ layer นี้คือ Frame

Layer2, Data Link Layer
รับผิดชอบในการส่งข้อมูลบน network แต่ละประเภทเช่น Ethernet,Token ring,FDDI, หรือบน WAN ต่างๆ ดูแลเรื่องการห่อหุ้มข้อมูลจาก layer บนเช่น packet ip ไว้ภายใน Frame และส่งจากต้นทางไปยังอุปกรณ์ตัวถัดไป layer นี้จะเข้าใจถึงกลไกและอัลกอริทึ่มรวมทั้ง format จอง frame ที่ต้องใช้ใน network ประเภทต่างๆเป็นอย่างดี ในnetworkแบบEthernet layer นี้จะมีการระบุหมายเลข address ของเครื่อง/อุปกรณ์ต้นทางกับเครื่อง/อุปกรณ์ปลาทางด้วย hardware address ที่เรียกว่า MAC Address
MAC Address เป็น address ที่ฝังมากับอุปกรณ์นั้นเลยไม่สามารถเปลี่ยนเองได้ MAC Address เป็นตัวเลขขนาด 6 byte, 3 byte แรกจะได้รับการจัดสรรโดยองค์กรกลาง IEEE ให้กับผู้ผลิตแต่ละราย ส่วนตัวเลข 3 byte หลังทางผู้ผลิตจะเป็นผู้กำหนดเอง
หน่วยของ layer นี้คือ Frame

Layer1, Physical Layer
Layer นี้เป็นการกล่าวถึงข้อกำหนดมาตรฐานคุณสมบัติทางกายภาพของฮาร์ดแวร์ที่ใช้เชื่อมต่อระหว่างคอมพิวเตอร์ทั้ง2ระบบ  สัญญาณทางไฟฟ้าและการเชื่อมต่อต่างๆของสายเคเบิล,Connectorต่างๆ เช่นสายที่ใช้รับส่งข้อมูลเป็นแบบไหน ข้อต่อหรือปลั๊กที่ใช้มีมาตรฐานอย่างไร ใช้ไฟกี่โวลต์ ความเร็วในการรับส่งเป็นเท่าไร สัญญาณที่ใช้รับส่งข้อมูลมีมาตรฐานอย่างไร Layer1 นี้จะมองเห็นข้อมูลเป็นการรับ-ส่งที่ละ bit เรียงต่อกันไปโดยไม่มีการพิจารณาเรื่องความหมายของข้อมูลเลย การรับส่งจะเป็นในรูป 0 หรือ 1 หากการรับส่งข้อมูลมีปัญหาเนื่องจากฮาร์ดแวร์ เช่นสายขาดก็จะเป็นหน้าที่ของ Layer1 นี้ที่จะตรวจสอบและแจ้งข้อผิดพลาดนั้นให้ชั้นอื่นๆที่อยู่เหนือขึ้นไปทราบ
หน่วยของ layer นี้คือ bits

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

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