Sự khác biệt giữa TCP và UDP là gì?

Có thể bạn đã thấy các tham chiếu đến TCP và UDP khi thiết lập chuyển tiếp cổng trên bộ định tuyến hoặc khi định cấu hình phần mềm tường lửa. Hai giao thức này được sử dụng cho các loại dữ liệu khác nhau.

TCP / IP là một bộ giao thức được sử dụng bởi các thiết bị để giao tiếp qua Internet và hầu hết các mạng cục bộ. Nó được đặt tên theo hai trong số các giao thức ban đầu của nó — Giao thức điều khiển truyền (TCP) và Giao thức Internet (IP). TCP cung cấp cho các ứng dụng một cách để phân phối (và nhận) một luồng gói thông tin đã được sắp xếp và kiểm tra lỗi qua mạng. Giao thức dữ liệu người dùng (UDP) được các ứng dụng sử dụng để cung cấp luồng thông tin nhanh hơn bằng cách loại bỏ việc kiểm tra lỗi. Khi cấu hình một số phần cứng hoặc phần mềm mạng, bạn có thể cần biết sự khác biệt.

Điểm chung của họ

LIÊN QUAN:Cách tìm địa chỉ IP riêng tư và công khai của bạn

Cả TCP và UDP đều là các giao thức được sử dụng để gửi các bit dữ liệu — được gọi là các gói — qua Internet. Cả hai giao thức đều xây dựng dựa trên giao thức IP. Nói cách khác, cho dù bạn đang gửi một gói qua TCP hay UDP, thì gói đó sẽ được gửi đến một địa chỉ IP. Các gói này được xử lý tương tự vì chúng được chuyển tiếp từ máy tính của bạn đến các bộ định tuyến trung gian và đến đích.

TCP và UDP không phải là giao thức duy nhất hoạt động trên IP. Tuy nhiên, chúng được sử dụng rộng rãi nhất.

Cách thức hoạt động của TCP

TCP là giao thức được sử dụng phổ biến nhất trên Internet.

Khi bạn yêu cầu một trang web trong trình duyệt của mình, máy tính của bạn sẽ gửi các gói TCP đến địa chỉ của máy chủ web, yêu cầu nó gửi lại trang web cho bạn. Máy chủ web phản hồi bằng cách gửi một luồng các gói TCP, mà trình duyệt web của bạn kết hợp với nhau để tạo thành trang web. Khi bạn nhấp vào liên kết, đăng nhập, đăng nhận xét hoặc làm bất kỳ điều gì khác, trình duyệt web của bạn sẽ gửi các gói TCP đến máy chủ và máy chủ sẽ gửi lại các gói TCP.

TCP là tất cả về độ tin cậy — các gói được gửi bằng TCP được theo dõi để không có dữ liệu nào bị mất hoặc bị hỏng khi truyền. Đây là lý do tại sao quá trình tải xuống tệp không bị hỏng ngay cả khi có trục trặc mạng. Tất nhiên, nếu người nhận hoàn toàn ngoại tuyến, máy tính của bạn sẽ ngừng hoạt động và bạn sẽ thấy thông báo lỗi cho biết máy không thể giao tiếp với máy chủ từ xa.

TCP đạt được điều này theo hai cách. Đầu tiên, nó sắp xếp thứ tự các gói bằng cách đánh số chúng. Thứ hai, nó kiểm tra lỗi bằng cách yêu cầu người nhận gửi phản hồi lại cho người gửi nói rằng họ đã nhận được tin nhắn. Nếu người gửi không nhận được phản hồi chính xác, họ có thể gửi lại các gói để đảm bảo người nhận nhận chúng một cách chính xác.

LIÊN QUAN:Hiểu trình khám phá quy trình

Process Explorer và các tiện ích hệ thống khác có thể hiển thị loại kết nối mà một quy trình tạo ra — tại đây, chúng ta có thể thấy trình duyệt Chrome có kết nối TCP mở với nhiều máy chủ web khác nhau.

Cách hoạt động của UDP

LIÊN QUAN:Độ trễ có thể làm cho kết nối Internet nhanh chóng cảm thấy chậm như thế nào

Giao thức UDP hoạt động tương tự như TCP, nhưng nó loại bỏ tất cả các công cụ kiểm tra lỗi. Tất cả các giao tiếp qua lại đều gây ra độ trễ, làm mọi thứ chậm lại.

Khi một ứng dụng sử dụng UDP, các gói chỉ được gửi đến người nhận. Người gửi không chờ đợi để đảm bảo rằng người nhận đã nhận được gói tin — họ chỉ tiếp tục gửi các gói tin tiếp theo. Nếu người nhận bỏ lỡ một vài gói UDP ở đây và ở đó, chúng sẽ bị mất — người gửi sẽ không gửi lại chúng. Mất tất cả chi phí này có nghĩa là các thiết bị có thể giao tiếp nhanh hơn.

UDP được sử dụng khi tốc độ mong muốn và không cần sửa lỗi. Ví dụ: UDP thường được sử dụng cho các chương trình phát sóng trực tiếp và trò chơi trực tuyến.

Ví dụ: giả sử bạn đang xem một luồng video trực tiếp, thường được phát bằng UDP thay vì TCP. Máy chủ chỉ gửi một luồng liên tục các gói UDP đến các máy tính đang xem. Nếu bạn mất kết nối trong vài giây, video có thể bị treo hoặc giật trong giây lát, sau đó chuyển sang phần hiện tại của chương trình phát sóng. Nếu bạn gặp phải tình trạng mất gói nhỏ, video hoặc âm thanh có thể bị biến dạng trong giây lát khi video tiếp tục phát mà không có dữ liệu bị thiếu.

Điều này hoạt động tương tự trong các trò chơi trực tuyến. Nếu bạn bỏ lỡ một số gói UDP, các nhân vật của người chơi có thể dịch chuyển qua bản đồ khi bạn nhận được các gói UDP mới hơn. Không có ích gì khi yêu cầu các gói tin cũ nếu bạn bỏ lỡ chúng, vì trò chơi vẫn tiếp tục mà không có bạn. Tất cả những gì quan trọng là những gì đang xảy ra ngay bây giờ trên máy chủ trò chơi — không phải những gì đã xảy ra vài giây trước. Bỏ qua sửa lỗi TCP giúp tăng tốc kết nối trò chơi và giảm độ trễ.

Vậy thì sao?

LIÊN QUAN:Cách sử dụng Wireshark để chụp, lọc và kiểm tra gói tin

Việc một ứng dụng sử dụng TCP hay UDP là tùy thuộc vào nhà phát triển của nó và sự lựa chọn phụ thuộc vào những gì một ứng dụng cần. Hầu hết các ứng dụng cần sửa lỗi và tính mạnh mẽ của TCP, nhưng một số ứng dụng cần tốc độ và giảm chi phí của UDP. Nếu bạn kích hoạt một công cụ phân tích mạng như Wireshark, bạn có thể thấy các loại gói tin di chuyển qua lại khác nhau.

Trừ khi bạn là quản trị viên mạng hoặc nhà phát triển phần mềm, điều này sẽ không ảnh hưởng quá nhiều đến bạn. Nếu bạn đang định cấu hình bộ định tuyến hoặc phần mềm tường lửa của mình và bạn không chắc liệu một ứng dụng có sử dụng TCP hay UDP hay không, bạn thường có thể chọn tùy chọn “Cả hai” để bộ định tuyến hoặc tường lửa của bạn áp dụng cùng một quy tắc cho cả lưu lượng TCP và UDP.