Tags:

Tìm hiểu 2 giao thức truyền dữ liệu quan trọng UDP và TCP

User Datagram Protocol (UDP) và Transmission Control Protocol (TCP) là hai giao thức truyền dữ liệu quan trọng nhất qua mạng máy tính. 

Trong bài viết này chúng ta sẽ cùng nhau tìm hiểu chi tiết về 2 giao thức này và đi so sánh điểm khác nhau giữa chúng.

UDP

UDP được David P.Reed thiết kế vào năm 1980, là một giao thức đơn giản hoạt động trong tầng vận chuyển của mô hình OSI. Các ứng dụng có thể sử dụng UDP để gửi dữ liệu đến các máy chủ khác qua Giao thức Internet. Thông tin được gửi bằng UDP được gọi là datagrams.

UDP không chịu trách nhiệm đối với những gói tin đã được truyền đi, vì vậy các gói dữ liệu có thể đến không đúng thứ tự hoặc bị mất mà không có thông báo.

  • UDP (User Datagram Protocol) là loại giao thức connectionless, không cần thiết lập các kết nối trước khi gửi gói tin.
  • UDP chỉ quan tâm tới việc truyền gói tin đi và không nhận lại — bán song công (half-duplex).
  • UDP không quan tâm tới việc có gửi chính xác gói tin tới đúng địa chỉ hay không, không có cơ chế phục hồi dữ liệu bị mất .
  • Giao thức UDP nhanh và hiệu quả hơn đối với các mục tiêu kích thước nhỏ và yêu cầu khắt khe về thời gian.
  • Bản chất không trạng thái nên UDP hữu dụng đối với việc trả lời các truy vấn nhỏ với số lượng lớn người yêu cầu.

Ứng dụng phổ biến nhất sử dụng giao thức UDP có thể kể đến như DNS (Domain Name System) Voice over IP, ứng dụng streaming media, Trivial File Transfer protocol (TFTP), và game trực tuyến. Dễ hình dung nhất về giao thức UDP là khi bạn Live Stream, video hoặc âm thanh có thể bị nhiễu hay bóp méo một lúc và Video vẫn tiếp tục chơi mà không có dữ liệu bị mất.

  • Truyền tải bán song công (half — duplex): Có nghĩa là chỉ truyền theo một hướng tại một thời điểm giữa hai đường truyền dữ liệu và luồng tin. Hiểu đơn giản, khi một thiết bị đóng vai trò vừa Thu và Phát tín hiệu nhưng tại một thời điểm nó chỉ có thể thực hiện một vai trò duy nhất.
  • Truyền toàn song công (full-duplex): Có nghĩa là tại một thời điểm có thể thực hiện truyền đồng thời dữ liệu trên cả hai đường, mỗi thiết kế có một kênh riêng. Một thiết bị có thể đồng thời vừa Phát lại vừa Thu tín hiệu. Ví dụ điển hình cho phương thức này là Modem máy tính. Đây là phương thức truyền tin trả lời rõ ràng nhất cho câu hỏi Đặc điểm chính của giao thức TCP là gì?

Giao thức TCP là gì? Nó là giao thức điều khiển truyền vận (Transmission Control Protocol) thuộc giao thức cốt lõi của bộ giao thức TCP/IP. Thông qua TCP, các ứng dụng trên các máy chủ được nối mạng có thể liên lạc với nhau, qua đó chúng có thể trao đổi giữ liệu hoặc các gói tin. Giao thức này đảm bảo chuyển giao dữ liệu tới nhận một cách đáng tin cậy và đúng thứ tự. Hơn nữa, TCP có chức năng phân biệt giữa dữ liệu của nhiều ứng dụng (như dịch vụ Web và dịch vụ Email) đồng thời chạy trên cùng một máy chủ.

  • TCP là giao thức hướng kết nối (connection-oriented), có nghĩa là buộc phải thiết lập kết nối trước sau đó mới đến tiến trình truyền dữ liệu.
  • Cung cấp cơ chế đánh số thứ tự gói tin (sequencing): sử dụng để ráp các gói tin chính xác ở điểm nhận, loại bỏ gói tin trùng lặp.
  • TCP có khả năng truyền và nhận dữ liệu cùng một lúc — song công (full-duplex).
  • Cơ chế báo nhận (Acknowledgement): tức là khi A gửi gói tin cho B, nếu B nhận được thì sẽ gửi thông báo cho A, trường hợp A không nhận được thông báo thì sẽ gửi lại gói tin tới khi nào B báo nhận thì thôi.
  • Tính năng phục hồi dữ liệu bị mất trên đường truyền.

Tiến trình bắt tay 3 bước

Để thiết lập kết với TCP giữa client và server, TCP sử dụng cơ chế bắt tay 3 bước như hình mô tả bên dưới

Mô tả quá trình

  1. Server nhận được gói SYN từ client sẽ chuyển qua trạng thái SYN-RECEIVED. Sau đó nó gửi về cho client một gói SYN được đánh số ngẫu nhiên bởi server, ví dụ 300 và kèm theo gói ACK được đánh số bằng số được đánh trong gói SYN + 1, trong ví dụ này là 101.
  2. Client nhận được gói SYN-ACK từ server và thiết lập kết nối. Nó cũng sẽ gửi ngược gói ACK với số thứ tự bằng với số của server gán trước đó + 1. Trong ví dụ này là 301. Server sau khi nhận được gói tin này cũng sẽ thiết lập một kết nối.

So sánh giữa TCP và UDP

TCP UDP
Đảm bảo rằng dữ liệu đến đúng như khi được gửi Không đảm bảo dữ liệu đến
Kiểm tra lỗi các luồng dữ liệu Không cung cấp tính năng kiểm tra lỗi
Chậm hơn UDP Nhanh hơn TCP
Phù hợp với các ứng dụng cần độ tin cậy dữ liệu Phù hợp với các ứng dụng yêu cầu tốc độ truyền tải nhanh, có khả năng chịu được sự mất mát dữ liệu nhỏ.

 

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x