Giao thức UDP/TCP

Một phần của tài liệu Nghiên cứu triển khai mô hình mạng ứng dụng IP version 6 (Trang 64 - 65)

Kiểm tra tổng (checksum) được thực hiện trên các lớp khác. Tiêu đề IPv6 không có trường checksum. Nhưng nó lại rất quan trọng đối với lớp giao vận để xác định các vấn đề liên quan đến việc phân phát gói tin. Các giao thức lớp cao hơn khác cũng có thể sử dụng trường checksum. Tất cả các tính toán checksum bao gồm cả địa chỉ IP phải được sửa đổi cho IPv6 để phù hợp với địa chỉ 128 bit mới.

Các giao thức giao vận như UDP và TCP gắn các trường checksum cho các gói tin của chúng. Một checksum được tạo ra sử dụng một tiêu đề giả. Tiêu đề giả của TCP và UDP bao gồm các trường về địa chỉ nguồn và đích, độ dài dữ liệu, và giá trị Next Header. Nếu gói tin IPv6 chứa một tiêu đề định tuyến, địa chỉ đích sử dụng trong tiêu đề giả là địa chỉ của đích cuối cùng. Nếu địa chỉ nguồn hoặc đích bị thay đổi trong khi truyền, giá trị của tiêu đề giả tại đích sẽ không match với giá trị của gói tin ban đầu, là nguyên nhân làm cho sự tính toán checksum bị sai và một thông báo lỗi được gửi.

Với IPv4, checksum trong tiêu đề UDP là tùy chọn, còn với IPv6, tính toán checksum là bắt buộc đối với UDP. Các node IPv6 mà nhận được một gói tin UDP với giá trị bằng 0 trong trường checksum sẽ hủy bỏ gói tin và ghi lại lỗi.

Node nguồn tính toán và lưu trữ checksum, và node đích sẽ kiểm tra nó. Hình 3.2 trình bày khuôn dạng của tiêu đề giả được xây dựng và sử dụng để tính toán các checksum TCP và UDP.

Dưới đây miêu tả các trường trong tiêu đề đó:

Địa chỉ nguồn (16 byte): Địa chỉ nguồn của gói tin IPv6

Địa chỉ đích (16 byte): Địa chỉ đích của gói tin IPv6. Nếu có một tiêu đề định tuyến trong gói tin, địa chỉ của đích cuối cùng được sử dụng để tính toán checksum. Trên node đầu tiên, địa chỉ này là địa chỉ cuối cùng trong danh sách của tiêu đề định tuyến. Tại đích cuối cùng, đây là địa chỉ trong tiêu đề IPv6.

Độ dài gói tin lớp cao hơn (4 byte): Trường này chứa độ dài của tiêu đề giao thức lớp cao hơn cộng với dữ liệu.

Next header (1 byte): Trường này chỉ ra kiểu tiêu đề được sử dụng.

Cùng thuật toán được sử dụng với IPv4 để tính toán checksum với IPv6. 16 bit checksum được tính toán trên toàn bộ tiêu đề giả. Sự tính toán checksum cũng bao gồm cả các địa chỉ nguồn và địa chỉ đích nên bất kỳ một sự thay đổi địa chỉ nào trên đường đi sẽ bị phát hiện.

Một phần của tài liệu Nghiên cứu triển khai mô hình mạng ứng dụng IP version 6 (Trang 64 - 65)