เราเตอร์ของฉันมีสองโปรโตคอล (และตัวเลือก "ทั้ง") ที่ฉันสามารถเลือกได้เมื่อตั้งค่าการส่งต่อพอร์ต: UDP และ TCP อะไรคือความแตกต่างระหว่างสองโปรโตคอลนี้และเมื่อใดที่คุณจะเลือกโปรโตคอลอื่นในการส่งต่อพอร์ต
เราเตอร์ของฉันมีสองโปรโตคอล (และตัวเลือก "ทั้ง") ที่ฉันสามารถเลือกได้เมื่อตั้งค่าการส่งต่อพอร์ต: UDP และ TCP อะไรคือความแตกต่างระหว่างสองโปรโตคอลนี้และเมื่อใดที่คุณจะเลือกโปรโตคอลอื่นในการส่งต่อพอร์ต
คำตอบ:
TCPได้รับการสนับสนุนโดย acks และลองใหม่เพื่อให้แน่ใจว่าคุณได้รับข้อมูลในที่ที่มันกำลังไป UDPไม่มีการเชื่อมต่อและ "ไฟไหม้และลืม" UDP ส่วนใหญ่จะใช้สำหรับแอพพลิเคชั่นประเภทสตรีมมิ่งซึ่งหากคุณสูญเสียข้อมูลบางส่วนคุณไม่จำเป็นต้องลองส่งอีกครั้ง
สิ่งที่คุณใช้ขึ้นอยู่กับแอปพลิเคชัน ตัวอย่างเช่นเว็บเซิร์ฟเวอร์ใช้ TCP
คุณสามารถหาบทสรุปที่ดีได้ที่นี่:
ความแตกต่างระหว่างโปรโตคอลอินเทอร์เน็ต UDP และ TCP คืออะไร?
ทั้ง TCP และ UDP ทำงานที่ transport layer โมเดล TCP / IP แต่มีการใช้งานที่แตกต่างกันมาก
ความแตกต่างที่สำคัญที่สุดคือ:
โครงสร้างเฟรม
เมื่อข้อมูลถูกส่งผ่านเครือข่ายจะต้องมีการห่อหุ้มไว้ในที่เรียกว่า "เฟรม" มีหลายวิธีในการห่อหุ้มขึ้นอยู่กับโปรโตคอลและโทโพโลยีที่ใช้ รูปภาพต่อไปนี้แสดงความแตกต่างของโครงสร้างเฟรม TCP และ UDP
นี่คือโครงสร้างเฟรม TCP:
นี่คือโครงสร้างเฟรม UDP ง่ายกว่ามาก:
โปรโตคอลทั่วไปที่ใช้ TCP คือ HTTP, FTP และ SMTP ตัวอย่างของโปรโตคอลที่ใช้ UDP คือ DNS และ DHCP
และคำอธิบายระดับ CEO:
UDP คือเมื่อคุณขว้างกระดาษไปในทิศทางทั่วไปของถังขยะ
TCP คือเมื่อมันหายไปคุณจะต้องทำสำเนาของกระดาษแผ่นเดียวกันซ้ำแล้วซ้ำอีกจนกระทั่งมันตกลงไปในถังขยะ จะมีการสิ้นเปลืองกระดาษแม้แต่ส่งแพ็กเก็ต TCP ใหม่ส่งผลให้สิ้นเปลืองทรัพยากรเครือข่ายหรือระบบ
TCP และ UDP เป็นทั้งโปรโตคอลที่ทำงานบน IP TCP รับประกันการส่งมอบและ UDP ไม่ได้ คุณจะเลือกอย่างใดอย่างหนึ่งสำหรับการส่งต่อพอร์ตขึ้นอยู่กับบริการที่คุณพยายามส่งต่อ HTTP ตัวอย่างเช่น TCP หากคุณไม่ทราบว่าบริการที่คุณพยายามส่งต่อคือโปรโตคอลใดมันเกือบจะเป็น TCP
ในการตอบคำถามส่วนอื่นของคุณคุณต้องส่งต่อสิ่งที่แอปพลิเคชันของคุณใช้ ในการส่งต่อการรับส่งข้อมูล HTTP เลือก TCP ในการส่งต่อการรับส่งข้อมูล TFTP ให้เลือก UDP โปรแกรม p2p ส่วนใหญ่ใช้ทั้ง tcp และ udp ดังนั้นส่งต่อทั้งคู่
ทุกอย่างขึ้นอยู่กับโปรโตคอลและโปรแกรมที่คุณใช้
ความแตกต่างที่กล่าวถึงจนถึง TCP ยังมี
การควบคุมการไหล การใช้กลไกหน้าต่างผู้รับจะ จำกัด จำนวนอ็อกเท็ต (ไบต์) ที่ต้องการรับจากผู้ส่งก่อนผู้ส่งจะต้องรอการอนุญาตให้ส่งข้อมูลเพิ่มเติม ขนาดของหน้าต่างสามารถเปลี่ยนแปลงได้โดยผู้รับเมื่อการสนทนาดำเนินต่อไป วิธีนี้ช่วยให้ผู้รับรับ 'ส่งสัญญาณ' อัตราข้อมูลที่มาจากผู้ส่ง: UDP ไม่อนุญาตสิ่งนี้และผู้รับทุกคนสามารถทำได้คือโยนข้อมูลที่ไม่สามารถบัฟเฟอร์หรือประมวลผลเมื่อมาถึง
สิ่งอำนวยความสะดวกด้านเทคนิคบางอย่างเพิ่มเติมเช่นการตอบรับที่ไม่ต่อเนื่อง (ใช้การตอบรับแบบเลือกเพื่ออนุญาตให้ผู้ส่งส่งสัญญาณใหม่เพียงเฟรมที่หายไปแทนที่จะเป็นเฟรมที่หายไปและเฟรมที่ตามมาที่ผู้รับมีอยู่แล้วแต่ไม่สามารถยอมรับได้ การส่งสัญญาณซ้ำแบบปรับได้ (การปรับตัวจับเวลาที่ตัดสินว่าจะส่งเฟรมที่ส่งเมื่อไม่ได้รับการตอบรับ) สิ่งเหล่านี้ไม่เกี่ยวข้องกับ UDP แต่ช่วยให้ TCP เพื่อให้บริการเพิ่มเติมผ่าน UDP โดยไม่ต้องเพิ่มภาระเครือข่ายสำหรับปริมาณบรรจุที่เท่ากัน
TCP ใช้ความพยายามเพื่อให้แน่ใจว่าข้อมูลได้ถูกส่งไปยังผู้รับแล้ว UDP ไม่
ไม่ต้องสนใจคำตอบทั้งหมดที่อธิบายอย่างหนึ่งกับอีกคำตอบ สำหรับวัตถุประสงค์ของการตั้งค่าพอร์ตไปข้างหน้ากฎนั้นค่อนข้างง่าย: คุณต้องเลือก TCP เว้นแต่ว่าเอกสารสำหรับโปรโตคอล / แอปพลิเคชันที่คุณใช้จะบอกว่าจะใช้ UDP โดยทั่วไปแล้วคนที่ใช้ UDP จะเกี่ยวข้องกับการสตรีมหรือสิ่งที่ง่ายมากที่นิยมใช้โปรโตคอล / ความเร็วที่เบากว่าความน่าเชื่อถือ (โดยเฉพาะ DNS และ NTP) โปรดทราบว่ามีโปรโตคอลอื่นนอกเหนือจาก TCP และ UDP ด้วย - ICMP, โปรโตคอลการสร้างอุโมงค์ ฯลฯ
โปรโตคอลที่รู้จักกันดีก็คือยิ่งเราเตอร์บนพา ธ แทรกแซงกับโปรโตคอลมากเท่านั้น ส่งแพ็คเก็ต tcp และมีความเป็นไปได้สูงมากที่แพ็กเก็ตที่ได้รับจะถูกจัดการอย่างมาก โดยทั่วไปแล้ว UDP จะไม่ยุ่งเหยิงและโปรโตคอล IP paylod อื่น ๆ อีก 254 รายการนั้นมักจะไม่ถูกแตะต้องโดยสมบูรณ์
User Datagram Protocol (UDP)
มันเป็นส่วนหนึ่งของโปรโตคอลพื้นฐานของ Internet Protocol Suite โปรแกรมบนคอมพิวเตอร์เครือข่ายสามารถส่งข้อความสั้น ๆ บางครั้งเรียกว่าเป็นดาต้าแกรม UDP ไม่รับประกันความน่าเชื่อถือใด ๆ (เกิดขึ้นดาตาแกรมอาจมาถึงตามลำดับมีการทำซ้ำหรือหายไปโดยไม่แจ้งให้ทราบล่วงหน้า) ความจริงที่ว่าไม่มีการตรวจสอบว่ามีการส่งมอบแพ็กเก็ตทั้งหมดจริงหรือไม่ UDP พิสูจน์ให้เห็นว่าเร็วขึ้นและมีประสิทธิภาพมากขึ้นสำหรับแอปพลิเคชันที่ไม่ต้องการการรับประกันการส่งมอบ UDP ค้นหาการใช้งานในสถานการณ์เช่นนี้:
แอปพลิเคชันที่คำนึงถึงเวลา ปัญหาที่เกิดจากแพ็คเก็ตล่าช้าจะหลีกเลี่ยง
นอกจากนี้ยังมีประโยชน์สำหรับเซิร์ฟเวอร์ที่ตอบคำถามเล็ก ๆ จากลูกค้าจำนวนมาก UDP รองรับการออกอากาศแบบแพ็คเก็ต (ถ่ายทอดไปยังทุกคนในเครือข่ายท้องถิ่น) และการรับส่งข้อมูลแบบหลายผู้รับ
โปรโตคอลควบคุมการส่ง (TCP)
มันมักจะเรียกว่า TCP / IP เนื่องจากความสำคัญของโปรโตคอลนี้ใน Internet Protocol Suite TCP ทำงานในระดับที่สูงขึ้นเกี่ยวข้องเฉพาะกับระบบปลายทั้งสอง (เช่นระหว่างเว็บเบราว์เซอร์และเว็บเซิร์ฟเวอร์) TCP จัดส่งกระแสข้อมูลที่เชื่อถือได้ตามลำดับจากโปรแกรมหนึ่งในคอมพิวเตอร์เครื่องหนึ่งไปยังโปรแกรมอื่นบนคอมพิวเตอร์เครื่องอื่น การใช้งานทั่วไปของการสนับสนุนการส่งอีเมล TCP regroup และการถ่ายโอนไฟล์และเว็บแอปพลิเคชัน ในงานการจัดการ TCP ควบคุมขนาดข้อความอัตราการแลกเปลี่ยนข้อความและความแออัดของเครือข่าย สำหรับ IP นั้นจะจัดการการส่งสัญญาณในระดับต่ำกว่าจากคอมพิวเตอร์หนึ่งไปยังอีกเครื่องหนึ่งเป็นข้อความที่ถ่ายโอนผ่านอินเทอร์เน็ต
ทั้งสองเป็นโปรโตคอลเครือข่ายที่สร้างขึ้นจากสิ่งที่เรียกว่า Internet Protocol หรือ IP Internet Protocol เป็นโปรโตคอลหลักของอินเทอร์เน็ตและเป็นตัวอย่างที่ช่วยให้เราสามารถเรียกดูเว็บได้ นั่นเป็นเหตุผลที่คุณมักจะเห็นโปรโตคอลเหล่านี้เขียนเป็น TCP / IP หรือ UDP / IP เป็นโปรโตคอลหลักของอินเทอร์เน็ต
ในทั้งสองกรณีข้อมูลของคุณจะถูกแบ่งออกเป็นส่วน ๆ เรียกว่าแพ็คเก็ต TCP รับรองว่าแพ็กเก็ตเหล่านี้ไปถึงปลายทางและอยู่ในลำดับที่ถูกต้องและไม่มีข้อผิดพลาดใด ๆ
ในทางตรงกันข้าม UDP จะไม่รับรองว่าแพ็กเก็ตข้อมูลจะมาถึง มันจะให้แน่ใจว่าถ้ามันมาถึงมันจะไม่มีข้อผิดพลาด
โดยทั่วไปแล้วโปรโตคอลอื่น ๆ จะทำงานบน TCP และ UDP และเป็นที่รู้จักกันในชื่อแอปพลิเคชันโปรโตคอลเพราะทำงานภายในแอปพลิเคชันและไม่ได้อยู่ในระบบปฏิบัติการ การท่องเว็บของคุณใช้โปรโตคอล HTTP ซึ่งจะใช้โปรโตคอล TCP
การค้นหาชื่อโดเมนหรือการสืบค้น DNS มักใช้ UDP แต่สามารถใช้ TCP ได้เช่นกัน บริการสตรีมจำนวนหนึ่งใช้ UDP ภายใต้โปรโตคอลแอปพลิเคชันอื่น
ฉันหวังว่าจะตอบคำถามของคุณเป็นภาษาอังกฤษที่ง่ายขึ้น