TCP là gì? Ưu điểm và cách Hoạt động như thế nào?

1240
31-12-2024
TCP là gì? Ưu điểm và cách Hoạt động như thế nào?

Internet đã và đang là một phần không thể thiếu trong cuộc sống hàng ngày của chúng ta. Tuy nhiên, không phải ai cũng hiểu được tường tận về cách thức hoạt động của Internet. Phương thức truyền dẫn mà Internet đang sử dụng là phương thức TCP/IP, một trong những phương thức truyền dẫn phổ biến nhất hiện nay. Hãy cùng Bizfly Cloud tìm hiểu chi tiết về phương thức TCP/IP trong bài viết dưới đây nhé.

TCP là gì?

TCP (Transmission Control Protocol) là một giao thức mạng quan trọng được sử dụng trong việc truyền dữ liệu qua một mạng nào đó. Một giao thức trong phạm vi mạng là một tập hợp các quy tắc và trình tự kiểm soát việc thực hiện truyền dữ liệu sao cho tất cả mọi người trên thế giới bất kể vị trí địa lý, bất kể ứng dụng, phần mềm họ đang sử dụng đều có thể thao tác theo cùng một phương thức giống nhau được gọi là TCP.

TCP thường kết hợp với IP (Giao thức Internet) theo một cặp được gọi là TCP/IP. Bạn có thể bắt gặp cụm thuật ngữ này trong phần network setting trên máy tính, điện thoại thông minh hoặc các thiết bị cầm tay của mình. IP sẽ xử lý việc gán địa chỉ và chuyển tiếp các gói tin từ nguồn đến đích trong khi TCP kiểm soát độ tin cậy của truyền dẫn.

TCP là một giao thức mạng quan trọng được sử dụng trong việc truyền dữ liệu

TCP là một giao thức mạng quan trọng được sử dụng trong việc truyền dữ liệu

Cấu trúc của TCP

Cấu trúc của một gói tin TCP bao gồm các trường sau:

Source Port (16 bit): Số hiệu của cổng tại máy tính gửi dữ liệu. Đây là thông tin cần thiết để định danh phiên làm việc (session) của một giao thức cụ thể trên lớp ứng dụng.

Destination Port (16 bit): Số hiệu của cổng tại máy tính nhận dữ liệu. Tương tự như Source Port, nó giúp định danh phiên làm việc của giao thức trên lớp ứng dụng.

Sequence Number (32 bit): Dùng để đánh số thứ tự cho các gói tin. Thông qua số thứ tự này, có thể tính ra số byte đã được truyền.

Acknowledgment Number (32 bit): Dùng để xác nhận gói tin đã nhận và thông báo byte nào được mong đợi tiếp theo.

Data Offset (4 bit): Chỉ định độ dài của toàn bộ tiêu đề, tính bằng đơn vị word (1 word = 4 byte)23.

Reserved (4 bit): Luôn được thiết lập là 023.

Flags (9 bit):

  • URG: Ưu tiên dữ liệu này hơn các dữ liệu khác.
  • ACK: Sử dụng để xác nhận.
  • PSH: Segment yêu cầu chức năng đẩy.
  • RST: Được sử dụng để chấm dứt kết nối.

Window Size (16 bit): Số lượng byte mà thiết bị sẵn sàng tiếp nhận.

Checksum (16 bit): Kiểm tra lỗi của toàn bộ TCP segment.

Urgent Pointer (16 bit): Sử dụng trong trường hợp cần ưu tiên dữ liệu.

Options (tối đa 32 bit): Cho phép thêm vào TCP các tính năng khác.

Data: Dữ liệu của lớp trên được truyền tải.

Header TCP: Có độ dài là 20 Byte = 160 bit

Nhiệm vụ của TCP

Thiết lập kết nối

TCP thiết lập kết nối giữa máy gửi và máy nhận trước khi truyền dữ liệu thông qua quá trình handshaking để đồng bộ hóa thông tin giữa các máy. Quá trình này bao gồm:

- Gửi gói tin SYN: Người gửi khởi đầu yêu cầu kết nối bằng cách gửi một gói tin SYN đến người nhận.

- Phản hồi bằng gói tin SYN-ACK: Người nhận nhận được gói tin và phản hồi lại bằng gói tin SYN-ACK.

- Xác nhận kết nối: Người gửi gửi lại gói tin ACK để xác nhận rằng kết nối đã được thiết lập thành công

Phân mảnh và đóng gói tin

Dữ liệu lớn sẽ được phân mảnh thành các gói tin nhỏ hơn trước khi truyền đi. Mỗi gói bao gồm thông tin địa chỉ đích, địa chỉ nguồn, số thứ tự, và kiểm tra tổng để đảm bảo tính toàn vẹn.

Kiểm soát luồng dữ liệu

TCP sử dụng cơ chế cửa sổ trượt để điều chỉnh tốc độ truyền dữ liệu giữa máy gửi và máy nhận. Điều này giúp tránh tình trạng quá tải mạng và đảm bảo rằng dữ liệu không bị mất trong quá trình truyền tải.

Độ tin cậy

TCP đảm bảo độ tin cậy trong việc truyền dữ liệu thông qua các cơ chế như:

- Kiểm tra lỗi: Sử dụng thuật toán kiểm tra tổng để phát hiện lỗi trong các gói tin.

- Xác nhận và truyền lại: Nếu một gói tin bị mất hoặc hỏng, TCP sẽ yêu cầu gửi lại gói tin đó để đảm bảo tính toàn vẹn của dữ liệu.

Đóng kết nối nhanh

Khi quá trình truyền dữ liệu hoàn tất, TCP sẽ sử dụng quy trình gọi là four-way handshake để đóng kết nối. Quá trình này bao gồm việc gửi gói tin FIN từ người gửi, nhận phản hồi ACK từ người nhận và cuối cùng là xác nhận từ người gửi.

TCP hoạt động như thế nào?

TCP hoạt động như thế nào

TCP cũng sẽ đảm bảo rằng dữ liệu tới đích trong một thời hạn xác định

TCP dán nhãn các gói tin theo dạng đánh số. TCP cũng sẽ đảm bảo rằng dữ liệu tới đích trong một thời hạn xác định (một khoảng thời gian vài trăm mili giây được gọi là thời gian chờ) và tuân theo một số quy định kỹ thuật khác. Với mỗi gói tin nhận được, thiết bị gửi sẽ được thông báo thông qua một gói được gọi là xác nhận. Sau khi hết thời gian chờ, không nhận được xác nhận, nguồn gửi sẽ gửi đi một bản sao của gói tin bị mất hoặc bị hoãn. Các gói tin không theo trình tự cũng sẽ không được xác nhận. Nhờ vậy, tất cả các gói dữ liệu sẽ luôn được tập hợp theo thứ tự, không có sơ hở, trong một khoảng thời gian chờ xác định và chấp nhận được.

Địa chỉ TCP

Trong khi IP có một cơ chế hoàn chỉnh để định gán địa chỉ được gọi là địa chỉ IP, TCP lại không có hệ thống địa chỉ phức tạp như vậy. Đúng hơn là TCP không cần đến hệ thống này. TCP chỉ sử dụng các số được cung cấp bởi thiết bị mà nó đang chạy trên đó để xác định nơi nhận và truyền gói tin ở đâu, cho dịch vụ nào. Các số này được gọi là các port. Ví dụ, các trình duyệt web thường sử dụng cổng 80 cho TCP, cổng 25 dùng cho email,… Số port thường đi kèm với địa chỉ IP để chỉ 1 dịch vụ, ví dụ: 192.168.66.5:80.

Ứng dụng của giao thức TCP

TCP/IP được sử dụng để kết nối thông tin trong Internet. Người dùng có thể thực hiện cung cấp thông tin từ xa, gửi mail, truyền file, ảnh hoặc phân phối web trên mạng Internet. Phương thức này cũng cho phép truy cập máy chủ từ xa, thay đổi trạng thái thông tin truyền trong môi trường Internet. Với giao thức TCP/IP, người dùng có thể dễ dàng thay đổi cách biểu thị thông tin thông qua các giao thức cơ bản hoặc giao thức ở mỗi lớp khi thông tin được truyền qua. Nhờ đó, thao tác truyền thông tin sẽ chính xác và hiệu quả hơn.

>>> Xem thêm: Giao thức TCP và UDP - Phân biệt sự khác nhau cơ bản

SHARE