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

Spread the love

TCP và UDP là các giao thức kết nối được sử dụng để thiết lập cách dữ liệu được trao đổi qua kết nối Internet. Nếu bạn đã biết IP là viết tắt của gì (tức là Giao thức Internet), thì bạn đã biết, vì cả TCP và UDP đều đã được phát triển trên đó.

Tuy nhiên, bạn đã sai khi nghĩ rằng chúng hầu như giống nhau; mặc dù cả TCP và UDP đều “có tiếng nói” trong cách dữ liệu của bạn được gửi / nhận trên Internet, chúng thực sự rất khác nhau và vì lý do này, chúng được sử dụng cho các mục đích khác nhau.

Nói một cách ngắn gọn, hãy nói rằng bạn vô tình sử dụng hai giao thức này hàng ngày khi truy cập Internet, điều này khiến chúng trở nên quan trọng trong cách thiết bị của bạn giao tiếp với Web đang mở (và các thiết bị được kết nối với nó) và ngược lại.

Vì cả TCP và UDP đều được xây dựng dựa trên Giao thức Internet, bạn có thể muốn hiểu thêm về IP trước khi chuyển thẳng vào các bài học giới thiệu về TCP / UDP. Bạn biết đấy, bạn cần học cách đi bộ trước khi bạn có thể chạy.

Địa chỉ IP là gì?

IP, viết tắt của Internet Protocol, là xương sống mà mạng Internet như chúng ta biết đã được xây dựng. Có thể dễ dàng nhận ra tầm quan trọng của nó bởi thực tế là mọi thiết bị đều được gán một địa chỉ IP duy nhất để nó có thể truy cập Internet.

Địa chỉ được sử dụng để chỉ bao gồm số và số thập phân. Cụ thể hơn, một địa chỉ IPv4 có thể được hình thành từ bốn số riêng lẻ, mỗi số có thể có giá trị từ 0 đến 254. IPv4 đã cung cấp cho chúng ta tổng số 4,3 tỷ địa chỉ IP duy nhất.

Không thể tránh khỏi, Internet bắt đầu đi đến mức không thể tạo ra các địa chỉ IP duy nhất mới, đó là khi hệ thống IPv6 ra đời để cứu vãn thời đại. Địa chỉ IPv6 công khai sử dụng các chữ số thập lục phân và mỗi chữ số chứa 128 bit, có nghĩa là thay vì cơ số 10 (0 đến 10), chúng sử dụng cơ số 16 (0 đến 10 cộng với “a” đến “f”).

Với sự trợ giúp của hệ thống IPv6, tổng dải địa chỉ IPv6 công cộng mà chúng ta có thể có là 340 undecillion (3,4 * 10 ^ 28). Nếu điều đó là không thể, hãy xem địa chỉ IPv4 và IPv6 trông như thế nào bên dưới:

Ví dụ về địa chỉ IPv4: 10.238.126.215
Ví dụ về địa chỉ IPv6: fe80: 0db8: 0412: 2001: 3c5e: 0000: 10a9

Mặc dù mục tiêu cuối cùng là IPv6 thay thế IPv4, nhưng ngày nay hai giao thức này hoạt động kết hợp với nhau.

Địa chỉ IP cho phép các thiết bị hỗ trợ Internet xác định vị trí, giao tiếp với nhau và trao đổi thông tin. Không thể chia sẻ dữ liệu, phát trực tuyến video hoặc gửi email nếu không có địa chỉ IP. Mọi thứ bạn làm trực tuyến đều có thể được chuyển đổi thành dữ liệu.

  Cách chia sẻ lịch Outlook của bạn

Để đảm bảo chức năng tối ưu, IP chia dữ liệu này thành các phần nhỏ hơn để có thể quản lý tốt hơn. Chúng tôi gọi các khối dữ liệu này là các gói. Tuy nhiên, các gói này không chỉ giữ thông tin mà chúng phải mang theo mà còn cả địa chỉ IP đích của thiết bị mà chúng cần tiếp cận. Đích này được gọi là tiêu đề.

Sau khi một gói rời khỏi thiết bị của bạn, nó sẽ hướng tới một cổng, cổng này sẽ quét tìm địa chỉ IP đích của gói trên miền của nó. Điều đáng nói là cổng chỉ có thể xem một tập hợp địa chỉ IP nhất định trên Internet.

Vì vậy, nếu cổng không thể tìm thấy địa chỉ trong miền của nó, nó chỉ gửi gói đến một cổng khác và hoạt động này tiếp tục diễn ra cho đến khi gói đến cổng có thể phát hiện địa chỉ IP đích được chỉ định trong tiêu đề và gửi nó tới thiết bị được liên kết với địa chỉ đó.

Một điều đáng chú ý khác là việc dữ liệu của bạn được chia thành các gói nhỏ có nghĩa là nó không nhất thiết phải đến theo thứ tự, hoặc thậm chí sử dụng cùng một tuyến đường cho vấn đề đó. Trên thực tế, các gói tin thường cố gắng tìm ra con đường nhanh nhất mà chúng có thể.

Cuối cùng, nhưng không kém phần quan trọng, bạn nên biết rằng Giao thức Internet không có định dạng cụ thể, khiến nó trở nên lý tưởng cho mọi dạng dữ liệu, cho dù chúng ta đang nói video, hình ảnh, âm thanh, email, tin nhắn tức thì hay thậm chí là chơi game.

TCP là gì?

TCP, viết tắt của Transmission Control Protocol, là một trong những giao thức chính được sử dụng bởi bộ giao thức Internet. Nó ra đời trước UDP và được sử dụng để cho phép các chương trình và thiết bị giống nhau trao đổi thông tin qua mạng.

Bạn có thể nhận thấy rằng đôi khi nó được ghép nối với IP và được gọi là TCP / IP, nhưng nó có nghĩa giống nhau (tức là TCP và TCP / IP hoàn toàn giống nhau).

Như đã giải thích ở trên, dữ liệu được chia thành các gói nhỏ và được gửi đến các thiết bị khác ở dạng phân mảnh này, thậm chí có thể trên các tuyến đường khác nhau. TCP được phát minh vì nhu cầu tập hợp các gói tin này trở lại dạng ban đầu.

TCP đợi tất cả các gói đến, đếm chúng, kiểm tra lỗi bằng tổng kiểm tra, xác nhận các gói đã đến đích và yêu cầu máy tính khởi tạo gửi lại những gói không đến được lần đầu tiên. Sau khi nhận được tất cả các gói, TCP sẽ tập hợp lại chúng thành dữ liệu ban đầu và chuyển nó đến một ứng dụng thích hợp (ví dụ: ứng dụng email, trình xem ảnh, trình phát video).

Quá trình này ngày nay diễn ra rất nhanh và nó đảm bảo rằng dữ liệu đến trên máy của người nhận chính xác như trên thiết bị của người gửi, không có bất kỳ thay đổi nào. Hơn nữa, nó liên quan đến giao tiếp liên tục ở cả hai đầu, vì quá trình thực sự có thể được mô tả như một quá trình qua lại liên tục giữa các thiết bị tham gia cho đến khi dữ liệu đến và được xác nhận 100%.

  Cách tắt màn hình máy tính xách tay

Không cần phải nói rằng giao tiếp liên tục này giữa các thiết bị gây căng thẳng khủng khiếp cho TCP, vì bất kỳ gói nào bị mất hoặc bị hỏng đều có thể tạm dừng quá trình cho đến khi bit bị thiếu đến đích an toàn. Tuy nhiên, TCP không phải tự mình làm mọi thứ, vì vậy UDP đã được phát minh ngay sau đó.

Nói một cách ngắn gọn, TCP:

Đảm bảo không có gói nào bị rơi
Yêu cầu gửi lại các gói nếu nó phát hiện thấy bất kỳ gói nào bị thiếu
Gửi các gói theo thứ tự để chúng có thể dễ dàng tập hợp lại
Giao thức Internet phổ biến nhất
Chậm hơn UDP vì nó cần đảm bảo mọi gói tin đều đến
Phù hợp với các trang web, email, FTP (Giao thức truyền tệp), chia sẻ tệp P2P

UDP là gì?

UDP, viết tắt của User Datagram Protocol, là một giải pháp thay thế cho TCP, vì vậy có thể an toàn khi cho rằng về cơ bản chúng thực hiện cùng một nhiệm vụ. Tuy nhiên, chúng đồng thời cũng rất khác nhau, vì TCP khá tỉ mỉ trong việc kiểm tra dữ liệu gói, trong khi UDP thì bất cẩn hơn một chút.

Hãy tưởng tượng hai nhân viên đang xử lý thư tại một trạm phân loại thư: TCP là tổ chức kiểm tra cẩn thận từng thư và giữ lại mọi thông tin liên lạc cho đến khi mọi thư đến, trong khi UDP chỉ kiểm tra tính toàn vẹn của thư và chuyển chúng đến đích của họ, đồng thời bỏ bất kỳ thư nào. đã không đến và không yêu cầu gửi lại.

Vì vậy, thật an toàn khi nói rằng UDP nhanh hơn, nhưng tại sao bạn lại muốn hy sinh tốc độ với cái giá là mất dữ liệu? Về cơ bản, có một số ứng dụng mà việc mất gói không chính xác là một bi kịch.

Ví dụ: nếu bạn đang sử dụng ứng dụng khách VoIP và nói chuyện với ai đó, bạn có thể nhận thấy thỉnh thoảng mất khung hình hoặc một chút giật hình trong âm thanh, phần lớn thời gian dễ bị bỏ qua và do đó không quan trọng. Điều này cũng xảy ra với chơi game, khi thỉnh thoảng bạn có thể nhận thấy trò chơi bị giật hình hoặc dây đai cao su. Bạn chỉ cần tiếp tục chơi và đó là kết thúc của nó vì UDP chỉ thả các gói bị thất lạc trong quá trình truyền tải.

Nói cách khác, UDP:

Nhanh hơn TCP và sử dụng ít tài nguyên hơn
Không nhất thiết phải gửi các gói theo thứ tự
Bỏ bất kỳ gói nào bị thiếu để tăng tốc kết nối
Người gửi không có cách nào để tìm ra gói tin đã bị loại bỏ hay chưa
Chủ yếu được sử dụng để phát trực tuyến video, VoIP, chơi game và phát sóng trực tiếp

  Sửa lỗi ứng dụng nhắn tin iPhone bị lỗi do lỗi liên hệ iMessage

TCP và UDP trong sử dụng VPN

Ngày nay, ngày càng nhiều VPN bắt đầu áp dụng WireGuard hoặc tạo ra giao thức độc quyền của họ để được sử dụng, nhưng nhiều người trong số họ dựa vào OpenVPN vì sau ngần ấy năm nó vẫn đáng tin cậy, nhanh chóng và an toàn.

Tuy nhiên, những gì bạn có thể không biết là OpenVPN hoạt động với cả TCP và UDP, và hầu hết thời gian nó cho phép bạn chọn giữa hai giao thức đó. Mặc dù điều này nghe có vẻ giống như một quyết định lớn cần đưa ra (tính toàn vẹn của dữ liệu so với tốc độ), nhưng vấn đề thực sự nằm ở chỗ khác.

Trong khi sử dụng VPN, bạn có thể không nhận thấy bất kỳ sự khác biệt lớn nào giữa TCP và UDP về tốc độ. Tuy nhiên, nếu kết nối của bạn cần phải vượt qua tường lửa, đó là lúc mọi thứ thay đổi, chủ yếu là do các giao thức này hoạt động trên các cổng khác nhau và một số tường lửa có thể chặn các cổng mặc định cho một số loại lưu lượng nhất định.

Do đó, tại sao các nhà cung cấp VPN cho phép bạn chọn giữa TCP và UDP. Nếu bạn nhận thấy rằng kết nối của mình không hoạt động trên một giao thức, bạn chỉ có thể chuyển sang giao thức kia và vượt qua các ngón tay của mình. Một số nhà cung cấp VPN cung cấp cho bạn các cài đặt nâng cao, nơi bạn cũng có thể chọn một cổng tùy chỉnh cho kết nối của mình để tránh tường lửa.

Sự khác biệt giữa TCP và UDP

TCP

UDP

TCP là giao thức được sử dụng rộng rãi nhất trên internet
Tất cả dữ liệu đã gửi sẽ đến tay người nhận, đảm bảo không bị mất gói
Các gói được gửi theo thứ tự
Yêu cầu nhiều tài nguyên hơn, điều này cũng làm cho nó chậm hơn.

UDP được sử dụng để chơi game, phát video, VoIP, phát sóng trực tiếp
Người gửi sẽ không biết nếu gói bị thiếu (không nhận được)
Các gói không cần thiết phải gửi theo thứ tự
Cần ít tài nguyên hơn, nhanh hơn.

TCP và UDP: Kết luận

Tóm lại, TCP và UDP là các giao thức khá giống nhau, ở chỗ chúng đảm bảo dữ liệu của bạn đến đích một cách an toàn và không bị sửa đổi ở đâu đó trên đường đi.

TCP thực hiện một số kiểm tra trong khi truyền dữ liệu và thường quyết liệt hơn trong việc không làm mất gói tin, điều này làm cho nó tuyệt vời cho các trang web, email, tin nhắn tức thì, hình ảnh và chia sẻ tệp.

UDP chỉ kiểm tra xem đích đến có đúng hay không và kiểm tra tính toàn vẹn của các gói, nhưng không yêu cầu người gửi gửi lại bất kỳ gói nào bị mất và thay vào đó chỉ thả chúng xuống, có nghĩa là bạn sẽ có kết nối nhanh hơn, nhưng bạn có thể đánh rơi các gói. cách. UDP chủ yếu được sử dụng để chơi game, VoIP, phát trực tuyến video và phát nội dung trực tiếp, trong đó việc mất một vài gói dữ liệu sẽ không ảnh hưởng quá nhiều đến kết quả cuối cùng.

x