TCP และ UDP เป็นโปรโตคอลในชั้น Transport Layer ซึ่งสามารถขี่ IP (Internet Protocol) และนั้นหมายความว่าทั้งสองตัวสามารถใช้ไอพีแอดเดรส ในการระบุคอมพิวเตอร์ปลายทางได้เหมือนกัน
ความแตกต่างระหว่าง TCP และ UDP
TCP
– Reliable
ไว้วางใจได้ว่าข้อมูลที่ส่งไปจะถือผู้รับอย่างแน่นอน ซึ่ง TCP จะมีการตรวจสอบว่าข้อมูลที่ส่งไปนั้นถึงผู้รับจริง ๆ หรือไม่ ถ้าไม่ถึง TCP ก็จะทำการส่งข้อมูลนั้นไปให้ใหม่อีกครั้ง
– Connection-oriented
มีการเชื่อมต่อช่องทางการรับส่งข้อมูลก่อนที่จะเริ่มส่ง เป็นการเตรียมทรัพยากรต่าง ๆ ระหว่างเครื่องผู้รับและผู้ส่ง เช่น socket (ดูเพิ่มเติมเรื่อง socket) หน่วยความจำ และตัวแปรที่ใช้เก็บข้อมูลต่าง ๆ เพื่อให้การรับส่งข้อมูลระหว่างต้นทางและปลายทางเป็นไปอย่างราบรื่นและมีประสิทธิภาพ
– Flow control
มีการควบคุมปริมาณข้อมูลที่รับส่งระหว่างต้นทางและปลายทาง เพื่อป้องกันไม่ให้ฝั่งผู้ส่ง ส่งข้อมูลมากจนเกินกว่าที่ buffer ของฝั่งผู้รับจะรับได้
– Congestion control
เป็นการควบคุมปริมาณการส่งข้อมูลเช่นกัน แต่เพื่อป้องกันไม่ให้ส่งข้อมูลเข้าไปในเครือข่าย ที่ ณ ขณะนั้นมีความหนาแน่นของข้อมูลสูงมาก ซึ่งมีความเสี่ยงที่ข้อมูลที่ส่งเข้าไปจะไปไม่ถึงผู้รับ
ในทางตรงกันข้ามเมื่อเราหันมาดูคุณสมบัติของ UDP บ้าง จะเป็นดังนี้
UDP
– Unreliable
ไม่รับประกันว่าข้อมูลจะถึงผู้รับหรือไม่
– Connectionless
ไม่มีการสร้างช่องทางการรับส่งข้อมูลก่อนเริ่มส่ง
– No flow control
ไม่มีการควบคุมปริมาณการรับส่งข้อมูลระหว่างต้นทางและปลายทาง
– No congestion control
ไม่มีการควบคุมปริมาณการส่งข้อมูลระหว่างที่เครือข่ายมีความหนาแน่นสูง
ถ้าดูการเปรียบเทียบข้างบน ก็คงจะรู้สึกได้ว่า TCP นั้นดีกว่า UDP อย่างไม่ต้องสงสัย แต่ในความเป็นจริง UDP ก็มีข้อดีที่เหนือกว่า TCP อยู่หลายข้อ
ข้อดีของ UDP
– เริ่มต้นส่งข้อมูลได้เร็วกว่าเพราะไม่ต้องรอการสร้าง connection
– ส่งข้อมูลได้เร็วกว่าเพราะไม่ต้องรอการตรวจสอบ
– ส่งข้อมูลได้ปริมาณมากว่าเพราะไม่มี flow control และ congestion control
จากข้อแตกต่างข้างต้นดังกล่าว ทั้งสอง protocol จึงเหมาะที่จะใช้กับงานที่แตกต่างกัน ดังต่อไปนี้
TCP จะใช้ในการรับส่งข้อมูลของ protocol บน application layer ที่ต้องการความน่าเชือถือสูง ดังต่อไปนี้
– SMTP
– Telnet
– HTTP , HTTPS
– FTP
UDP จะเหมาะกับการรับส่งข้อมูลของ protocol บน application layer ยินยอมให้ข้อมูลบางส่วนสูญหายได้โดยไม่กระทบต่อคุณภาพของข้อมูลในภาพรวม ดังต่อไปนี้
– NFS
– Streaming multimedia
– Internet telephony
– SNMP
– RIP
– DNS
แต่ในปัจจุบันเนื่องจากเทคโนโลยีความเร็วของเครือข่ายได้พัฒนาไปมาก จึงมีการนำ TCP มาใช้ในการรองรับการทำงานของ application ที่เคยทำงานบน UDP เช่น streaming multimedia หรือวีดีโอออนไลน์ และ internet telephony หรือการใช้โทรศัพท์ผ่านอินเตอร์ ในปัจจุบันก็มีการใช้งานบน TCP ในจำนวนที่พอ ๆ กับ UDP
ขอบคุณข้อมูลจาก
https://msit5.wordpress.com/