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

Giao thức

CyberGuards / SECURITY365 : Lịch Khai Giảng Các Lớp Bảo Mật Thông Tin & Hacker Thiện Chí Trực Tuyến

Đây là kiến thức cơ bản nhưng cần thiết.

Mục lục

  • Giao thức Internet là gì?
    • IP, TCP và UDP đều là tất cả các giao thức trong các lớp của mô hình OSI
    • Cách IP hoạt động để truyền dữ liệu
    • Giao thức Internet là Dịch vụ cung cấp Internet
  • TCP vs UDP: Mọi thứ bạn cần biết về các giao thức này
    • TCP là gì?
    • Cách TCP hoạt động trong việc trao đổi dữ liệu
  • UDP là gì?
    • Cách UDP hoạt động trong việc trao đổi dữ liệu
  • Tóm tắt về sự khác biệt giữa TCP và UDP
    • TCP và UDP: Sự khác biệt về Điều khoản cung cấp dữ liệu
    • Ứng dụng TCP và UDP: Khi nào thì một phương pháp tốt hơn phương pháp khác?
  • TD; DR – Sự khác biệt chính giữa TCP và UDP

Giao thức Internet là gì?

Giao thức internet (IP), là một dạng giao thức mạng, là một tập hợp các quy tắc chi phối cách dữ liệu được gửi hoặc truyền đến một người nhận cụ thể qua mạng cục bộ, mạng con hoặc Internet. Khi bạn gửi dữ liệu từ trình duyệt web của mình đến một trang web, chẳng hạn như khi bạn đặt hàng loạt đồ ăn vặt cho chó từ trang web cung cấp đồ dùng cho thú cưng yêu thích của mình, bạn đang sử dụng giao thức internet.

Truyền dữ liệu giao thức Internet, theo cách vòng vo, cho phép bạn làm mọi thứ trực tuyến, từ viết tweet và nghiên cứu công thức nấu ăn cho đến gửi email có ảnh hoặc video về chú mèo yêu thích của bạn. Về bản chất, nó là cơ sở của internet.

IP, TCP và UDP đều là tất cả các giao thức trong các lớp của mô hình OSI

IP là một giao thức mạng, như đã nói ở trên. Lớp Mạng (Network) là một trong bảy lớp trong mô hình kết nối hệ thống mở (OSI) do ISO thiết lập. Mô hình này đóng vai trò như một cấu trúc dọc và tập hợp các tiêu chuẩn về cách dữ liệu được trao đổi giữa các hệ thống máy tính. Mô hình OSI được chia thành bảy lớp như sau :

  1. Lớp vật lý
  2. Lớp liên kết dữ liệu
  3. Lớp mạng
  4. Lớp vận chuyển
  5. Lớp phiên
  6. Lớp trình bày
  7. Lớp ứng dụng

Mặt khác, TCP và UDP là hai giao thức thuộc lớp truyền tải hay vận chuyển (Layer 4) của mô hình OSI. Hiện nay có một số giao thức nằm trong bảy lớp và thực hiện nhiều mục đích khác nhau, nhiều giao thức dựa vào nhau để hoạt động. Trong bài này chúng ta sẽ không đi sâu vào tất cả các giao thức vì mục đích của bài viết này là giúp bạn hiểu sự khác biệt giữa TCP và UDP

Trước tiên, bạn phải hiểu giao thức internet hoạt động như thế nào trước khi chúng ta có thể đi sâu vào giải quyết sự khác biệt giữa TCP và UDP. Vì TCP và UDP đều phụ thuộc vào IP, chắc chắn như vậy. Điều này sẽ làm cơ sở cho hai nguyên tắc còn lại được giải thích trong phần tiếp theo.

Cách IP hoạt động để truyền dữ liệu

Định tuyến là cơ chế mà dữ liệu di chuyển qua lại trên internet, bất kể bạn đang gửi gì thì bộ định tuyến hoặc cổng sẽ được kiểm soát lưu lượng dữ liệu trong giai đoạn này. Theo một bài báo trên TechRepublic của kỹ sư mạng và nhà văn công nghệ Brien Posey thì các bộ định tuyến thường dành cho các mạng có liên quan như trong một tổ chức, trong khi các cổng giúp kết nối các mạng khác nhau.

Để đảm bảo rằng dữ liệu đến được người nhận, mỗi máy tính được gán địa chỉ IP riêng tương tự như cách nhà hoặc căn hộ của bạn có một địa chỉ duy nhất. Nếu bạn đang sử dụng địa chỉ IPv4 thông thường, địa chỉ IP của bạn trên internet có thể trông giống như 250.250.250.250 thay vì 118 Hùng Vương. Số 32 bit này được tạo thành từ một tập hợp các mạng con (phân đoạn số được phân tách bằng dấu chấm), mỗi mạng có thể chứa tối đa ba chữ số (tổng cộng 12 chữ số hoặc 15 ký tự, bao gồm cả dấu chấm)

Tất nhiên, đây không phải là trường hợp của địa chỉ IPv6, là các số 128-bit trông giống như : 2001: 0db8: 85a3: 0000: 0000: 8a2e: 0370: 7334.

Trước khi truyền dữ liệu của bạn, giao thức IP sẽ chia chúng thành các PDU nhỏ hơn, được gọi là gói hay packet (đối với TCP) hoặc datagram (đối với UDP). Trong môi trường mạng, gói là thuật ngữ được sử dụng rộng rãi nhất cho các đơn vị dữ liệu. Điều này áp dụng đối với tất cả các quá trình truyền dữ liệu IP, bao gồm TCP và UDP. Một nhãn (tiêu đề) được gắn trên mỗi gói dữ liệu nhỏ riêng lẻ này, cho người phân phối biết gói dữ liệu cần đi đâu và chúng đến từ đâu

Dữ liệu được gửi qua internet thông qua bộ định tuyến hoặc cổng theo dõi các địa chỉ IP khác nhau . Dữ liệu được chuyển từ cổng này sang cổng tiếp theo cho đến khi một trong số chúng nhận ra điểm đến của gói hoặc gói dữ liệu.

Nếu bạn đang tự hỏi hệ thống tên miền (DNS) nằm ở đâu trong toàn bộ quá trình này (vì đó là thứ liên kết các miền hay domain với địa chỉ IP của chúng), hãy biết rằng chúng cũng được kết nối nhưng theo cách khác. Ví dụ, hệ thống tên miền sẽ thực hiện các yêu cầu DNS bằng UDP. Tuy nhiên, chúng ta sẽ không đi sâu vào tất cả những điều đó ở đây vì đây là một hoạt động hoàn toàn khác và mục đích của bài viết này là tập trung vào sự khác biệt giữa TCP và UDP. Do đó, chúng ta sẽ xem xét hệ thống DNS chi tiết hơn trong một bài đăng sau.

Giao thức Internet là Dịch vụ cung cấp Internet

Bây giờ, hãy coi giao thức internet là FedEx, DHS hoặc USPS hay Giao Hàng Nhanh và Giao Hàng Tiết Kiệm của internet, và bạn có thể chọn gửi các gói hàng thông qua hình thức chuyển phát thường hoặc nhờ ai đó ký hộ khi họ đến nơi để đảm bảo rằng họ đã đến đúng người với các loại dịch vụ gửi thư này. Và giao thức internet (IP) , được sử dụng để truyền dữ liệu kỹ thuật số hoạt động theo cách tương tự.

Tiếp tục với ví dụ về dịch vụ giao hàng, hãy tưởng tượng rằng mẹ bạn muốn mang đến cho bạn một BÚP BÊ các loại bánh nướng tại nhà, bao gồm bánh quy, bánh mì, trái cây khử nước, v.v. . Để làm như vậy, cô ấy sẽ cần địa chỉ của bạn để đảm bảo rằng gói hàng quá khổ đến trước cửa nhà bạn một cách an toàn. Nếu không, những món ngon đó có thể rơi vào tay Greg và Jill, những người hàng xóm”đáng ghét” của bạn (và không ai muốn điều đó).

Vì vậy, trong tình huống này, mẹ bạn sẽ đóng hộp món quà, đánh dấu địa chỉ của bạn (tiêu đề) và gọi cho dịch vụ giao hàng ưa thích của bà ấy để đến nhận. . Tuy nhiên, vì gói hàng quá lớn để xử lý, cô ấy buộc phải chia chúng thành một loạt các hộp có nhãn nhỏ hơn (gói hoặc biểu đồ dữ liệu).

Khi các gói hàng rời khỏi nhà của cô ấy, chúng sẽ đến trạm trung chuyển (cửa ngõ), nơi chúng sẽ được chuyển đến điểm giao hàng gần nhất tiếp theo. Các gói sau đó sẽ di chuyển từ ga này sang ga khác (cổng vào cổng) trước khi đến được người biết địa chỉ chính xác của bạn.

Hãy xem xét rằng món ăn ngon trên thực sự là dữ liệu được truyền qua internet. Bây giờ, tùy thuộc vào việc các gói được phân phối qua TCP hay UDP, điều gì xảy ra với chúng tại thời điểm này có thể khác nhau. Ta hãy xem lại TCP và UDP là gì và mỗi giao thức truyền dữ liệu đòi hỏi gì.

TCP vs UDP: Mọi thứ bạn cần biết về các giao thức này

TCP là gì?

Giao thức điều khiển truyền (TCP) là một loại giao thức truyền dữ liệu hướng kết nối. Nó được tạo ra để hỗ trợ thiết lập các kết nối an toàn trên hầu hết mọi mạng, ngay cả những mạng không ổn định. TCP là một phần của lớp truyền tải của mô hình kết nối hệ thống mở (OSI) của ISO, dựa trên IP. Đó là một giao thức truyền thông tầng vận chuyển, vì vậy nó được gọi như vậy.

Tuy nhiên, làm thế nào bạn có thể biết liệu bạn đang sử dụng TCP? Bạn có biết tần suất khi bạn cố gắng tải video chất lượng cao trên trang web video yêu thích của mình, biểu tượng bộ đệm xuất hiện không? Đó thường là dấu hiệu cho thấy dữ liệu bạn nhận được đang được gửi qua TCP.

Mục tiêu chính của TCP là trở thành một giao thức truyền dữ liệu không có lỗi. Giao thức điều khiển truyền hỗ trợ trong các nhiệm vụ sau:

Đảm bảo rằng người nhận nhận được tất cả dữ liệu được gửi (thông qua biên lai gửi) và giữ cho việc truyền dữ liệu được tổ chức bằng cách đảm bảo rằng các gói đến theo thứ tự mà chúng đã dự kiến.

TCP hoàn thành điều này bằng cách duy trì một liên kết an toàn cho phép chúng kiểm tra xem các gói đã được nhận thành công hay chưa. Về cơ bản, nếu dữ liệu đến như dự đoán, theo đúng thứ tự, người nhận sẽ xác nhận điều đó. Nếu không đúng như vậy, TCP sẽ yêu cầu người gửi gửi lại dữ liệu.

Lực lượng Đặc nhiệm Kỹ thuật Internet (IETF) lần đầu tiên mô tả giao thức TCP trong RFC 761 vào năm 1980. Năm 1981, nó được thay thế bởi RFC 793. Đây là một hình thức truyền dữ liệu phổ biến trong một thời gian dài và bạn có thể sử dụng nó thường xuyên. cơ sở khi bạn giới thiệu về công việc kinh doanh của mình trên internet.

Tuy nhiên, TCP không phải là hoàn hảo và có thể không phải là giao thức tốt nhất để sử dụng trong mọi tình huống. UDP (hoặc các giao thức truyền thông khác) được sử dụng trong trường hợp này. 

Cách TCP hoạt động trong việc trao đổi dữ liệu

Trước khi truyền gói dữ liệu từ máy chủ đến thiết bị, giao thức điều khiển đường truyền cần có sự bắt tay ba chiều để tạo liên kết. Bắt tay ba bước, bắt đầu bằng việc trao đổi các thông điệp SYN, SYN-ACK và ACK (còn được gọi là cờ) giữa các cá nhân này, hỗ trợ việc thiết lập một liên kết an toàn.

Ba thông báo sau:

  • SYN – đồng bộ hóa
  • SYN-ACK – đồng bộ hóa-xác nhận
  • ACK – xác nhận

Có nhiều loại cờ khác có thể được giao dịch sau đó, nhưng chúng ta sẽ không xem xét tất cả chúng ngay bây giờ. Hãy quay lại vấn đề của hoạt động. Mỗi phân đoạn dữ liệu được gửi từ máy khách đến máy chủ được kèm theo cờ ACK để xác nhận việc nhận gói dữ liệu sau khi liên kết được tạo.

Tất cả những điều này về nguyên tắc nghe thật tuyệt vời. Nhưng bạn cần thấy một ví dụ thực tế là TCP đang hoạt động ở đâu? Lấy ví dụ Netflix, một dịch vụ phát trực tuyến video trên internet, đã sử dụng TCP kể từ tháng 6 năm 2016.

UDP là gì?

UDP là viết tắt của giao thức datagram của người dùng, như đã đề cập trước đây. UDP tương tự như TCP ở chỗ là một giao thức truyền thông lớp truyền tải, nhưng lại khác ở chỗ UDP là một giao thức truyền thông không kết nối, có nghĩa là UDP không cần bạn tạo kết nối cho đến khi gửi các gói dữ liệu của bạn (hoặc cụ thể hơn là các biểu đồ dữ liệu).

Cho đến khi truyền dữ liệu đến người nhận dự định, UDP không yêu cầu bắt tay ba bước. Kết quả là, tất cả hoặc một số dữ liệu sẽ đến – và có thể (hoặc có thể không) đến theo thứ tự dự kiến. 

Một người dùng trên diễn đàn stackexchange.com có ​​tên Mike Robinson đã đưa ra một phép tương tự tuyệt vời để giải thích giao thức datagram của người dùng:

UDP đặt một thông điệp vào một vài cái chai và ném chúng xuống biển. Chúng có thể không bao giờ đến. Hoặc có thể đến trước hoặc sau một số chai khác. Bạn sẽ không bao giờ biết nếu nó đến. Bạn thậm chí không biết liệu người nhận dự định có còn sống hay không, ít hơn nhiều là kéo chai ra khỏi nước. Cách duy nhất bạn sẽ biết liệu thông điệp của mình có được nghe thấy hay không là nếu một chai khác trôi dạt vào bờ biển của bạn và bạn cố gắng lấy nó trước khi nó chìm. “

UDP, giống như TCP, đã có từ khá lâu. Năm 1980, IETF RFC 768 lần đầu tiên chỉ định giao thức datagram của người dùng. Mặc dù TCP từ lâu đã là giao thức được ưa chuộng, nhưng UDP đang ngày càng trở nên phổ biến khi tốc độ và hiệu quả mạng trở nên quan trọng hơn.

Cách UDP hoạt động trong việc trao đổi dữ liệu

Ưu điểm của UDP so với TCP là có độ trễ thấp hơn, nhưng cũng có nghĩa là một số dữ liệu và tính bảo mật của dữ liệu có thể bị mất. Và, không giống như TCP, nếu bất kỳ dữ liệu nào bị thiếu, người gửi sẽ không gửi lại vì họ không có cách nào để kiểm tra xem bạn có nhận hay không nhận được gì hay không.

Tất cả những điều này để kết luận rằng UDP không phải là một phương pháp truyền dữ liệu không có lỗi. Mặc dù nó là một quá trình truyền dữ liệu nhanh hơn TCP, nó đi kèm với cảnh báo rằng bạn sẽ không nhận được dữ liệu chính xác như khi nó được gửi và có thể bị thiếu dữ liệu (mà bạn sẽ không bao giờ nhận thấy).

UDP thích hợp cho các tình huống “trực tiếp” nơi việc truyền dữ liệu phải diễn ra không chậm trễ trong thời gian thực. Chơi trò chơi điện tử trực tuyến và cuộc gọi âm thanh hoặc video là hai ví dụ về các trường hợp sử dụng UDP tiềm năng.

Tóm tắt về sự khác biệt giữa TCP và UDP

TCP và UDP về cơ bản là các giao thức giúp quyết định cách dữ liệu được chia sẻ giữa hai thực thể. Sự khác biệt quan trọng nhất giữa phương thức phân phối TCP và UDP là:

  • Liệu chúng có liên quan với nhau hay không. Mối quan hệ là trọng tâm của TCP. Đó là một giao thức thiết lập các kết nối an toàn trước khi gửi dữ liệu, thậm chí qua các mạng không an toàn. UDP là một giao thức không kết nối, có nghĩa là UDP có thể gửi dữ liệu bất kể người nhận có sẵn sàng nhận hay không.
  • Tính hoàn chỉnh và độ tin cậy của dữ liệu TCP ưu tiên tính toàn vẹn của dữ liệu và đảm bảo phân phối nhanh hơn với chi phí mất mát dữ liệu, trong khi UDP ưu tiên tốc độ hơn tính toàn vẹn của dữ liệu.
  • Tốc độ truyền dữ liệu TCP là một thách thức trong khi UDP là nhà vô địch về mặt tốc độ. Cách thứ nhất tuân theo một loạt các thủ tục để đảm bảo rằng công việc được thực hiện một cách chính xác, trong khi cách thứ hai chỉ quan tâm đến việc hoàn thành công việc một cách nhanh chóng.
  • Mỗi giao thức có các ứng dụng riêng của chúng. TCP tốt hơn để cung cấp các luồng dữ liệu chất lượng cao chẳng hạn như dịch vụ phát trực tuyến video , trong khi UDP tốt nhất cho các ứng dụng truyền dữ liệu thời gian thực như trò chuyện âm thanh và video, chơi trò chơi trực tuyến, yêu cầu phân giải DNS, v.v.

TCP và UDP: Sự khác biệt về Điều khoản cung cấp dữ liệu

Hãy xem xét các phương pháp phân phối của TCP và UDP trong bối cảnh các món ăn ngon do mẹ bạn làm tại nhà. Khi công ty phân phối vận chuyển bánh nướng, các gói hàng sẽ được chuyển đến địa điểm của họ thông qua nhiều tuyến đường giao hàng khác nhau. Chúng có thể đến hoặc không theo thứ tự hoặc trạng thái dự kiến, và chúng có thể bị bỏ lại mà không cần xác nhận rằng bạn sẵn sàng nhận chúng.

Các gói dữ liệu nhỏ hơn (các món đã nướng) đến qua TCP, và giống như thể bạn có một trợ lý giao hàng cá nhân, người sẽ tập hợp lại chúng theo đúng thứ tự mà mẹ bạn gửi cho bạn. Do đó, không có gì từ gói ban đầu đã bị thay đổi hoặc xóa và bạn phải ký nhận gói khi hàng đến. Mẹ của bạn sẽ có thể đảm bảo rằng bạn nhận được quà của mình theo cách này. Cô ấy sẽ biết nếu một người bị mất tích và sẽ cố gắng gửi lại.

Mặt khác, các datagram (các món nướng) trong UDP, có thể được thay đổi hoặc sắp xếp lại theo thứ tự. Khi đến điểm đến chúng chỉ đơn giản là được bỏ lại trước cửa nhà bạn mà không có ai để ký nhận và không có dịch vụ để lắp ráp lại bất cứ thứ gì cho bạn. Điều này có nghĩa là nếu bạn chỉ lấy được bất kỳ chiếc bánh nướng nào thì quá tệ vì mẹ bạn không nhận thức được tình hình và sẽ không gửi lại những cái còn thiếu. Hơn nữa, vì bạn đã nhận được một số lượng lớn bưu kiện, bạn có thể không nhận thấy rằng một hoặc hai bưu kiện bị thiếu. Điều này giống như cách Amazons tiếp cận thị trường Ấn Độ về giao nhận trong mùa Covid.

Ứng dụng TCP và UDP: Khi nào thì một phương pháp tốt hơn phương pháp khác?

TCP là giao thức để sử dụng nếu bạn muốn một luồng truyền dữ liệu an toàn. TCP đảm bảo rằng bạn sẽ nhận được bất kỳ thứ gì chính xác như khi nó được gửi đi và bạn không phiền nếu có thời gian tạm dừng hoặc nếu bạn phải thử lại nếu có kết nối bị từ chối. Tuy nhiên, nếu bạn quan tâm nhiều hơn đến tốc độ và muốn truy xuất dữ liệu càng sớm càng tốt, bất kể dữ liệu được nhận chính xác như khi được gửi đi hay không – hay gói dữ liệu bị thiếu – thì UDP là thích hợp.

Việc lựa chọn giữa hai giao thức về cơ bản là vấn đề bạn muốn đạt được gì. Sử dụng các cuộc trò chuyện video và âm thanh thời gian thực trực tuyến hoặc chơi trò chơi nhiều người chơi hoặc trò chơi chiến trường trong các trò chơi trực tuyến trực tiếp là hai ví dụ về thời điểm UDP sẽ được ưu tiên hơn TCP.

TD; DR – Sự khác biệt chính giữa TCP và UDP

Cả hai giao thức này đều có những lợi ích và ứng dụng riêng trong thế giới kỹ thuật số ngày nay. Sau đây là bảng tóm tắt sự khác biệt giữa TCP và UDP.

TCP UDP
TCP là một giao thức truyền thông hướng kết nối.UDP là một giao thức truyền thông không kết nối.
Các đơn vị dữ liệu TCP được gọi là gói tin hay packet.Đơn vị dữ liệu UDP thường được gọi là biểu đồ dữ liệu hay datagram (mặc dù đôi khi chúng cũng được gọi là gói).
TCP sắp xếp lại các gói dữ liệu nhận được theo thứ tự dự kiến ​​của chúng.UDP gửi các biểu đồ dữ liệu một cách độc lập, có nghĩa là chúng có thể đến theo một thứ tự khác.
Sử dụng kiểu bắt tay ba chiều để thiết lập các kết nối đáng tin cậy.UDP không sử dụng quy trình bắt tay.
TCP xác nhận biên nhận cung cấp dữ liệu.UDP không sử dụng biên lai giao hàng hay cung cấp dữ liệu.
TCP có độ trễ cao hơn.UDP được thiết kế để truyền dữ liệu nhanh hơn.
TCP đảm bảo cung cấp dữ liệu bằng cách ưu tiên tính toàn vẹn, đầy đủ và độ tin cậy của dữ liệu.UDP ưu tiên tốc độ và thường dẫn đến mất dữ liệu.
TCP lý tưởng cho việc truyền dữ liệu đáng tin cậy.UDP lý tưởng cho việc truyền và phát trực tuyến dữ liệu theo thời gian thực để tránh độ trễ.

Trả lời

Please log in using one of these methods to post your comment:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất /  Thay đổi )

Google photo

Bạn đang bình luận bằng tài khoản Google Đăng xuất /  Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất /  Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất /  Thay đổi )

Connecting to %s