Tin tức và phân tích của tất cả các thiết bị di động

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

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

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

Tóm lại, giả sử bạn vô tình sử dụng hai giao thức này mỗi ngày khi truy cập internet, điều này khiến chúng ảnh hưởng đến cách thiết bị của bạn giao tiếp với mạng mở (và các thiết bị được kết nối với mạng đó) và ngược lại.

Vì cả TCP và UDP đều dựa trên Giao thức Internet, nên bạn có thể muốn tìm hiểu thêm về IP trước khi nhảy thẳng vào các bài học giới thiệu về TCP/UDP. Bạn biết đấy, bạn phải 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 giao thức internet, là nền tảng mà internet như chúng ta biết được xây dựng trên đó. Có thể dễ dàng nhận thấy tầm quan trọng của nó qua thực tế là mỗi thiết bị được gán một địa chỉ IP duy nhất để truy cập Internet.

Ngày xửa ngày xưa, một địa chỉ chỉ bao gồm các số và chữ 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 biệt, mỗi số có thể có một giá trị trong phạm vi 0 đến 254. IPv4 đã cho chúng tôi tổng phạm vi 4,3 tỷ địa chỉ IP duy nhất.

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

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

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à thay thế IPv4 bằng IPv6, hai giao thức hiện đang hoạt động cùng nhau.

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

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

Khi gói rời khỏi thiết bị, nó sẽ hướng tới cổng, cổng này sẽ tra cứu địa chỉ IP đích của gói trong miền của nó. Điều đáng nói là cổng chỉ nhìn thấy một bộ địa chỉ IP cụ thể trên Internet.

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

Một điều đáng chú ý khác là dữ liệu được chia thành các gói nhỏ có nghĩa là chúng 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. Trên thực tế, các gói thường cố gắng tìm đường đi nhanh nhất có thể vào mọi thời điểm.

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ể, điều này làm cho nó trở nên lý tưởng cho mọi dạng dữ liệu cho dù chúng ta đang nói về video, hình ảnh, âm thanh, email, tin nhắn nhanh và thậm chí cả trò chơi.

TCP là gì?

TCP, hay Transmission Control Protocol, là một trong những giao thức chính được sử dụng trong bộ giao thức Internet. Nó xuất hiện trước UDP và được sử dụng để cho phép các chương trình và thiết bị trao đổi thông tin qua mạng.

Bạn có thể nhận thấy rằng đôi khi nó được liên kết với IP và được gọi là TCP/IP, nhưng nó có nghĩa giống nhau (nghĩa 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 khác nhau. Giao thức TCP được phát minh để tập hợp lại các gói 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 lần đầu tiên. Sau khi nhận được tất cả các gói TCP, nó sẽ tập hợp lại chúng thành dữ liệu gốc và gửi chúng đến ứng dụng thích hợp (ví dụ: ứng dụng email, trình xem ảnh, trình phát video).

Ngày nay, quy trình này diễn ra rất nhanh và đảm bảo rằng dữ liệu đến máy của người nhận chính xác như trên máy gửi mà không có bất kỳ thay đổi bổ sung nào. Ngoài ra, nó yêu cầu liên lạc liên tục ở cả hai đầu vì quá trình thực sự có thể được mô tả là luồng dữ liệu 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%.

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 ra rất nhiều căng thẳng cho TCP, vì bất kỳ gói bị mất hoặc bị hỏng nào cũng 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ự làm mọi thứ nên UDP đã được phát minh ngay sau đó.

Tóm lại, TCP:

Nó đảm bảo rằng không có gói nào bị loại bỏ
Nó yêu cầu gửi lại các gói nếu phát hiện các gói bị thiếu
Nó gửi các gói theo thứ tự để chúng có thể dễ dàng đặt lại với nhau
Giao thức internet phổ biến nhất
Chậm hơn UDP vì nó phải đảm bảo mọi gói tin đến
Phù hợp với website, email, FTP (File Transfer Protocol), chia sẻ file 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 về cơ bản chúng thực hiện cùng một công việc. Tuy nhiên, chúng 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 bất cẩn hơn một chút.

Hãy tưởng tượng hai trình xử lý thư tại một trạm phân loại thư: TCP là trình kiểm tra cẩn thận từng chữ cái và giữ tất cả thông tin liên lạc cho đến khi mỗi chữ cái đến, trong khi UDP chỉ kiểm tra tính toàn vẹn của các chữ cái và chuyển tiếp chúng đến đích trong khi loại bỏ từng chữ cái không đến và không yêu cầu được oán giận.

Vì vậy, có thể 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 trong quá trình thực hiện? Chà, về cơ bản, có những ứng dụng mà việc mất gói không hẳn là một thảm kịch.

Ví dụ: nếu bạn đang sử dụng ứng dụng khách VoIP và đang nói chuyện với ai đó, bạn có thể nhận thấy khung hình thỉnh thoảng bị giảm hoặc âm thanh bị giật nhẹ, điều này thường dễ bị bỏ qua và do đó không nghiêm trọng. Điều tương tự cũng xảy ra với các trò chơi mà thỉnh thoảng bạn có thể nhận thấy hiện tượng nói lắp hoặc dây cao su. Bạn chỉ cần tiếp tục trò chơi và thế là xong, bởi vì UDP chỉ loại bỏ các gói bị mất trong quá trình vận chuyển.

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

Nó nhanh hơn TCP và sử dụng ít tài nguyên hơn
Nó không nhất thiết phải gửi các gói theo thứ tự
Loại bỏ các gói bị thiếu để tăng tốc kết nối
Người gửi không có cách nào để biết nếu các gói đã bị loại bỏ
Chủ yếu được sử dụng để truyền phát video, VoIP, chơi game và phát trực tiếp

TCP và UDP để sử dụng VPN

Ngày nay, ngày càng có nhiều VPN bắt đầu triển khai WireGuard hoặc phát triển giao thức riêng để sử dụng, nhưng nhiều người dựa vào OpenVPN vì nó vẫn đáng tin cậy, nhanh chóng và an toàn sau ngần ấy năm.

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

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 bỏ qua tường lửa thì mọi thứ sẽ thay đổi, chủ yếu là do các giao thức này chạy 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 đối với một số loại lưu lượng truy cập.

Do đó, các nhà cung cấp VPN cho phép bạn chọn giữa TCP và UDP. Nếu bạn thấy kết nối của mình không hoạt động trên một giao thức, bạn có thể chuyển sang giao thức khác và khoanh tay. Một số nhà cung cấp VPN cung cấp cài đặt nâng cao, trong đó 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 đi đến người nhận, không đảm bảo mất gói
Các gói được gửi theo thứ tự
Nó đòi hỏi nhiều tài nguyên hơn, làm cho nó chậm hơn.

UDP được sử dụng để chơi game, truyền phát video, VoIP, phát 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 phải được gửi theo thứ tự
Cần ít tài nguyên hơn, nhanh hơn.

TCP so với 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 đến đích an toàn và không bị sửa đổi trên đường đi.

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

UDP chỉ kiểm tra xem đích có đúng không và kiểm tra tính toàn vẹn của các gói, nhưng nó 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à chỉ loại bỏ chúng, điều đó có nghĩa là bạn sẽ có kết nối nhanh hơn, nhưng bạn có thể hủy các gói đường. UDP chủ yếu được sử dụng để chơi game, VoIP, truyền phát video và phát sóng trực tiếp, trong đó việc mất một vài gói sẽ không ảnh hưởng quá nhiều đến kết quả cuối cùng.