วันจันทร์ที่ 4 มีนาคม พ.ศ. 2556
บทที่ 5 โปรโตคอ
โปรโตคอล IPX/SPX
ถูกพัฒนาขึ้นโดยบริษัท Novell ซึ่งทำการพัฒนามาจากตัวโปรโตคอล XNS ของบริษัท Xerox Corporation ซึ่งโครงสร้างเมื่อทำการเปรียบเทียบ
กับ OSI Model ดังรูป
ตัวโปรโตคอล IPX/SPXแบ่งออกเป็น 2 โปรโตคอลหลักคือ Internetwork Packet Exchange ( IPX) และ Sequenced Packet Exchange (SPX) โดยโปรโตคอล IPX ทำหน้าที่ในระดับ network layer ตามาตรฐาน OSI Model มีกลไกการส่งผ่านข้อมูลแบบ connectionless,unrerelibleหมายความว่า เมื่อมีการส่งข้อมูล โดยไม่ต้องทำการสถาปนาการเชื่อมต่อกันระหว่าง host กับเครื่องที่ติดต่อกันอย่างถาวร ( host , เครื่องเซิร์ฟเวอร์ที่ให้บริการใดๆในเครือข่าย ) และไม่ต้องการรอสัญญานยืนยันการรับข้อมูลจากปลายทาง โดยตัวโปรโตคอลจะพยายามส่งข้อมูลนั้นไปยังปลายทางให้ดีที่สุด สำหรับโปรโตคอล SPX ทำหน้าที่ในระดับ transport layer ตามมาตรฐาน OSI Model โดยส่งผ่านข้อมูลตรงข้ามกับโปรโตคอล IPXคือ ต้องมีการทำการสถาปนาการเชื่อมโยงกันก่อนและมีการส่งผ่านข้อมูลที่เชื่อถือได้ ด้วยการตรวจสอบสัญญาณยืนยันการรับส่งข้อมูลจากปลายทาง
โปรโตคอล NetBEUI
โปรโตคอล NetBEUI หรือ NetBIOS Enhanced User Interface นั้น เป็นโปรโตคอลที่ไม่มี ส่วนในการระบุเส้นทางส่งผ่านข้อมูล (Non-routable Protocol)โดยจะใช้วิธีการ Broadcast ข้อมูลออกไปในเครือข่าย และหากใครเป็นผู้รับที่ถูกต้องก็จะนำข้อมูลที่ได้รับไปประมวลผล ข้อจำกัดของโปรโตคอลประเภทนี้ก็คือไม่สามารถทำการ Broadcast ข้อมูลข้ามไปยัง Physical Segment อื่นๆที่ไม่ใช่ Segment เดียวกันได้ เป็นการแบ่งส่วนของเครือข่ายออกจากกันทางกายภาพ หากต้องการเชื่อมต่อเครือข่ายถึงกันจะต้องใช้อุปกรณ์อย่างเช่น Router มาทำหน้าที่เป็นตัวกลางระหว่างเครือข่าย
เนื่องมาจากอุปกรณ์บางอย่างเช่น Router ไม่สามารถจะ Broadcast ข้อมูลต่อไปยังเครือข่ายอื่นๆได้ เพราะถ้าหากยอมให้ทำเช่นนั้นได้ จะทำให้การสื่อสารระหว่างเครือข่ายคับคั่งไปด้วยข้อมูลที่เกิดจากการ Broadcast จนเครือข่ายต่างๆไม่สามารถที่จะสื่อสารกันต่อไปได้ โปรโตคอล NetBEUI จึงเหมาะที่จะใช้งานบนเครือข่ายขนาดเล็กที่มีจำนวนเครื่องคอมพิวเตอร์ไม่เกิน 50 เครื่องเท่านั้น NetBEUI เป็นหนึ่งในสองทางเลือกสำหรับผู้ใช้งาน NetBIOS ( Network Basic Input Output System ) ซึ่งสามารถทำงานได้ทั้งบนโปรโตคอล TCP/IP และ NetBUEI
โปรโตคอล AppleTalk
จุดเริ่มต้นของโปรโตคอล AppleTalk เกิดขึ้นในปีค.ศ.1983 ซึ่งเป็นช่วงที่บริษัท Apple Computer ต้องการออกแบบชุดโปรโตคอลสื่อสารข้อมูลของตนเองขึ้น เพื่อใช้เชื่อมโยงเครือข่ายของเครื่องแบบแมคอินทอช และสามารแชร์กับอุปกรณ์ต่างๆ นอกจากนี้ยังขยายไปสู่การเชื่อมโยงเป็นเครือข่ายของเซิร์ฟเวอร์,เครื่องพิมพ์, Gateway และ Router ของผู้ผลิตรายอื่นๆด้วยต่อจากนั้นเครื่องแมคอินทอชและอุปกรณ์ต่างๆที่บริษัทผลิตออกมาก็ได้มีการเพิ่มส่วนของฮาร์ดแวร์และซอฟท์แวร์ให้สามารถรองรับโปรโตคอลตัวนี้ได้ รวมถึงระบบปฏิบัติการ MacOS รุ่นใหม่ๆก็ได้มีการผนวกฟังก์ชั่นให้รองรับโปรโตคอลตัวนี้ได้เช่นกัน ทำให้กลุ่มผู้ใช้เครื่องแมคอินทอชสามารถเชื่อมโยงกันเป็นเครือข่ายได้ง่ายโดยไม่ต้องไปหาซื้อ อุปกรณ์เพิ่มเติมอีก
โปรโตคอล Apple Talk ถูกออกแบบมาให้ทำงานเป็นเครือข่ายในแบบ peer-to-peer ซึ่งถือว่าเครื่องทั้งหมดที่เชื่อมต่ออยู่ในเครือข่ายสามารถเป็นเซิร์ฟเวอร์ได้ทุกเครื่องโดยไมต้องจัดให้บางเครื่องทำหน้าที่เป็นเซิร์ฟเวอร์ที่ให้บริการโดยเฉพาะขึ้นมา ต่อมาปีค.ศ. 1989 ได้มีการพัฒนาโปรโตคอล AppleTalk ให้สนับสนุนเครือข่ายที่ใหญ่มากขึ้นได้ สามารถมีเครื่องลูกข่ายและอุปกรณ์ที่เชื่อมต่อในเครือข่ายได้มากกว่าเดิมเรียกว่าเป็นโปรโตคอล Apple Talk Phase 2 นอกจากนี้ยังเพิ่มโปรโตคอลที่ทำให้สามารถเชื่อมต่อกับเครือข่ายแบบ Ethernet และ Token Ring ได้ โดยเรียกว่า EtherTalk และ TokenTalk ตามลำดับ
โปรโตคอลTCP/IP ( RFC1180 )
โปรโตคอล TCP/IP เป็นชื่อเรียกของชุดโปรโตคอลที่สำคัญ มีการใช้งานกันอย่างแพร่หลายตามการขยายตัวของอินเทอร์เนท/อินทราเนท ความจริงแล้วโปรโตคอล TCP/IP เป็นกลุ่มของโปรโตคอลหลายตัวที่ประกอบกันเป็นชุดให้ใช้งานโดยมีคำเต็มว่าTransmission Control Protocol /Internet Protocol ซึ่งจะเห็นได้ว่ามีโปรโตคอลประกอบกันทำงาน 2 ตัว คือ TCP และ IP
ตัวอย่างของกลุ่มโปรโตคอลในชุดของ TCP/IP ที่เราพบและใช้งานบ่อยๆ ( ส่วนใหญ่จะไม่ได้ใช้งานโดยตรง แต่จะใช้งานผ่านแอพพลิเคชั่นต่างๆหรือทำงานโดยอ้อม เช่น Internet Protocol,Address Resolution Protocol(ARP) ,Internet Control Message Protocol (ICMP) ,User Datagram Protocol (UDP) ,Transprot Control Protocol (TCP) และ Simple Mail Transfer Protocol (SMTP)
โปรโตคอลที่มีบทบาทสำคัญในการทำงานในเครือข่ายอินเทอร์เนทคือ Internet Protocol (โปรโตคอล IP) เนื่องจากเมื่อโปรโตคอลอื่นๆต้องการส่งผ่านข้อมูลข้ามเครือข่ายในอินเทอร์เนทนั้น จะต้องอาศัยการผนึกข้อมูล ไปกับโปรโตคอล IP ที่มีกลไกการระบุเส้นทาง ผ่าน Gateway หรือ
Router เพื่อนำข้อมูลไปยังเครือข่ายและเครื่องปลายทางที่ถูกต้อง เนื่องจากกลไกการระบุเส้นทางจะทำงานที่โปรโตคอล IP เท่านั้นและด้วยเหตุนี้เราจึงเรียก ว่าเป็นโปรโตคอลที่มีความสามารถในการระบุเส้นทางการส่งผ่านของข้อมูลได้(Routable)
การที่เครื่องคอมพิวเตอร์จะสามารถสื่อสารกันได้จำต้องมีการระบุแอดเดรสที่ไม่ซ้ำกัน เพราะไม่เช่นนั้นข้อมูลที่ส่งอาจจะไม่ถึงปลายทางได้ ซึ่งแอดเดรสจะมีข้อกำหนดมาตรฐาน ซึ่งในการใช้งานโปรโตคอล TCP/IP ที่เชื่อมโยงเครือข่ายนี้ จะเรียกว่า IP Address ( Internet Protocol Address )
1. โปรโตคอล HTTP หรือ Hypertext
Transfer Protocol จะใช้เมื่อเรียกโปรแกรมบราวเซอร์ (Browser) เช่น Netscape หรือ Internet
Explorer เรียกดูข้อมูลหรือเว็บเพจ
โปรแกรมบราวเซอร์ดังกล่าวจะใช้โปรโตคอล HTTP ซึ่งโปรโตคอลนี้ทำให้เซิร์ฟเวอร์ส่งข้อมูลมาให้บราวเซอร์ตามต้องการ
และบราวเซอร์จะนำข้อมูลมาแสดงผลบนจอภาพได้อย่างถูกต้อง
มาตรฐานและรูปแบบการรับส่งข้อมูลจึงต้องได้รับการกำหนดและเป็นที่ยอมรับระหว่างกัน
2. โปรโตคอล TCP หรือ Transfer
Control Protocol กล่าวคือ การติดต่อระหว่างบราวเซอร์กับเซิร์ฟเวอร์ย่อมต้องเปิดช่องสื่อสารระหว่างกัน
ช่องสื่อสารทั้งสองข้างมีช่องหมายเลขกำกับ ซึ่งเราเรียกว่า "พอร์ต (Port)" และพอร์ตนี้ได้รับการกำกับดูแลด้วยโปรโตคอลหนึ่งที่มี
ชื่อว่า TCP (Transfer Control Protocol) ซึ่งทำให้เครื่องเซิร์ฟเวอร์บริการไคลแอนต์ได้หลายๆ
ไคลแอนต์พร้อมกันในเวลาเดียวกัน
เมื่อผู้ใช้ทางด้านผู้ใช้บริการหรือไคลแอนต์ใช้โปรแกรมแบบทำงานหลายอย่างในขณะเดียวกัน (Multitasking) เช่น บน Windows 98 ก็สามารถเปิดหลายๆงาน
บนเครื่องเดียวกัน เป็นต้น เพราะผ่านพอร์ตต่างกันคอมพิวเตอร์กับคอมพิวเตอร์ในระดับ OS จึงมีการกำหนดหมายเลขพอร์ตเพื่อให้เกิดการเชื่อมโยงระหว่างกันได้
การเชื่อมระหว่างกันจึงทำได้ในลักษณะเครือข่ายที่เชื่อมโยงผ่านถนนสายเดียวกัน
3. โปรโตคอล IP หรือ Internet
Protocol กล่าวคือ การที่คอมพิวเตอร์เครื่องหนึ่ง
ส่งข้อมูลไปยังอีกเครื่องหนี่งได้ถูกต้องเพราะมีโปรโตคอลที่ใช้ในการหาตำแหน่งซึ่งในกรณีนี้ใช้โปรโตคอลอินเทอร์เน็ตโปรโตคอล
หรือที่เรียกว่า IP (Internet Protocol) ส่วน IP นี้มีการกำหนดแอดเดรสของคอมพิวเตอร์ที่เราเรียกว่า เลขที่อยู่ไอพี (IP
Address) อีกต่อหนึ่ง
4. โปรโตคอล SMIP หรือ Simple
Mail Transfer Protocol คือ
การรับส่งจดหมายอิเล็กทรอนิกส์บนเครือข่าย ผู้เขียนจดหมายใช้โปรแกรมเอดิเตอร์(Editor) เขียนจดหมายเมื่อเขียนเสร็จแล้วมีการจ่าหน้าถึงแอดเดรสปลายทาง
ข้อความหรือจดหมายฉบับนั้นจะรับส่งกันด้วยโปรแกรมรับส่งเมล์ที่ใช้โปรโตคอลมาตรฐาน SMIP ลักษณะการรับส่งในระดับ SMTP มีการกำหนดให้เครื่องใดเครื่องหนึ่งเชื่อมกับเครื่องอื่น
ในฐานะที่เป็นตัวแลกเปลี่ยนจดหมายหรือที่ เรียกว่า Mail
Exchange ตัวแลกเปลี่ยนจดหมายจะตรวจสอบแอดเดรสของจดหมาย
และนำส่ง ต่อกันจนถึงปลายทาง เช่นเดียวกับการประยุกต์อื่น การรับส่งจดหมายระหว่างเครื่องจะเปลี่ยน
จดหมายให้อยู่ในรูปแพ็กเก็ต ระดับTCP และเปิดพอร์ตระหว่างเครื่องให้เชื่อมโยงกัน
การเชื่อมระหว่างพอร์ตใช้วิธีนำข้อมูลใส่ในแพ็กเก็ต IP แล้วส่งด้วยโปรโตคอล IP ต่อไป
TCP และ UDP
เป็นโพรโตคอลในทรานสปอร์ตเลเยอร์ของตระกูล TCP/IP ที่ให้บริการแก่แอพพลิเคชันทั่วไป และโพรโตคอลในแอพพลิเคชันเลเยอร์
(รวมไปถึง HTTP, SMTP, SNMP, FTP, และ Telnet) ซึ่งทั้งสองโพรโตคอลนี้ จะใช้บริการของ IP ในการส่งแพ็กเกตไปยังระบบเครือข่ายปลายทาง
โดยการส่งข้อมูลของ TCP จะเป็นแบบ connection-oriented
และรับรองความถูกต้องของข้อมูล (reliable) ในขณะที่
UDP จะเป็นแบบ connectionless และไม่รับรองความถูกต้องของข้อมูล
(unreliable) โดยทั้งสองโพรโตคอลจะส่งข้อมูลแบบ byte-stream
ซึ่งเราจะอธิบายถึงความหมายของคำเหล่านี้ในภายหลัง
โพรโตคอลแบบ connection-oriented จะสร้างลิงก์จากต้นทางไปถึงปลายทางก่อนที่จะส่งข้อมูล
การทำงานของ ATM และเฟรมรีเลย์ก็เป็นแบบ connection-oriented
เช่นกัน แต่ว่าโพรโตคอลทั้งสองนี้ทำงานในดาต้าลิงก์เลเยอร์
ไม่ใช่ในทรานสปอร์ตเลเยอร์ การติดต่อผ่านทางโทรศัพท์ก็นับเป็นการทำงานแบบ connection-oriented
ด้วยเช่นกัน
โพรโตคอลแบบที่รับรองความถูกต้องของข้อมูล (reliable) จะช่วยป้องกันความผิดพลาดที่เกิดขึ้นในระหว่างการส่งข้อมูล เมื่อคุณได้รับแพ็กเกตที่ปลายทางแล้ว คุณสามารถเปรียบเทียบข้อมูล checksum ที่อยู่ในแพ็กเกต กับ checksum ที่ได้จากการคำนวณของอัลกอริทึม เพื่อตรวจสอบว่าข้อมูลผิดพลาดหรือไม่ ถ้าใช่ คุณก็ต้องส่งแพ็กเกตนั้นซ้ำอีกครั้ง ดังนั้นโพรโตคอลชนิดนี้จึงต้องมีวิธีการที่ยอมให้เครื่องที่ปลายทางส่งสัญญาณมายังต้นทาง ในกรณีที่ข้อมูลเกิดความผิดพลาดขึ้น เมื่อข้อมูลถูกแบ่งเป็นหลายแพ็กเกตแล้ว อาจเดินทางมาถึงปลายทางโดยไม่เรียงตามลำดับของแพ็กเกตก็เป็นได้ ดังนั้นตัวโพรโตคอลจึงต้องมีความสามารถในการตรวจเช็กลำดับของแพ็กเกต, จัดเก็บแพ็กเกตไว้ในบัฟเฟอร์, และส่งแพ็กเกตที่เรียงลำดับเรียบร้อยแล้วไปยังแอพพลิเคชันเลเยอร์ต่อไป อีกทั้งต้องตรวจสอบได้ว่า เมื่อใดมีการส่งข้อมูลซ้ำ และทิ้งข้อมูลซ้ำนั้นไป ในกรณีที่เกิดการผิดพลาดในการสื่อสารโพรโตคอลอาจต้องส่งข้อมูลเดิมนั้นซ้ำอีกครั้ง หรืออาจต้องสร้างลิงก์เชื่อมต่อระหว่างต้นทางกับปลายทางขึ้นมาใหม่ ดังนั้นจึงจำเป็นต้องมีระบบการนับเวลา (timer) เพื่อใช้ในการรอสัญญาณตอบรับ (acknowledgement) จากเครื่องที่อยู่ฟากตรงข้าม
สำหรับโพรโตคอลแบบ byte-stream จะไม่ทำงานกับหน่วยของข้อมูลแบบอื่นนอกเหนือจากหน่วย "ไบต์" ซึ่ง TCP จะไม่สามารถประกอบไบต์เป็นโครงสร้างข้อมูลภายในแพ็กเกตได้ รวมถึงไม่สามารถทำงานในระดับบิตได้เช่นกัน โดยตัว TCP จะทำงานได้แต่เพียงการส่งตัวอักษรขนาด 1 ไบต์ ในลักษณะของสายอักขระแบบไม่มีโครงสร้างไปยังปลายทาง
โพรโตคอลแบบ connectionless จะไม่สร้างลิงก์ผ่านระบบเครือข่ายก่อนที่จะส่งข้อมูล แต่โหนดระหว่างทางแต่ละตัว จะค้นหาเส้นทางในการส่งแพ็กเกต (หรืออาจเรียกว่า ดาต้าแกรม สำหรับในกรณีเช่นนี้) อย่างเป็นอิสระต่อกัน เมื่อปราศจากลิงก์ระหว่างต้นทางกับปลายทาง โพรโตคอลชนิดนี้ อย่าง UDP จะไม่รับรองความถูกต้องของข้อมูล (unreliable) เมื่อแพ็กเกตของ UDP ถูกส่งผ่านไปยังระบบเครือข่าย ผู้ส่งจะไม่มีทางทราบว่าแพ็กเกตไปถึงปลายทาง นอกเสียจากว่าโพรเซสในแอพพลิเคชันเลเยอร์ส่งสัญญาณตอบรับกลับมา การตรวจสอบว่ามีการส่งข้อมูลซ้ำ หรือแพ็กเกตไม่มาตามลำดับ ก็ไม่สามารถทำได้เช่นกัน แม้ว่าในระบบเครือข่ายยุคใหม่นี้ การสื่อสารผ่าน UDP จะมีแนวโน้มในการรับส่งข้อมูลผิดพลาดน้อยลงมาก แต่คุณก็คงจะเรียกการทำงานเช่นนี้ว่า reliable ไม่ได้เช่นกัน
ส่วนของไอพีแพ็กเกตที่อยู่ถัดจากส่วนของไอพีเฮดเดอร์ โดย 16 บิตแรกจะแสดงหมายเลขพอร์ตต้นทาง ส่วน 16 บิตหลังจะเป็นหมายเลขพอร์ตปลายทาง หมายเลขพอร์ตจะช่วยให้เครื่องไอพีโฮสต์สามารถรับส่งข้อมูลหลากหลายชนิด ไปยังไอพีแอดเดรสหนึ่งในเวลาเดียวกันได้ หมายเลขไอพีแอดเดรสขนาด 32 บิต และหมายเลขพอร์ตขนาด 16 บิต จะรวมกันเป็นระบบซ็อกเกตที่ใช้กันอยู่ทั่วไปในระบบปฏิบัติการยุคใหม่ ซึ่งซ็อกเกตต้นทาง และซ็อกเกตปลายทาง จะรวมกันเป็นหนึ่งคอนเน็กชันของ TCP โดยจะมีพอร์ตทั้งหมดอยู่ 216 หรือ 65,536 พอร์ต ซึ่งพอร์ต 1024 พอร์ตแรก จะเป็นพอร์ตที่รู้จักกันดีและถูกใช้กันอยู่ทั่วไป (well-known port) ทั้งหมดนี้ถูกตั้งค่าไว้ตั้งแต่แรก สำหรับนำมาใช้งานในโพรโตคอลบนแอพพลิเคชันเลเยอร์ ยกตัวอย่างเช่น HTTP จะใช้พอร์ต 80 ในขณะที่ POP3 จะใช้พอร์ต 110 ส่วนแอพพลิเคชันอื่นก็สามารถใช้หมายเลขพอร์ตที่สูงกว่านี้ได้ ส่วนหมายเลข sequence number และ acknowledgement number นั้นเป็นกุญแจสำคัญสำหรับการตรวจสอบความถูกต้องของข้อมูล เมื่อสร้างคอนเน็กชันของ TCP แล้ว ผู้ส่งจะส่งหมายเลข sequence number พร้อมกับแพ็กเกตไปยังผู้รับ ผู้รับจะบวก 1 เข้ากับหมายเลข sequence number แล้วเก็บหมายเลขนั้นไว้ใน acknowledgement number ของแพ็กเกตตอบรับ เพื่อบอกถึงหมายเลขของไบต์ถัดไปที่ควรถูกส่งมา จากนั้นก็จะส่งแพ็กเกตตอบรับกลับไปยังผู้ส่ง เมื่อการสื่อสารข้อมูลเริ่มต้นขึ้น หมายเลข sequence และ acknowledgement จะถูกใช้ตรวจสอบว่าข้อมูลไบต์ใดที่ถูกส่งไปแล้ว และข้อมูลใดที่ถูกตอบกลับมาแล้ว เนื่องจากว่าหมายเลขทั้งสองนี้แต่ละหมายเลขจะใช้พื้นที่ 32 บิต ทำให้มีค่าได้ทั้งหมด 232 ค่า โดยแต่ละหมายเลขจะมีค่าได้ตั้งแต่ 0 ไปจนถึง 4,294,967,295 และวกกลับมาที่ 0 เมื่อเกินค่าสูงสุดแล้ว ส่วนฟิลด์ของ HLEN ขนาด 4 บิตจะบอกถึงจำนวนของเวิร์ดขนาด 32 บิตที่ส่วนเฮดเดอร์มีอยู่ ข้อมูลส่วนนี้จำเป็นมาก เพราะว่าเฮดเดอร์มีฟิลด์บางฟิลด์ที่เป็นออปชัน คืออาจมีหรือไม่มีก็ได้ ซึ่งฟิลด์ HLEN นี้ก็จะบอกถึงตำแหน่งในแพ็กเกตว่าเฮดเดอร์จบที่ใด และข้อมูลจริงเริ่มต้นตรงไหน
ผู้ออกแบบ TCP ไม่ได้ใช้พื้นที่ 6 บิตถัดไป เนื่องจากต้องการเก็บไว้ใช้สำหรับการพัฒนาในอนาคต ซึ่งตั้งแต่เกิด RFC793 (Transmission Control Protocol) จนถึง1981 ก็ไม่มีใครจำเป็นจะต้องใช้บิตสำรองเหล่านี้เลย Jon Postel และกลุ่มผู้ร่วมพัฒนาเหล่านั้นคงจะระวังกันเกินกว่าเหตุไปหน่อย
สำหรับอีก 6 บิตถัดไปนั้น แต่ละบิตจัดเป็นแฟล็ก เมื่อแฟล็ก URG (urgent) มีค่า 1 จะบอกว่าข้อมูลในฟิลด์ urgent pointer ในเฮดเดอร์นั้นเป็นข้อมูลสำคัญ ส่วนแฟล็ก ACK (acknowledgement) ใช้บอกว่าหมายเลข acknowledgement นั้นสำคัญ (นั่นคือเป็นแพ็กเกตตอบรับนั่นเอง) แฟล็ก SYN (synchronization) บอกว่าหมายเลข sequence เป็นข้อมูลสำคัญ (นั่นหมายถึง เลข acknowledgement ไม่สำคัญไปด้วย เพราะว่าแพ็กเกตนั้นจะไม่ใช่แพ็กเกตตอบรับ) แฟล็ก PSH (push) ช่วยป้องกันข้อมูลจากการที่ต้องรอถูกส่งและรอรับการจัดการโดยโพรเซสผู้รับ แฟล็ก RST (reset) ใช้ปิดคอนเน็กชันของการสื่อสาร ส่วนแฟล็ก FIN (finish) ใช้บอกว่าผู้ส่งหมดข้อมูลที่ต้องการส่งแล้ว
ฟิลด์ window ขนาด 16 บิตนั้นจะบอกถึงขนาดของ sliding window ซึ่งใช้บอกผู้ส่งว่าตัวเองพร้อมจะรับข้อมูลจำนวนกี่ไบต์ โพรโตคอล TCP จะควบคุมการไหลของข้อมูลและภาวะการสื่อสารติดขัด โดยปรับที่ขนาดของ window นี่เอง ซึ่งถ้าค่านี้เท่ากับ 0 จะเป็นการบอกกับผู้ส่งว่าผู้รับไม่สามารถรับข้อมูลเพิ่มได้อีกในขณะนี้ และจะส่งแพ็กเกตตอบรับพร้อมค่า window ใหม่เมื่อสามารถรับข้อมูลได้อีก โดย window ที่มีขนาดใหญ่จะทำให้ส่งข้อมูลออกไป แม้ในขณะที่ยังไม่ได้รับสัญญาณตอบรับ ได้มากที่สุดถึง 65,536 ไบต์ ณ ช่วงเวลาใดเวลาหนึ่ง แต่ภาวะการสื่อสารติดขัด (congestion) ที่เกิดขึ้นเมื่อไทเมอร์ของ retransmission หมดลงก่อนที่จะได้รับสัญญาณตอบรับ จะทำให้ขนาดของ window ลดลงไปครึ่งหนึ่ง ส่งผลให้อัตราเร็วในการสื่อสารลดลงไปอย่างมาก
ฟิลด์ checksum ขนาด 16 บิต จะป้องกันความปลอดภัยของข้อมูลในแพ็กเกต รวมไปถึงฟิลด์บางฟิลด์ภายในเฮดเดอร์ ผู้ส่งจะคำนวณค่า checksum และใส่ค่าที่คำนวณได้ไว้ในฟิลด์นี้ จากนั้นผู้รับจะหาค่า checksum นี้ใหม่ โดยคำนวณจากแพ็กเกตที่ได้รับ จากนั้นนำค่าที่ได้ไปเปรียบเทียบกับค่าในฟิลด์นี้ ถ้าเท่ากัน ข้อมูลก็น่าจะปลอดภัย และมีความถูกต้อง
ค่า urgent pointer ขนาด 16 บิต จะชี้ไปที่ไบต์สุดท้ายของข้อมูลเร่งด่วนในกรณีที่แฟล็ก urgent มีค่าเป็นหนึ่ง ส่วนฟิลด์ options นั้นอาจมีจำนวนของเวิร์ด (32 บิต) ได้ตั้งแต่ 0 เวิร์ดหรือมากกว่านั้น เพื่อใช้เพิ่มความสามารถของโพรโตคอล TCP โดยค่าของ options ที่นิยมใช้กันมากที่สุดนั้นจะรองรับขนาดของ window ได้มากกว่า 65,536 ไบต์ ช่วยให้ลดเวลาในการรอสัญญาณตอบรับ โดยเฉพาะอย่างยิ่งในกรณีของการรับส่งข้อมูลด้วยความเร็วสูง
การทำงานของ TCP นั้นต้องใช้ไทเมอร์จำนวนมาก ไทเมอร์สำหรับการส่งข้อมูลเดิมซ้ำ จะเริ่มเมื่อข้อมูลถูกส่งไป และจะหยุดเมื่อได้รับสัญญาณตอบรับจากผู้รับ ถ้าเวลาหมดก่อนที่จะได้รับสัญญาณนั้น ข้อมูลเดิมจะถูกส่งซ้ำอีกครั้ง การตั้งเวลาของไทเมอร์ให้พอเหมาะนับเป็นปัญหายุ่งยากอย่างหนึ่ง ถ้านานไป โพรโตคอลก็จะเสียเวลาในการรอ แม้ว่าในขณะนั้นข้อมูลจะสูญหายไประหว่างทางแล้วก็ตาม แต่ถ้าเร็วไป ข้อมูลเดิมก็จะถูกส่งซ้ำไปเป็นจำนวนมาก โดยเฉพาะในกรณีที่เกิดความล่าช้าในการรับส่งสัญญาณตอบรับ ซึ่งในปัจจุบัน ค่าไทเมอร์นี้จะถูกตั้งโดยดูจากสถานะ และสภาพแวดล้อมของระบบเครือข่าย
ไทเมอร์ persistence ถูกใช้เพื่อป้องกันไม่ให้เกิดภาวะ deadlock ขึ้น ถ้าเน็ตเวิร์กได้รับแพ็กเกตตอบรับที่มี window ขนาด 0 และจากนั้นไม่ได้รับแพ็กเกตตอบรับที่จะใช้ในการเริ่มต้นการสื่อสารใหม่ ไทเมอร์นี้ก็จะหมดเวลาและส่งสัญญาณตรวจเช็กไป ซึ่งค่าที่ได้รับกลับมาจะเป็นขนาดของ window (ซึ่งอาจจะยังเป็น 0 อยู่ โดยในกรณีนี้ ไทเมอร์จะทำงานเหมือนเดิมใหม่อีกครั้ง)
ไทเมอร์ keepalive จะใช้เช็กว่า ยังมีโพรเซสทำงานอยู่ที่อีกฟากหนึ่งของคอนเน็กชันหรือไม่ หลังจากไม่มีการทำงานได้ระยะหนึ่ง ตัวไทเมอร์นี้จะปิดคอนเน็กชันลงถ้าไม่มีสัญญาณตอบรับกลับมา
ในการปิดคอนเน็กชันนั้น ไทเมอร์ที่ใช้ปิดคอนเน็กชันจะตั้งเวลาให้มีค่าเป็นสองเท่าของค่าอายุของแพ็กเกตที่มากที่สุด (maximum packet lifetime) เพื่อให้แน่ใจว่า ไม่มีข้อมูลสื่อสารค้างอยู่ในคอนเน็กชันนั้นก่อนที่ตัวเองจะถูกปิด
ไม่ว่ากระบวนการการรับส่งข้อมูลจะถูกสร้างให้มีประสิทธิภาพเพียงใด จำนวนแพ็กเกตที่สูญหายไปแม้เพียงเล็กน้อย ก็สามารถส่งผลกระทบรุนแรงต่อทรูพุตของคอนเน็กชันบน TCP เนื่องจากโพรโตคอลจะทราบว่าแพ็กเกตที่หายไปหรือไม่ ก็ต่อเมื่อหมดเวลาของไทเมอร์แล้วเท่านั้น และโพรเซสผู้รับจำเป็นต้องส่งข้อมูลตามลำดับ การส่งข้อมูลเดิมซ้ำในกรณีที่ข้อมูลสูญหายจะทำให้การสื่อสารข้อมูลหยุดชะงักจนกว่าจะได้รับข้อมูลที่หายไปนั้น การส่งข้อมูลซ้ำเช่นนี้ส่งผลให้ลิงก์ของ TCP มีประสิทธิภาพขึ้นๆ ลงๆ ในบางครั้ง
ถ้านำโครงสร้างของแพ็กเกต UDP มาเปรียบเทียบกับแพ็กเกตของ TCP แล้ว จะเห็นได้ชัดว่า UDP ขาดกลไกอันซับซ้อนในการควบคุมและรับรองความถูกต้องของข้อมูลเหมือนดังที่มีอยู่ใน TCP หมายเลขพอร์ตต้นทาง และปลายทางของ UDP ยินยอมให้มีการทำงานกับแอพพลิเคชันหลายตัวในเครื่องเดียวกันได้ เหมือนกับใน TCP ส่วนค่าในฟิลด์ UDP length จะเท่ากับความยาวของเฮดเดอร์ขนาดสองไบต์ รวมกับความยาวของข้อมูลจริง โดยค่าในฟิลด์ checksum จะช่วยตรวจสอบความถูกต้องและปลอดภัยของข้อมูล (ในปัจจุบันนี้ แอพพลิเคชันจำนวนมากที่ใช้ UDP เช่น โปรแกรมรับส่งสัญญาณเสียง จะไม่ใช้ประโยชน์จากความสามารถนี้ และจะไม่ส่งข้อมูลที่สูญหายหรือผิดพลาดไปซ้ำอีกครั้ง แม้ว่าจะทราบถึงความผิดพลาดนั้นก็ตาม)
TCP นับเป็นโพรโตคอลสำหรับการรับส่งข้อมูลที่ให้ความสำคัญกับความถูกต้องของข้อมูลมากกว่าประสิทธิภาพ ในขณะที่ UDP เป็นตัวเลือกที่ดีที่สุดในกรณีที่ประสิทธิภาพมีความสำคัญกว่า ดังเช่นในแอพพลิเคชันทางด้านมัลติมีเดีย UDP ยังนับเป็นตัวเลือกที่ดีสำหรับการสื่อสารข้อมูลที่ใช้ระยะเวลาที่สั้นมากจนเวลาที่เสียไปในการสร้างลิงก์นับเป็นส่วนใหญ่ของการสื่อสารทั้งหมด ยกตัวอย่างเช่น การแลกเปลี่ยนข้อมูลของ DNS สำหรับการตัดสินใจใช้ UDP ใน SNMP นั้น
ส่วนหนึ่งมาจากความเชื่อของผู้ออกแบบว่า ด้วยโอเวอร์เฮดของ UDP ที่น้อยกว่า TCP น่าจะทำให้ UDP มีโอกาสที่ดีกว่าในการรับส่งข้อมูลด้านการจัดการในขณะที่การสื่อสารบนเครือข่ายกำลังติดขัด เมื่อพิจารณาถึงฟังก์ชันการทำงานของ TCP ที่มีเป็นจำนวนมาก ในบางครั้งก็ก่อให้เกิดผลลัพธ์ที่คาดเดาไม่ได้ แต่ถ้ากล่าวถึงคอนเน็กชันแบบ end-to-end ที่รับรองความถูกต้องของข้อมูลจาก TCP นั้น ก็เชื่อว่าน่าจะสามารถทำงานกับแอพพลิเคชันระบบเครือข่ายได้เกือบทั้งหมดในอนาคตอันใกล้นี้
โพรโตคอลแบบที่รับรองความถูกต้องของข้อมูล (reliable) จะช่วยป้องกันความผิดพลาดที่เกิดขึ้นในระหว่างการส่งข้อมูล เมื่อคุณได้รับแพ็กเกตที่ปลายทางแล้ว คุณสามารถเปรียบเทียบข้อมูล checksum ที่อยู่ในแพ็กเกต กับ checksum ที่ได้จากการคำนวณของอัลกอริทึม เพื่อตรวจสอบว่าข้อมูลผิดพลาดหรือไม่ ถ้าใช่ คุณก็ต้องส่งแพ็กเกตนั้นซ้ำอีกครั้ง ดังนั้นโพรโตคอลชนิดนี้จึงต้องมีวิธีการที่ยอมให้เครื่องที่ปลายทางส่งสัญญาณมายังต้นทาง ในกรณีที่ข้อมูลเกิดความผิดพลาดขึ้น เมื่อข้อมูลถูกแบ่งเป็นหลายแพ็กเกตแล้ว อาจเดินทางมาถึงปลายทางโดยไม่เรียงตามลำดับของแพ็กเกตก็เป็นได้ ดังนั้นตัวโพรโตคอลจึงต้องมีความสามารถในการตรวจเช็กลำดับของแพ็กเกต, จัดเก็บแพ็กเกตไว้ในบัฟเฟอร์, และส่งแพ็กเกตที่เรียงลำดับเรียบร้อยแล้วไปยังแอพพลิเคชันเลเยอร์ต่อไป อีกทั้งต้องตรวจสอบได้ว่า เมื่อใดมีการส่งข้อมูลซ้ำ และทิ้งข้อมูลซ้ำนั้นไป ในกรณีที่เกิดการผิดพลาดในการสื่อสารโพรโตคอลอาจต้องส่งข้อมูลเดิมนั้นซ้ำอีกครั้ง หรืออาจต้องสร้างลิงก์เชื่อมต่อระหว่างต้นทางกับปลายทางขึ้นมาใหม่ ดังนั้นจึงจำเป็นต้องมีระบบการนับเวลา (timer) เพื่อใช้ในการรอสัญญาณตอบรับ (acknowledgement) จากเครื่องที่อยู่ฟากตรงข้าม
สำหรับโพรโตคอลแบบ byte-stream จะไม่ทำงานกับหน่วยของข้อมูลแบบอื่นนอกเหนือจากหน่วย "ไบต์" ซึ่ง TCP จะไม่สามารถประกอบไบต์เป็นโครงสร้างข้อมูลภายในแพ็กเกตได้ รวมถึงไม่สามารถทำงานในระดับบิตได้เช่นกัน โดยตัว TCP จะทำงานได้แต่เพียงการส่งตัวอักษรขนาด 1 ไบต์ ในลักษณะของสายอักขระแบบไม่มีโครงสร้างไปยังปลายทาง
โพรโตคอลแบบ connectionless จะไม่สร้างลิงก์ผ่านระบบเครือข่ายก่อนที่จะส่งข้อมูล แต่โหนดระหว่างทางแต่ละตัว จะค้นหาเส้นทางในการส่งแพ็กเกต (หรืออาจเรียกว่า ดาต้าแกรม สำหรับในกรณีเช่นนี้) อย่างเป็นอิสระต่อกัน เมื่อปราศจากลิงก์ระหว่างต้นทางกับปลายทาง โพรโตคอลชนิดนี้ อย่าง UDP จะไม่รับรองความถูกต้องของข้อมูล (unreliable) เมื่อแพ็กเกตของ UDP ถูกส่งผ่านไปยังระบบเครือข่าย ผู้ส่งจะไม่มีทางทราบว่าแพ็กเกตไปถึงปลายทาง นอกเสียจากว่าโพรเซสในแอพพลิเคชันเลเยอร์ส่งสัญญาณตอบรับกลับมา การตรวจสอบว่ามีการส่งข้อมูลซ้ำ หรือแพ็กเกตไม่มาตามลำดับ ก็ไม่สามารถทำได้เช่นกัน แม้ว่าในระบบเครือข่ายยุคใหม่นี้ การสื่อสารผ่าน UDP จะมีแนวโน้มในการรับส่งข้อมูลผิดพลาดน้อยลงมาก แต่คุณก็คงจะเรียกการทำงานเช่นนี้ว่า reliable ไม่ได้เช่นกัน
ส่วนของไอพีแพ็กเกตที่อยู่ถัดจากส่วนของไอพีเฮดเดอร์ โดย 16 บิตแรกจะแสดงหมายเลขพอร์ตต้นทาง ส่วน 16 บิตหลังจะเป็นหมายเลขพอร์ตปลายทาง หมายเลขพอร์ตจะช่วยให้เครื่องไอพีโฮสต์สามารถรับส่งข้อมูลหลากหลายชนิด ไปยังไอพีแอดเดรสหนึ่งในเวลาเดียวกันได้ หมายเลขไอพีแอดเดรสขนาด 32 บิต และหมายเลขพอร์ตขนาด 16 บิต จะรวมกันเป็นระบบซ็อกเกตที่ใช้กันอยู่ทั่วไปในระบบปฏิบัติการยุคใหม่ ซึ่งซ็อกเกตต้นทาง และซ็อกเกตปลายทาง จะรวมกันเป็นหนึ่งคอนเน็กชันของ TCP โดยจะมีพอร์ตทั้งหมดอยู่ 216 หรือ 65,536 พอร์ต ซึ่งพอร์ต 1024 พอร์ตแรก จะเป็นพอร์ตที่รู้จักกันดีและถูกใช้กันอยู่ทั่วไป (well-known port) ทั้งหมดนี้ถูกตั้งค่าไว้ตั้งแต่แรก สำหรับนำมาใช้งานในโพรโตคอลบนแอพพลิเคชันเลเยอร์ ยกตัวอย่างเช่น HTTP จะใช้พอร์ต 80 ในขณะที่ POP3 จะใช้พอร์ต 110 ส่วนแอพพลิเคชันอื่นก็สามารถใช้หมายเลขพอร์ตที่สูงกว่านี้ได้ ส่วนหมายเลข sequence number และ acknowledgement number นั้นเป็นกุญแจสำคัญสำหรับการตรวจสอบความถูกต้องของข้อมูล เมื่อสร้างคอนเน็กชันของ TCP แล้ว ผู้ส่งจะส่งหมายเลข sequence number พร้อมกับแพ็กเกตไปยังผู้รับ ผู้รับจะบวก 1 เข้ากับหมายเลข sequence number แล้วเก็บหมายเลขนั้นไว้ใน acknowledgement number ของแพ็กเกตตอบรับ เพื่อบอกถึงหมายเลขของไบต์ถัดไปที่ควรถูกส่งมา จากนั้นก็จะส่งแพ็กเกตตอบรับกลับไปยังผู้ส่ง เมื่อการสื่อสารข้อมูลเริ่มต้นขึ้น หมายเลข sequence และ acknowledgement จะถูกใช้ตรวจสอบว่าข้อมูลไบต์ใดที่ถูกส่งไปแล้ว และข้อมูลใดที่ถูกตอบกลับมาแล้ว เนื่องจากว่าหมายเลขทั้งสองนี้แต่ละหมายเลขจะใช้พื้นที่ 32 บิต ทำให้มีค่าได้ทั้งหมด 232 ค่า โดยแต่ละหมายเลขจะมีค่าได้ตั้งแต่ 0 ไปจนถึง 4,294,967,295 และวกกลับมาที่ 0 เมื่อเกินค่าสูงสุดแล้ว ส่วนฟิลด์ของ HLEN ขนาด 4 บิตจะบอกถึงจำนวนของเวิร์ดขนาด 32 บิตที่ส่วนเฮดเดอร์มีอยู่ ข้อมูลส่วนนี้จำเป็นมาก เพราะว่าเฮดเดอร์มีฟิลด์บางฟิลด์ที่เป็นออปชัน คืออาจมีหรือไม่มีก็ได้ ซึ่งฟิลด์ HLEN นี้ก็จะบอกถึงตำแหน่งในแพ็กเกตว่าเฮดเดอร์จบที่ใด และข้อมูลจริงเริ่มต้นตรงไหน
ผู้ออกแบบ TCP ไม่ได้ใช้พื้นที่ 6 บิตถัดไป เนื่องจากต้องการเก็บไว้ใช้สำหรับการพัฒนาในอนาคต ซึ่งตั้งแต่เกิด RFC793 (Transmission Control Protocol) จนถึง1981 ก็ไม่มีใครจำเป็นจะต้องใช้บิตสำรองเหล่านี้เลย Jon Postel และกลุ่มผู้ร่วมพัฒนาเหล่านั้นคงจะระวังกันเกินกว่าเหตุไปหน่อย
สำหรับอีก 6 บิตถัดไปนั้น แต่ละบิตจัดเป็นแฟล็ก เมื่อแฟล็ก URG (urgent) มีค่า 1 จะบอกว่าข้อมูลในฟิลด์ urgent pointer ในเฮดเดอร์นั้นเป็นข้อมูลสำคัญ ส่วนแฟล็ก ACK (acknowledgement) ใช้บอกว่าหมายเลข acknowledgement นั้นสำคัญ (นั่นคือเป็นแพ็กเกตตอบรับนั่นเอง) แฟล็ก SYN (synchronization) บอกว่าหมายเลข sequence เป็นข้อมูลสำคัญ (นั่นหมายถึง เลข acknowledgement ไม่สำคัญไปด้วย เพราะว่าแพ็กเกตนั้นจะไม่ใช่แพ็กเกตตอบรับ) แฟล็ก PSH (push) ช่วยป้องกันข้อมูลจากการที่ต้องรอถูกส่งและรอรับการจัดการโดยโพรเซสผู้รับ แฟล็ก RST (reset) ใช้ปิดคอนเน็กชันของการสื่อสาร ส่วนแฟล็ก FIN (finish) ใช้บอกว่าผู้ส่งหมดข้อมูลที่ต้องการส่งแล้ว
ฟิลด์ window ขนาด 16 บิตนั้นจะบอกถึงขนาดของ sliding window ซึ่งใช้บอกผู้ส่งว่าตัวเองพร้อมจะรับข้อมูลจำนวนกี่ไบต์ โพรโตคอล TCP จะควบคุมการไหลของข้อมูลและภาวะการสื่อสารติดขัด โดยปรับที่ขนาดของ window นี่เอง ซึ่งถ้าค่านี้เท่ากับ 0 จะเป็นการบอกกับผู้ส่งว่าผู้รับไม่สามารถรับข้อมูลเพิ่มได้อีกในขณะนี้ และจะส่งแพ็กเกตตอบรับพร้อมค่า window ใหม่เมื่อสามารถรับข้อมูลได้อีก โดย window ที่มีขนาดใหญ่จะทำให้ส่งข้อมูลออกไป แม้ในขณะที่ยังไม่ได้รับสัญญาณตอบรับ ได้มากที่สุดถึง 65,536 ไบต์ ณ ช่วงเวลาใดเวลาหนึ่ง แต่ภาวะการสื่อสารติดขัด (congestion) ที่เกิดขึ้นเมื่อไทเมอร์ของ retransmission หมดลงก่อนที่จะได้รับสัญญาณตอบรับ จะทำให้ขนาดของ window ลดลงไปครึ่งหนึ่ง ส่งผลให้อัตราเร็วในการสื่อสารลดลงไปอย่างมาก
ฟิลด์ checksum ขนาด 16 บิต จะป้องกันความปลอดภัยของข้อมูลในแพ็กเกต รวมไปถึงฟิลด์บางฟิลด์ภายในเฮดเดอร์ ผู้ส่งจะคำนวณค่า checksum และใส่ค่าที่คำนวณได้ไว้ในฟิลด์นี้ จากนั้นผู้รับจะหาค่า checksum นี้ใหม่ โดยคำนวณจากแพ็กเกตที่ได้รับ จากนั้นนำค่าที่ได้ไปเปรียบเทียบกับค่าในฟิลด์นี้ ถ้าเท่ากัน ข้อมูลก็น่าจะปลอดภัย และมีความถูกต้อง
ค่า urgent pointer ขนาด 16 บิต จะชี้ไปที่ไบต์สุดท้ายของข้อมูลเร่งด่วนในกรณีที่แฟล็ก urgent มีค่าเป็นหนึ่ง ส่วนฟิลด์ options นั้นอาจมีจำนวนของเวิร์ด (32 บิต) ได้ตั้งแต่ 0 เวิร์ดหรือมากกว่านั้น เพื่อใช้เพิ่มความสามารถของโพรโตคอล TCP โดยค่าของ options ที่นิยมใช้กันมากที่สุดนั้นจะรองรับขนาดของ window ได้มากกว่า 65,536 ไบต์ ช่วยให้ลดเวลาในการรอสัญญาณตอบรับ โดยเฉพาะอย่างยิ่งในกรณีของการรับส่งข้อมูลด้วยความเร็วสูง
การทำงานของ TCP นั้นต้องใช้ไทเมอร์จำนวนมาก ไทเมอร์สำหรับการส่งข้อมูลเดิมซ้ำ จะเริ่มเมื่อข้อมูลถูกส่งไป และจะหยุดเมื่อได้รับสัญญาณตอบรับจากผู้รับ ถ้าเวลาหมดก่อนที่จะได้รับสัญญาณนั้น ข้อมูลเดิมจะถูกส่งซ้ำอีกครั้ง การตั้งเวลาของไทเมอร์ให้พอเหมาะนับเป็นปัญหายุ่งยากอย่างหนึ่ง ถ้านานไป โพรโตคอลก็จะเสียเวลาในการรอ แม้ว่าในขณะนั้นข้อมูลจะสูญหายไประหว่างทางแล้วก็ตาม แต่ถ้าเร็วไป ข้อมูลเดิมก็จะถูกส่งซ้ำไปเป็นจำนวนมาก โดยเฉพาะในกรณีที่เกิดความล่าช้าในการรับส่งสัญญาณตอบรับ ซึ่งในปัจจุบัน ค่าไทเมอร์นี้จะถูกตั้งโดยดูจากสถานะ และสภาพแวดล้อมของระบบเครือข่าย
ไทเมอร์ persistence ถูกใช้เพื่อป้องกันไม่ให้เกิดภาวะ deadlock ขึ้น ถ้าเน็ตเวิร์กได้รับแพ็กเกตตอบรับที่มี window ขนาด 0 และจากนั้นไม่ได้รับแพ็กเกตตอบรับที่จะใช้ในการเริ่มต้นการสื่อสารใหม่ ไทเมอร์นี้ก็จะหมดเวลาและส่งสัญญาณตรวจเช็กไป ซึ่งค่าที่ได้รับกลับมาจะเป็นขนาดของ window (ซึ่งอาจจะยังเป็น 0 อยู่ โดยในกรณีนี้ ไทเมอร์จะทำงานเหมือนเดิมใหม่อีกครั้ง)
ไทเมอร์ keepalive จะใช้เช็กว่า ยังมีโพรเซสทำงานอยู่ที่อีกฟากหนึ่งของคอนเน็กชันหรือไม่ หลังจากไม่มีการทำงานได้ระยะหนึ่ง ตัวไทเมอร์นี้จะปิดคอนเน็กชันลงถ้าไม่มีสัญญาณตอบรับกลับมา
ในการปิดคอนเน็กชันนั้น ไทเมอร์ที่ใช้ปิดคอนเน็กชันจะตั้งเวลาให้มีค่าเป็นสองเท่าของค่าอายุของแพ็กเกตที่มากที่สุด (maximum packet lifetime) เพื่อให้แน่ใจว่า ไม่มีข้อมูลสื่อสารค้างอยู่ในคอนเน็กชันนั้นก่อนที่ตัวเองจะถูกปิด
ไม่ว่ากระบวนการการรับส่งข้อมูลจะถูกสร้างให้มีประสิทธิภาพเพียงใด จำนวนแพ็กเกตที่สูญหายไปแม้เพียงเล็กน้อย ก็สามารถส่งผลกระทบรุนแรงต่อทรูพุตของคอนเน็กชันบน TCP เนื่องจากโพรโตคอลจะทราบว่าแพ็กเกตที่หายไปหรือไม่ ก็ต่อเมื่อหมดเวลาของไทเมอร์แล้วเท่านั้น และโพรเซสผู้รับจำเป็นต้องส่งข้อมูลตามลำดับ การส่งข้อมูลเดิมซ้ำในกรณีที่ข้อมูลสูญหายจะทำให้การสื่อสารข้อมูลหยุดชะงักจนกว่าจะได้รับข้อมูลที่หายไปนั้น การส่งข้อมูลซ้ำเช่นนี้ส่งผลให้ลิงก์ของ TCP มีประสิทธิภาพขึ้นๆ ลงๆ ในบางครั้ง
ถ้านำโครงสร้างของแพ็กเกต UDP มาเปรียบเทียบกับแพ็กเกตของ TCP แล้ว จะเห็นได้ชัดว่า UDP ขาดกลไกอันซับซ้อนในการควบคุมและรับรองความถูกต้องของข้อมูลเหมือนดังที่มีอยู่ใน TCP หมายเลขพอร์ตต้นทาง และปลายทางของ UDP ยินยอมให้มีการทำงานกับแอพพลิเคชันหลายตัวในเครื่องเดียวกันได้ เหมือนกับใน TCP ส่วนค่าในฟิลด์ UDP length จะเท่ากับความยาวของเฮดเดอร์ขนาดสองไบต์ รวมกับความยาวของข้อมูลจริง โดยค่าในฟิลด์ checksum จะช่วยตรวจสอบความถูกต้องและปลอดภัยของข้อมูล (ในปัจจุบันนี้ แอพพลิเคชันจำนวนมากที่ใช้ UDP เช่น โปรแกรมรับส่งสัญญาณเสียง จะไม่ใช้ประโยชน์จากความสามารถนี้ และจะไม่ส่งข้อมูลที่สูญหายหรือผิดพลาดไปซ้ำอีกครั้ง แม้ว่าจะทราบถึงความผิดพลาดนั้นก็ตาม)
TCP นับเป็นโพรโตคอลสำหรับการรับส่งข้อมูลที่ให้ความสำคัญกับความถูกต้องของข้อมูลมากกว่าประสิทธิภาพ ในขณะที่ UDP เป็นตัวเลือกที่ดีที่สุดในกรณีที่ประสิทธิภาพมีความสำคัญกว่า ดังเช่นในแอพพลิเคชันทางด้านมัลติมีเดีย UDP ยังนับเป็นตัวเลือกที่ดีสำหรับการสื่อสารข้อมูลที่ใช้ระยะเวลาที่สั้นมากจนเวลาที่เสียไปในการสร้างลิงก์นับเป็นส่วนใหญ่ของการสื่อสารทั้งหมด ยกตัวอย่างเช่น การแลกเปลี่ยนข้อมูลของ DNS สำหรับการตัดสินใจใช้ UDP ใน SNMP นั้น
ส่วนหนึ่งมาจากความเชื่อของผู้ออกแบบว่า ด้วยโอเวอร์เฮดของ UDP ที่น้อยกว่า TCP น่าจะทำให้ UDP มีโอกาสที่ดีกว่าในการรับส่งข้อมูลด้านการจัดการในขณะที่การสื่อสารบนเครือข่ายกำลังติดขัด เมื่อพิจารณาถึงฟังก์ชันการทำงานของ TCP ที่มีเป็นจำนวนมาก ในบางครั้งก็ก่อให้เกิดผลลัพธ์ที่คาดเดาไม่ได้ แต่ถ้ากล่าวถึงคอนเน็กชันแบบ end-to-end ที่รับรองความถูกต้องของข้อมูลจาก TCP นั้น ก็เชื่อว่าน่าจะสามารถทำงานกับแอพพลิเคชันระบบเครือข่ายได้เกือบทั้งหมดในอนาคตอันใกล้นี้
วันพุธที่ 20 กุมภาพันธ์ พ.ศ. 2556
วันอังคารที่ 19 กุมภาพันธ์ พ.ศ. 2556
บทที่ ๔ การขนส่งข้อมูลในระบบเครือข่าย
อีเทอร์เน็ต (Ethernet)
อีเทอร์เน็ตเป็นเครือข่ายคอมพิวเตอร์ที่พัฒนามาจากโครงสร้างการเชื่อมต่อแบบสายสัญญาณร่วมที่เรียกว่า บัส (Bus) โดยใช้สายสัญญาณแบบแกนร่วม คือ สายโคแอกเชียล (Coaxial Cable) เป็นตัวเชื่อม สำหรับระบบบัส เป็นระบบเทคโนโลยีที่คอมพิวเตอร์ทุกเครื่องเชื่อมโยงเข้ากับ
สายสัญญาณ เส้นเดียวกัน คือ เมื่อมีผู้ต้องการส่งข้อมูล ก็ส่งข้อมูลได้เลย แต่เนื่องจากไม่มีวิธีการค้นหาเส้นทางที่ส่งว่างหรือเปล่า จึงไม่ทราบว่ามีอุปกรณ์ใดหรือคอมพิวเตอร์ เครื่องใดที่ส่งข้อมูลมาในช่วงเวลาเดียวกัน จะทำให้เกิดการชนกันขึ้นและเกิดการสูญหายของข้อมูล ผู้ส่งต้องส่งข้อมูล ไปยังปลายทางอีกครั้งหนึ่ง ทำให้เสียเวลามาก จึงมีการพัฒนาระบบการรับส่งข้อมูลผ่านอุปกรณ์กลางที่เรียกว่า ฮับ (Hub) และเรียกระบบใหม่นี้ว่า
เทนเบสที (10 base t) โดยใช้สายสัญญาณที่มีขนาดเล็กลงและราคาถูกซึ่งเรียกว่า สายคู่บิตเกลียวชนิดไม่หุ้มฉนวน (Unshielded twisted pair : UTP) ทำให้การเชื่อมต่อนี้ มีลักษณะแบบดาว
วิธีการเชื่อมแบบนี้จะมีจุดศูนย์กลางอยู่ที่ฮับ ใช้สายสัญญาณไปยังอุปกรณ์หรือคอมพิวเตอร์อื่น ๆ จุดเด่นของดาวตัวนี้ จะอยู่ที่ เมื่อมีการส่งข้อมูล จะมีการตรวจสอบความผิดพลาดว่า อุปกรณ์ใดจะส่งข้อมูลมาบ้างและจะมีการสับสวิตซ์ให้ส่ง ได้หรือไม่ แต่เมื่อมีฮับเป็นตัวแบกภาระทั้งหมด ก็มีจุดอ่อนได้คือ ถ้าฮับเกิดเป็นอะไรขึ้นมา อุปกรณ์ต่อพ่วงอื่น ๆ หรือคอมพิวเตอร์ก็ไม่สามารถเชื่อมต่อกันได้อีก
ภายในฮับมีลักษณะเป็นบัสที่เชื่อมสายทุกเส้นเข้าด้วยกัน ดังนั้นการใช้ฮับและบัสจะมีระบบการส่งข้อมูลแบบ เดียวกัน และมีการพัฒนาเป็นมาตรฐาน กำหนดชื่อมาตรฐานนี้ว่า 802.3 ความเร็วในการส่งกำหนดไว้ที่ 10 ล้านบิตต่อ วินาที และกำลังมีมาตรฐานใหม่ให้สามารถรับส่งสัญญาณได้ถึง 100 ล้านบิตต่อวินาที
จุดปลายทางของการรับ-ส่งข้อมูล เราเรียกว่าโหนด (Node) ซึ่งโหนดนี้อาจเป็น คอมพิวเตอร์ เครื่องพิมพ์ ATM หรือเครื่องรับโทรศัพท์ ซึ่งแล้วแต่วัตถุประสงค์ของการใช้งาน ซึ่งการที่จะทำให้แต่ละโหนด ติดต่อรับ-ส่งข้อมูลถึงกันได้นั้น ต้องมีการเชื่อมต่อที่เป็นระบบ ในรบบเครือข่ายคอมพิวเตอร์นี้ เราสามารถแบ่งลักษณะของการเชื่อมโยงออกเป็น 3 ลักษณะ คือ1. เครือข่ายแบบดาว (Star Network) เครือข่ายแบบนี้จะมีคอมพิวเตอร์คอมพิวเตอร์หลักที่เป็นโฮสต์ (Host) ต่อสายสื่อสารกับคอมพิวเตอร์ย่อยที่เป็นไคลเอนต์ (Client) คอมพิวเตอร์ที่เป็นไคลเอนต์แต่ละเครื่องไม่สามารถติดต่อกันได้โดยตรง การติอต่อจะต้องผ่านคอมพิวเตอร์โฮสต์ที่เป็นศูนย์กลาง
อินเทอร์เน็ตความเร็วสูง
1. บริการอินเทอร์เน็ตผ่าน ISDN (Integrated Service Digital Network)
เป็นการเชื่อมต่อสายโทรศัพท์ระบบใหม่ที่รับส่งสัญญาณเป็นดิจิทัลทั้งหมด อุปกรณ์และชุมสายโทรศัพท์จะเป็นอุปกรณ์ที่สนับสนุนระบบของ ISDN โดยเฉพาะ ไม่ว่าจะเป็นเครื่องโทรศัพท์ และโมเด็มสำหรับ ISDN
องค์ประกอบของการต่ออินเทอร์เน็ตด้วยระบบโทรศัพท์ ISDN
1. Network Terminal (NT) เป็นอุปกรณ์ที่ใช้ต่อจากชุมสาย ISDN เข้ากับอุปกรณ์ดิจิทัลของ ISDN โดยเฉพาะ เช่น เครื่องโทรศัพท์ดิจิทัล เครื่องแฟกซ์ดิจิทัล
2. Terminal adapter (TA) เป็นอุปกรณ์แปลงสัญญาณเพื่อใช้ต่อ NT เข้ากับอุปกรณ์ที่ใช้กับโทรศัพท์บ้านระบบเดิม และทำหน้าที่เป็น ISDN modem ที่ความเร็ว 64-128 Kbps
3. ISDN card เป็นการ์ดที่ต้องเสียบในแผงวงจรหลักในคอมพิวเตอร์เพื่อต่อกับ NTโดยตรง ในกรณีที่ไม่ใช้ Terminal adapter
4. ผู้ให้บริการอินเทอร์เน็ตผ่านคู่สาย ISDN (ISDN ISP) เช่น KSC, Internet Thailand, Lox Info, JI-Net ฯลฯ ซึ่งผู้ให้บริการอินเทอร์เน็ตเหล่านี้จะทำการเช่าคู่สาย ISDN กับองค์การโทรศัพท์ (บริษัท ทศท. คอร์ปอเรชั่น จำกัด มหาชน )
2. บริการอินเทอร์เน็ตผ่านเคเบิลโมเด็ม (Cable Modem)
เป็นการเชื่อมต่ออินเทอร์เน็ตด้วยความเร็วสูงโดยไม่ใช้สายโทรศัพท์ แต่อาศัยเครือข่ายของผู้ให้บริการเคเบิลทีวี ความเร็วของการใช้เคเบิลโมเด็มในการเชื่อมต่ออินเทอร์เน็ตจะทำให้ความเร็วสูงถึง 2/10 Mbps นั้น คือ ความเร็วในการอัพโหลด ที่ 2 Mbps และความเร็วในการ ดาวน์โหลด ที่ 10 Mbps แต่ปัจจุบันยังเปิดให้บริการอยู่ที่ 64/256 Kbps
องค์ประกอบของการเชื่อมต่ออินเทอร์เน็ตด้วยเคเบิลโมเด็ม
1. ต้องมีการเดินสายเคเบิลจากผู้ให้บริการเคเบิล มาถึงบ้าน ซึ่งเป็นสายโคแอกเชียล(Coaxial )
2. ตัวแยกสัญญาณ (Splitter) ทำหน้าที่แยกสัญญาณคอมพิวเตอร์ผ่านเคเบิลโมเด็ม
3. Cable modem ทำหน้าที่แปลงสัญญาณ
4. ผู้ให้บริการอินเทอร์เน็ตผ่านเคเบิลโมเด็ม ในปัจจุบัน มีเพียงบริษัทเดียว คือ บริษัทเอเชียมัลติมีเดีย ในเครือเดียวกับบริษัทเทเลคอมเอเชีย ผู้ให้บริการ Asia Net
3. บริการอินเทอร์เน็ตผ่านระบบโทรศัพท์ ADSL (Asymmetric Digital Subscriber Loop)
ADSL เป็นการเชื่อมต่ออินเทอร์เน็ตผ่านสายโทรศัพท์แบบเดิม แต่ใช้การส่งด้วยความถี่สูงกว่าระบบโทรศัพท์แบบเดิม ชุมสายโทรศัพท์ที่ให้บริการหมายเลข ADSL จะมีการติดตั้งอุปกรณ์ คือ DSL Access Module เพื่อทำการแยกสัญญาณความถี่สูงนี้ออกจากระบบโทรศัพท์เดิม และลัดเข้าเชื่อมต่อกับอินเทอร์เน็ตโดยตรง ส่วนผู้ใช้บริการอินเทอร์เน็ตจะต้องมี ADSL Modem ที่เชื่อมต่อกับคอมพิวเตอร์ ความเร็วในการเชื่อมต่ออินเทอร์เน็ตผ่าน ADSL จะมีความเร็วที่ 64/128 Kbps (อัพโหลด ที่ 64 Kbps และ ดาวน์โหลด ที่ 128 Kbps) และที่ 128/256 Kbps (อัพโหลด ที่ 128 Kbps และ ดาวน์โหลด ที่ 256 Kbps) ทั้งนี้ขึ้นอยู่กับการเลือกใช้บริการ
องค์ประกอบของการเชื่อมต่ออินเทอร์เน็ตด้วย ADSL
1. ADSL modem ทำหน้าที่ในการแปลงสัญญาณ
2. อุปกรณ์รับสัญญาณจากดาวเทียมเพื่อแปลงเข้าสู่คอมพิวเตอร์
3. โมเด็มธรรมดา พร้อมสายโทรศัพท์ 1 คู่สาย เพื่อส่งสัญญาณกลับ (Upload)
4. ผู้ให้บริการอินเทอร์เน็ตผ่านดาวเทียม ในปัจจุบันมีเพียงรายเดียว คือ CS Internet ในเครื่อชินคอร์ปอเรชั่น
4. บริการอินเตอร์เนตผ่านดาวเทียม (Satellite Internet)
เป็นบริการอินเทอร์เน็ตความเร็วสูงอีกประเภทหนึ่ง ซึ่งในปัจจุบันใช้การส่งผ่านดาวเทียมแบบทางเดียว (One way) คือ จะมีการส่งสัญญาณมายังผู้ใช้ (download) ด้วยความเร็วสูงในระดับเมกะบิตต่อวินาที แต่การส่งสัญญาณกลับไปหรือการอัพโหลด จะทำได้โดยผ่านโทรศัพท์แบบธรรมดา ซึ่งจะได้ความเร็วที่ 56 Kbps การใช้บริการอินเทอร์เน็ตผ่านดาวเทียมอาจได้รับการรบกวนจากสภาพอากาศได้ง่าย
องค์ประกอบของการเชื่อมต่ออินเทอร์เน็ตด้วยดาวเทียม
1. จานดาวเทียมขนาดเล็ก
2. อุปกรณ์รับสัญญาณจากดาวเทียมเพื่อแปลงเข้าสู่คอมพิวเตอร์
3. โมเด็มธรรมดา พร้อมสายโทรศัพท์ 1 คู่สาย เพื่อส่งสัญญาณกลับ (Upload)
4. ผู้ให้บริการอินเทอร์เน็ตผ่านดาวเทียม ในปัจจุบันมีเพียงรายเดียว คือ CS Internet ในเครื่อชินคอร์ปอเรชั่น
|
มาตรฐาน LAN แบบ Token Ring (IEEE 802.5)
การใช้ Token Ring ในการส่งข้อมูล (Using Tokens Ring in Transmission)มาตรฐาน LAN แบบ Ethernet มีข้อจำกัดประการหนึ่ง นั่นคือ
การใช้เทคโนโลยีการสื่อสารข้อมูลแบบ CSMA/CD ซึ่งเมื่อจำนวนสถานีงานที่เชื่อมต่ออยู่กับเครือข่ายเพิ่มมากขึ้นโอกาสที่สถานีมากกว่า 2
สถานีีจะทำการส่งข้อมูลออกมาในเวลาเดียวกันก็ย่อมจะต้องมีมากขึ้นแม้ว่าจะมีกลวิธีในการป้องกันการชนกันของ ข้อมูลอยู่ก็ตามแต่วิธีการเหล่า
นั้นจะทำงานได้ดีก็ต่อเมื่อเกิดการชนกันในครั้งแรกขึ้นแล้วเท่านั้น การ ติดตั้งเครือข่าย LAN แบบ Ethernetในองค์กรที่มีเครื่องคอมพิวเตอร์หรือ
สถานีงานจำนวนมากๆโดยขาดการออกแบบระบบงานเชื่อมต่อหรือการจัดกลุ่มเครือข่ายย่อย(SubNetwork)ที่เหมาะสมย่อมส่งผลให้อัตราการชน
กันของข้อมูลมีสูงขึ้นทำประสิทธิภาพในการรับส่งข้อมูลที่ช้าลง(ยิ่งเกิดการชน) กันของข้อมูลมากขึ้นก็ย่อมหมายถึงต้องเสียเวลาในการส่งข้อมูล
นานขึ้นด้วยจึงได้มีการกำหนด มาตรฐาน LANแบบ TokenRing ซึ่งการทำงานของ Token Ring นั้นปกติจะมีTokenถูกส่งวิ่งไปรอบวงแหวนเมื่อ
สถานีใดต้องการส่งข้อมูล ก็จะจับเอาToken แล้วส่งเฟรมข้อมูลลงไปในวงแหวนพอหมดแล้วInterfaceBoard ก็จะสร้าง Token ขึ้นแล้วส่งไป
ในวงแหวนเพื่อให้สถานีอื่นสามารถจับ Tokenและส่งข้อมูลได้และเนื่องจากการไหลของสัญญาณในวงแหวนมีทิศทางเดียวดังนั้นข้อมูลที่ถูกส่ง
ออกไปเมื่อถึงสถานีปลายทางข้อมูลจะถูกตรวจสอบความถูกต้อง และจะตอบ กลับไปว่ารับข้อมูลเข้ามาหรือไม่โดยเปลี่ยนแปลงค่าบางบิตของ
เฟรมนั้น เมื่อเฟรมกลับมาถึงInterface Board ของผู้ส่งสัญญาณข้อมูลจะถูกดึงออกมาและตรวจสอบว่าฝั่งรับได้รับข้อมูลเข้าไปหรือไม่
การใช้เทคโนโลยีการสื่อสารข้อมูลแบบ CSMA/CD ซึ่งเมื่อจำนวนสถานีงานที่เชื่อมต่ออยู่กับเครือข่ายเพิ่มมากขึ้นโอกาสที่สถานีมากกว่า 2
สถานีีจะทำการส่งข้อมูลออกมาในเวลาเดียวกันก็ย่อมจะต้องมีมากขึ้นแม้ว่าจะมีกลวิธีในการป้องกันการชนกันของ ข้อมูลอยู่ก็ตามแต่วิธีการเหล่า
นั้นจะทำงานได้ดีก็ต่อเมื่อเกิดการชนกันในครั้งแรกขึ้นแล้วเท่านั้น การ ติดตั้งเครือข่าย LAN แบบ Ethernetในองค์กรที่มีเครื่องคอมพิวเตอร์หรือ
สถานีงานจำนวนมากๆโดยขาดการออกแบบระบบงานเชื่อมต่อหรือการจัดกลุ่มเครือข่ายย่อย(SubNetwork)ที่เหมาะสมย่อมส่งผลให้อัตราการชน
กันของข้อมูลมีสูงขึ้นทำประสิทธิภาพในการรับส่งข้อมูลที่ช้าลง(ยิ่งเกิดการชน) กันของข้อมูลมากขึ้นก็ย่อมหมายถึงต้องเสียเวลาในการส่งข้อมูล
นานขึ้นด้วยจึงได้มีการกำหนด มาตรฐาน LANแบบ TokenRing ซึ่งการทำงานของ 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 (toehold) ในช่วงเวลานี้สถานีส่งอาจจะส่งเฟรมข้อมูลหลายเฟรมได้) เมื่อบิตสุดท้ายของข้อมูลที่ส่งไปกลับ
มาถึง Interface Board แล้ว วงจรของ Interface Boardจะถูกสลับไปยังโหมดการฟังทันทีเพื่อป้องกันไม่ให้มันดึงเอา Token ออกมาจากวง
แหวน ในกรณีที่ไม่มีสถานีอื่น ๆ จับเอา Token นั้นไปนั่นก็แสดงว่าสถานีที่ส่งข้อมูลออกไปแล้วจะหมดสิทธิในการจับ Token เพื่อส่งข้อมูลหนึ่ง
รอบ
เข้าไปยังบัฟเฟอร์ 1 บิตแล้วสำเนาบิตออกไปยังวง แหวนอีกในระหว่างที่บิตอยู่ในบัฟเฟอร์นั้น บิตจะถูกตรวจสอบเพื่อตีความหมายของข้อมูล
และบิต อาจจะถูกเปลี่ยนแปลงค่าก่อนที่จะส่งออกมาก็ได้ ดังนั้นในช่วงที่บิตอยู่ในบัฟเฟอร์นี้ทำให้เกิด ความหน่วงของสัญญาณข้อมูล 1 บิต
ซึ่งจะเกิดสำหรับทุก ๆ Interface Board สำหรับโหมดการส่งนั้นจะทำงานหลังจากมีการจับ Token แล้วInterface Boardจะสลับวงจรเพื่อส่ง
สัญญาณข้อมูลของตัวเองออกไปยังวงแหวนเมื่อบิตข้อมูลถูกส่งไปรอบวงแหวนแล้วกลับมา บิตข้อมูลจะถูกดึงออกจาก วงแหวน โดยผู้ส่งโดย
ทั่วไปแล้ว บิตแรกของเฟรมจะกลับมาถึงฝั่งส่งก่อนที่ทั้งเฟรมจะถูกส่งออกไป ดังนั้นสถานีส่งจะดึงบิตข้อมูลออกในขณะที่มันกำลังส่งข้อมูลออก
ไปด้วยและหลังจากInterface Board ส่งบิตสุดท้ายของเฟรมสุดท้ายออกไปแล้วมันก็จะสร้าง Token ใหม่แล้วส่งตามออกไป (โดยทั่วไปแล้ว
ทุกสถานีจะมีเวลาในการถือ Token (toehold) ในช่วงเวลานี้สถานีส่งอาจจะส่งเฟรมข้อมูลหลายเฟรมได้) เมื่อบิตสุดท้ายของข้อมูลที่ส่งไปกลับ
มาถึง Interface Board แล้ว วงจรของ Interface Boardจะถูกสลับไปยังโหมดการฟังทันทีเพื่อป้องกันไม่ให้มันดึงเอา Token ออกมาจากวง
แหวน ในกรณีที่ไม่มีสถานีอื่น ๆ จับเอา Token นั้นไปนั่นก็แสดงว่าสถานีที่ส่งข้อมูลออกไปแล้วจะหมดสิทธิในการจับ Token เพื่อส่งข้อมูลหนึ่ง
รอบ
การทำงานของ InterfaceBoard
โครงสร้างของเฟรมของ Token Ring
โครงสร้างของเฟรมของ Token Ring ปกติแล้วถ้าไม่มีสถานีใดส่งข้อมูล ในวงแหวนจะมี Token 3 ไบต์วิ่งวนในวงแหวนเมื่อสถานีใด ต้อง
การส่งข้อมูลจะจับ Token โดยการเปลี่ยนบางบิตของไบต์ควบคุมการเข้าวงแหวน(Access Control) จากค่า 0 เป็น 1 ซึ่งก็จะทำให ้Token
กลายเป็นส่วนเฮดเดอร์ของเฟรมข้อมูลแล้วInterface Board จะส่งส่วนที่เหลือของ เฟรมข้อมูล ออกไปฟิลด์เริ่มต้นและท้ายเฟรมนั้นบ่งบอกถึง
ขอบเขตของเฟรม บิตของฟิลด์นี้ใช้ระดับไฟฟ้าสูงสูงและต่ำต่ำของการ เข้ารหัสแบบดิฟเฟอเรนเชียลเมนเชสเตอร์ในการแยกระหว่างต้นเฟรม
ท้ายเฟรมกับบิตข้อมูลสำหรับ ไบต์ควบคุมการเข้าวงแหวนจะมีบิตบ่งบอกการเป็นToken รวมทั้งบิตกำหนดความเร่งด่วนตนของข้อมูลที่ต้องการ
ส่ง (priority bit) และบิตจองการส่งข้อมูล(reservation bit) กล่าวคือ สถานีใดต้องการส่งข้อมูลด้วยระดับความเร่งด่วนเป็นnแล้วสถานีนั้นต้องรอ
Tokenที่มีค่าความเร่งด่วนต่ำกว่าหรือเท่ากับ n ผ่านมาเท่นั้นจึงจะจับ Token ได้นอกจากนั้นเมื่อเฟรมข้อมูลผ่านสถานีหนึ่งมันอาจจะจองToken
ได้โดยการเขียนค่าความเร่งด่วนของข้อมูลของมันลงไปที่บิตจองการส่งข้อมูลแต่ถ้าค่าของบิตจองนี้มีค่าความเร่งด่วน(ซึ่งถูกเขียนด้วยสถานีอื่น
ก่อนหน้า) ที่สูงกว่าของมันมักจะไม่สามารถจอง Token ได้ด้วยวิธีนี้Token ที่ถูกสร้างขึ้นมาจะถูกกำหนดให้มีค่าความเร่งด่วนเท่ากับค่าที่ถูกจอง
ไว้นอกจากบิตเหล่านี้แล้วฟิลด์ควบคุมการเข้าวงแหวนยังมีบิต ดูแลรักษาวงแหวน (monitorbit)ซึ่งจะช่วยให้การทำงานของวงแหวนเป็นไปอย่าง
ถูกต้องสำหรับฟิลด์ควบคุมเฟรม (framecontrol) จะแยกระหว่างเฟรมข้อมูลและเฟรมควบคุมการส่งข้อมูลฟิลด์แอดเดรส ต้นทาง และปลายทาง
จะเหมือนกับแลน 802.3 และ 802.4 สำหรับข้อมูลของแลน 802.5 จะมีความ ยาวเท่าไรก็ได้ โดยที่เฟรมต้องถูกส่งภายในช่วงเวลาของการถือ
Token ของสถานีนั้นนอกจากนั้นฟิลด์ผลรวมตรวจสอบจะเช่นเดียวกับแลน 802.3 และ 802.4 ฟิลด์สถานะของเฟรม (FrameStatus) จะมีบิต A
และ C ที่ใช้ควบคุมการส่งข้อมูล โดยที่เมื่อฝั่งรับได้รับข้อมูล มักจะกำหนดค่าของบิตนี้เพื่อบ่งบอกสภาวะของการรับเฟรมข้อมูล ซึ่งค่าของบิตนี้
มีได้ 3 รูปแบบคือ
การส่งข้อมูลจะจับ Token โดยการเปลี่ยนบางบิตของไบต์ควบคุมการเข้าวงแหวน(Access Control) จากค่า 0 เป็น 1 ซึ่งก็จะทำให ้Token
กลายเป็นส่วนเฮดเดอร์ของเฟรมข้อมูลแล้วInterface Board จะส่งส่วนที่เหลือของ เฟรมข้อมูล ออกไปฟิลด์เริ่มต้นและท้ายเฟรมนั้นบ่งบอกถึง
ขอบเขตของเฟรม บิตของฟิลด์นี้ใช้ระดับไฟฟ้าสูงสูงและต่ำต่ำของการ เข้ารหัสแบบดิฟเฟอเรนเชียลเมนเชสเตอร์ในการแยกระหว่างต้นเฟรม
ท้ายเฟรมกับบิตข้อมูลสำหรับ ไบต์ควบคุมการเข้าวงแหวนจะมีบิตบ่งบอกการเป็นToken รวมทั้งบิตกำหนดความเร่งด่วนตนของข้อมูลที่ต้องการ
ส่ง (priority bit) และบิตจองการส่งข้อมูล(reservation bit) กล่าวคือ สถานีใดต้องการส่งข้อมูลด้วยระดับความเร่งด่วนเป็นnแล้วสถานีนั้นต้องรอ
Tokenที่มีค่าความเร่งด่วนต่ำกว่าหรือเท่ากับ n ผ่านมาเท่นั้นจึงจะจับ Token ได้นอกจากนั้นเมื่อเฟรมข้อมูลผ่านสถานีหนึ่งมันอาจจะจองToken
ได้โดยการเขียนค่าความเร่งด่วนของข้อมูลของมันลงไปที่บิตจองการส่งข้อมูลแต่ถ้าค่าของบิตจองนี้มีค่าความเร่งด่วน(ซึ่งถูกเขียนด้วยสถานีอื่น
ก่อนหน้า) ที่สูงกว่าของมันมักจะไม่สามารถจอง Token ได้ด้วยวิธีนี้Token ที่ถูกสร้างขึ้นมาจะถูกกำหนดให้มีค่าความเร่งด่วนเท่ากับค่าที่ถูกจอง
ไว้นอกจากบิตเหล่านี้แล้วฟิลด์ควบคุมการเข้าวงแหวนยังมีบิต ดูแลรักษาวงแหวน (monitorbit)ซึ่งจะช่วยให้การทำงานของวงแหวนเป็นไปอย่าง
ถูกต้องสำหรับฟิลด์ควบคุมเฟรม (framecontrol) จะแยกระหว่างเฟรมข้อมูลและเฟรมควบคุมการส่งข้อมูลฟิลด์แอดเดรส ต้นทาง และปลายทาง
จะเหมือนกับแลน 802.3 และ 802.4 สำหรับข้อมูลของแลน 802.5 จะมีความ ยาวเท่าไรก็ได้ โดยที่เฟรมต้องถูกส่งภายในช่วงเวลาของการถือ
Token ของสถานีนั้นนอกจากนั้นฟิลด์ผลรวมตรวจสอบจะเช่นเดียวกับแลน 802.3 และ 802.4 ฟิลด์สถานะของเฟรม (FrameStatus) จะมีบิต A
และ C ที่ใช้ควบคุมการส่งข้อมูล โดยที่เมื่อฝั่งรับได้รับข้อมูล มักจะกำหนดค่าของบิตนี้เพื่อบ่งบอกสภาวะของการรับเฟรมข้อมูล ซึ่งค่าของบิตนี้
มีได้ 3 รูปแบบคือ
1. ค่า A = 0 และ C = 0 หมายความว่าปลายทางฝั่งรับไม่อยู่ในวงแหวน
2.ค่า A = 1 และ C = 0 หมายความว่าฝั่งรับอยู่ในวงแหวนแต่ไม่รับเฟรมนั้นซึ่งอาจเป็นเพราะว่ามันไม่มีบัฟเฟอร์ว่างที่จะรับข้อมูล
3. ค่า A = 1 และ C = 1 หมายความว่าปลายทางรับข้อมูลแล้วสำหรับฟิลด์ท้ายเฟรมยังมีบิต E ที่ถูกเขียนโดย Interface Board ใดก็ได้ที่
พบว่าการส่งข้อมูลมีความผิดพลาดเช่นสัญญาณไฟฟ้าสูงสูงและต่ำต่ำปรากฏในตำแหน่งที่ไม่น่าเกิด เป็นต้น นอกจากนั้นในฟิลด์นั้ มีบิตที่ระบุว่า
เป็นเฟรมสุดท้าย ของการส่งข้อมูลของสถานีส่งนั้นด้วย
พบว่าการส่งข้อมูลมีความผิดพลาดเช่นสัญญาณไฟฟ้าสูงสูงและต่ำต่ำปรากฏในตำแหน่งที่ไม่น่าเกิด เป็นต้น นอกจากนั้นในฟิลด์นั้ มีบิตที่ระบุว่า
เป็นเฟรมสุดท้าย ของการส่งข้อมูลของสถานีส่งนั้นด้วย
โครงสร้างของเฟรมของ Token Ring
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
รูปแบบของการเชื่อมต่ออุปกรณ์รบส่งข้อมูลแบบอีเธอร์เน็ตตามมาตรฐานเชื่อมต่อ 15 ขา
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ตำแหน่งขาและหน้าที่การทำงาน
ขาที่1 : Shield ขาที่2 : Collision Precense+ ขาที่3 : Transmit + ขาที่4 : ไม่ใช้งาน ขาที่5 : Receive + ขาที่6 : Power Return ขาที่7 : ไม่ใช้งาน ขาที่8 : ไม่ใช้งาน ขาที่9 : Collision Presence-ขาที่10 : Transmit - ขาที่11 : ไม่ใช้งาน ขาที่12 : Receive + ขาที่13 : Power ขาที่14 : ไม่ใช้งาน ขาที่15 : ไม่ใช้งาน การส่งสัญญาณข้อมูล (Signal Trnsmission) ในระดับชั้นดาต้าลิ้งมีหน้าที่พื้นฐานเกี่ยวข้องกับการจัดโครงสร้างเฟรมข้อมูลและควบคุมวงจรเชื่อมโยงทางตรรกะ ระหว่างสถานีต้นทางกับปลายทางโดยการทำงานแทบจะไม่ขึ้นกับประเภทของตัวกลางนำสัญญาณเลย ฟังก์ชัน การทำงานที่สำคัญประกอบด้วยการกำหนดจุดเริ่มต้นและจุดสิ้นสุดของ เฟรมข้อมูลในแต่ละเฟรม (Framing) การกำหนดและการระบุแอดเดรสของสถานีต้นทางและสถานีปลายทาง (Addressing) และการตรวจสอบ ความผิดพลาดของข้อมูล (Error Checking)รูปแบบโครงสร้างของเฟรม Ethernet โดยเริ่มจากส่วนที่ เรียกว่า ปรีแอมเบิล (Preamble) ซึ่งเป็นการจัดเรียงข้อมูลในรูป "101010…" มีความยาว 8 ไบต์หรือ 64 บิต ซึ่งเป็นการแสดงการเริ่มต้นเฟรมข้อมูล หน้าที่ในการสร้างและถอด ปรีแอมเบิลออกจากเเฟรมเป็นของระดับ ชั้นที่ 1 สำหรับการแจ้งจุดสิ้นสุด 8 ไบต์ 6 ไบต์ 6 ไบต์ 2 ไบต์ 46-150 ไบต์ 4 ไบต์Preamble แอดเดรสปลายทาง แอดเดรสต้นทาง ประเภท ข้อมูล PCS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
โครางสร้างเฟรมข้อมูลของมาตรฐาน Ethernet
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
การเชื่อมต่อทางกายภาพของอีเทอร์เน็ต (Ethernet Physical Connectivity) ในการใช้งาน Ring ผู้ใช้งานสามารถเชื่อมต่อเครือข่าย Ethernet หลาย ๆส่วนเข้าหากันโดยผ่านอุปกรณ์เชื่อมต่อ ซึ่งอาจจะเป็นตัวทวนสัญญาณ (Repeater)หรือเราเตอร์ โดยมากมักพบการใช้งานในกรณีเชื่อมต่อ LAN แบบ Ethernetจากหลายๆอาคารซึ่งแยกตัวนำสัญญาณออกจากกันเข้าด้วยกันในตารางข้างต้นได้แสดงถึงตัวอย่าง การเชื่อมต่อเครือข่าย Ethernet หลาย ๆ ชุดเข้าด้วยกันซึ่งเรียกแต่ละส่วนว่า เซกเมนต์ (Segment) ข้อกำหนดที่เป็นขีดจำกัดสำหรับการเชื่อมต่อที่ควรทราบเป็นดังนี้ - ความยาวสูงสุดต่อเซกเมนต์ 1,500 เมตร กรณีใช้สายแบบมัลติโหมด (Multimode) - ในการเชื่อมต่อระหว่าง Campus สามารถใช้สายแบบซิงเกิ้ลโหมด(Single Mode) ซึ่งทำให้ได้ระยะทางถึง 40กิโลเมตร - สามารถเชื่อมต่อเซกเมนต์ระหว่างโดยการเชื่อมต่อแบบจุดต่อจุด (Point-to-Point) - ระยะทางจากอุปกรณ์รับส่งสัญญาณไปยังสถานีงานไม่เกิน 300 เมตร - จำนวนสถานีงานสูงสุดไม่เกิน 1,024 จุด | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
การจัดโครงสร้างเครือข่าย LAN แบบ Ethernet ขนาดใหญ่
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
อีเทอร์เน็ตความเร็วสูง (Fast Ethernet) เนื่องจากปัจจุบันมัลติมีเดียมีการได้ใช้งานกันมากจึงมีความต้องการเครือข่ายความเร็วสูงในการเชื่อมโยง คอมพิวเตอร์เหล่านี้เข้าด้วยกันกลุ่มทำงานของ IEEE จึงตัดสินใจที่จะปรับปรุงมาตรฐาน802.3ให้สามารถ ส่งข้อมูลด้วยความเร็วสูงขึ้น ซึ่งกลายเป็นมาตรฐานเรียกว่า 802.3 m แต่อย่างไรก็ตามคนทั่วไปเรียกว่า ฟาสต์อีเทอร์เน็ต (Fast Ethernet) หลักการทำงานของฟาสต์อีเทอร์เน็ต เหมือนกับแบบ 802.3 เพียงแต่ลดเวลาการส่งข้อมูลของแต่ละบิตจาก 100 นาโนวินาทีเป็น 10 นาโนวินาทีจึงทำให้อัตราส่งข้อมูล ส่งถึง 10 เท่าจากเดิม และสำหรับรูปร่างเครือข่ายนั้น คณะทำงานของ IEEE ได้เลือกใช้แบบฮับ เนื่องจาก แบบฮับนี้ใช้สายคู่ตีเกลียวที่มีขนาดบางและเบา อีกทั้งเมื่อสายขาดก็ไม่กระทบต่อการทำงานส่วนอื่นของเครือข่าย ส่วนสายเคเบิลที่ใช้เป็นสื่อส่งข้อมูลนั้น คณะทำงานได้ยินยอมให้มีการใช้ได้ทั้งสายคู่ตีเกลียวแบบ category 3 ที่ใช้สำหรับระบบโทรศัพท์ทั่วไปซึ่งทำให้ผู้ใช้ไม่จำเป็นต้องติดตั้งสายใหม่ภายในตึกแต่ทั่วไปแล้วสายสำหรับ ฟาสต์อีเทอร์เน็ตมักจะเป็นสายคู่ตีเกลียวแบบ category5 หรือเส้นใยแก้วนำแสดงดังตารางแสดงคุณสมบัติทั่วไป ของทั้ง 3 ชนิด | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
สมัครสมาชิก:
บทความ (Atom)