Computer >> คอมพิวเตอร์ >  >> ระบบเครือข่าย >> อินเทอร์เน็ต

TCP vs. UDP — อะไรคือความแตกต่างและโปรโตคอลใดเร็วกว่ากัน?

หากคุณกำลังเข้าสู่เครือข่ายคอมพิวเตอร์ หรือหากคุณได้ศึกษาการตั้งค่าเครือข่ายของแอปพลิเคชันบางตัว คุณอาจเห็นคำเหล่านี้:TCP และ UDP

TCP ซึ่งย่อมาจาก Transmission Control Protocol และ UDP หรือ User Datagram Protocol เป็นส่วนหนึ่งของชุดโปรโตคอลอินเทอร์เน็ต TCP และ UDP เป็นวิธีการส่งข้อมูลทางอินเทอร์เน็ตที่แตกต่างกัน

แต่ถึงแม้จะรู้ว่าย่อมาจากอะไร ก็ยังยากที่จะรู้ว่าควรใช้โปรโตคอลใด หรือเหตุใดคุณจึงต้องใช้โปรโตคอลนี้แทนโปรโตคอลอื่น

ในบทความนี้ เราจะพูดถึงข้อมูลพื้นฐานเกี่ยวกับเครือข่ายคอมพิวเตอร์ ความแตกต่างระหว่าง TCP และ UDP เมื่อมีการใช้แต่ละรายการ และอื่นๆ

พื้นฐานเกี่ยวกับเครือข่ายคอมพิวเตอร์

ก่อนที่จะเจาะลึกว่า TCP และ UDP ทำงานอย่างไร คุณควรทราบข้อมูลพื้นฐานเกี่ยวกับวิธีการทำงานของอินเทอร์เน็ตก่อน

โดยทั่วไป อินเทอร์เน็ตเป็นเครือข่ายของอุปกรณ์เชื่อมต่อ อุปกรณ์แต่ละเครื่อง ไม่ว่าจะเป็นสมาร์ทโฟนหรือเซิร์ฟเวอร์ของคุณ สื่อสารผ่านชุดโปรโตคอลอินเทอร์เน็ต

ชุดโปรโตคอลอินเทอร์เน็ตคือชุดของโปรโตคอลหรือวิธีการต่างๆ สำหรับอุปกรณ์ในการสื่อสารระหว่างกัน ทั้ง TCP และ UDP เป็นโปรโตคอลหลักภายในชุดโปรโตคอลอินเทอร์เน็ต:

TCP vs. UDP — อะไรคือความแตกต่างและโปรโตคอลใดเร็วกว่ากัน?
ที่มา

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

นี่คือการเปรียบเทียบโดยย่อระหว่างทั้งสอง:

TCP vs. UDP — อะไรคือความแตกต่างและโปรโตคอลใดเร็วกว่ากัน?
ที่มา

สำหรับภาพรวมระดับที่สูงขึ้นเกี่ยวกับวิธีการทำงานของอินเทอร์เน็ต โปรดดูวิดีโอความยาว 5 นาทีนี้:

TCP คืออะไร

TCP หรือ Transmission Control Protocol เป็นโปรโตคอลเครือข่ายทั่วไปทางออนไลน์ TCP มีความน่าเชื่อถืออย่างยิ่ง และใช้สำหรับทุกอย่างตั้งแต่การท่องเว็บ (HTTP) การส่งอีเมล (SMTP) และการถ่ายโอนไฟล์ (FTP)

ใช้ TCP ในสถานการณ์ที่จำเป็นที่ข้อมูลทั้งหมดที่ส่งโดยอุปกรณ์เครื่องหนึ่งจะได้รับโดยอุปกรณ์อีกเครื่องหนึ่งที่ไม่เสียหาย

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

TCP เป็นโปรโตคอลที่เน้นการเชื่อมต่อ หมายความว่ามันสร้างการเชื่อมต่อระหว่างอุปกรณ์สองเครื่องก่อนถ่ายโอนข้อมูล และรักษาการเชื่อมต่อนั้นไว้ตลอดกระบวนการถ่ายโอน

ในการสร้างการเชื่อมต่อระหว่างอุปกรณ์สองเครื่อง TCP ใช้วิธีการที่เรียกว่าการจับมือสามทาง:

TCP vs. UDP — อะไรคือความแตกต่างและโปรโตคอลใดเร็วกว่ากัน?
ที่มา

ตัวอย่างเช่น หากต้องการอ่านบทความนี้บนอุปกรณ์ของคุณ ก่อนอื่นอุปกรณ์ของคุณได้ส่งข้อความไปยังเซิร์ฟเวอร์ข่าว freeCodeCamp ที่เรียกว่า SYN (หมายเลขลำดับการซิงโครไนซ์)

จากนั้นเซิร์ฟเวอร์ freeCodeCamp News จะส่งข้อความตอบรับที่เรียกว่า SYN-ACK

เมื่ออุปกรณ์ของคุณได้รับ SYN-ACK จากเซิร์ฟเวอร์ อุปกรณ์จะส่งข้อความตอบรับ ACK กลับ ซึ่งจะสร้างการเชื่อมต่อ

เมื่อสร้างการเชื่อมต่อ TCP ระหว่างอุปกรณ์สองเครื่องแล้ว โปรโตคอลจะรับประกันว่าข้อมูลทั้งหมดจะถูกส่ง

กลับไปที่ตัวอย่างอุปกรณ์ของคุณและ freeCodeCamp News เมื่อการจับมือแบบสามทางเสร็จสิ้น เซิร์ฟเวอร์ News จะเริ่มส่งข้อมูลทั้งหมดที่เว็บเบราว์เซอร์ของอุปกรณ์ของคุณต้องการเพื่อแสดงบทความนี้

อุปกรณ์ทั้งหมดจะแยกข้อมูลออกเป็นแพ็กเก็ตขนาดเล็กก่อนที่จะส่งผ่านอินเทอร์เน็ต แพ็กเก็ตเหล่านั้นจะต้องประกอบใหม่อีกครั้งในอีกด้านหนึ่ง

ดังนั้นเมื่อเซิร์ฟเวอร์ freeCodeCamp News ส่ง HTML, CSS, รูปภาพ และโค้ดอื่นๆ สำหรับบทความนี้ เซิร์ฟเวอร์จะแบ่งทุกอย่างออกเป็นแพ็กเก็ตข้อมูลขนาดเล็กก่อนที่จะส่งไปยังอุปกรณ์ของคุณ จากนั้นอุปกรณ์ของคุณจะประกอบแพ็กเก็ตเหล่านั้นใหม่เป็นไฟล์และรูปภาพที่จำเป็นสำหรับการแสดงผลบทความนี้

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

เมื่ออุปกรณ์ของคุณได้รับข้อมูลทั้งหมดที่จำเป็นในการแสดงบทความแล้ว TCP จะยุติการเชื่อมต่อระหว่างอุปกรณ์ทั้งสองโดยอัตโนมัติด้วยวิธีที่คล้ายกับการจับมือสามทาง คราวนี้ใช้แพ็กเก็ต FIN และ ACK

UDP คืออะไร

UDP หรือ User Datagram Protocol เป็นโปรโตคอลหลักอีกตัวหนึ่งที่ประกอบขึ้นเป็นชุดโปรโตคอลอินเทอร์เน็ต UDP มีความน่าเชื่อถือน้อยกว่า TCP แต่ง่ายกว่ามาก

UDP ใช้สำหรับสถานการณ์ที่ข้อมูลสูญหายได้ เช่น วิดีโอ/เสียงสด หรือที่ความเร็วเป็นปัจจัยสำคัญ เช่น เกมออนไลน์

แม้ว่า UDP จะคล้ายกับ TCP ที่ใช้ในการส่งและรับข้อมูลออนไลน์ แต่ก็มีความแตกต่างที่สำคัญสองสามประการ

ประการแรก UDP เป็นโปรโตคอลแบบไม่มีการเชื่อมต่อ ซึ่งหมายความว่าจะไม่สร้างการเชื่อมต่อล่วงหน้าเหมือนที่ TCP ทำกับแฮนด์เชคสามทาง

ขั้นต่อไป UDP ไม่รับประกันว่าข้อมูลทั้งหมดจะได้รับการถ่ายโอนสำเร็จ ด้วย UDP ข้อมูลจะถูกส่งไปยังอุปกรณ์ใดๆ ที่กำลังฟังอยู่ แต่ไม่สนใจว่าข้อมูลบางส่วนจะสูญหายไประหว่างทางหรือไม่ นี่เป็นหนึ่งในเหตุผลที่ UDP เรียกอีกอย่างว่าโปรโตคอล "ไฟแล้วลืม"

วิธีที่ดีในการคิดเกี่ยวกับความแตกต่างเหล่านี้คือ TCP เป็นเหมือนการสนทนาระหว่างคนสองคน คน A ขอให้คน B พูด ฝ่าย B พูดแน่ ไม่เป็นไร บุคคล A ตกลงและทั้งคู่ก็เริ่มพูด

UDP เป็นเหมือนผู้ประท้วงที่อยู่ข้างนอกด้วยโทรโข่ง ทุกคนที่ให้ความสนใจผู้ประท้วงควรได้ยินสิ่งที่พวกเขาพูดเป็นส่วนใหญ่ แต่ไม่มีหลักประกันว่าทุกคนในพื้นที่จะได้ยินสิ่งที่ผู้ประท้วงพูด หรือแม้แต่ฟังอยู่

TCP vs. UDP — อะไรคือความแตกต่างและโปรโตคอลใดเร็วกว่ากัน?
UDP เทียบกับ TCP — แหล่งที่มา

อันไหนเร็วกว่า – TCP หรือ UDP

โดยทั่วไป UDP เป็นโปรโตคอลที่เร็วกว่า

UDP นั้นง่ายกว่ามาก และไม่พยายามสร้างการเชื่อมต่อระหว่างอุปกรณ์ก่อนที่จะส่งข้อมูล หรือตรวจสอบว่าข้อมูลทั้งหมดมาถึงแล้ว เพียงส่งข้อมูลไปยังอุปกรณ์ใดๆ ที่ร้องขอ และทำต่อไปจนกว่าอุปกรณ์อื่นจะตัดการเชื่อมต่อหรือไม่มีข้อมูลเหลือให้ส่งอีกต่อไป

คิดว่าดื่มจากสายยางแทนที่จะจิบจากขวด คุณจะดับกระหายได้ด้วยวิธีใดวิธีหนึ่ง แต่อาจจะจบลงด้วยเสื้อเชิ้ตที่เปียกชื้นโดยใช้วิธีเดิม

TCP vs. UDP — อะไรคือความแตกต่างและโปรโตคอลใดเร็วกว่ากัน?
ไม่ใช่สายยาง แต่ก็ยังค่อนข้างแม่นยำ ลองนึกภาพด้วยว่าขวด TCP เอาแต่ถามว่าคุณได้รับน้ำในขณะที่คุณดื่มหรือไม่ ที่มา

แต่การที่เร็วกว่านั้นไม่ได้หมายความว่า UDP เป็นโปรโตคอลโดยรวมที่ดีกว่า ก็หมายความว่าดีขึ้นในบางสถานการณ์

ดังที่กล่าวไว้ก่อนหน้านี้ TCP จำเป็นในสถานการณ์ที่แพ็กเก็ตข้อมูลทั้งหมดจะถูกส่งตามลำดับ และแพ็กเก็ตทั้งหมดมาถึงมีความสำคัญ เว็บจะไม่ทำงานหากไม่มี TCP

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

TCP ยังอนุญาตให้บัฟเฟอร์ ดังนั้นเบราว์เซอร์ของคุณสามารถขอและโหลดข้อมูลเพิ่มเติมในขณะที่คุณดู ทำให้เล่นได้อย่างราบรื่นและคุณสามารถข้ามไปยังส่วนอื่น ๆ ของวิดีโอได้

UDP เป็นตัวเลือกที่ดีกว่าสำหรับวิดีโอสดและเสียงหรือเกมออนไลน์ที่ความเร็วสำคัญกว่าข้อมูลที่อาจสูญหาย

เมื่อคุณโทรผ่าน Google Meet หรือ Zoom วิดีโอและเสียงของคุณจะถูกส่งผ่าน UDP หากบางแพ็กเก็ตสูญหายไประหว่างทาง แพ็กนั้นก็จะปรากฏเป็นวิดีโอ/เสียงที่ล่าช้าหรือถูกตัดออก

หากคุณเล่นวิดีโอเกม คุณอาจคิดว่าวิธีที่ TCP ทำให้แน่ใจว่าแพ็กเก็ตข้อมูลทั้งหมดมาถึงอุปกรณ์อื่นจะทำให้เป็นตัวเลือกที่เหมาะสมที่สุด แต่ในความเป็นจริง การตรวจสอบและส่งข้อมูลทั้งหมดที่ TCP ทำนั้นเพิ่มเวลาในการตอบสนอง

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

FIN

ฉันหวังว่าบทความนี้จะช่วยให้คุณเข้าใจความแตกต่างระหว่าง TCP และ UDP และถ้ามีคนถามว่าอันไหนเร็วกว่า บอกพวกเขาว่าคุณอ่านอะไรที่นี่:"UDP เร็วกว่า แต่ ..."

และถ้าคุณชอบสิ่งที่คุณอ่าน แจ้งให้เราทราบบน Twitter