Giao thức điều khiển truyền tải (TCP) và Giao thức gói dữ liệu người dùng (UDP) là hai tầng vận chuyển tiêu chuẩn được sử dụng với giao thức internet (IP) .
Cả TDP và UDP đều sử dụng các tiêu đề như là một phần của dữ liệu tin nhắn đóng gói để truyền qua kết nối mạng. Các tiêu đề TCP và các tiêu đề UDP đều chứa một tập các tham số được gọi là các trường được xác định bởi các đặc tả kỹ thuật giao thức.
Định dạng tiêu đề TCP
Mỗi tiêu đề TCP có mười trường bắt buộc với tổng kích cỡ 20 byte (160 bit ). Họ cũng có thể tùy chọn bao gồm một phần dữ liệu bổ sung có kích thước tối đa 40 byte.
Đây là cách bố trí của các tiêu đề TCP:
- Số cổng TCP nguồn (2 byte)
- Số cổng TCP đích (2 byte)
- Số thứ tự (4 byte)
- Số xác nhận (4 byte)
- Bù đắp dữ liệu TCP (4 bit)
- Dữ liệu dành riêng (3 bit)
- Cờ điều khiển (tối đa 9 bit)
- Kích thước cửa sổ (2 byte)
- Kiểm tra TCP (2 byte)
- Con trỏ khẩn cấp (2 byte)
- Dữ liệu tùy chọn TCP (0-40 byte)
TCP chèn các trường tiêu đề vào luồng thư theo thứ tự được liệt kê ở trên.
- Số cổng TCP nguồn và đích là điểm cuối giao tiếp cho các thiết bị gửi và nhận.
- Người gửi tin nhắn sử dụng số thứ tự để đánh dấu thứ tự của một nhóm tin nhắn. Cả người gửi và người nhận đều sử dụng trường số xác nhận để truyền đạt số thứ tự các tin nhắn được nhận gần đây hoặc dự kiến sẽ được gửi.
- Trường bù trừ dữ liệu lưu trữ tổng kích thước của một tiêu đề TCP trong bội số của bốn byte. Tiêu đề không sử dụng trường TCP tùy chọn có độ lệch dữ liệu là 5 (đại diện cho 20 byte), trong khi tiêu đề sử dụng trường tùy chọn có kích thước tối đa có độ lệch dữ liệu là 15 (đại diện cho 60 byte).
- Dữ liệu dành riêng trong tiêu đề TCP luôn có giá trị bằng không. Trường này phục vụ mục đích sắp xếp tổng kích thước tiêu đề là bội số của bốn byte (quan trọng đối với hiệu quả xử lý dữ liệu của máy tính).
- TCP sử dụng một bộ sáu cờ tiêu chuẩn và ba cờ điều khiển mở rộng (mỗi bit riêng lẻ thể hiện hoặc tắt ) để quản lý luồng dữ liệu trong các tình huống cụ thể. Ví dụ, một cờ bit, khởi tạo logic đặt lại kết nối TCP. Hoạt động chi tiết của các trường này vượt quá phạm vi của bài viết này.
- Người gửi TCP sử dụng một số gọi là kích thước cửa sổ để điều chỉnh lượng dữ liệu mà họ gửi cho người nhận trước khi yêu cầu một sự thừa nhận. Nếu kích thước cửa sổ trở nên quá nhỏ, việc truyền dữ liệu mạng sẽ không cần thiết chậm, trong khi kích thước cửa sổ quá lớn, liên kết mạng có thể trở nên bão hòa (không sử dụng được cho bất kỳ ứng dụng nào khác) hoặc người nhận không thể xử lý dữ liệu đến nhanh chóng đủ (cũng dẫn đến hiệu suất chậm). Thuật toán cửa sổ được xây dựng trong giao thức tự động tính giá trị kích thước và sử dụng trường tiêu đề TCP này để điều phối các thay đổi giữa người gửi và người nhận.
- Giá trị tổng kiểm tra bên trong một tiêu đề TCP được tạo bởi người gửi giao thức dưới dạng một kỹ thuật toán học để giúp người nhận phát hiện các thư bị hỏng hoặc giả mạo.
- Trường con trỏ khẩn cấp thường được đặt thành 0 và bị bỏ qua, nhưng kết hợp với một trong các cờ điều khiển, nó có thể được sử dụng như một bù đắp dữ liệu để đánh dấu một tập hợp con của một thông báo yêu cầu xử lý ưu tiên.
- Việc sử dụng dữ liệu TCP tùy chọn vượt quá phạm vi của bài viết này nhưng bao gồm hỗ trợ cho các thuật toán xác nhận cửa sổ và xác nhận cửa sổ đặc biệt.
Định dạng tiêu đề UDP
Bởi vì UDP bị giới hạn đáng kể về khả năng hơn so với TCP, các tiêu đề của nó nhỏ hơn nhiều. Một tiêu đề UDP chứa 8 byte, được chia thành bốn trường bắt buộc sau:
- Số cổng nguồn (2 byte)
- Số cổng đích (2 byte)
- Độ dài dữ liệu (2 byte)
- Kiểm tra UDP (2 byte)
UDP chèn các trường tiêu đề vào luồng thư của nó theo thứ tự được liệt kê ở trên.
- Các số cổng UDP nguồn và đích là các điểm cuối giao tiếp cho các thiết bị gửi và nhận.
- Trường độ dài trong UDP thể hiện tổng kích thước của mỗi gói dữ liệu bao gồm cả đầu trang và dữ liệu. Trường này có giá trị từ tối thiểu 8 byte (kích thước tiêu đề bắt buộc) cho các kích thước trên 65.000 byte.
- Tương tự như TCP, kiểm tra UDP cho phép người nhận kiểm tra chéo dữ liệu đến cho bất kỳ bit bị hỏng nào của thư.