วันอาทิตย์ที่ 17 กุมภาพันธ์ พ.ศ. 2556
บทที่ 5 โปรโตคอล
โปรโตคอล (Protocol)
การที่จะทราบว่าโปรโตคอล (Protocol)
คืออะไรต้องกล่าวถึงยุคแรกของการผลิตคอมพิวเตอร์
ในยุคนั้นผู้ผลิตแต่ละรายก็ได้ผลิตคอมพิวเตอร์ตามมาตรฐานของตนเองขึ้นมา
ซึ่งสามารถทำงานได้เฉพาะกับเครื่องๆ เดียวเท่านั้น
จากการที่มีการพัฒนาเครื่องคอมพิวเตอร์และระบบการทำงานที่ทันสมัย
ทำให้การติดต่อระหว่างเครื่องคอมพิวเตอร์เป็นเรื่องที่สำคัญขึ้นมา
แต่เนื่องจากการที่เครื่องแต่ละเครื่องผลิตขึ้นมาโดยมาตรฐานที่ไม่เหมือนกัน
ทำให้การส่งข้อมูลระหว่างเครื่องนั้นเป็นไปได้ยาก
ดังนั้นจากจุดนี้ทำให้เกิดการสร้างมาตรฐานของข้อมูลขึ้น
เพื่อความสะดวกของเครื่องคอมพิวเตอร์ในการที่จะติดต่อสื่อสารกัน
โปรโตคอลการสื่อสารมีมากมายหลายแบบ
เช่น X.25, NetBEUI, IPX/SPX, TCP/IP เป็นต้นกระบวนการที่โปรโตคอลในระดับต่างๆ
ถูกรวมเข้าโปรโตคอลอื่นๆ เรียกว่า “Binding” การดำเนินการนี้จะเกิดขึ้นเพื่อจัดเตรียมให้ข้อมูลได้รับการกำหนดเส้นทางการขนส่งตั้งแต่ระดับ
Application Layer ลงมาจนถึงการ์ด
เชื่อมต่อระบบเครือข่าย และทำให้มั่นใจได้ว่าข้อมูลได้ถูกจัดเตรียมไว้ให้สามารถใช้บริการจากโปรโตคอลที่อยู่ในระดับสูงกว่าและต่ำกว่า
และการ์ดเชื่อมต่อระบบเครือข่ายสามารถทำการขนส่งข้อมูลเข้าและออกจากโหนดนั้นๆ ได้
5.1
หน้าที่ของโปรโตคอล
โป
รโตคอล คือกฏเกณฑ์และกระบวนการในการสื่อสาร
ซึ่งกฎของการสื่อสารนี้สามารถนำมาประยุกต์ใช้กับการสื่อสารข้อมูลในระบบ
เครือข่ายคอมพิวเตอร์ได้
โดยที่โปรโตคอลจะมีอยู่หลายชนิด
โปรโตคอลแต่ละชนิดจะมีจุดประสงค์ในการทำงานที่แตกต่างกันแต่จะช่วยในการสื่อ
สารบนระบบเครือข่าย
โดยโปรโตคอลแต่ละตัวจะทำงานร่วมกันเป็นลำดับชั้นในรูปแบบของชุดโปรโตคอล (Protocol Stack) เช่น ในโครงสร้างแบบ OSI
Model จะมีโปรโตคอลต่างๆ ทำงานอยู่ในเลเยอร์แต่ละระดับชั้น
ในการสื่อสารข้อมูล
การทำงานในแต่ละเลเยอร์จะเป็นการทำงานหนึ่งขั้นตอน
โดยการทำงานแต่ละขั้นตอนจะมีกระบวนการที่แตกต่างกันไปกฏเกณฑ์การสื่อสารก็มี
ลักษณะเดียวกับการพูด
หากพูดคนละภาษาก็ไม่สามารถเข้าใจซึ่งกันและกันได้
ดังนั้นการใช้กฏเกณฑ์ที่แตกต่างกันจะทำให้ไม่สามารถสื่อสารกันได้
ในทำนองเดียวกันเครื่องคอมพิวเตอร์ที่ใช้โปรโตคอลแตกต่างกันจะไม่สามารถทำ
การสื่อสารข้อมูลระหว่างกันได้
5.1.1
Routable Protocol
ในราวกลางปี 1980 ระบบเครือข่าย LAN ส่วนใหญ่ถูกจัดตั้งแยกจากกัน โดย LAN
หนึ่งวงจะถูกใช้
โดยองค์กรหรือหน่วยงานใดหน่วยงานหนึ่งเท่านั้น จึงยังไม่เกิดระบบเครือข่ายขนาดใหญ่ขึ้นมา
ต่อมาการทำงานบนระบบเครือข่ายเริ่มที่จะได้รับความนิยมเพิ่มมากขึ้น จึงมีความต้องการในการเชื่อมต่อวง
LAN ต่างๆ เหล่านี้เข้าด้วยกันเป็นระบบเครือข่าย
WAN เพื่อแลกเปลี่ยนข้อมูลทางธุรกิจ หรือข้อมูลอื่นๆ ระหว่างกัน
จนเป็นเครือข่ายขนาดใหญ่และซับซ้อน ในการขนส่งข้อมูลระหว่างวง LAN เหล่านี้ จึงมีเส้นทางในการขนส่งข้อมูลได้หลายเส้นทาง จำเป็นที่จะต้องใช้โปรโตคอลที่สามารถระบุเส้นทางการขนส่งข้อมูลได้
หรือที่เรียกว่า Routable Protocol สำหรับช่วยในการขนส่งแพ็กเก็ตข้อมูลข้ามไปมาระหว่างวง
LAN ที่เชื่อมโยงเข้าด้วยกันนี้ได้อย่างเหมาะสมoo;lklklkl
Transmission Control Profocol/Internet Protocol
ความรู้เบื้องต้น เกี่ยวกับ TCP/IP
โปรโตคอล TCP/IP เป็นชุดของโปรโตคอลที่มีการพัฒนามาตั้งแต่ปี 1960 โดยมีวัตถุประสงค์ให้สามารถ
ใช้สื่อสารจากต้นทางข้ามเน็ตเวิร์กไปยังปลายทางได้ และสามารถหาเส้นทางที่จะส่งข้อมูลไปได้เองโดยอัตโนมัติถึงแม้ว่าในระหว่าง ทางอาจจะผ่านเน็ตเวิร์กที่มีปัญหาโปรโตคอลที่ยังคงหาเส้นทางส่งผ่านข้อมูลไป ให้ถึงปลายทางได้ ในระยะเริ่มต้นโปรโตคอลนี้ใช้กันในวงแคบ ๆ เฉพาะราชการและสถานศึกษาของอเมริกาจนในช่วงปี 90 จึง มีการนำมาใช้ในทางธุรกิจและเป็นจุดเริ่มต้นของอินเทอร์เน็ตในปัจจุบันผมคิด ว่าประวัติโดยส่วนใหญ่ของโปรโตคอลนี้คงมีอยู่ในหนังสือที่เกี่ยวข้องกับอิน เทอร์เน็ตจำนวนหลายเล่มแล้วก็คงอนุญาตละไว้เพื่อให้เข้าสู่จุดมุ่งหมายของ หนังสือฉบับนี้ได้อย่างรวดเร็วจากที่กล่าวมาข้างต้นจะเห็นได้ว่า TCP/IP นี้มีการออกแบบมาเป็นเวลานาน มาตั้งแต่ปี 1960 ก็ มีการใช้ไปปรับปรุงอยู่เรื่อย ๆ เพื่อให้สามารถใช้งานได้หลากหลายและมีประสิทธิภาพมากขึ้นแต่อย่างไรก็ตามโป รโตคอลนี้ก็ยังคงมีจุดบกพร่องอีกมากมายซึ่งจุดบกพร่องเหล่านี้บางส่วนก็มิ ได้มีผลกระทบรุนแรงเท่าไหร่นักในมุมมองของนักคอมพิวเตอร์โดยทั่วไปแต่กลับ กลายเป็นเครื่องมืออันทรงอานุภาพของบรรดาเหล่าแฮกเกอร์ทั้งหลายที่หยิบฉวย ข้อบกพร่องเหล่านี้มาใช้ในการโจมตีผู้อื่นโดยเฉพาะการโจมตีแบบ Dos นั้นล้วนแต่ใช้ข้อบกพร่องของ TCP/IP แทบ ทั้งสิ้นการศึกษาโปรโตคอลนี้ตามปกติที่ทำกันทั่วไปอาจไม่เพียงพอที่จะทำให้ รู้เท่าทันกลวิธีของแฮกเกอร์และป้องกันตนเองได้ดังนั้นสิ่งที่เราจำเป็นต้อง ศึกษาควบคู่กันไปกับวิธีการใช้งานโปรโตคอลก็คือข้อบกพร่องของโปรโตคอลคือ อะไรมีผลกระทบอย่างไรและสามารถป้องกันตัวเองได้อย่างไรอย่างไรก็ตามก่อนที่ จะศึกษาเรื่อง IDS เราจำเป็นต้องเริ่มศึกษาโปรโตคอล TCP/IP อย่างละเอียดถี่ถ้วยเสียก่อนเพื่อเป็นพื้นฐานในการทำความเข้าใจเนื้อหาที่มีความซับซ้อนในภายหลังในการแบ่งชั้น Layering TCP/IP เป็นชุดของโปรโตคอลที่ประกอบด้วยโปรโตคอลย่อยหลายตัวโดยแต่ละตัวจะทำหน้าที่ในแต่ละชั้นหรือเลเยอร์ layer ซึ่งรับผิดชอบและแปลความหมายของข้อมูลในแต่ละระดับของการสื่อสาร ซึ่งในภาพรวมแล้ว TCP/IPแบ่งออกเป็น 4 เลเยอร์ดังรูป
ความรู้เบื้องต้น เกี่ยวกับ TCP/IP
โปรโตคอล TCP/IP เป็นชุดของโปรโตคอลที่มีการพัฒนามาตั้งแต่ปี 1960 โดยมีวัตถุประสงค์ให้สามารถ
ใช้สื่อสารจากต้นทางข้ามเน็ตเวิร์กไปยังปลายทางได้ และสามารถหาเส้นทางที่จะส่งข้อมูลไปได้เองโดยอัตโนมัติถึงแม้ว่าในระหว่าง ทางอาจจะผ่านเน็ตเวิร์กที่มีปัญหาโปรโตคอลที่ยังคงหาเส้นทางส่งผ่านข้อมูลไป ให้ถึงปลายทางได้ ในระยะเริ่มต้นโปรโตคอลนี้ใช้กันในวงแคบ ๆ เฉพาะราชการและสถานศึกษาของอเมริกาจนในช่วงปี 90 จึง มีการนำมาใช้ในทางธุรกิจและเป็นจุดเริ่มต้นของอินเทอร์เน็ตในปัจจุบันผมคิด ว่าประวัติโดยส่วนใหญ่ของโปรโตคอลนี้คงมีอยู่ในหนังสือที่เกี่ยวข้องกับอิน เทอร์เน็ตจำนวนหลายเล่มแล้วก็คงอนุญาตละไว้เพื่อให้เข้าสู่จุดมุ่งหมายของ หนังสือฉบับนี้ได้อย่างรวดเร็วจากที่กล่าวมาข้างต้นจะเห็นได้ว่า TCP/IP นี้มีการออกแบบมาเป็นเวลานาน มาตั้งแต่ปี 1960 ก็ มีการใช้ไปปรับปรุงอยู่เรื่อย ๆ เพื่อให้สามารถใช้งานได้หลากหลายและมีประสิทธิภาพมากขึ้นแต่อย่างไรก็ตามโป รโตคอลนี้ก็ยังคงมีจุดบกพร่องอีกมากมายซึ่งจุดบกพร่องเหล่านี้บางส่วนก็มิ ได้มีผลกระทบรุนแรงเท่าไหร่นักในมุมมองของนักคอมพิวเตอร์โดยทั่วไปแต่กลับ กลายเป็นเครื่องมืออันทรงอานุภาพของบรรดาเหล่าแฮกเกอร์ทั้งหลายที่หยิบฉวย ข้อบกพร่องเหล่านี้มาใช้ในการโจมตีผู้อื่นโดยเฉพาะการโจมตีแบบ Dos นั้นล้วนแต่ใช้ข้อบกพร่องของ TCP/IP แทบ ทั้งสิ้นการศึกษาโปรโตคอลนี้ตามปกติที่ทำกันทั่วไปอาจไม่เพียงพอที่จะทำให้ รู้เท่าทันกลวิธีของแฮกเกอร์และป้องกันตนเองได้ดังนั้นสิ่งที่เราจำเป็นต้อง ศึกษาควบคู่กันไปกับวิธีการใช้งานโปรโตคอลก็คือข้อบกพร่องของโปรโตคอลคือ อะไรมีผลกระทบอย่างไรและสามารถป้องกันตัวเองได้อย่างไรอย่างไรก็ตามก่อนที่ จะศึกษาเรื่อง IDS เราจำเป็นต้องเริ่มศึกษาโปรโตคอล TCP/IP อย่างละเอียดถี่ถ้วยเสียก่อนเพื่อเป็นพื้นฐานในการทำความเข้าใจเนื้อหาที่มีความซับซ้อนในภายหลังในการแบ่งชั้น Layering TCP/IP เป็นชุดของโปรโตคอลที่ประกอบด้วยโปรโตคอลย่อยหลายตัวโดยแต่ละตัวจะทำหน้าที่ในแต่ละชั้นหรือเลเยอร์ layer ซึ่งรับผิดชอบและแปลความหมายของข้อมูลในแต่ละระดับของการสื่อสาร ซึ่งในภาพรวมแล้ว TCP/IPแบ่งออกเป็น 4 เลเยอร์ดังรูป
TCP/IP Layer
link Layer
ในเลเยอร์นี้จะเป็นดีไวซ์ไดรเวอร์ที่ทำงานอยู่บนระบบปฏิบัติการแต่ละระบบทำหน้าที่รับผิดชอบ
ในการรับส่งสัญญาณไฟฟ้าจนเป็นข้อมูลทางคอมพิวเตอร์ โปรโตคอลระดับนี้ เช่น Ethernet และ SLIP (Serial Line Internet Protocol) Network Layer รับผิดชอบในการรับส่งข้อมูลในเน็ตเวิร์กส่งต่อข้อมูล ไปจนถึงจุดหมายปลายทางโปรโตคอลระดับนี้ได้แก่ IP,ICMP,IGMP Transport Layer รับผิดชอบในการรับส่ง ข้อมูลระหว่างเครื่องหนึ่ง (Host) ไปยังอักโฮสต์หหนึ่งจะส่งข้อมูลไปให้ Application Layer นำไปใช้งานต่อ มีโปรโตคอลที่จัดอยู่ในเลเยอร์นี้ คือ TCP และ UDPซึ่งมีลักษณะในการรับส่งข้อมูลที่แตกต่างกันออกไป Application Layer เป็นเลเยอร์ที่แอพพลิเคชั่นเรียกใช้โปรโตคอลระดับล่าง ๆ ลงไปเพื่อวัตถุประสงค์ที่แตกต่างกัน เช่น
FTP (File Transfer Protocol) ใช้สำหรับรับส่งแฟ้มข้อมูลระหว่างโฮสต์ SMTP (Simple Mail Transfer Protocol) ใช้รับส่งจดหมายอิเล็กทรอนิคส์ระหว่างโฮสต์Telnet ใช้สำหรับการควบคุมเครื่องระยะไกล HTTP (Hypertext Transfer Protocol)เป็นโปรโตคอลที่ใช้รับส่งข้อมูลเว็บเพจระหว่างบราวเซอร์และเว็บเซิร์ฟเวอร์ POP (Post Office Protocol) ใช้สำหรับดาวน์โหลดอีเมล์จากเมล์เซิร์ฟเวอร์มาไว้ที่เครื่องเมล์ไคลเอนต์ (PC) ของผู้ใช้
TCP กับ UDP
เพื่อเป็นข้อมูลเบื้องต้นสำหรับการทำความเข้าใจชุดโปรโตคอล TCP/IP ก่อนที่จะเจาะลึกรายละเอียดในบทต่อไปนั้นขออธิบายลักษณะของ TCP และ UDP ดังนี้
TCP
เป็นโปรโตคอลที่รับประกันการับ - ส่งข้อมูลระหว่างโฮสต์ กล่าวคือ โปรโตคอลมีกลไกในการตรวจสอบและยืนยันว่ามีข้อมูลจากต้นทางจะไปถึงปลายทางเสมอ หากข้อมูลถึงปลายทางก็จะมีสัญญาณตอบรับว่าข้อมูลถึงปลายทางแล้ว หากไม่มีสัญญาณตอบรับก็แสดงว่าข้อมูลไม่ถึงปลายทาง ดั้งนี้แอพพลิเคชั่นที่มีความสำคัญจึงเลือกใช้โปรโตคอลนั้นในการรับส่งข้อมูล กระบวยการยืนยันการรับส่งข้อมูลนี้เองเป็นจุดขายของโปรโตคอล TCPที่เด่นและไม่มีใครมาแข่งขันได้ เพราะในการทำงานของคอมพิวเตอร์ ท่านผู้อ่านคงทราบแล้วว่าข้อมูลทุกตัวอักษรล้วนมีความสำคัญอย่างยิ่งยวดและอย่างเท่าเทียมกัน การที่ข้อมูลขาดหายหรือผิดไปม้เพียงตัวอักษรเดียวก็อาจทำให้โปรแกรมทำงานผิดพลาดทั้งได้ทันที ดังนั้นแอพพลิเคชั่นซึ่งทราบความสำคัญในจุดนี้เป็นอย่างดีจึงหันมา
เลือกใช้โปโตคอล TCP ในการสื่อสารกันเป็นจำนวนมากประกอบกับการที่โปรโตคอล TCP นั้นอยู่บนเลเยอร์ของ IP ซึ่ง สามารถรับส่งข้อมูลไปได้ทุกที่ในโลกก็เปรียบเสมือนเสือติดปีกและเราเองที่ ได้เห็นฤทธิ์เดชของเจ้าของเสือติดปีกบนอินเทอร์เน็ตทุกวันนี้เอง
UDP
ในขณะที่ TCP มีการรับส่งข้อมูลได้อย่างถูกต้องทุกบิต แต่ทุกอย่างในโลกนี้ไม่มีอะไรได้มาฟรี สิ่งที่ TCP ต้อง แลกไปกับการรับประกันข้อมูลคือโอเวอร์เฮดที่เพิ่มขึ้นไม่ว่าในแง่ของความยาว ของข้อมูลและความซับซ้อนในการที่ต้องการตอบรับทุกครั้งทำให้ประสิทธิภาพลดลง ไปโปรโตคอล UDP ได้เข้ามาแก้ไขปัญหานี้คือ สามารถรับส่งข้อมูลระหว่างโฮสต์ได้เช่นกัน แต่ไม่มีการับประกันการรับส่งข้อมูล หมายถึงการส่งข้อมูลทุกครั้งจะไม่มีการตรวจสอบยืนยันกันเอง หากต้องการตรวจสอบก็ให้รับส่งข้อมูลยืนยันข้อมูลอาจจะขอเพียงให้สามารถรับ - ส่งข้อมูลได้อย่างมีประสิทธิภาพก็เพียงพอแล้ว
TCP/IP Layering
ในชุดของโปโตคอล TCP/IP ประกอบด้วยโปรโตคอลหลายตัวทำงานร่วมกันในเลเยอร์ต่างๆและมีหน้าที่ แตกต่างกันออกไปแสดงให้เห็นถึงโปรโตคอลในแต่ละเลเยอร์ที่เมื่อรวมกันเป็นชุมของ TCP/IP ซึ่งตัวหลักในภาพก็คือ TCP อยู่ ในทราบสปอร์ตเลเยอร์ทำหน้าที่จัดการและควบคุมการรับส่งข้อมูลให้มีเสถียรภาพ และเชื่อถือได้โดยปล่อยหน้าที่นี้ให้กับแอพพลิเคชั่นเลเยอร์เป็นผู้ทำ หน้าที่นี้แทน UDP อยู่ในสปอร์ตเลเยอร์ ทำหน้าที่จัดการและควบคุมการรับส่งข้อมูลเช่นเดียวกันแต่ไม่มีกลไกการรับส่งที่มีเสถียรภาพและเชื่อถือได้ โดยปล่อยหน้าที่นี้ให้กับแอพพลิเคชั่นเลเยอร์เป็นผู้ทำหน้าที่นี้แทน
ในเลเยอร์นี้จะเป็นดีไวซ์ไดรเวอร์ที่ทำงานอยู่บนระบบปฏิบัติการแต่ละระบบทำหน้าที่รับผิดชอบ
ในการรับส่งสัญญาณไฟฟ้าจนเป็นข้อมูลทางคอมพิวเตอร์ โปรโตคอลระดับนี้ เช่น Ethernet และ SLIP (Serial Line Internet Protocol) Network Layer รับผิดชอบในการรับส่งข้อมูลในเน็ตเวิร์กส่งต่อข้อมูล ไปจนถึงจุดหมายปลายทางโปรโตคอลระดับนี้ได้แก่ IP,ICMP,IGMP Transport Layer รับผิดชอบในการรับส่ง ข้อมูลระหว่างเครื่องหนึ่ง (Host) ไปยังอักโฮสต์หหนึ่งจะส่งข้อมูลไปให้ Application Layer นำไปใช้งานต่อ มีโปรโตคอลที่จัดอยู่ในเลเยอร์นี้ คือ TCP และ UDPซึ่งมีลักษณะในการรับส่งข้อมูลที่แตกต่างกันออกไป Application Layer เป็นเลเยอร์ที่แอพพลิเคชั่นเรียกใช้โปรโตคอลระดับล่าง ๆ ลงไปเพื่อวัตถุประสงค์ที่แตกต่างกัน เช่น
FTP (File Transfer Protocol) ใช้สำหรับรับส่งแฟ้มข้อมูลระหว่างโฮสต์ SMTP (Simple Mail Transfer Protocol) ใช้รับส่งจดหมายอิเล็กทรอนิคส์ระหว่างโฮสต์Telnet ใช้สำหรับการควบคุมเครื่องระยะไกล HTTP (Hypertext Transfer Protocol)เป็นโปรโตคอลที่ใช้รับส่งข้อมูลเว็บเพจระหว่างบราวเซอร์และเว็บเซิร์ฟเวอร์ POP (Post Office Protocol) ใช้สำหรับดาวน์โหลดอีเมล์จากเมล์เซิร์ฟเวอร์มาไว้ที่เครื่องเมล์ไคลเอนต์ (PC) ของผู้ใช้
TCP กับ UDP
เพื่อเป็นข้อมูลเบื้องต้นสำหรับการทำความเข้าใจชุดโปรโตคอล TCP/IP ก่อนที่จะเจาะลึกรายละเอียดในบทต่อไปนั้นขออธิบายลักษณะของ TCP และ UDP ดังนี้
TCP
เป็นโปรโตคอลที่รับประกันการับ - ส่งข้อมูลระหว่างโฮสต์ กล่าวคือ โปรโตคอลมีกลไกในการตรวจสอบและยืนยันว่ามีข้อมูลจากต้นทางจะไปถึงปลายทางเสมอ หากข้อมูลถึงปลายทางก็จะมีสัญญาณตอบรับว่าข้อมูลถึงปลายทางแล้ว หากไม่มีสัญญาณตอบรับก็แสดงว่าข้อมูลไม่ถึงปลายทาง ดั้งนี้แอพพลิเคชั่นที่มีความสำคัญจึงเลือกใช้โปรโตคอลนั้นในการรับส่งข้อมูล กระบวยการยืนยันการรับส่งข้อมูลนี้เองเป็นจุดขายของโปรโตคอล TCPที่เด่นและไม่มีใครมาแข่งขันได้ เพราะในการทำงานของคอมพิวเตอร์ ท่านผู้อ่านคงทราบแล้วว่าข้อมูลทุกตัวอักษรล้วนมีความสำคัญอย่างยิ่งยวดและอย่างเท่าเทียมกัน การที่ข้อมูลขาดหายหรือผิดไปม้เพียงตัวอักษรเดียวก็อาจทำให้โปรแกรมทำงานผิดพลาดทั้งได้ทันที ดังนั้นแอพพลิเคชั่นซึ่งทราบความสำคัญในจุดนี้เป็นอย่างดีจึงหันมา
เลือกใช้โปโตคอล TCP ในการสื่อสารกันเป็นจำนวนมากประกอบกับการที่โปรโตคอล TCP นั้นอยู่บนเลเยอร์ของ IP ซึ่ง สามารถรับส่งข้อมูลไปได้ทุกที่ในโลกก็เปรียบเสมือนเสือติดปีกและเราเองที่ ได้เห็นฤทธิ์เดชของเจ้าของเสือติดปีกบนอินเทอร์เน็ตทุกวันนี้เอง
UDP
ในขณะที่ TCP มีการรับส่งข้อมูลได้อย่างถูกต้องทุกบิต แต่ทุกอย่างในโลกนี้ไม่มีอะไรได้มาฟรี สิ่งที่ TCP ต้อง แลกไปกับการรับประกันข้อมูลคือโอเวอร์เฮดที่เพิ่มขึ้นไม่ว่าในแง่ของความยาว ของข้อมูลและความซับซ้อนในการที่ต้องการตอบรับทุกครั้งทำให้ประสิทธิภาพลดลง ไปโปรโตคอล UDP ได้เข้ามาแก้ไขปัญหานี้คือ สามารถรับส่งข้อมูลระหว่างโฮสต์ได้เช่นกัน แต่ไม่มีการับประกันการรับส่งข้อมูล หมายถึงการส่งข้อมูลทุกครั้งจะไม่มีการตรวจสอบยืนยันกันเอง หากต้องการตรวจสอบก็ให้รับส่งข้อมูลยืนยันข้อมูลอาจจะขอเพียงให้สามารถรับ - ส่งข้อมูลได้อย่างมีประสิทธิภาพก็เพียงพอแล้ว
TCP/IP Layering
ในชุดของโปโตคอล TCP/IP ประกอบด้วยโปรโตคอลหลายตัวทำงานร่วมกันในเลเยอร์ต่างๆและมีหน้าที่ แตกต่างกันออกไปแสดงให้เห็นถึงโปรโตคอลในแต่ละเลเยอร์ที่เมื่อรวมกันเป็นชุมของ TCP/IP ซึ่งตัวหลักในภาพก็คือ TCP อยู่ ในทราบสปอร์ตเลเยอร์ทำหน้าที่จัดการและควบคุมการรับส่งข้อมูลให้มีเสถียรภาพ และเชื่อถือได้โดยปล่อยหน้าที่นี้ให้กับแอพพลิเคชั่นเลเยอร์เป็นผู้ทำ หน้าที่นี้แทน UDP อยู่ในสปอร์ตเลเยอร์ ทำหน้าที่จัดการและควบคุมการรับส่งข้อมูลเช่นเดียวกันแต่ไม่มีกลไกการรับส่งที่มีเสถียรภาพและเชื่อถือได้ โดยปล่อยหน้าที่นี้ให้กับแอพพลิเคชั่นเลเยอร์เป็นผู้ทำหน้าที่นี้แทน
เลเยอร์ของโปรโตคอลต่าง
ๆ ในชุด TCP/IP Suite
IP
อยู่ในเน็ตเวิร์กเลเยอร์เป็นโปรโตคอลหลักในการสื่อสารข้อมูลซึ่งกลไกสำคัญที่ทำให้ข้อมูลสามารถเคลื่อนที่ไปยังปลายทางได้ก็คือโปรโตคอล IP นั้นเอง ICMP (Internet Control Message Protocol) อยู่ในเน็ตเวิร์กเลเยอร์ทำหน้าที่เสริมให้การทำงานของ IP ให้สมบูรณ์ โดยจะเป็นโปรโตคอลที่คอยส่งข่าวสารและแจ้งความผิดพลาดให้แก่ IP แต่ในบางโอกาสแอพพลิแคชั่นเลยเยอร์ก็เรียกใช้ ICMP โดยตรงเพื่อใช้ประโยชน์จากความสามารถของ ICMP ด้วยเช่นกัน IGMP (Internet Group Mangement Protocol) อยู่ในเน็ตเวิร์กเลเยอร์ ทำหน้าที่ในการส่ง UDP ดาต้าแกรมไปยังกลุ่มของโฮสต์ หรือโฮสต์หลาย ๆ ตัวพร้อมกัน ARP (Address Reservation Protocol) อยู่ในลิงค์เลเยอร์ ทำหน้าที่เปลี่ยนระหว่างแอดเดรสที่ใช้โดย IP ให้เป็นแอดเดรสของ Network Interface RATP (Reverse ARP) อยู่ในลิงค์เลเยอร์เช่นกัน แต่ทำหน้าที่กลับกันกับ ARP คือ เปลี่ยนระหว่างแอดเดรส ของNetwork Interface ให้เป็นแอดเดรสที่ใช้โดย IP
Internet Address
ทุกอินเทอร์เน็ตทีต่อยู่บนอินทอร์เน็ตจะต้องมีหมายเลขประจำตัวเพื่อใช้ในการสื่อสาร ข้อมูล เรียกว่า
Internet Address หรือเรียกย่อๆว่า IPAddressโดยค่า IPAddress นี้จะเป็นหมายเลขจำนวน 32 บิตแต่แทนที่จะกำหนดให้เลขทั้ง 32 บิต นั้นถูกนับต่อเนื่องกันไป ตั้งแต่ 0 - 2 ก็ใช้วิธีการแบ่งหมายเลขดังกล่าวออกเป็นกลุ่มของเลขขนาด 8 บิต จำนวน 4 ชุด และคั่นแต่ละชุดด้วยจุด ตัวอย่างเช่น 192.168.13.201 นอกจากนั้นในIP Address นั้นถูกแบ่งออกเป็น 2 ส่วน คือ ส่วนที่เป็นแอดเดรสของเน็ตเวิร์ก (Network ID)และส่วนที่เป็นแอดเดรสของโฮสต์ (Host ID) ซึ่งข้อมูลในส่วนนี้จะถูกใช้สำหรับค้นหาเส้นทางของ IP ในการที่จะขนส่งข้อมูลจากต้นทางให้ถึงปลายทางอย่างถูกต้องเพื่อเป็นการกำหนดขนาดของเน็ตเวิร์กสำหรับ IP Address ต่าง ๆ ดังนั้นจึงมีการจัด IP Address ในแต่ละช่วงออกเป็นคลาส ต่าง ๆ กันจาก A ถึง E เพื่อจะได้ทำการจัดสรร IP Address ได้อย่างเหมาะสมกับขนาดของเน็ตเวิร์ก
อยู่ในเน็ตเวิร์กเลเยอร์เป็นโปรโตคอลหลักในการสื่อสารข้อมูลซึ่งกลไกสำคัญที่ทำให้ข้อมูลสามารถเคลื่อนที่ไปยังปลายทางได้ก็คือโปรโตคอล IP นั้นเอง ICMP (Internet Control Message Protocol) อยู่ในเน็ตเวิร์กเลเยอร์ทำหน้าที่เสริมให้การทำงานของ IP ให้สมบูรณ์ โดยจะเป็นโปรโตคอลที่คอยส่งข่าวสารและแจ้งความผิดพลาดให้แก่ IP แต่ในบางโอกาสแอพพลิแคชั่นเลยเยอร์ก็เรียกใช้ ICMP โดยตรงเพื่อใช้ประโยชน์จากความสามารถของ ICMP ด้วยเช่นกัน IGMP (Internet Group Mangement Protocol) อยู่ในเน็ตเวิร์กเลเยอร์ ทำหน้าที่ในการส่ง UDP ดาต้าแกรมไปยังกลุ่มของโฮสต์ หรือโฮสต์หลาย ๆ ตัวพร้อมกัน ARP (Address Reservation Protocol) อยู่ในลิงค์เลเยอร์ ทำหน้าที่เปลี่ยนระหว่างแอดเดรสที่ใช้โดย IP ให้เป็นแอดเดรสของ Network Interface RATP (Reverse ARP) อยู่ในลิงค์เลเยอร์เช่นกัน แต่ทำหน้าที่กลับกันกับ ARP คือ เปลี่ยนระหว่างแอดเดรส ของNetwork Interface ให้เป็นแอดเดรสที่ใช้โดย IP
Internet Address
ทุกอินเทอร์เน็ตทีต่อยู่บนอินทอร์เน็ตจะต้องมีหมายเลขประจำตัวเพื่อใช้ในการสื่อสาร ข้อมูล เรียกว่า
Internet Address หรือเรียกย่อๆว่า IPAddressโดยค่า IPAddress นี้จะเป็นหมายเลขจำนวน 32 บิตแต่แทนที่จะกำหนดให้เลขทั้ง 32 บิต นั้นถูกนับต่อเนื่องกันไป ตั้งแต่ 0 - 2 ก็ใช้วิธีการแบ่งหมายเลขดังกล่าวออกเป็นกลุ่มของเลขขนาด 8 บิต จำนวน 4 ชุด และคั่นแต่ละชุดด้วยจุด ตัวอย่างเช่น 192.168.13.201 นอกจากนั้นในIP Address นั้นถูกแบ่งออกเป็น 2 ส่วน คือ ส่วนที่เป็นแอดเดรสของเน็ตเวิร์ก (Network ID)และส่วนที่เป็นแอดเดรสของโฮสต์ (Host ID) ซึ่งข้อมูลในส่วนนี้จะถูกใช้สำหรับค้นหาเส้นทางของ IP ในการที่จะขนส่งข้อมูลจากต้นทางให้ถึงปลายทางอย่างถูกต้องเพื่อเป็นการกำหนดขนาดของเน็ตเวิร์กสำหรับ IP Address ต่าง ๆ ดังนั้นจึงมีการจัด IP Address ในแต่ละช่วงออกเป็นคลาส ต่าง ๆ กันจาก A ถึง E เพื่อจะได้ทำการจัดสรร IP Address ได้อย่างเหมาะสมกับขนาดของเน็ตเวิร์ก
การกำหนดแอดเดรสสำหรับคลาสต่าง
ๆ
แสดงช่วงของ IP Address แต่ละคลาส
Encapsulation
การ Encapsulation คือการนำข้อมูล ที่ต้องการส่งมาประกอบรวมกับข้อมูลที่เป็นส่วนควบคุมของโปรโตคอลโดยข้อมูล ส่วนที่เป็นส่วนควบคุมนั้นจะถูกนำมาไว้ในส่วนหัวข้อของข้อมูลเรียกว่าเฮ ดเดอร์(header)ซึ่งในการรับข้อมูลนั้นผู้รับข้อมูล จะได้รับเฮดเดอร์ก่อนจากนั้นก็นำเฮดเดอร์ไปแปลและทราบว่าข้อมูลที่ตามมานั้น มีลักษณะอย่างไรจะได้จัดการได้อย่างถูกต้อง ภายในเฮดเดอร์ของโปรโตคอลส่วนใหญ่จะประกอบด้วยข้อมูลหลักที่สำคัญของโปรโตคอ ลที่ทำการ Encapsulate มาคือแอดเดรสต้นทาง, แอดเดรสปลายทาง , ความยาวข้อมูล, รหัสตรวจสอบความผิดพลาดข้อมูลซึ่งสิ่งที่จะต้องเน้นให้เห็นชัดคือ จะมีข้อมูลสำคัญเฉพาะโปรโตคอลที่ทำการEncapsulation มาเท่านั้น ตัวอย่างเช่น การ Encapsulate ของ Ethernet ก็จะมีการระบุ Ethernet address ลงในเฮดเดอร์เท่านั้นจะไม่มีการบรรจุ IP address ลงมาใน Ethernet Header ด้วยแต่อย่างใด เพราะในเลเยอร์ของ Ethernet จะไม่รู้จัก IP Address หรือรหัสควบคุมใด ๆ ของ IP (จริง ๆ แล้ว Ethernt ไม่รู้ด้วยซ้ำว่าข้อมูลที่จะส่งนั้นเป็นโปรโตคอลอะไร) ดาต้าแกรมของ IP จะถูกตีค่าว่าเป็นข้อมูลก้อนเดียวกัน
สำหรับ Ethernet เท่านั้น
การ Encapsulation คือการนำข้อมูล ที่ต้องการส่งมาประกอบรวมกับข้อมูลที่เป็นส่วนควบคุมของโปรโตคอลโดยข้อมูล ส่วนที่เป็นส่วนควบคุมนั้นจะถูกนำมาไว้ในส่วนหัวข้อของข้อมูลเรียกว่าเฮ ดเดอร์(header)ซึ่งในการรับข้อมูลนั้นผู้รับข้อมูล จะได้รับเฮดเดอร์ก่อนจากนั้นก็นำเฮดเดอร์ไปแปลและทราบว่าข้อมูลที่ตามมานั้น มีลักษณะอย่างไรจะได้จัดการได้อย่างถูกต้อง ภายในเฮดเดอร์ของโปรโตคอลส่วนใหญ่จะประกอบด้วยข้อมูลหลักที่สำคัญของโปรโตคอ ลที่ทำการ Encapsulate มาคือแอดเดรสต้นทาง, แอดเดรสปลายทาง , ความยาวข้อมูล, รหัสตรวจสอบความผิดพลาดข้อมูลซึ่งสิ่งที่จะต้องเน้นให้เห็นชัดคือ จะมีข้อมูลสำคัญเฉพาะโปรโตคอลที่ทำการEncapsulation มาเท่านั้น ตัวอย่างเช่น การ Encapsulate ของ Ethernet ก็จะมีการระบุ Ethernet address ลงในเฮดเดอร์เท่านั้นจะไม่มีการบรรจุ IP address ลงมาใน Ethernet Header ด้วยแต่อย่างใด เพราะในเลเยอร์ของ Ethernet จะไม่รู้จัก IP Address หรือรหัสควบคุมใด ๆ ของ IP (จริง ๆ แล้ว Ethernt ไม่รู้ด้วยซ้ำว่าข้อมูลที่จะส่งนั้นเป็นโปรโตคอลอะไร) ดาต้าแกรมของ IP จะถูกตีค่าว่าเป็นข้อมูลก้อนเดียวกัน
สำหรับ Ethernet เท่านั้น
การ Encapsulation ข้อมูลผ่านชั้นของโปรโตคอลแต่ละระดับ
บทที่ 4 การขนส่งข้อมูลในระบบเครือข่าย
| ||||||||||||||||||||||
อีเทอร์เน็ตความเร็วสูง (Fast Ethernet)
เนื่องจากปัจจุบันมัลติมีเดียมีการได้ใช้งานกันมากจึงมีความต้องการเครือข่ายความเร็วสูงในการเชื่อมโยง คอมพิวเตอร์เหล่านี้เข้าด้วยกันกลุ่มทำงานของ IEEE จึงตัดสินใจที่จะปรับปรุงมาตรฐาน802.3ให้สามารถ ส่งข้อมูลด้วยความเร็วสูงขึ้น ซึ่งกลายเป็นมาตรฐานเรียกว่า 802.3 m แต่อย่างไรก็ตามคนทั่วไปเรียกว่า ฟาสต์อีเทอร์เน็ต (Fast Ethernet) หลักการทำงานของฟาสต์อีเทอร์เน็ต เหมือนกับแบบ 802.3 เพียงแต่ลดเวลาการส่งข้อมูลของแต่ละบิตจาก 100 นาโนวินาทีเป็น 10 นาโนวินาทีจึงทำให้อัตราส่งข้อมูล ส่งถึง 10 เท่าจากเดิม และสำหรับรูปร่างเครือข่ายนั้น คณะทำงานของ IEEE ได้เลือกใช้แบบฮับ เนื่องจาก แบบฮับนี้ใช้สายคู่ตีเกลียวที่มีขนาดบางและเบา อีกทั้งเมื่อสายขาดก็ไม่กระทบต่อการทำงานส่วนอื่นของเครือข่าย ส่วนสายเคเบิลที่ใช้เป็นสื่อส่งข้อมูลนั้น คณะทำงานได้ยินยอมให้มีการใช้ได้ทั้งสายคู่ตีเกลียวแบบ category 3 ที่ใช้สำหรับระบบโทรศัพท์ทั่วไปซึ่งทำให้ผู้ใช้ไม่จำเป็นต้องติดตั้งสายใหม่ภายในตึกแต่ทั่วไปแล้วสายสำหรับ ฟาสต์อีเทอร์เน็ตมักจะเป็นสายคู่ตีเกลียวแบบ category5 หรือเส้นใยแก้วนำแสดงดังตารางแสดงคุณสมบัติทั่วไป ของทั้ง 3 ชนิด | ||||||||||||||||||||||
มาตรฐาน LAN แบบ Token Ring (IEEE 802.5)
การใช้ Token Ring ในการส่งข้อมูล (Using Tokens Ring in Transmission) มาตรฐาน LAN แบบ Ethernet มีข้อจำกัดประการหนึ่ง นั่นคือ การใช้เทคโนโลยีการสื่อสารข้อมูล แบบ CSMA/CD ซึ่งเมื่อจำนวนสถานีงานที่เชื่อมต่ออยู่กับเครือข่ายเพิ่มมากขึ้นโอกาสที่สถานีมากกว่า2 สถานีจะทำการส่งข้อมูลออกมาในเวลาเดียวกันก็ย่อมจะต้องมีมากขึ้นแม้ว่าจะมีกลวิธีในการป้องกันการชนกันของข้อมูลอยู่ก็ตาม แต่วิธีการเหล่านั้นจะทำงานได้ดีก็ต่อเมื่อเกิดการชนกันในครั้งแรกขึ้นแล้วเท่านั้น การติดตั้งเครือข่าย LAN แบบ Ethernet ในองค์กรที่มีเครื่องคอมพิวเตอร์หรือสถานีงานจำนวนมากๆโดยขาดการออกแบบระบบงานเชื่อมต่อหรือการจัดกลุ่มเครือข่ายย่อย (SubNetwork) ที่เหมาะสมย่อมส่งผลให้อัตราการชนกันของข้อมูลมีสูงขึ้นทำประสิทธิภาพในการรับส่งข้อมูลที่ช้าลง(ยิ่งเกิดการชนกันของข้อมูลมากขึ้นก็ย่อมหมายถึงต้องเสียเวลาในการส่งข้อมูลนานขึ้นด้วย) จึงได้มีการกำหนดมาตรฐาน LAN แบบ Token Ring ซึ่งการทำงานของ Token Ring นั้น ปกติจะมี Token ถูกส่งวิ่งไปรอบวงแหวนเมื่อสถานีใดต้องการส่งข้อมูล ก็จะจับเอาToken แล้วส่งเฟรมข้อมูลลงไปในวงแหวนพอหมดข้อมูลแล้ว InterfaceBoard ก็จะสร้าง Token ขึ้นแล้วส่งไปในวงแหวนเพื่อให้สถานีอื่นสามารถจับ Token และส่งข้อมูลได้และเนื่องจากการไหลของสัญญาณในวงแหวนมีทิศทางเดียวดังนั้นข้อมูลที่ถูกส่งออกไปเมื่อถึงสถานีปลายทางข้อมูลจะถูกตรวจสอบความถูกต้อง และจะตอบกลับไปว่ารับข้อมูลเข้ามาหรือไม่โดยเปลี่ยนแปลงค่าบางบิตของเฟรมนั้น เมื่อเฟรมกลับมาถึงInterface Board ของผู้ส่งสัญญาณข้อมูลจะถูกดึงออกมาและตรวจสอบว่าฝั่งรับ ได้รับข้อมูลเข้าไปหรือไม่
ลักษณะ LAN มาตรฐาน Token Ring
การทำงานของ InterfaceBoard ซึ่งแบ่งออกเป็น 2 โหมดคือโหมดการฟังและโหมดการส่งข้อมูลในโหมดการฟังนั้นบอร์ดจะสำเนาทุกบิตเข้าไปยังบัฟเฟอร์ 1 บิตแล้วสำเนาบิตออกไปยังวงแหวนอีกในระหว่างที่บิตอยู่ในบัฟเฟอร์นั้น บิตจะถูกตรวจสอบเพื่อตีความหมายของข้อมูล และบิตอาจจะถูกเปลี่ยนแปลงค่าก่อนที่จะส่งออกมาก็ได้ ดังนั้นในช่วงที่บิตอยู่ในบัฟเฟอร์นี้ทำให้เกิดความหน่วงของสัญญาณข้อมูล 1 บิต ซึ่งจะเกิดสำหรับทุก ๆ Interface Board สำหรับโหมดการส่งนั้น จะทำงานหลังจากมีการจับ Token แล้ว Interface Board จะสลับวงจรเพื่อส่งสัญญาณข้อมูล ของตัวเองออกไปยังวงแหวนเมื่อบิตข้อมูลถูกส่งไปรอบวงแหวนแล้วกลับมา บิตข้อมูลจะถูกดึงออกจากวงแหวน โดยผู้ส่งโดยทั่วไปแล้ว บิตแรกของเฟรมจะกลับมาถึงฝั่งส่งก่อนที่ทั้งเฟรมจะถูกส่งออกไป ดังนั้นสถานีส่งจะดึงบิตข้อมูลออกในขณะที่มันกำลังส่งข้อมูลออกไปด้วยและหลังจากInterface Board ส่งบิตสุดท้ายของเฟรมสุดท้ายออกไปแล้วมันก็จะสร้าง Token ใหม่แล้วส่งตามออกไป(โดยทั่วไปแล้วทุกสถานีจะมีเวลาในการถือ Token (tokenhold)ในช่วงเวลานี้สถานีส่งอาจจะส่งเฟรมข้อมูลหลายเฟรมได้) เมื่อบิตสุดท้ายของข้อมูลที่ส่งไปกลับ มาถึง Interface Board แล้ว วงจรของ Interface Board จะถูกสลับไปยังโหมดการฟังทันทีเพื่อป้องกันไม่ให้มันดึงเอา Token ออกมาจากวงแหวน ในกรณีที่ไม่มีสถานีอื่น ๆ จับเอา Token นั้นไป นั่นก็แสดงว่าสถานีที่ส่งข้อมูลออกไปแล้วจะหมดสิทธิในการจับ Token เพื่อส่งข้อมูลหนึ่งรอบ
| ||||||||||||||||||||||
แสดงวงแหวน และการอินเตอร์เฟซของวงแหวน
| ||||||||||||||||||||||
สมัครสมาชิก:
บทความ (Atom)