เว็บบล๊อกผลงาน (Web Blog) นักศึกษาระดับปริญญาโท คณะวิทยาศาสตร์และเทคโนโลยี สาขาวิทยาการคอมพิวเตอร์ มหาวิทยาลัยธรรมศาสตร์

วันพุธที่ 3 มีนาคม พ.ศ. 2553

การสื่อสารข้อมูลแบบ Connection-Oriented และ Connectionless

ก่อนเข้าสู่ Project วิชา Advance Operating Systems เรามาทำความรู้จัก "การสื่อสารข้อมูลแบบ Connection-Oriented และ Connectionless" กันสักหน่อย ดีกว่าครับ
การสื่อสารข้อมูลบนเครือข่ายอินเทอร์เน็ตนั้น จะทำได้โดยใช้กฎข้อบังคับที่เรียกว่า IP (In – ternet Protocol) เครือข่ายอินเทอร์เน็ตบางครั้งจึงถูกเรียกว่า เครือข่าย IP (IP Network) โดย IP จะโปรโตคอลในระดับที่ 3 ของ OSI Model หรือ Network Layer โดยจะมีโปรโตคอลระดับสูง(ระดับที่ 4 ของ OSI Model คือ Transport Layer) ที่ทำงานอยู่เหนือระดับ IP อีกที คือ TCP (Transmission Control Protocol) และ UDP (User Datagram Protocol)


TCP จะเป็นการสื่อสารข้อมูลแบบ Connection-Oriented คือมีลักษณะเหมือนการส่งข้อมูล เสียงทางโทรศัพท์ คือผู้ใช้ต้องสร้าง connection (หมุนโทรศัพท์) แล้วถึงส่งข้อมูล (พูดโทรศัพท์) และเมื่อใช้เสร็จแล้วก็ยกเลิก connection (วางสายโทรศัพท์) การส่งข้อมูลแบบนี้ เปรียบเสมือนการ ส่งของผ่านท่อ คือผู้ส่งส่งของทีละชิ้นไปตามท่อ แล้วผู้รับซึ่งอยู่อีกปลายหนึ่งของท่อก็รับของทีละชิ้นออกจากท่อ ตามลำดับที่ของถูกส่งมา

TCP ซึ่งเป็นแบบ Connection-Oriented นี้ จะต้องเสียเวลาในการเริ่มต้นทำการสื่อสารค่อนข้างนาน การรับส่งข้อมูลจะมีความถูกต้อง และรับรองการได้รับของอีกฝ่ายได้แน่นอน โดยผู้ส่งจะรอรับคำยืนยันว่า “ได้รับแล้ว” ของข้อมูลชุดที่แล้วจากผู้รับเสียก่อน จึงค่อยดำเนินการส่งข้อมูลชุดต่อไป เหมาะกับข้อมูลปริมาณมากๆ และมีความสำคัญ ตัวอย่างการใช้งานที่ใช้ TCP เช่น E-mail, World Wide Web และ FTP (File Transfer Protocol) เป็นต้น



สำหรับแบบ UDP จะเป็นการสื่อสารข้อมูลอีกชนิดหนึ่งที่เราเรียกว่า Connectionless แบบนี้มีลักษณะคล้ายการส่งจดหมายในระบบไปรษณีย์ กล่าวคือข้อมูลหน่วยย่อย (จดหมายแต่ละฉบับ) มีที่อยู่ปลายทางของผู้รับ และแต่ละหน่วยข้อมูลจะถูกส่งต่อเป็นช่วงๆ (ผ่านที่ทำการไปรษณีย์แต่ละพื้นที่) จนถึงจุดหมาย การส่งข้อมูลลักษณะนี้แต่ละหน่วยข้อมูลอาจมีเส้นเดินทางต่างกันเล็กน้อยและเป็นไปได้ว่าจดหมายที่ส่งทีหลังอาจถึงปลายทางก่อน
แบบ Connectionless นี้ การเริ่มต้นส่งสามารถทำได้รวดเร็ว เนื่องจากไม่ต้องเสียเวลา สร้าง Connection แต่ก็ไม่สามารถรับรองการได้รับข้อมูลของอีกฝ่าย เหมาะกับการส่งข้อมูลเพียงเล็กน้อยส่งเพียงครั้งเดียวก็เสร็จสิ้น หรือข้อมูลที่ไม่สำคัญมาก สามารถสูญเสียได้บางส่วน ตัวอย่างงานที่ใช้ UDP เช่น สัญญาณ Video, เสียง ซึ่งข้อมูลสามารถหายไปบางส่วนได้

สรุปได้ว่า การสื่อสารข้อมูลบนอินเทอร์เน็ต จะมี 2 แบบ
  • TCP เป็นแบบ Connection-Oriented ต้องสร้าง connection ก่อน เสียเวลาตอนเริ่มต้นหลังจากนั้นจึงเริ่มส่งได้ มีการรับประกันว่าข้อมูลถึงปลายทางอย่างถูกต้อง
  • UDP เป็นแบบ Connectionless ไม่มีการสร้าง connection ส่งได้เลย ทำได้รวดเร็ว แต่ไม่มีการรับประกันว่าข้อมูลถึงปลายทางอย่างถูก
หวังเป็นอย่างยิ่งว่าจะเป็นประโยชน์ในการปูพื้นฐานความรู้ให้กับ เพื่อนๆ พี่ๆ และน้องไม่มากก็น้อย นะครับ แล้วคราวหน้ามา Up Level กันต่อด้วยเรื่อง IP address ครับ


ขอขอบคุณ
Pattara @ Nectec
http://linux.thai.net/ott/books

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

  1. เพราะอะไรต้องมี Three-way-handshake ครับมันช่วยอะไร และมีประโยชน์อย่างไรครับ

    ตอบลบ
    คำตอบ
    1. ลบกวนหน่อยนะครับงานด่นมาเลย

      ลบ
    2. 3-Way Handshake
      3-Way Handshake

      3-Way Handshake เป็นวิธีในการสร้างช่องทางการสื่อสารสำหรับการรับส่งข้อมูลด้วยโพรโทคอล TCP สาเหตุที่เรียกว่า 3-Way Handshake เนื่องจากกระบวนการทำงานนั้นจะใช้ 3 ขั้นตอนด้วยกัน คือ
      1. เครื่อง Client ส่งแพ็คเกต SYN เพื่อขอเชื่อมต่อไปยังเครื่อง Server
      2. เครื่อง Server ส่งแพ็คเกต SYN/ACK ตอบกลับเครื่อง Client
      3. เครื่อง Client ตอบกลับเครื่อง Server ด้วยแพ็คเกต ACK
      หลังจากที่เครื่อง Server ได้รับแพ็คเกต ACK แสดงว่าการเชื่อมต่อเสร็จสมบูรณ์ จากนั้นเครื่อง Server ก็จะเริ่มรับส่งข้อมูลกับเครื่อง Client ได้

      http://www.tcpipguide.com/free/t_TCPConnectionEstablishmentProcessTheThreeWayHandsh-3.htm

      ลบ

คลังบทความของบล็อก

favourites