TS. Đỗ Kim Bằng
KS. Nguyễn Thanh Việt
TCP (Transmission Control Protocol): Giao thức điều khiển truyền dẫn
1. Trong bộ giao thức Internet, một giao thức tiêu chuẩn, định hướng kết nối, hoàn toàn song công, máy chủ-tới-máy chủ, được sử dụng trên các mạng truyền thông máy tính chuyển mạch gói. TCP tương ứng với Lớp 4 (Lớp chuyển tải) của Mô hình Tham chiếu - Liên kết các Hệ thống mở (OSI-RM) của ISO (Tổ chức tiêu chuẩn quốc tế ) (Hình 2). OSI-RM sử dụng các giao thức 0 (Transport Protocol Class 0) và 4 (Transport Protocol Class 4) cho điều khiển truyền dẫn.
2. Như được đặc tả trong RFC-703, TCP là một giao thức lớp chuyển tải, định hướng kết nối, đầu cuối - tới đầu cuối. TCP cung cấp sự phân phát dữ liệu tới một người dùng ở xa hoặc tại chỗ một cách tin cậy, theo trình tự và không trùng lặp.
3. Một phần của bộ giao thức TCP/IP nhằm bảo đảm rằng các số liệu được phân phát theo một trình tự đúng tới lớp ứng dụng phía trên mà không bị lỗi, bị mất số liệu hoặc không bị trùng lặp. TCP là một giao thức định hướng kết nối (connection-oriented), giống hệt như một cuộc đàm thoại bằng tiếng nói ở chỗ, một số gọi (địa chỉ) được quay số và một kết nối được thiết lập. Lớp TCP chia tách dữ liệu thành các đoạn và đặt cho mỗi đoạn một mào đầu (header) và một số chuỗi. Sau đó, đoạn TCP (TCP Segment) được trao một tiêu đề IP để chuyển xuống các lớp thấp hơn và làm cho máy chủ đầu xa mang tính phi kết nối (connectionless). Đoạn TCP cùng với mào đầu IP được gọi là Gói dữ liệu IP (IP Datagram). Tất cả các phần của bộ giao thức TCP/IP (chẳng hạn như ICMP, TCP và IP) đều rất cần thiết để chuyển thành công một tệp hoặc một tin báo qua một mạng.
TCP Header: Tiêu đề TCP
Tiêu đề của datagram (gói) trong một cuộc truyền dẫn TCP/IP. Nó có độ dài khả biến và mang nhiều thành phần thông tin. Các thành phần này được liệt kê dưới đây và được minh họa trong Hình 1.
- Source and Destination Ports (Các cổng nguồn và đích) nhận dạng các ứng dụng gửi và nhận tại mỗi đầu của một kết nối TCP/IP. Cả hai trường đều có độ dài 16 bit.
- Sequence Number (Số chuỗi, Số trình tự) cho phép người nhận nhận dạng thứ tự của chuỗi đối với đoạn này.
- Acknowledgement Number ( Số báo nhận) cung cấp một báo nhận thu từ đầu cuối đối diện cho các đoạn TCP thu được. Trường này chỉ hợp lệ nếu bít ACK (trong trường mã) được xác lập về 1.
- HLEN ( Độ dài tiêu đề): Trường 4 bit chứa số lượng các từ 32 bit trong tiêu đề TCP, giúp cho thiết bị thu biết cần đọc khung như thế nào.
- Reserved (Dự trữ): 6 bit này được để dự phòng và cho đến nay chưa biết sẽ được sử dụng vào việc gì.
- Code (Mã): Một trường sáu bit còn được gọi là trường bit điều khiển. Mỗi bit có một ý nghĩa riêng của nó. Bít đầu tiên là Trường con trỏ khẩn cấp URG/Urgent Pointer Field. Khi nó được xác lập về 1 thì dữ liệu trong gói này được ưu tiên. Bít thứ hai là ACK bit. Khi bit này được xác lập về 1 sẽ chỉ thị cho thiết bị thu rằng trường số báo nhận là hợp lệ. Bit thứ ba là PSH/ Push bit. Chức năng của nó là thông báo cho bộ đệm bắt đầu gửi dữ liệu, bất chấp nó đã đầy hay chưa. Bit thứ tư là RST. Nó được sử dụng để kết thúc kết nối (trong trường hợp một chức năng đóng sẽ không làm việc). Bit thứ năm là SYN/ Synchronize bit. Khi nó được xác lập về 1, nó sẽ là một chỉ thị cho máy thu rằng Trường số chuỗi chứa số chuỗi ban đầu cần được sử dụng cho kết nối. Bit thứ sáu là FIN/ Final bit. Khi được xác lập về 1, nó là chỉ thị cho thiết bị thu nó rằng người gửi sẽ không gửi thêm bất kỳ dữ liệu nào nữa trong kết nối TCP này.
- Window Size (Kích thước cửa sổ): Được sử dụng để thông báo lượng dữ liệu lớn nhất có thể được thu trong gói dữ liệu kế sau: "Đây là dữ liệu của bạn, bây giờ hãy gửi trở lại cho tôi lượng dữ liệu như vậy hay ít hơn”.
- Checksum (Tổng kiểm tra): Trường 16 bit này được sử dụng để mang kết quả tính toán kiểm tra do bên gửi thực hiện.
- Urgent Pointer (Con trỏ khẩn cấp): Trường 16 bit này chứa vị trí trong cửa sổ là nơi các dữ liệu khẩn cấp kết thúc. Các dữ liệu khẩn cần phải được xử lý trước khi bất kỳ dữ liệu nào khác được chuyển tiếp.
- Options (Các tuỳ chọn): Một trường được sử dụng để mang các dữ liệu tùy chọn khác về truyền dẫn hoặc cách thức mà nó thực hiện.
- Padding (Đệm): Các bít được thêm vào đây để bảo đảm rằng tiêu đề kết thúc tại một thừa số của 32 bit.
Hình 1. Tiêu đề TCP (TCP Header)
TCP Segment: Đoạn TCP
Tiêu đề TCP và các dữ liệu ứng dụng liên quan (hoặc được mang theo). Đối với một datagram của một đoạn TCP và các phần của nó (xem IP datagram).
TCP/IP ( Transmission Control Protocol/Internet Protocol )
(Telecommunications Prototocol/Internet Protocol)
TCP/IP (Giao thức điều khiển truyền thông/ Giao thức Internet)
(Giao thức viễn thông/ Giao thức Internet)
1. Hai giao thức liên quan lẫn nhau đều là thành phần của bộ giao thức Internet. TCP hoạt động trên Lớp chuyển tải của OSI và chia dữ liệu thành các gói, IP hoạt động trên Lớp mạng của OSI và định tuyến cho các gói. TCP/IP là tên gọi chung cho Bộ giao thức Internet do Bộ Quốc phòng Hoa Kỳ phát triển vào những năm 70 của thế kỷ trước để hỗ trợ việc cấu trúc các mạng liên kết toàn cầu.
2. Giao thức truyền thông tiêu chuẩn được sử dụng để trao đổi tệp (file exchange) qua Internet (xem Hình 2). TCP/IP đã được ARPA/DARPA (Advanced Research Projects Agency/Defense Advanced Research Projects Agency) của Chính phủ Hoa Kỳ phát triển.
Hình 2. Các Giao thức TCP/IP đối chiếu với Mô hình OSI
TCP/IP Suite: Bộ (giao thức) TCP/IP
Bộ các giao thức liên quan lẫn nhau tham dự vào Giao thức điều khiển truyền dẫn/Giao thức Internet. Bộ giao thức TCP/IP bao gồm các giao thức như TCP, IP, UDP, ICMP, FTP và SMTP, nhưng không chỉ giới hạn trong các giao thức đó. Đôi khi các giao thức ứng dụng và quản lý bổ trợ, chẳng hạn như SNMP, cũng được coi là một phần của Bộ giao thức TCP/IP.
(Còn nữa)