by 13:35 0 ความคิดเห็น





OSI MODEL 7 LAYERS


OSI Model


        องค์กรมาตรฐานระหว่างประเทศ (The International Organization for Standardization) หรือที่เราเรียกย่อๆว่า ISO (ไอโซ่) ได้พัฒนา Model ของการทำงานบนระบบเครือข่ายขึ้นมาเป็นมาตรฐานกลางในปัจจุบันใช้เพื่ออ้างอิงการสื่อสารและเปรียบเทียบการทำงานบนเครือข่าย ผู้ผลิตหลายๆบริษัทที่ผลิตอุปกรณ์หรือ software ต่างๆขึ้นมาก็จะต้องผลิตตามมาตรฐานที่กำหนดขององค์ที่ดูแลในแต่ละส่วน ซึ่ง Model นี้ก็ถูกนำมาใช้มาเปรียบเทียบเพื่อให้เข้าใจและอธิบายการทำงานของแต่ละส่วนได้ง่ายขึ้น
       ยกตัวอย่างของคำว่ามาตรฐานให้ดูง่ายๆ เช่น เวลาขับรถเกียร์ออโต้ เราเข้าไปที่เกียร์ D ก็คือ ไปข้างหน้า เข้าไปที่เกียร์ R ก็ถอยหลัง ไม่ว่าเราจะซื้อยี่ห้อไหนมา ก็จะถูกออกแบบให้เป็นมาตรฐานเดียวกันและ Model ที่ผมพูดถึงนี้เรียกว่า Open System Interconnection (OSI)
        OSI Model เป็นเพียง Model ที่ใช้อ้างอิงในการสื่อสารเท่านั้น ปัจจุบันโลกเครือข่ายเราใช้งานบน TCP/IP เป็นหลัก แต่ที่ยังพูดถึง OSI Model เพราะว่า การแบ่งเป็น Layer ของมันสามารถมองเป็นภาพกว้างของการทำงานบนเครือข่ายในแต่ละส่วนได้ เพื่อมาใช้ในการสอน ในการอธิบาย และในการแก้ปัญหาได้ง่ายขึ้น

        OSI Model ใช้อ้างอิงการสื่อสาร (Reference Model) แบ่งออกเป็นชั้น (Layer) โดยมีตั้งแต่ชั้นที่ 1 ถึงสวรรค์ชั้น 7 (Layer 1 – 7) โดย Layer 1 จะอยู่ด้านล่างสุด และเรียงขึ้นไปจนถึง Layer 7 แต่ละ Layer ก็มีชื่อเรียกตามรูปแบบการสื่อสารและการทำงานของมันในแต่ละชั้นนั่นเอง 


บน OSI Model ก็จะแบ่งเป็น 2 กลุ่มใหญ่ คือ 
ตั้งแต่ Layer 1 – 4 เรียกว่า Lower Layer
ตั้งแต่ Layer 5 – 7 เรียกว่า Upper Layer





        โดยส่วนมากเราจะวุ่นวายกันอยู่ที่ Lower Layer มากกว่า Upper Layer ใครที่ทำงานเป็น Network Engineer จะมองภาพออกว่า เราจะยุ่งอยู่กับ Lower Layer มากกว่า



Layer 1 (Physical Layer)            TOP
        เป็นชั้นล่างสุดจะมีการกำหนดคุณสมบัติทางกายภาพของฮาร์ดแวร์ที่ใช้เชื่อมต่อระหว่างคอมพิวเตอร์ทั้งสองระบบ เช่น
สายที่ใช้รับส่งข้อมูลจะเป็นแบบไหน
  • ข้อต่อที่ใช้ในการรับส่งข้อมูลมีมาตรฐานอย่างไร 
  • ความเร็วในการรับส่งข้อมูลเท่าใด 
  • สัญญาณที่ใช้ในการรับส่งข้อมูลมีรูปร่างอย่างไร 
  • ใช้แรงดันไฟฟ้าเท่าไหร่ 
ข้อมูลใน Layer ที่ 1 นี้จะมองเห็นเป็นการรับส่งข้อมูลทีละบิตเรียงต่อกันไป


        จากรูปแสดงถึงการส่งข้อมูลบน Physical layer แสดงให้เห็นว่า ข้อมูลจะมาเป็นอย่างไรก็ตาม ก็จะถูกแปลงเป็นสัญญาณเพื่อส่งไปยังปลายทางแล้วฝั่งปลายทางก็จะนำสัญญาณที่รับมาแปลงกลับเป็นข้อมูลเพื่อส่งให้เครื่อง Client ต่อไปยังไม่ได้พูดถึงการส่งข้อมูลบน OSI นะครับ เอาไว้รอบหน้า ตรงนี้ผมอยกขึ้นมาเพื่อให้เห็นภาพเบื้องต้น
        เพราะฉะนั้นอุปกรณ์ต่างๆที่มีความสามารถในการนำพาสัญญาณไป ก็พวก Card LAN (NIC) , สาย UTP , สาย Fiber หรือพวก เต้าเสียบ หัวต่อต่างๆ RJ45 , RJ11 , RS323 ก็จัดอยู่ใน Physical Layer


Layer 2 (Data-Link Layer)            TOP
        เป็นชั้นที่ทำหน้ากำหนดรูปแบบของการส่งข้อมูลข้าม Physical Network โดยใช้ Physical Address อ้างอิงที่อยู่ต้นทางและปลายทาง ซึ่งก็คือ MAC Address นั่นเอง รวมถึงทำการตรวจสอบและจัดการกับ error ในการรับส่งข้อมูล ข้อมูลที่ถูกส่งบน Layer 2 เราจะเรียกว่า Frame ซึ่งบน Layer 2 ก็จะแบ่งเป็น LAN และ WAN ซึ่ง ปัจจุบัน บน Layer 2 LAN เรานิยมใช้เทคโนโลยีแบบ Ethernet มากที่สุด ส่วน WAN ก็จะมีหลายแบบแตกต่างกันไป เช่น Lease Line (HDLC , PPP) , MPLS , 3G และอื่นๆ

                           

                               



สำหรับ LAN ยังมีการแบ่งย่อยออกเป็น 2 sublayers คือ 
  • Logical Link Control (LLC)
        IEEE 802.2 ซึ่งจะให้บริการกับ Layer ด้านบนในการเข้าใช้สัญญาณใน การรับ-ส่งข้อมูล ตามมาตรฐาน IEEE802 แล้ว จะอนุญาตให้สถาปัตยกรรมของ LAN ที่ต่างกันสามารถทำงานร่วมกันได้ หมายความว่า Layer ด้านบนไม่จำเป็นต้องทราบว่า Physical Layer ใช้สายสัญญาณประเภทใดในการรับ-ส่งข้อมูล เพราะ LLC จะรับผิดชอบในการปรับ Frame ข้อมูลให้สามารถส่งไปได้ในสายสัญญาณประเภทนั้นได้ และไม่จำเป็นต้องสนใจว่าข้อมูลจะส่งผ่านเครือข่ายแบบไหน เช่น Ethernet , Token Ring บลาๆๆ และไม่จำเป็นต้องรู้ว่าการส่งผ่านข้อมูลใน Physical Layer จะใช้การรับส่งข้อมูล แบบใด LLC จะเป็นผู้จัดการเรื่องเหล่านี้ได้ทั้งหมด
  • Media Access Control (MAC)
        IEEE 802.3 ใช้ควบคุมการติดต่อสื่อสารกับ Layer 1 และรับผิดชอบในการรับ-ส่งข้อมูลให้สำเร็จและถูกต้อง โดยมีการระบุ MAC Address ของอุปกรณ์เครือข่าย ซึ่งใช้อ้างอิงในการส่งข้อมูลจากต้นทางไปยังปลายทาง เช่น จากต้นทางส่งมาจาก MAC Address หมายเลข AAAA:AAAA:AAAA ส่งไปหาปลายทางหมายเลข BBBB:BBBB:BBBB เมื่อปลายทางได้รับข้อมูลก็จะรู้ว่าใครส่งมา เพื่อจะได้ตอบกลับไปถูกต้อง

                               

        บน Ethernet (IEEE802.3) เมื่อมันมีหน้าที่ในการรับผิดชอบการรับ-ส่งข้อมูลให้สำเร็จและถูกต้อง มันจึงมีการตรวจสอบข้อผิดพลาดในการส่งข้อมูลด้วย ที่เราเรียกว่า Frame Check Sequence (FCS) และยังตรวจสอบกับ Physical ด้วยว่าช่องสัญญาณพร้อมสำหรับส่งข้อมูลไหม ถ้าว่างก็ส่งได้ ถ้าไม่ว่างก็ต้องรอ กลไลนี่เรารู้จักกันในชื่อ CSMA/CD นั่นเอง
        CSMA/CD มันก็คือกลไลการตรวจสอบการชนกันของข้อมูล บน Ethernet ถ้าเกิดมีการชนกันเกิดขึ้น มันก็จะส่งสัญญาณ (jam signal) ออกไปเพื่อให้ทุกคนหยุดส่งข้อมูล แล้วสุ่มรอเวลา (back off) เพื่อส่งใหม่อีกครั้ง


Layer 3 (Network Layer)             TOP
        ทำหน้าที่ส่งข้อมูลข้ามเครือข่าย หรือ ข้าม network โดยส่งข้อมูลผ่าน Internet Protocol (IP) โดยมีการสร้างที่อยู่ขึ้นมา (Logical Address) เพื่อใช้อ้างอิงเวลาส่งข้อมูล เราเรียกว่า IP address ข้อมูลที่ถูกส่งมาจากต้นทาง เพื่อไปยังปลายทาง ที่ไม่ได้อยู่บนเครือข่ายเดียวกัน จำเป็นจะต้องพึ่งพาอุปกรณ์ที่ทำงานบน Layer 3 นั่นก็คือ Router หรือ Switch Layer 3 โดยใช้ Routing Protocol (OSPF , EIGRP) เพื่อหาเส้นทางและส่งข้อมูลนั้น (IP) ข้ามเครือข่ายไป

                                 

        โดยการทำงานของ Internet Protocol (IP) เป็นการทำงานแบบ Connection-less หมายความว่า IP ไม่มีการตรวจสอบข้อมูลว่าส่งไปถึงปลายทางไหม แต่มันจะพยายามส่งข้อมูลออกไปด้วยความพยายามที่ดีที่สุด (Best-Effort) เพราะฉะนั้น ข้อมูลที่ส่งออกไปแล้วไม่ถึงปลายทาง ต้นทางก็จะไม่รู้เลย ถ้าส่งไปแล้วข้อมูลไม่ถึงปลายทาง ฝั่งต้นทางจะต้องทำการส่งไปใหม่ บน Layer 3 จึงมี Protocol อีกตัวนึงเพื่อใช้ตรวจสอบว่าปลายทางยังมีชีวิตอยู่ไหม ก่อนที่จะส่งข้อมูล นั่นคือ ICMP แต่ผู้ใช้งานจะต้องเป็นคนเรียกใช้ protocol ตัวนี้เอง แล้วก็ยังมีรายละเอียดของ ICMP , ARP อีกที่ทำงานบน Layer 3 แต่เบื้องต้น เอาไว้เท่าที่ก่อน สำหรับ Layer 3


Layer 4 (Transport Layer)            TOP
        ทำหน้าที่เชื่อมต่อกับ Upper Layer ในการใช้งาน network services ต่างๆ หรือ Application ต่าง จากต้นทางไปยังปลายทาง (end-to-end connection) ในแต่ละ services ได้ โดยใช้ port number ในการส่งข้อมูลของ Layer 4 จะใช้งานผ่าน protocol 2 ตัว คือ TCP และ UDP


                                 
        เมื่อข้อมูลถูกส่งมาใช้งานผ่าน services Telnet ไปยังปลายทางถูกส่งลงมาที่ Layer 4 ก็จะทำการแยกว่า telnet คือ port number 23 เป็น port number ที่ใช้ติดต่อไปหาปลายทาง แล้วฝั่งต้นทางก็จะ random port number ขึ้นมา เพื่อให้ปลายทางสามารถตอบกลับมาได้เช่นเดียวกัน


                                  



protocol 2 ตัว ใน Layer 4
Transmission Control Protocol (TCP) มีคุณลักษณะที่สำคัญ ดังนี้
  • จัดแบ่งข้อมูลจากระดับ Application ให้มีขนาดพอเหมาะที่จะส่งไปบนเครือข่าย (Segment) 
  • มีการสร้าง Connection กันก่อนที่จะมีการรับส่งข้อมูลกัน (Connection-oriented) 
  • มีการใช้ Sequence Number เพื่อจัดลำดับการส่งข้อมูล 
  • มีการตรวจสอบว่าข้อมูลที่ส่งไปถึงปลายทางหรือไม่ (Recovery) 
        บน TCP ก่อนจะส่งข้อมูลนั้นจะต้องทำการตรวจสอบก่อนว่า ปลายทางสามารถติดต่อได้ โดยจะทำการสร้างการเชื่อมต่อระหว่างผู้ส่งและผู้รับก่อน โดยใช้กลไล Three-Way Handshake เพื่อให้แน่ใจว่าข้อมูลที่ส่งจะสามารถส่งถึงผู้รับแน่นอน
        นอกจาก Three-Way Handshake แล้ว TCP ยังมีกลไก Flow Control เพื่อควบคุมการส่งข้อมูลเมื่อเกิดปัญหาบนเครือข่ายระหว่างที่ส่งข้อมูลอยู่ หรือ กลไล Error Recovery ในกรณีที่มีข้อมูลบางส่วนหายไปขณะส่ง ก็ให้ทำการส่งมาใหม่ (Retransmission) แต่ผมขอพูดเรื่องกลไลต่างๆไว้เพียงเบื้องต้น

                                      




        นอกจากนั้นยังสามารถทำการจัดสรรค์หรือแบ่งส่วนของข้อมูลออกเป็นส่วนๆ (Segmentation) ก่อนที่จะส่งลงไปที่ Layer 3 อีกด้วย และข้อมูลที่ถูกแบ่งออก ก็จะใส่ลำดับหมายเลขเข้าไป (Sequence number) เพื่อให้ปลายทางนำข้อมูลไปประกอบกันได้อย่างถูกต้อง
User Datagram Protocol (UDP) มีคุณลักษณะที่สำคัญ ดังนี้
  • ไม่มีการสร้าง Connection กันก่อนที่จะมีการรับส่งข้อมูลกัน (Connectionless) 
  • ส่งข้อมูลด้วยความพยายามที่ดีที่สุด (Best-Effort) 
  • ไม่มีการตรวจสอบว่าข้อมูลที่ส่งไปถึงปลายทางหรือไม่ (No Recovery) 
        บน UDP จะตรงข้ามกับ TCP เลยครับ เพราะ ไม่มีการสร้างการเชื่อมต่อกันก่อน หมายความว่าถ้า services ใดๆ ใช้งานผ่าน UDP ก็จะถูกส่งออกไปทันทีด้วยความพยายามที่ดีที่สุด (ฺBest-Effort) และไม่มีการส่งใหม่เมื่อข้อมูลสูญหาย (No Recovery) หรือส่งไม่ถึงปลายทางอีกด้วย
ข้อดีของมันก็คือ มีความรวดเร็วในการส่งข้อมูล เพราะฉะนั้น services ที่ใช้งานผ่าน UDP ก็มีมากมาย เช่น TFTP , DHCP , VoIP และอื่นๆ เป็นต้น

เปรียบเทียบการทำงานของ TCP และ UDP ได้เห็นภาพ

                                 

        สำหรับ Lower Layer คือ Layer 1 – 4 ซึ่งส่วนมากแล้วชาว Network Engineer ก็จะวุ่นวายกับ Lower Layer มากกว่า Upper Layer (5-7)



Layer 5 (Session Layer)             TOP
        ทำหน้าที่ควบคุมการเชื่อมต่อ session เพื่อติดต่อจากต้นทาง กับ ปลายทาง


                                   


        เมื่อฝั่งต้นทางต้องการติดต่อไปยังปลายทางด้วย port 80 (เปิด Internet Explorer) ฝั่งต้นทางก็จะทำการติดต่อไปยังปลายทาง โดยการสร้าง session ขึ้นมา เป็น session ที่ 1 ส่งผ่าน Layer 4 โดย random port ต้นทางขึ้นมาเป็น 1025 ส่งไปหาปลายทางด้วย port 80 ระหว่าง ที่ session ที่ 1 ใช้งานอยู่ เราติดต่อไปยังปลายทางอีกครั้งด้วย port 80 (เปิด Google Chrome) ฝั่งต้นทางก็จะทำการสร้าง session ที่ 2 ขึ้นมา ส่งผ่าน Layer 4 โดย random port ต้นทางขึ้นมาเป็น 1026 ส่งไปหาปลายทางด้วย port 80
แล้วแต่ละ session ฝั่งปลายทาง ก็จะตอบกลับมาด้วย port ที่ฝั่งต้นทางส่งมา ทำให้สามารถแยก session ออกได้ เมื่อเราส่งข้อมูลบนเครือข่าย


Layer 6 (Presentation Layer)             TOP
        ทำหน้าที่ในการแปล หรือ นำเสนอ structure , format , coding ต่างๆของข้อมูลบน application ที่จะส่งจากต้นทางไปยังปลายทาง ให้อยู่ในรูปแบบที่ฝั่งต้นทางและปลายทาง สามารถเข้าใจได้ทั้ง 2 ฝั่ง

Most computers use the ASCII table for characters. If another computer would use another character like EBCDIC than the presentation layer needs to “reformat” the data so both computers agree on the same characters.
        บอกว่า computer ส่วนมากใช้ ASCII format ถ้าจะติดต่อพวก computer mainframe จะใช้พวก EBCDIC format ซึ่ง Layer 6 ก็จะทำการ reformat ข้อมูล ซึ่งสามารถทำให้ทั้ง 2 เครื่องสามารถเข้าใจ format ข้อมูลที่จะสื่อสารกันได้


        ทำหน้าที่ติดต่อระหว่างผู้ใช้ (user) กับ application ที่ใช้งานบนเครือข่าย เช่น Web Browser (HTTP) , FTP , Telnet เป็นต้น สรุปแล้วมันก็คือพวก application ที่ใช้งานผ่าน network

แหล่งที่มา
http://netprime-system.com/osi-model-7-layers/

Unknown

Developer

Cras justo odio, dapibus ac facilisis in, egestas eget quam. Curabitur blandit tempus porttitor. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.

0 ความคิดเห็น:

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