Câu trả lời:
TCP được hỗ trợ bởi acks và thử lại để đảm bảo dữ liệu của bạn sẽ đến nơi. UDP là không kết nối và "lửa và quên". UDP chủ yếu được sử dụng cho các ứng dụng loại phát trực tuyến, trong đó nếu bạn mất một số dữ liệu, bạn không cần phải cố gửi lại.
Cái nào bạn sử dụng phụ thuộc vào ứng dụng. Ví dụ: một máy chủ web sử dụng TCP.
Bạn có thể tìm thấy một bản tóm tắt tốt ở đây:
Sự khác biệt giữa các giao thức internet UDP và TCP là gì?
Cả TCP và UDP đều hoạt động ở mô hình TCP / IP lớp vận chuyển, nhưng có cách sử dụng rất khác nhau.
Sự khác biệt quan trọng nhất là:
Cấu trúc khung
Khi dữ liệu được gửi qua mạng, nó cần được gói gọn trong cái gọi là "khung". Có nhiều phương pháp đóng gói khác nhau tùy thuộc vào giao thức và cấu trúc liên kết đang được sử dụng. Các hình ảnh sau đây cho thấy cấu trúc khung TCP và UDP khác nhau như thế nào.
Đây là cấu trúc khung TCP:
Đây là cấu trúc khung UDP, đơn giản hơn nhiều:
Các giao thức điển hình sử dụng TCP là HTTP, FTP và SMTP. Ví dụ về các giao thức sử dụng UDP là DNS và DHCP.
Và giải thích cấp CEO:
UDP là khi bạn ném giấy của bạn theo hướng chung của thùng.
TCP là khi nó bỏ lỡ, bạn ném các bản sao chính xác của cùng một tờ giấy nhiều lần cho đến khi nó rơi vào thùng. Sẽ có sự lãng phí giấy, thậm chí là bực bội các gói TCP dẫn đến lãng phí tài nguyên mạng hoặc hệ thống.
TCP và UDP đều là các giao thức chạy trên IP. TCP đã đảm bảo phân phối và UDP thì không. Bạn sẽ chọn một hoặc cái khác để chuyển tiếp cổng tùy thuộc vào dịch vụ bạn đang cố gắng chuyển tiếp. HTTP, ví dụ là TCP. Nếu bạn không biết giao thức mà dịch vụ bạn đang cố gắng chuyển tiếp là gì, thì đó gần như chắc chắn là TCP.
Để trả lời phần khác của câu hỏi của bạn, bạn phải chuyển tiếp những gì ứng dụng của bạn sử dụng. Để chuyển tiếp lưu lượng HTTP, chọn TCP. Để chuyển tiếp lưu lượng TFTP, chọn UDP. Các chương trình p2p chủ yếu sử dụng cả tcp và udp, vì vậy hãy chuyển tiếp cả hai.
Tất cả phụ thuộc vào giao thức và chương trình bạn đang sử dụng.
Cũng như sự khác biệt được đề cập cho đến nay TCP cũng cung cấp
Kiểm soát lưu lượng. Sử dụng cơ chế cửa sổ, người nhận giới hạn số lượng octet (byte) mà nó muốn nhận từ người gửi trước khi người gửi phải chờ cấp phép để gửi thêm dữ liệu. Kích thước của cửa sổ có thể được thay đổi bởi người nhận khi cuộc trò chuyện tiếp tục. Điều này cho phép người nhận 'điều tiết' tốc độ dữ liệu đến từ người gửi: UDP không cho phép điều này và tất cả những gì người nhận có thể làm là vứt bỏ dữ liệu mà nó không thể đệm hoặc xử lý khi đến nơi.
một số phương tiện kỹ thuật khác như xác nhận không liền kề (sử dụng các xác nhận có chọn lọc để cho phép người gửi chỉ truyền lại một khung bị thiếu thay vì khung bị thiếu và các khung tiếp theo mà người nhận đã có nhưng không thể thừa nhận theo cách thông thường), xử lý tắc nghẽn và truyền lại thích ứng (điều chỉnh bộ định thời quyết định thời gian gửi lại khung truyền đi khi không nhận được xác nhận). Những điều này không liên quan đến UDP nhưng giúp TCP cung cấp các dịch vụ bổ sung qua UDP mà không làm tăng đáng kể tải mạng cho cùng một khối lượng tải.
TCP nỗ lực để đảm bảo dữ liệu được gửi đến người nhận; UDP thì không.
Đừng bận tâm tất cả các câu trả lời giải thích cái này so với cái kia. Đối với mục đích thiết lập chuyển tiếp cổng, các quy tắc khá đơn giản: bạn cần chọn TCP, trừ khi các tài liệu cho giao thức / ứng dụng bạn đang sử dụng nói để sử dụng UDP. Thông thường những cái sử dụng UDP có liên quan đến phát trực tuyến, hoặc những thứ rất đơn giản ủng hộ các giao thức / tốc độ nhẹ hơn độ tin cậy (đặc biệt là DNS và NTP). Lưu ý rằng có các giao thức khác ngoài TCP và UDP nữa - ICMP, giao thức đường hầm, v.v.
Giao thức càng được biết đến nhiều thì càng có nhiều bộ định tuyến trên đường dẫn can thiệp vào giao thức. Gửi các gói tcp và có một khả năng lớn là các gói đã nhận được rất nhiều. UDP thường không được xử lý sai, và các giao thức paylod 254 IP khác thường hoàn toàn không bị ảnh hưởng.
Giao thức gói dữ liệu người dùng (UDP)
Nó là một phần của các giao thức cơ bản của Bộ giao thức Internet. Các chương trình trên máy tính nối mạng có thể gửi tin nhắn ngắn đôi khi được gọi là datagram. UDP không đảm bảo bất kỳ độ tin cậy nào (nó xảy ra datagram có thể bị lỗi, bị trùng lặp hoặc bị thiếu mà không có bất kỳ thông báo nào). Thực tế là không kiểm tra xem tất cả các gói có thực sự được phân phối hay không, UDP chứng tỏ là nhanh hơn và hiệu quả hơn, đối với các ứng dụng không cần phân phối được đảm bảo. UDP tìm thấy công dụng của nó trong các tình huống như vậy:
Ứng dụng nhạy cảm với thời gian. Các vấn đề do gói bị chậm được tránh
Nó cũng hữu ích cho các máy chủ trả lời các truy vấn nhỏ từ số lượng lớn khách hàng. UDP hỗ trợ truyền phát gói (truyền tải tới tất cả trên mạng cục bộ) và đa tuyến (truyền tải tới tất cả các thuê bao).
Giao thức điều khiển truyền (TCP)
Nó thường được gọi là TCP / IP do tầm quan trọng của giao thức này trong Bộ giao thức Internet. TCP hoạt động ở mức cao hơn, chỉ liên quan đến hai hệ thống đầu cuối, (ví dụ giữa trình duyệt web và máy chủ web). TCP cung cấp việc phân phối tuần tự một luồng dữ liệu từ một chương trình trên một máy tính sang một chương trình khác trên một máy tính khác. Các cách sử dụng phổ biến của TCP nhóm lại hỗ trợ gửi thư điện tử và truyền tệp và các ứng dụng Web. Trong số các tác vụ quản lý của mình, TCP kiểm soát kích thước tin nhắn, tốc độ trao đổi tin nhắn và tắc nghẽn lưu lượng mạng. Đối với IP, nó xử lý việc truyền cấp thấp hơn từ máy tính sang máy tính dưới dạng tin nhắn được truyền qua Internet.
Cả hai đều là các giao thức mạng được xây dựng dựa trên thứ gọi là Giao thức Internet hoặc IP. Giao thức Internet là giao thức chính của Internet và là ví dụ cho phép chúng tôi duyệt web. Đó là lý do tại sao bạn sẽ thường thấy các giao thức này được viết dưới dạng TCP / IP hoặc UDP / IP. Chúng thực sự là các giao thức cốt lõi của internet.
Trong cả hai trường hợp, dữ liệu của bạn được chia thành các phần được gọi là các gói. TCP đảm bảo rằng các gói này đến đích và theo đúng thứ tự và không có bất kỳ lỗi nào.
Mặt khác, UDP sẽ không đảm bảo rằng gói dữ liệu sẽ đến. Nó sẽ chỉ đảm bảo rằng nếu nó đến nó sẽ không có lỗi.
Thông thường, các giao thức khác sẽ chạy trên TCP và UDP và được gọi là giao thức ứng dụng vì chúng hoạt động trong một ứng dụng chứ không phải trong hệ điều hành. Trình duyệt web của bạn sử dụng giao thức HTTP sẽ sử dụng giao thức TCP.
Tra cứu tên miền hoặc truy vấn DNS thường sử dụng UDP nhưng cũng có thể sử dụng TCP. Một số dịch vụ phát trực tuyến sử dụng UDP bên dưới các giao thức ứng dụng khác.
Tôi hy vọng rằng câu trả lời câu hỏi của bạn bằng tiếng Anh đơn giản hơn.