Tìm hiểu về giao thức TCP và UDP

TOTOLINK Việt Nam
5 min readApr 17, 2019

--

Giao thức TCP là gì? Hay giao thức UDP là gì? Liệu khi gặp phải câu hỏi này bạn sẽ trả lời nó như thế nào? Đây là hai giao thức quan trọng trong tầng Transport của mô hình TCP/IP, và được sử dụng trong hầu hết các ứng dụng về mạng. Có thể bạn đã gặp TCP và UDP khi thiết lập chuyển tiếp cổng trên router hoặc khi cấu hình phần mềm tường lửa.

TCP là gì?

Giao thức TCP là gì? Nó là giao thức điều khiển truyền vận (Transmission Control Protocol) thuộc giao thức cốt lõi của bộ giao thức TCP/IP. Thông qua TCP, các ứng dụng trên các máy chủ được nối mạng có thể liên lạc với nhau, qua đó chúng có thể trao đổi giữ liệu hoặc các gói tin. Giao thức này đảm bảo chuyển giao dữ liệu tới nhận một cách đáng tin cậy và đúng thứ tự. Hơn nữa, TCP có chức năng phân biệt giữa dữ liệu của nhiều ứng dụng (như dịch vụ Web và dịch vụ Email) đồng thời chạy trên cùng một máy chủ.

  • TCP là giao thức hướng kết nối (connection-oriented), có nghĩa là buộc phải thiết lập kết nối trước sau đó mới đến tiến trình truyền dữ liệu.
  • Cung cấp cơ chế đánh số thứ tự gói tin (sequencing): sử dụng để ráp các gói tin chính xác ở điểm nhận, loại bỏ gói tin trùng lặp.
  • TCP có khả năng truyền và nhận dữ liệu cùng một lúc — song công (full-duplex).
  • Cơ chế báo nhận (Acknowledgement): tức là khi A gửi gói tin cho B, nếu B nhận được thì sẽ gửi thông báo cho A, trường hợp A không nhận được thông báo thì sẽ gửi lại gói tin tới khi nào B báo nhận thì thôi.
  • Tính năng phục hồi dữ liệu bị mất trên đường truyền.

UDP là gì?

Có một số chức năng giúp chúng ta phân biệt được hai giao thức TCP và UDP. Vậy giao thức UDP là gì? Một mạng máy tính sử dụng giao thức UDP giúp các chương trình có thể gửi những dữ liệu ngắn được gọi là datagram đến một máy tính khác. UDP không chịu trách nhiệm đối với những gói tin đã được truyền đi, vì vậy các gói dữ liệu có thể đến không đúng thứ tự hoặc bị mất mà không có thông báo.

  • UDP (User Datagram Protocol) là loại giao thức không trạng thái, không cần thiết lập các kết nối trước khi gửi gói tin.
  • UDP chỉ quan tâm tới việc truyền gói tin đi và không nhận lại — bán song công (half-duplex).
  • UDP không quan tâm tới việc có gửi chính xác gói tin tới đúng địa chỉ hay không, không có cơ chế phục hồi dữ liệu bị mất .
  • Giao thức UDP nhanh và hiệu quả hơn đối với các mục tiêu kích thước nhỏ và yêu cầu khắt khe về thời gian.
  • Bản chất không trạng thái nên UDP hữu dụng đối với việc trả lời các truy vấn nhỏ với số lượng lớn người yêu cầu.

Ứng dụng phổ biến nhất sử dụng giao thức UDP có thể kể đến như DNS (Domain Name System) Voice over IP, ứng dụng streaming media, Trivial File Transfer protocol (TFTP), và game trực tuyến. Dễ hình dung nhất về giao thức UDP là khi bạn Live Stream, video hoặc âm thanh có thể bị nhiễu hay bóp méo một lúc và Video vẫn tiếp tục chơi mà không có dữ liệu bị mất.

Tiến trình bắt tay 3 bước (Three-way-handshake)

Giải thích cho ví dụ trên để biết được thế nào là bắt tay ba bước:

Bước 1.

Host A gửi cho B một gói tin có cờ SYN được bật lên, với số thứ tự được đánh số là 100.

Bước 2.

Khi Host B nhận được gói tin thì gói B tiến hành gửi lại gói tin có cờ SYN đã được bật lên, kèm theo cờ ACK để xác nhận.

ACK=101 có nghĩa là B thông báo cho A đã nhận được gói tin có SEQ = 100, A hãy gửi tiếp cho tôi gói tin có SEQ=101. Khi A gửi gói tin đi theo yêu cầu thì nó sẽ được đánh số thứ tự SEQ=300.

Bước 3.

Kết nối sẽ được thiết lập ngay và A sẽ gửi gói tin theo đúng yêu cầu của B.

Gói tin được đánh số SEQ = 100: để đáp ứng nhu cầu của B.

ACK = 301 dùng để thông báo là đã nhận được gói tin có SEQ = 300.

Chỉ có cờ ACK được bật lên bởi gói tin bước 3 sử dụng để báo nhận cho gói tin bước 2.

Truyền tải dữ liệu half-duplex và full-duplex

  • Truyền tải bán song công (half — duplex): Có nghĩa là chỉ truyền theo một hướng tại một thời điểm giữa hai đường truyền dữ liệu và luồng tin. Hiểu đơn giản, khi một thiết bị đóng vai trò vừa Thu và Phát tín hiệu nhưng tại một thời điểm nó chỉ có thể thực hiện một vai trò duy nhất.
  • Truyền toàn song công (full-duplex): Có nghĩa là tại một thời điểm có thể thực hiện truyền đồng thời dữ liệu trên cả hai đường, mỗi thiết kế có một kênh riêng. Một thiết bị có thể đồng thời vừa Phát lại vừa Thu tín hiệu. Ví dụ điển hình cho phương thức này là Modem máy tính. Đây là phương thức truyền tin trả lời rõ ràng nhất cho câu hỏi Đặc điểm chính của giao thức TCP là gì?

Có thể bạn sẽ có sự so sánh giống nhau hay khác nhau của giao thức TCP là gì và giao thức UDP là gì. TCP và UDP đều là các giao thức được sử dụng để gửi các bit dữ liệu hay gọi cách khác là các gói tin qua môi trường Internet, tới một địa chỉ IP. Những gói tin này sẽ được chuyển tiếp từ máy tính của bạn đến router trung gian sau đó tới điểm đích.

--

--

TOTOLINK Việt Nam

TOTOLINK là thương hiệu kinh doanh của Công ty TNHH Công Nghệ ZIONCOM. Hướng tới mục tiêu đáp ứng được tất cả các nhu cầu của khách hàng trong lĩnh vực thiết bị