วันอังคารที่ 29 พฤศจิกายน พ.ศ. 2554

โปรโตคอล (Protocol)

         คือข้อกำหนดหรือข้อตกลงในการสื่อสารระหว่างคอมพิวเตอร์ซึ่งมีอยู่ด้วยกันมากมายหลายชนิด แต่ละชนิดก็มีข้อดี ข้อเสีย และใช้ในโอกาสหรือสถานการณ์แตกต่างกันไป คล้ายๆ กับภาษามนุษย์ที่มีทั้งภาษาไทย จีน ฝรั่ง หรือภาษาใบ้ ภาษามือ หรือจะใช้วิธียักคิ้วหลิ่วตาเพื่อส่งสัญญาณก็จัดเป็นภาษาได้เหมือนกัน ซึ่งจะสื่อสารกันรู้เรื่องได้จะต้องใช้ภาษาเดียวกัน ในบางกรณีถ้าคอมพิวเตอร์ 2 เครื่องสื่อสารกันคนละภาษากันและต้องการนำมาเชื่อมต่อกัน จะต้องมีตัวกลางในการแปลงโปรโตคอลกลับไปกลับมาซึ่งนิยมเรียกว่า Gateway ถ้าเทียบกับภาษามนุษย์ก็คือ ล่าม ซึ่งมีอยู่ทั้งที่เป็นเครื่องเซิร์ฟเวอร์แยกต่างหากสำหรับทำหน้าที่นี้โดยเฉพาะ หรือาจะเป็นโปรแกรมหรือไดร์ฟเวอร์ที่สามารถติดตั้งในเครื่องคอมพิวเตอร์นั้น ๆ ได้เลย

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

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


ตัวอย่าง โปรโตคอล ต่างๆ
โปรโตคอล IGMP (Internet Group Message Protocol)
        โปรโตคอล IP ยังสามารถแบ่งการสื่อสารออกเป็นสองชนิดด้วยกันคือ แบบยูนิคาสติ้ง (Unicasting) และ แบบมัลติคาสติ้ง (Multicasting) โดยยูนิคาสติ้งเป็นการสื่อสารระหว่างฝ่ายส่งและฝ่ายรับ ซึ่งเป็นเการสื่อสารแบบหนึ่งต่อหนึ่ง
        ปัจจุบันได้มีแอปพลิเคชันมากมายที่ใช้สำหรับเพื่อการนี้ แต่อย่างไรก็ตาม ไอพีก็สนับสนุนวิธีการส่งแบบมัลติคาสติ้ง เช่น หมายเลขไอพีแบบมัลติคาสต์ที่ใช้ในอินเทอร์เน็ตโปรโตคอลคลาส D โดย 4 บิตแรก (High-OrderBit) ที่เริ่มต้นด้วย 1110 จะใช้กำหนดกลุ่มของโฮสต์มัลติคาสต์ และด้วยการส่งข้อมูลแบบมัลติคาสต์บนเครือข่ายอินเทอร์เน็ต ก็จะทำให้ข้อมูลเพียงชุดเดียวที่มาจากฝ่ายส่งจะมาถึงกลุ่มผู้รับหลายๆ คน หรือเป็นกลุ่มสมาชิกได้ด้วยการส่งข้อมูลผ่านเครือข่ายเพียงครั้งเดียว ทำให้ลดแบนด์วิดธ์ลงได้มาก ซึ่งแตกต่งจากการส่งข้อมูลแบบบรอดคาสต์ที่โฮสต์บางโฮสต์อาจไม่ต้องการรับข้อมูลเหล่านั้น หรือการส่งแบบยูนิคาสต์ที่โฮสต์ต้นทางจะต้องทำการจัดส่งหลายรอบ ซึ่งจะเท่ากับจำนวนของโฮสต์ปลายทางที่ต้องการข้อมูล ทำให้สิ้นเปลืองแบนด์วิดธ์ ดังนั้นไอ-พีมัลติคาสต์จึงเหมาะกับการนำมาใช้งานบนเครือข่ายกับข้อมูลประเภทมัลติมีเดีย การประชุมผ่านวิดีโอคอมเฟอร์เร็นซ์ เป็นต้น ซึ่งจะช่วยลดแบนด์วิดธ์บนลิงก์มาก เนื่องจากโฮสต์ต้นทางจะส่งข้อมูลเพียงชุดเดียว ไปยังกลุ่มปลายทางที่อยู่ในกลุ่มสมาชิกเดียวกันได้ด้วยการส่งเพียงครั้งเดียว


โปรโตคอล UDP (User Datagram Protocol)
        โปรโตคอล UDP เป็นโปรโตคอลในลำดับชั้นทรานสปอร์ต โดยในส่วนของเฮดเดอร์จะประกอบด้วยส่วนของหมายเลขพอร์ตต้นทาง/ปลายทาง ขนาดความกว้างของข้อมูล และตัวควบคุมข้อผิดพลาด (Checksum) โดยแพ็กเก็ตที่ประกอบขึ้นจาก UDP นี้จะเรียกว่า ยูสเซอร์ดาต้าแกรม (User Datagram)
UDP เป็นโปรโตคอลชนิดคอนเน็กชันเลส ที่ไม่มีการสร้างคอนเน็กชันกับสถานีปลายทางก่อนการส่งข้อมูลดังนั้น เมื่อมีข้อมูลที่จะส่ง UDP ก็จะดำเนินการส่งข้อมูลเหล่านั้นทันที และไม่มีการรับประกันถึงข้อมูลที่ส่งว่าไปถึงปลายทางผู้รับหรือไป และหากข้อมูลไปไม่ถึงปลายทางหรือเกิดข้อผิดพลาดขึ้นมา ลำดับชั้นที่อยู่เหนือกว่าจะต้องเป็นผู้ดำเนินการแก้ไขเอง ดังนั้น โปรโตคอล UDP จึงเป็นโปรโตคอลที่ไม่มีความน่าเชื่อถือ (Unreliable) โดยรายละเอียดภายในเฮดเดอร์ของโปรโตคอล UDP อธิบายได้ดังต่อไปนี้
w Source Port Address
คือ หมายเลขพอร์ตของฝ่ายต้นทาง
w Destination Port Address
คือ หมายเลขพอร์ตของฝ่ายปลายทาง
w Total Length
คือ ฟิลด์ที่ใช้ระบุความยาวทั้งหมดของยูสเซอร์ดาต้าแกรม ซึ่งมีหน่วยเป็นไบต์
w Checksum
คือ ตัวที่ใช้สำหรับตรวจสอบข้อผิดพลาด โดยใช้แบบ Checksum ขนาด 16 บิต

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

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

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