5 เลเยอร์ของ TCP/IP
TCP/IP คืออะไร
TCP/IP ย่อมาจาก Transmission Control Protocol/Internet Protocol เป็นชุดของโปรโตคอลที่ใช้ในการสื่อสารเชื่อมต่อระหว่างอุปกรณ์เครือข่ายบนอินเทอร์เน็ต ในชุดดังกล่าวจะมี TCP และ IP เป็นโปรโตคอลหลัก แม้ว่าจะมีโปรโตคอลอื่นรวมอยู่ในชุดด้วยก็ตาม แยกอธิบายได้ดังนี้ (หมายเหตุ ข้อมูลภาพทั้งหมด ดึงมาจากเว็บไซต์นี้)
หากมองในภาพด้านบน จะเห็นว่า มีการแบ่งออกเป็น 5 คอลัมภ์
- ชั้นของ Layer แต่ละชั้น
- ต่อมา เป็นชื่อ Layer แต่ชั้น
- protocol ที่ใช้แต่ละชั้นของ Layer
- หน่วยของข้อมูลที่ใช้ในแต่ละ Protocol
- การอ้างอิงถึงที่อยู่ที่ใช้ในการติดต่อ
ตัวอย่างการทำงานของ TCP/IP protocol
เริ่มต้นจากข้อมูลภาพรวมในการรับส่งข้อมูล ภาพนี้ได้จากเว็บไซต์ https://www.internalpointers.com/post/introduction-tcp-ip-protocol (คลิกที่ภาพจะไปยังแหล่งของภาพดังกล่าว
ในข้อมูลภาพที่อ้างอิงดังกล่าว เป็นตัวอย่างรูปแบบการติดต่อสื่อสารโดยใช้ TCP/IP โดยจะแบ่งเป็นชั้น หรือที่เรียกว่า Layer การแบ่งเป็นชั้นดังกล่าวมีทั้งฝ่ายที่รับข้อมูลและฝ่ายที่ส่งข้อมูล หรือเป็นฝ่ายต้นทางและปลายทาง
ทั้งต้นทางและปลายทาง กาาติดต่อสื่อสารจะมีรูปแบบเดียวกันคือแบ่งเป็นชั้นตามชื่อของแต่ละชั้น
ข้อมูลจะส่งมาจากเครื่องคอมพิวเตอร์ต้นทาง เช่น คอมพิวเตอร์ต้นทางเข้าเว็บไซต์ หรือเชื่อมต่อ FTP กับ Server หรืออะไรก็ตามที่มีการติดต่อกัน ลักษณะการทำงานจะเป็นดังภาพข้างบนฝั่งซ้ายคือต้นทาง
แต่ในภาพข้างบน มีการอธิบายการทำงานแค่ 4 ชั้น แต่ในบทความนี้จะอธิบาย 5 ชั้น เพื่อให้เข้าใจง่ายในบางส่วน เพราะลักษณะการทำงานของมันบางทีมันคาบเกี่ยวกัน
แต่ ไม่ต้องสนใจว่าเขาจะอธิบายกี่ชั้น เพียงแต่ให้เราเข้าใจโครงสร้างการทำงานน่าจะได้แล้ว
Warning, Tip, Notice, or Information.
บทความนี้ที่ได้เกิดขึ้นเพราะไปอ่านเจอในเว็บไซต์นี้ https://microchipdeveloper.com/ เท่าที่อ่านมาหลายที่ ที่นี้ อธิบายเข้าใจง่าย อ่านง่าย เลยคัดบางส่วนมาเพื่ออธิบาย ไว้อ้างอิง และทำความเข้าใจให้กับตัวเอง
แต่ภาพและเนื้อหาบางส่วนเอามาจากเว็บไซต์ที่อ้างอิงถึงดังกล่าว และบทความอาจจะช้านิดในการอัพเดท เพราะต้องการทำความเข้าใจแล้วเขียนมาในรูปแบบที่ตัวเองเข้าใจด้วย แต่จะอัพเดทให้เป็นระยะ
เปรียบเทียบระหว่าง OSI model กับ TCP/IP
เราอาจจะเคยได้ยิน หรือได้เรียนรู้เกี่ยวกับ OSI model ย่อมาจาก Open Systems Interconnect ลักษณะการทำงานแบ่งออกเป็น 7 ชั้น(Layer) เป็นรูปแบบมาตรฐานวางขึ้นมาเพื่อเป็นแนวทาง ให้เป็นระบบมาตรฐานในการติดต่อสื่อสาร ดังนั้น ไม่ว่าเราจะอ่านบทความเกี่ยวกับ OSI Model จากที่ไหนก็ตามเราจะพบว่ามีการกำหนดรูปแบบได้ 7 Layer แต่ในการวางรูปแบบการติดต่อของ TCP/IP การวาง Layer อาจจะมีความแตกต่างกัน อย่างกรณีภาพข้างล่างจะเห็นว่ามีการวาง Layer ของแค่ 4 ชั้นโดยเขาจะรวบแต่ละชั้นดังนี้
- ในชั้นที่ 1-3 รวมเป็นชั้นเดียวกัน จากเดิมมีชั้น Application ,Presetation Session แต่มารวมเรียกว่า Application
- ในชั้นที่ 6-7 จากเดิม Data-link ,Physical มารวมกันเป็นชั้น Network
จะเห็นว่า เขาจะเอา OSI model เป็นหลักแล้วพัฒนาให้มาอยู่ในรูปแบบของ TCP/IP ส่วนความแตกต่างในด้านอื่น พอจะมีดังนี้ (ให้ Google แปลให้)
- โมเดล OSI ซึ่งเป็นเลเยอร์การขนส่งเป็นแบบเน้นการเชื่อมต่อเท่านั้น ในขณะที่โมเดล TCP/IP มีทั้งแบบมีการเชื่อมต่อและไม่มีการเชื่อมต่อ
- โมเดล OSI ได้รับการพัฒนาโดย ISO (International Standard Organization) ในขณะที่โมเดล TCP ได้รับการพัฒนาโดย ARPANET (Advanced Research Project Agency Network)
- โมเดล OSI ช่วยให้คุณกำหนดมาตรฐานเราเตอร์ สวิตช์ เมนบอร์ด และฮาร์ดแวร์อื่นๆ ในขณะที่ TCP/IP ช่วยให้คุณสร้างการเชื่อมต่อระหว่างคอมพิวเตอร์ประเภทต่างๆ
ภาพรวมของรูปแบบ เลเยอร์ 5 ชั้น ของ TCP/IP
ที่ผ่านมาจากที่อ่านในเว็บไซต์ทั่วไป ได้อธิบายรูปแบบที่แตกต่างกันระหว่าง OSI model และ TCP/IP ตามที่ได้อธิบายไปแล้วดังภาพข้างบน แต่….ที่จะแนะนำต่อไปนี้ แตกต่างกันนิดหน่อย ตรงที่ เขาอธิบายชั้นออกเป็น 5 ชั้น เป็นบทความที่อ่านจากเว็บไซต์ที่อ้างอิงไว้ในข้อความบนสุด เขาได้อธิบายว่า
OSI model ในชั้นบนสุดคือชั้นที่ 4-7 ถูกรวมเหลือ 2 ชั้น จากเดิมมี 7 ชั้น จะเหลือแค่ 5 ชั้น อ่านแล้วเข้าใจง่ายดี เลยยกมาอธิบายเป็นบทความ เพื่อให้จะได้เข้าใจการทำงานของระบบ TCP/IP เราต้องทำความเข้าใจพื้นฐานของมันก่อนว่าทำอย่างไร การทำงานของ TCP/IP จะแบ่งออกเป็นชั้น การทำงานของแต่ละชั้นจะแยกจากกันโดยการส่งข้อมูลผ่านตามลำดับชั้น แล้วแต่ว่าในการทำงานนั้นเป็นส่วนของคอมพิวเตอร์ต้นทางหรือคอมพิวเตอร์ปลายทาง แม้ว่า แต่ละชั้นจะทำงานแยกหน้าที่ออกจากกัน แต่จะมีการสื่อสาร จะสื่อสารกับชั้นที่อยู่ที่ติดกันเท่านั้น
อย่างในชั้นบนสุด (Layer 5 ) เมื่อได้รับงานมาโดยเป็นลักษณะในเชิงข้อมูลหรือข่าว ว่าต้องการติดต่อกับคอมพิวเตอร์เครื่องอื่น มันไม่จำเป็นต้องรู้หรือมอบหมายงานให้กับฟั่งชั่นชั้นล่างถัดมา (คือ Layer 4 ) แต่มันอยู่ในขั้นตอน เพียงแค่ต้องรู้วิธีร้องขอการเชื่อมต่อกับโฮสต์ระยะใกลที่ต้องการติด โดยใช้เลเยอร์ ถัดมาคือ Trasport Layer เท่านั้น ส่วนอื่นแทบไม่จำเป็นต้องรู้ว่าเข้ารหัสบิตอย่างไรก่อนส่ง เพราะนั้นคืองานของอีกชั้นหนึ่งคือชั้นของ Physical
TCP/IP แบ่งออกเป็น 5 ชั้น
ทำไมเราต้องเรียนรู้ เกี่ยวกับ โมดูลซอฟร์แวร์ 5 เลเยอร์ของ TCP/IP
ในความคิดเห็นส่วนตัวแล้วคิดว่า น่าจะเรียนรู้ไว้บ้างเพื่อทำความเข้าใจเกี่ยวกับโครงสร้างหรือการติดต่อในเครือข่ายระหว่างอุปกรณ์ในเครือข่ายเช่น คอมพิวเตอร์ มือถือ แม้ว่าจะไม่เข้าใจลึกซึ้งแต่ หากเราพอเข้าใจเป็นแนวทาง ในการอ่านค่าหรือคอนฟิกค่าบางตัวบางชิ้น เราสามารถเข้าใจ รวมทั้งเมื่อเกิดปัญหาเราสามารถแก้ปัญหาได้ อย่างรวดเร็ว
มีคำแนะนำเยอะแยะไปหมดเกี่ยวกับ TCP/IP แต่ที่อ่านมามากมาย พบว่า เว็บไซต์ที่อ่านเจอและอ้างอิงให้แล้วค่อนข้างจะอธิบายได้ดี และเข้าใจง่ายเลยทำเป็นบทความ เพื่อทำความเข้าใจให้กับตัวเอง อีกทางหนึ่ง มาเขียนไว้ เผื่อคนที่เข้ามาอ่านเจอจะได้เอาเป็นแนวทาง แม้ว่าจะเข้าใจไม่ทั้งหมด
Application Layer (Layer 5)
การทำงานในชั้นที่เราเปิดหน้าจอแล้วเปิดหน้าเว็บไซต์,มีการรับส่งข้อมูลผ่าน FTP หรืออะไรก็ตามที่เกี่ยวกับกับการติดต่อสื่อสารกับ Hosts ปลายทาง ที่พบบ่อยมี
- Hypertext Transfer Protocol (HTTP)
- File Transfer Protocol (FTP)
- Secure Shell (SSH)
ในชั้น Application layer นี้ จะใช้ Transport Layer เพื่อส่งคำขอในการติดต่อเพื่อเชื่อมต่อกับโฮสต์เป้าหมายระยะไกล ที่ต้องการติดต่อด้วย
Transport Layer (Layer 4)
ในชั้นนี้ Transport Layer จะสร้างการเชื่อมต่อระหว่าง Application ที่ทำงานบนโอสต์ต่างๆๆ สิ่งที่จะเข้ามาเกี่ยวข้องในตอนนี้คือ
- TCP เป็นการเชื่อมต่อแบบมีความน่าเชื่อถือ
- UDP ใช้สำหรับการเชื่อมต่อที่รวดเร็ว แต่ความน่าเชื่อถือน้อยลง
- มีการกำหนด Ports ให้กับข้อมูลที่จะวิ่งไปสู่ข้้นตอนของ Network Layer
- หลังจากนั้นจะเข้าสู่เครือข่าย TCP/IP ด้วยมีอุปกรณ์ที่เป็นตัวช่วยคือ Gateway,Firewall
ภาพที่เจออธิบายเกี่ยวกับ TCP และ UDP แบบเข้าใจง่ายๆๆ เปรียบเทียบระหว่างTCP กับ UDP
Network Layer (Layer 3)
ในชั้นนี้ ตัวทำงานของอูปกรณ์เครือข่ายภายในบ้านของเรา คือ Router เป็นชั้นที่เกี่ยวกับอุปกรร์ที่เราสามารถกำหนด Ip Address ได้
Network Layer จะมีหน้าที่ในการสร้าง Packet เพื่อใช้ในการเคลื่อนย้ายข้อมูลผ่านเครือข่าย มันจะใช้ IP Address ในการระบุต้นทางและเป้าหมายหรือปลายของ Packet สิ่งที่เราจะต้องเรียนรู้ตัวจักรที่สำคัญในการทำงานคือ Ip Address V4 เป็นสิ่งที่เราต้องทำความเข้าใจ รวมถึงการทำงานของอุปกรณ์ที่ ทำงานใน Layer เช่น Router
ส่วน Protocol อาจจะมีตัวอื่นอีก แต่บางทีอาจจะเป็นตัวช่วย เช่น ICMP ตัวนี้ใช้สำหรับทดสอบการเชื่อมต่อ (Ping)
Data Link Layer (Layer 2)
Data link Layer คล้ายกับ Network Layer ที่ผ่านมานั้นแหละแต่มันจะแตกต่างกันตรงที่ ในชั้นนี้ จะสร้างเป็น Frame เพื่อส่งต่อข้อมูลข้ามเครือข่าย Frame นี่แหละจะห่อหุ้ม Packet ในชั้น Network Layer อีกทีหนึ่ง แต่ในชั้นนี้ มันจะใช้ Mac Address ในการระบุต้นทางและปลายทาง ในชั้นนี้ สิ่งที่เราต้องทำความเข้าใจ คือหมายเลข Mac Address (ไม่ใช่ Protocol นะครับ) และอุปกรณ์ที่ทำงานในชั้นนี้ที่เจอบ่อยคือ Switch
และอีกตัวที่ต้องทำความเข้าใจ คือ Address Resolution Protocol (ARP) ทำหน้าที่ใช้ Ip Address สอบถามเพื่อขอทราบ Mac Address (บางบทความบอกว่าอยู่ใน layer 3 เพราะมันคาบเกี่ยวกันระหว่าง Layer)
Physical Layer (Layer 1)
Physical Layer เป็นชั้นที่ทำงานทางด้านกายภาพ เช่นในกรณีที่เราต่อสายแลน หรือไร้สาย ลักษณะคือมันจะเปิดทำการเข้ารหัสและถอดรหัสข้อมูลที่อยู่ในเฟรม ตามจำนวน bit รวมไปถึงการรับและส่งสัญาณต่างๆๆ ในระบบเน็ตเวิร์ค
(อธิบายยากนิด แต่ให้นึกง่ายว่า คือการเชื่อมต่อทางกายภาพจริงและมีการรับส่งข้อมูลผ่านทางสายสัญญาณหรือไร้สาย ในรูปแบบของสัญญาณไฟฟ้า)
ในชั้นนี้ อุปกรณ์ที่ทำงาน คือ Hub แต่ตอนนี้ น่าจะไม่มีแล้ว
การรับส่งข้อมูลผ่านแต่ละชั้นหรือLayer
ในการส่งข้อมูลในแต่ละชั้นจะเริ่มชั้นที่ 5 ก่อน แบ่งลักษณะการทำงานได้ดังนี้
- ชั้นที่ 5. เริ่มจากในชั้น Application Layer จะมีการสร้างข่าวสารหรือในเชิงลักษณะข้อความ หรือความต้องการว่าต้องการทำอะไร
- ชั้นที่ 4 จะสร้าง Port ต้นทางและปลายทางรวมเข้าไปในข้อความ พร้อมกับหาช่องทางที่จะไปยังเป้าหมาย
- ชั้นที่ 3 จะมีการกำหนดหมายเลข IP ต้นทางและปลายทางเข้ามาด้วย (ชั้นนี้ จะสร้างเป็น Packet)
- ชั้นที่ 2 ในชั้นนี้ จะเพิ่มต้นทางและปลายทาง ของ Mac Address มาด้วย โดยจะสร้างเป็น Frame ห่อหุ้ม Packet เพื่อเตรียมส่งต่อทางกายภาพ (ตอนนี้ มีการเชื่อมต่อทางกายภาพแล้ว เพราะ Mac Address คือหมายเลขที่กำกับไว้ในการ์ดแลน)
- ช้นที่ 1 ส่งต่อไปยังการเชื่อมต่อทางกายภาพต่อไป
Transmit Data Using Network Layers
ในระหว่างอ่านบทความแนะนำว่าให้ดูภาพข้างล่างประกอบด้วย เนื่องจากกลไกการทำงานของมัน เป็นการทำงานที่เรามองไม่เห็น ดังนั้นในการศึกษาเราต้องจิตนาการตามไปด้วย แต่ทุกอย่างมันต้องอยู่บนพื้นฐานของความเข้าใจเกี่ยวกับศัพท์พื้นฐาน และอย่าอ่านที่นี้ ที่เดียวให้ลองหาที่คนอื่นอธิบายแล้วลองมาสรุปทำความเข้าใจเป็นของตัวเอง
สรุป
บทความ 5 เลเยอร์ของ TCP/IP นี้ เป็นแค่พื้นฐานเพื่ออธิบายรูปแบบหลักการทำงานของ TCP/IP ที่เป็นชุด โปรโตคอลใช้ในการติดต่อสื่อสารในระบบเครือข่าย
ที่อธิบายมาแค่ภาพรวม หากเราต้องการเรียนรู้จริง ต้องศึกษาเพิ่มเติม เกี่ยวกับโปรโตคอล อีกหลายตัวที่ทำงานรวมกัน
แต่คิดว่า น่าจะแยกเป็นบทความย่อยให้อีกที หากเขียนมากไปมันจะสับสนเปล่าๆๆ และขอย้ำอีกครั้งว่า พยายามอ่านและศึกษา จากหลายๆๆที่ ในบทความนี้ เอามาจากเว็บไซต์ของต่างประเทศ หลายเว็บมารวมกัน เลยอ้างอิงได้ไม่หมด แต่ หลักๆๆ แนวในการอธิบายได้ยึดแนวตามเว็บไซต์ที่อ้างอิงดังกล่าว