CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.2. Giao thức IPv4 và IPv6
1.2.2. IPv6 [6][13]
Giao thức Internet phiên bản 6 (IPv6) là phiên bản mới nhất của Giao thức Internet (IP. IPv6 được phát triển bởi tổ chức IETF để giải quyết vấn đề cạn kiệt địa chỉ IPv4 đã được mong đợi từ lâu, IPv6 nhằm thay thế IPv4.
IPv6 là giao thức thuộc lớp Internet (trong mô hình TCP/IP) dùng cho chuyển mạch gói liên mạng và cung cấp việc truyền nhận dữ liệu trên nhiều mạng IP, tuân thủ chặt chẽ những nguyên tắc thiết kế được phát triển trong phiên bản giao thức IPv4.
Ngoài việc cung cấp nhiều địa chỉ hơn, IPv6 cũng gồm cả các tính năng không có trong IPv4. Nó đơn giản hóa các khía cạnh của cấu hình địa chỉ, đánh lại địa chỉ mạng và thông báo cho bộ định tuyến khi thay đổi nhà cung cấp kết nối mạng. Nó đơn giản hóa việc xử lý các gói tin trong bộ định tuyến bằng cách đặt trách nhiệm phân mảnh gói tin vào máy chủ gửi tin. Kích thước mạng con IPv6 được tiêu chuẩn hóa bằng cách cố định kích thước của phần nhận dạng máy chủ với kích thước 64 bit. Trong phần tiêu đề của IPv6 thì không có trường tổng kiểm tra, việc này sẽ giúp tiết kiệm thời gian và tăng tốc độ chuyển tiếp gói
31
tin trên mạng khi nó được gửi qua các bộ định tuyến thì không cần phải tính toán lại trường tổng kiểm tra để kiểm tra xem dữ liệu phần tiêu đề có bị lỗi không. Ngoài ra trong IPv6 cũng không còn trường tùy chọn như IPv4, nó được thay thế bằng phần tiêu đề mở rộng.
Kiến trúc địa chỉ của IPv6 cho phép ba kiểu truyền khác nhau: unicast, anycast và multicast.
Định dạng tiêu đề gói tin IPv6
Hình 1-11: Cấu trúc tiêu đề gói tin IPv6
Tiêu đề bao gồm một phần cố định với chức năng tối thiểu cần thiết cho tất cả các gói tin và có thể được theo sau bởi các phần mở rộng tùy chọn để triển khai các tính năng đặc biệt. Các trường trong tiêu đề gồm:
Phiên bản (Version 4-bit): Cho biết phiên bản Giao thức Internet.
Lớp Lưu lượng (Traffic Class 8-bit): Trường Lớp Lưu lượng chỉ ra lớp hoặc mức độ ưu tiên của gói IPv6, tương tự như Trường Dịch vụ (Type of service) trong gói IPv4.
Nó giúp các bộ định tuyến xử lý lưu lượng dựa trên mức độ ưu tiên của gói tin. Nếu tắc nghẽn xảy ra trên bộ định tuyến thì các gói có mức ưu tiên thấp hơn sẽ bị loại bỏ trước.
Nhãn luồng (Flow Label 20-bit): Trường Nhãn luồng được sử dụng bởi nút mạng nguồn để gắn nhãn các gói tin thuộc cùng một luồng nhằm yêu cầu xử lý đặc biệt bởi các bộ định tuyến IPv6 trung gian, chẳng hạn như chất lượng dịch vụ không mặc định hoặc
32
dịch vụ thời gian thực. Để phân biệt luồng, bộ định tuyến trung gian có thể sử dụng địa chỉ nguồn, địa chỉ đích và nhãn luồng của các gói. Giữa một nguồn và đích có thể tồn tại nhiều luồng vì nhiều quá trình xử lý có thể đang chạy cùng một lúc. Để các bộ định tuyến hoặc máy chủ không hỗ trợ xử lý chức năng của trường nhãn luồng và để bộ định tuyến xử lý mặc định, trường nhãn luồng được đặt thành 0. Trong khi thiết lập nhãn luồng, nút nguồn cũng phải chỉ định thời gian tồn tại của luồng.
Độ dài tải trọng (Payload Length 16-bit): Cho biết tổng kích thước của tải trọng.
Trường Độ dài tải trọng bao gồm các tiêu đề mở rộng (nếu có) và gói tin ở lớp trên. Trong trường hợp độ dài của tải trọng lớn hơn 65.535 byte (độ dài trọng tải lên đến tối đa 65.535 byte do nó được biểu thị bằng 16-bit), thì trường độ dài tải trọng sẽ được đặt thành 0 và tùy chọn tải trọng jumbo được sử dụng trong tùy chọn Hop-by-Hop của phần tiêu đề mở rộng.
Tiêu đề tiếp theo (Next Header 8-bit): Tiêu đề tiếp theo cho biết loại tiêu đề mở rộng (nếu có) ngay sau tiêu đề IPv6. Trong khi đó trong một số trường hợp, nó chỉ ra các giao thức có trong gói tin ở lớp trên, chẳng hạn như TCP, UDP.
Hop Limit (8-bit): Trường Hop Limit giống như TTL trong gói IPv4. Nó chỉ ra số lượng tối đa các nút trung gian mà gói IPv6 được phép di chuyển. Giá trị của nó bị giảm đi một, bởi mỗi nút chuyển tiếp gói tin và gói tin bị loại bỏ nếu giá trị giảm xuống 0. Điều này được sử dụng để loại bỏ các gói tin bị mắc kẹt trong vòng lặp vô hạn do một số lỗi định tuyến.
Địa chỉ nguồn (Source Address 128-bit): Địa chỉ của máy gửi gói tin.
Địa chỉ đích (Destination Address 128-bit): Địa chỉ của máy nhận gói tin (trong hầu hết các trường hợp). Tất cả các nút trung gian có thể sử dụng thông tin này để định tuyến gói tin một cách chính xác.
Tiêu đề mở rộng (Extension Headers): Để khắc phục những hạn chế của trường tùy chọn trong IPv4, Tiêu đề mở rộng được giới thiệu trong IPv6. Cơ chế tiêu đề mở rộng là một phần rất quan trọng của kiến trúc IPv6. Trường tiêu đề tiếp theo của tiêu đề cố định IPv6 trỏ đến tiêu đề mở rộng đầu tiên và tiêu đề mở rộng đầu tiên này trỏ đến tiêu đề mở rộng thứ hai, và cứ tiếp tục như vậy.
33
Hình 1-12: Tiêu đề mở rộng IPv6
Gói IPv6 có thể chứa không, một hoặc nhiều tiêu đề mở rộng nhưng chúng phải có mặt theo thứ tự được khuyến nghị như Bảng 1-1.
Bảng 1-1: Thứ tự tiêu đề tiện ích mở rộng IPv6 trong một gói tin
Order Header Type Next Header Code
1 Basic IPv6 Header -
2 Hop-by-Hop Options 0
3 Destination Options (with
Routing Options) 60
4 Routing Header 43
5 Fragment Header 44
6 Authentication Header 51 7 Encapsulation Security
Payload Header 50
8 Destination Options 60
9 Mobility Header 135
No next header 59
Upper
Layer TCP 6
Upper
Layer UDP 17
34
Quy tắc: Tiêu đề tùy chọn Hop-by-Hop (nếu có) phải luôn được đặt sau tiêu đề IPv6 cơ sở.
Quy ước:
1. Bất kỳ tiêu đề mở rộng nào cũng có thể xuất hiện nhiều nhất một lần ngoại trừ tiêu đề đích (Destination Header) vì tiêu đề đích xuất hiện hai lần trong chính danh sách trên.
2. Nếu tiêu đề đích xuất hiện trước tiêu đề định tuyến (Routing Header) thì nó sẽ được kiểm tra bởi tất cả các nút trung gian được chỉ định trong tiêu đề định tuyến.
3. Nếu tiêu đề đích hiện diện ngay phía trên lớp phía trên (Upper Layer) thì nó sẽ chỉ được kiểm tra bởi nút đích.