CHƢƠNG 3 : CÁC GIAO THỨC SỬ DỤNG TRONG IPV6
3.2. Giao thức UDP/TCP
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 tố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 tố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 tố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 tốn và lưu trữ checksum, và node đích sẽ kiểm tra nó. Hình 3.2 trình bày khn dạng của tiêu đề giả được xây dựng và sử dụng để tính tố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 tố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 tốn được sử dụng với IPv4 để tính tốn checksum với IPv6. 16 bit checksum được tính tốn trên tồn bộ tiêu đề giả. Sự tính tố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.