เรื่องของ "Network Layers" หรือ "ชั้นเครือข่าย" เป็นแนวคิดพื้นฐานที่สำคัญมากๆ ในการทำความเข้าใจว่าคอมพิวเตอร์และอุปกรณ์ต่างๆ สื่อสารกันผ่านเครือข่ายได้อย่างไร มันเหมือนกับการแบ่งงานออกเป็นส่วนๆ เพื่อให้แต่ละส่วนทำหน้าที่เฉพาะของตัวเอง ทำให้ระบบซับซ้อนอย่างเครือข่ายสามารถทำงานได้อย่างมีประสิทธิภาพและสามารถจัดการได้ง่ายขึ้น
มีโมเดลหลักๆ ที่ใช้อธิบายเรื่อง Layer ของเครือข่ายอยู่ 2 โมเดลที่นิยมใช้กันคือ:
- OSI Model (Open Systems Interconnection Model): มี 7 Layers เป็นโมเดลเชิงทฤษฎีที่ละเอียดและเป็นมาตรฐานในการอ้างอิง
- TCP/IP Model: มี 4 Layers เป็นโมเดลที่ใช้งานจริงบน Internet ในปัจจุบัน
เราจะอธิบายทั้งสองโมเดลโดยเน้นที่หน้าที่หลักของแต่ละ Layer ครับ
แนวคิดเบื้องหลัง Network Layers (Why Layers?)
ลองนึกภาพว่าคุณกำลังจะส่งพัสดุ (ข้อมูล) ไปให้เพื่อน:
- คุณ (Application): เขียนจดหมาย (ข้อมูลดิบ)
- พนักงานแพ็คของ (Presentation): จัดรูปแบบจดหมายให้เรียบร้อย อาจจะเข้ารหัสถ้าเป็นความลับ
- พนักงานจัดการงาน (Session): เริ่มการสื่อสารกับที่ทำการไปรษณีย์ และคอยดูแลว่าการส่งนี้จะสำเร็จหรือไม่
- พนักงานไปรษณีย์สาขาต้นทาง (Transport): ตัดจดหมายเป็นหน้าๆ (ถ้าจดหมายยาวมาก) ใส่ซองพร้อมระบุ "ผู้ส่ง" และ "ผู้รับปลายทาง"
- เจ้าหน้าที่จัดเส้นทาง (Network): ดูที่อยู่ปลายทางในซอง แล้วระบุเส้นทางว่าซองนี้ควรจะไปทางไหน ผ่านไปรษณีย์สาขาไหนบ้าง
- พนักงานขับรถ/จัดของ (Data Link): นำซองใส่กล่องหรือห่อหุ้มอีกชั้น พร้อมระบุ "ผู้ส่ง" และ "ผู้รับ" สำหรับการขนส่ง "ระหว่างจุด" (เช่น จากไปรษณีย์ A ไป B) แล้วนำไปวางบนรถ
- รถขนส่ง/ถนน (Physical): ขับรถไปตามถนนจริงเพื่อส่งกล่องไปอีกจุด
เมื่อพัสดุไปถึงปลายทาง กระบวนการก็จะย้อนกลับ:
- รถขนส่ง/ถนน (Physical): นำกล่องมาส่ง
- พนักงานขับรถ/จัดของ (Data Link): แกะกล่อง ตรวจสอบว่าซองไม่เสียหาย แล้วส่งให้เจ้าหน้าที่ในไปรษณีย์ปลายทาง
- เจ้าหน้าที่จัดเส้นทาง (Network): ดูว่าซองมาถึงไปรษณีย์ปลายทางถูกต้องหรือไม่
- พนักงานไปรษณีย์สาขาปลายทาง (Transport): แกะซอง เอาหน้าจดหมายมารวมกันให้ครบ
- พนักงานจัดการงาน (Session): ตรวจสอบว่าได้รับครบถ้วนแล้ว
- พนักงานแกะรหัส/จัดรูปแบบ (Presentation): จัดรูปแบบจดหมายกลับมาให้คุณอ่านได้
- คุณ (Application): อ่านจดหมาย
การแบ่งหน้าที่แบบนี้มีประโยชน์มาก:
- ง่ายต่อการพัฒนา: ผู้พัฒนาสามารถมุ่งเน้นไปที่การทำงานของ Layer ตัวเอง โดยไม่ต้องสนใจว่า Layer อื่นๆ ทำงานอย่างไร
- ยืดหยุ่น: สามารถเปลี่ยนโปรโตคอลใน Layer หนึ่งได้ โดยไม่กระทบกับ Layer อื่นๆ
- แก้ไขปัญหาง่าย: เมื่อมีปัญหาเกิดขึ้น สามารถระบุได้ว่าปัญหาอยู่ตรง Layer ไหน
1. OSI Model (7 Layers)
เป็นโมเดลที่ละเอียดและเป็นที่นิยมใช้อ้างอิงทางทฤษฎี (เรียงจาก Layer ที่ใกล้ผู้ใช้ที่สุด ไปยัง Layer ที่ใกล้ฮาร์ดแวร์ที่สุด)
-
Layer 7: Application Layer (ชั้นแอปพลิเคชัน)
- หน้าที่: เป็น Layer ที่ใกล้ชิดกับผู้ใช้มากที่สุด เป็นจุดที่แอปพลิเคชันต่างๆ (เช่น Web Browser, Email Client, FTP Client) ใช้ในการสื่อสารกับเครือข่าย
- โปรโตคอลตัวอย่าง: HTTP/HTTPS (สำหรับเว็บ), FTP (สำหรับโอนไฟล์), SMTP/POP3/IMAP (สำหรับอีเมล), DNS (สำหรับการแปลงชื่อโดเมนเป็น IP)
- ตัวอย่าง: เมื่อคุณพิมพ์
ในเบราว์เซอร์, นี่คือการทำงานของ Application Layerwww.google.com
-
Layer 6: Presentation Layer (ชั้นการนำเสนอ)
- หน้าที่: แปลงข้อมูลให้อยู่ในรูปแบบที่ Layer Application เข้าใจ หรือสามารถนำไปใช้งานได้ จัดการเรื่องการเข้ารหัส/ถอดรหัสข้อมูล (Encryption/Decryption) และการบีบอัด/ขยายข้อมูล (Compression/Decompression)
- โปรโตคอลตัวอย่าง: JPEG, MPEG (สำหรับรูปภาพ/วิดีโอ), ASCII, EBCDIC (สำหรับตัวอักษร), TLS/SSL (บางครั้งก็ถือว่าเป็นส่วนหนึ่งของ Presentation Layer)
- ตัวอย่าง: การที่เบราว์เซอร์ของคุณสามารถแสดงรูปภาพ .jpg ได้ หรือการเชื่อมต่อ HTTPS ที่เข้ารหัสข้อมูล
-
Layer 5: Session Layer (ชั้นการจัดการเซสชัน)
- หน้าที่: สร้าง, ควบคุม, และยุติ "เซสชัน" การสื่อสารระหว่างสองแอปพลิเคชัน (Host) ทำให้การสื่อสารเกิดขึ้นได้อย่างต่อเนื่องและเป็นระเบียบ
- โปรโตคอลตัวอย่าง: NetBIOS, RPC (Remote Procedure Call)
- ตัวอย่าง: เมื่อคุณ Login เข้าสู่ระบบธนาคารออนไลน์ Session Layer จะช่วยให้การสื่อสารระหว่างเบราว์เซอร์ของคุณกับเซิร์ฟเวอร์ธนาคารเป็นไปอย่างต่อเนื่องจนกว่าจะ Logout
-
Layer 4: Transport Layer (ชั้นการขนส่ง)
- หน้าที่: รับผิดชอบในการรับส่งข้อมูลแบบ End-to-End (จากต้นทางถึงปลายทางอย่างสมบูรณ์) จัดการเรื่องการแบ่งข้อมูลออกเป็นส่วนๆ (Segment), การรวมข้อมูลกลับเข้าด้วยกัน, การควบคุมการไหลของข้อมูล (Flow Control) และการตรวจสอบข้อผิดพลาด (Error Checking)
- โปรโตคอลตัวอย่าง:
- TCP (Transmission Control Protocol): เป็น Connection-oriented (ต้องสร้างการเชื่อมต่อก่อนส่งข้อมูล) และ Reliable (รับประกันการส่งข้อมูลถึงปลายทางและเรียงตามลำดับ) เหมาะกับการส่งข้อมูลที่ต้องการความถูกต้อง เช่น เว็บเพจ, อีเมล, การโอนไฟล์
- UDP (User Datagram Protocol): เป็น Connectionless และ Unreliable (ไม่รับประกันการส่งถึงและไม่เรียงลำดับ) แต่เร็ว เหมาะกับการส่งข้อมูลที่ต้องการความรวดเร็ว เช่น Streaming Video, Online Gaming, DNS Queries
- ตัวอย่าง: เมื่อคุณดาวน์โหลดไฟล์ TCP จะดูแลให้ทุกส่วนของไฟล์มาถึงครบถ้วนและเรียงลำดับถูกต้อง
-
Layer 3: Network Layer (ชั้นเครือข่าย)
- หน้าที่: รับผิดชอบในการหาเส้นทาง (Routing) และส่ง Packet ข้อมูลข้ามเครือข่ายที่แตกต่างกัน (Inter-networking) ใช้ "Logical Address" (เช่น IP Address) ในการระบุต้นทางและปลายทาง
- โปรโตคอลตัวอย่าง: IP (Internet Protocol) – ทั้ง IPv4 และ IPv6, ICMP (Internet Control Message Protocol – ใช้สำหรับ Ping), Routing Protocols (เช่น OSPF, BGP)
- อุปกรณ์: Router (เราเตอร์) เป็นอุปกรณ์หลักที่ทำงานใน Layer นี้
- ตัวอย่าง: เมื่อ Packet ข้อมูลออกจากเครือข่ายบ้านของคุณ Router จะเป็นตัวตัดสินใจว่าจะส่ง Packet นั้นไปทางไหนเพื่อไปให้ถึง Google Server
-
Layer 2: Data Link Layer (ชั้นเชื่อมโยงข้อมูล)
- หน้าที่: รับผิดชอบในการรับส่งข้อมูลระหว่างอุปกรณ์ที่อยู่ "ติดกัน" หรืออยู่ในเครือข่ายเดียวกัน (Node-to-Node) จัดการเรื่อง "Physical Address" (เช่น MAC Address), การควบคุมการเข้าถึงสื่อ (Media Access Control - MAC), การตรวจจับและแก้ไขข้อผิดพลาดในระดับ Frame
- มักจะแบ่งเป็น 2 Sub-layers:
- Logical Link Control (LLC): จัดการการสื่อสารระหว่าง Network Layer กับ MAC Sub-layer
- Media Access Control (MAC): จัดการการเข้าถึงสื่อทางกายภาพ (เช่น ใครจะได้ส่งข้อมูลเมื่อไหร่)
- โปรโตคอลตัวอย่าง: Ethernet (สำหรับ Wired LAN), Wi-Fi (IEEE 802.11)
- อุปกรณ์: Switch (สวิตช์), Network Interface Card (NIC หรือการ์ด LAN/WiFi)
- ตัวอย่าง: เมื่อคอมพิวเตอร์ของคุณส่งข้อมูลไปให้ Router ข้อมูลนั้นจะถูกจัดอยู่ในรูปแบบของ Frame ที่มี MAC Address ต้นทางและปลายทาง
-
Layer 1: Physical Layer (ชั้นกายภาพ)
- หน้าที่: กำหนดคุณสมบัติทางกายภาพและไฟฟ้าของการส่งข้อมูล จัดการการส่งบิตข้อมูลดิบ (Raw Bits) ผ่านสื่อกลางทางกายภาพ (สายเคเบิล, คลื่นวิทยุ, ใยแก้วนำแสง)
- โปรโตคอลตัวอย่าง: มาตรฐานสำหรับสาย Ethernet (RJ-45), Fiber Optic, Wi-Fi Radio Frequencies, Bluetooth
- อุปกรณ์: สายเคเบิล (ทองแดง, ใยแก้ว), Wireless Antennas, Hubs, Repeater, NIC
- ตัวอย่าง: เมื่อข้อมูลเป็น 0s และ 1s ถูกแปลงเป็นสัญญาณไฟฟ้า (สำหรับสายทองแดง) หรือคลื่นวิทยุ (สำหรับ WiFi) และส่งออกไป
2. TCP/IP Model (4 Layers)
เป็นโมเดลที่ใช้งานจริงบน Internet และรวมบาง Layer ของ OSI เข้าด้วยกันเพื่อให้เรียบง่ายขึ้น
-
Layer 4: Application Layer
- หน้าที่: รวมหน้าที่ของ Application, Presentation, และ Session Layers ของ OSI เข้าด้วยกัน
- โปรโตคอลตัวอย่าง: HTTP, HTTPS, FTP, SMTP, DNS, SSH, Telnet
-
Layer 3: Transport Layer
- หน้าที่: เหมือนกับ Transport Layer ใน OSI Model
- โปรโตคอลตัวอย่าง: TCP, UDP
-
Layer 2: Internet Layer
- หน้าที่: เหมือนกับ Network Layer ใน OSI Model
- โปรโตคอลตัวอย่าง: IP, ICMP, ARP
-
Layer 1: Network Access Layer (หรือ Link Layer)
- หน้าที่: รวมหน้าที่ของ Data Link และ Physical Layers ของ OSI เข้าด้วยกัน จัดการการสื่อสารกับฮาร์ดแวร์เครือข่ายโดยตรง
- โปรโตคอลตัวอย่าง: Ethernet, Wi-Fi (IEEE 802.11), PPP
กระบวนการ "Encapsulation" และ "Decapsulation"
เมื่อข้อมูลถูกส่งผ่านเครือข่าย มันจะผ่านกระบวนการที่เรียกว่า "Encapsulation" (การห่อหุ้ม) และ "Decapsulation" (การแกะห่อ)
-
Encapsulation (ที่ฝั่งส่ง):
- ข้อมูล (Data) จาก Application Layer จะถูกส่งลงมายัง Layer ถัดไป
- แต่ละ Layer จะเพิ่มข้อมูลควบคุมของตัวเอง (เรียกว่า Header และบางครั้งก็ Trailer) เข้าไปที่ด้านหน้า (และ/หรือด้านหลัง) ของข้อมูลเดิม
- ข้อมูลที่ถูกเพิ่ม Header/Trailer ของ Layer หนึ่ง จะกลายเป็น "Payload" สำหรับ Layer ถัดไปที่อยู่ข้างล่าง
- กระบวนการนี้จะดำเนินไปเรื่อยๆ จนกระทั่งถึง Physical Layer ที่จะแปลงข้อมูลทั้งหมดให้เป็น Bit stream และส่งออกไป
-
Decapsulation (ที่ฝั่งรับ):
- กระบวนการจะย้อนกลับ
- Physical Layer รับ Bit stream มาแปลงเป็นข้อมูล
- แต่ละ Layer จะแกะ Header/Trailer ของตัวเองออก ตรวจสอบข้อมูลควบคุม แล้วส่ง Payload ที่เหลือขึ้นไปยัง Layer ที่อยู่ข้างบน
- จนกระทั่งถึง Application Layer ที่ได้รับข้อมูลดั้งเดิมกลับมา
ตัวอย่างการ Encapsulation:
[User Data]
|
V
[Application Layer Header] [User Data] (Application Layer)
|
V
[Presentation Layer Header] [Application Layer Data] (Presentation Layer)
|
V
[Session Layer Header] [Presentation Layer Data] (Session Layer)
|
V
[TCP Header] [Session Layer Data] (Transport Layer) - เรียกว่า Segment
|
V
[IP Header] [TCP Segment] (Network Layer) - เรียกว่า Packet
|
V
[Ethernet Header] [IP Packet] [Ethernet Trailer] (Data Link Layer) - เรียกว่า Frame
|
V
[Bits] (Physical Layer)
ทำไมถึงสำคัญ?
การเข้าใจเรื่อง Network Layers ทำให้เราสามารถ:
- วิเคราะห์และแก้ไขปัญหาเครือข่ายได้ง่ายขึ้น (เช่น ถ้าเข้าเว็บไม่ได้ อาจจะเป็นปัญหาที่ Application Layer หรือถ้า Ping ไม่ได้อาจเป็น Network Layer)
- ออกแบบและพัฒนาโปรโตคอลใหม่ๆ ได้อย่างมีระบบ
- เข้าใจว่าอุปกรณ์เครือข่ายแต่ละประเภท (Router, Switch, Hub) ทำงานที่ Layer ใดบ้าง
หวังว่าคำอธิบายนี้จะช่วยให้เข้าใจเรื่อง Network Layers ได้ชัดเจนขึ้นนะครับ!
No comments:
Post a Comment