Hình 3.3: Header của IPv4 và IPv6
Các IPv6 header có 40 octet, so với số 20 octet trong IPv4. IPv6 có một số nhỏ các trường, và tiêu đề là 64-bit, liên kết để cho phép xử lý nhanh chóng bằng cách xử lý hiện hành. Trường địa chỉ lớn hơn bốn lần so với IPv4.
Các trường tiêu đề (field) IPv6:
- Version (4 bit): xác định phiên bản của giao thức (mang giá trị 6) thay vì số 4
cho IPv4.
- Traffic Class (8 bit): tương tự như trường Type of sevice (ToS) trong IPv4. Nó
tag các gói tin với một trafiic class mà nó sử dụng trong Differentiated Services (DiffServ). Các chức năng này đều giống nhau cho IPv6 và IPv4.
- Flow label (20 bit): cho phép một luồng cụ thể của traffic phải được dán
nhãn. Nó có thể được sử dụng cho kỹ thuật chuyển mạch đa lớp và acket- switching nhanh hơn, cung cấp các kiểu QoS.
- Payload Length (16 bit): tương tự như trường Total Length trong IPv4. Nó
xác định độ dài của tải trọng, theo byte, mà các gói tin được đóng gói.
- Next Header (8 bit): Chỉ có trong gói tin IPv6. Nó có thể là một gói tin lớp
Transport, chẳng hạn như TCP hay UDP, hoặc nó có thể là một header mở rộng. Trường này cũng tương tự như trường Protocol trong IPv4.
- Hop Limited (8 bit): Chỉ định số lượng tối đa của các hop mà một gói tin IP có
thể đi qua. Mỗi hop hoặc router giảm trường này của một đơn vị(tương tự như trường Time To Live [TTL] trong IPv4). Vì không có kiểm tra IPv6 header, router có thể làm giảm các trường mà không cần tính toán lại việc tổng kiểm tra. Tính toán lại chi phí đòi hỏi thời gian tiến trình trên router IPv4. - Source Address (128 bit): mang địa chỉ IPv6 nguồn của gói tin.
- Destination Address (128 bit): mang địa chỉ IPv6 đích của gói tin. 3.2.8 Các tiêu đề mở rộng của IPv6
Có nhiều loại header mở rộng. Khi nhiều header mở rộng được sử dụng trong cùng một gói tin, thứ tự của tiêu đề nên được xác định như sau:
- Tiêu đề IPv6 cơ bản: header mô tả như hình dưới
.
Hình 3.4: Thứ tự các header trong gói tin IPv6
- Tiêu đề Hop – by – hop: Khi sử dụng cho việc cảnh báo router (Resource
[MLDv1]) và jumbogram, header này (giá trị bằng 0) được xử lý bởi tất cả các hop trên đường đi của một gói tin. Khi đó, header tùy chọn hop-by-hop luôn theo gói tin header IPv6 cơ bản.
- Tiêu đề Destination (được dùng khi có sử dụng tiêu đề routing): Header này
(giá trị = 60) theo bất kỳ header tùy chọn hop-by-hop nào, trong trường hợp các header đích đến tùy chọn đích đến được xử lý tại các điểm đến cuối cùng và cũng có thể ở mỗi địa chỉtruy cập quy định bởi một header định tuyến.Ngoài ra, các header đích đến tùy chọn có thể theo bất kỳ Encapsulating Security Payload (ESP) header nào, trong trường hợp các header đích đến tùy chọn được xử lý chỉ ở điểm đến cuối cùng. Ví dụ, mobile IP sử dụng header này.
- Tiêu đề Routing: Được sử dụng cho định tuyến nguồn và IPv6 di động giá trị
bằng 43.
- Tiêu đề Fragment: Được sử dụng khi một nguồn phải chia nhỏ một gói lớn
hơn MTU của đường đi giữa bản thân và một thiết bị đích. Các fragment header được sử dụng trong mỗi gói tin bị phân mảnh.
- Tiêu đề AH và ESP: Được sử dụng trong IPsec để cung cấp xác thực, tính toàn
vẹn và bảo mật của một gói tin.Các header xác thực (giá trị bằng 51) và header ESP (giá trị bằng 50) là giống hệt nhau cho IPv4 và IPv6.
- Tiêu đề Upper-layer: Header tiêu biểu sử dụng bên trong một gói để vận
chuyển dữ liệu. Hai giao thức giao thông chính là TCP (giá trị bằng 6) và UDP (giá trị bằng 17).
3.3 Cấu trúc địa chỉ IPv6
3.3.1 Cách biểu diễn IPv6
Địa chỉ IPv6 có sự khác biệt rất lớn so với địa chỉ IPv4 không chỉ về kích thước mà còn khác nhau về cách thể hiện dưới dạng số Hexa
Địa chỉ IPv6 dài 128 bit chia thành 8 phần ở dạng số Hexa được phân cách bởi dấu 2 chấm (:). Mỗi phần phần của nó có độ dài 16 bit, IPv6 sự dụng dạng hiển thị thập lục phân và không phân biệt chữ hoa hay chữ thường.
Trong đó X là dạng Hexa 16 bit.
Ví dụ: 0020:0003:2014:0021:0030:09C0:876A:130B Một số quy tắc rút gọn địa chỉ IPv6
Địa chỉ IPv6 có chiều dài 128 bit nên vấn đề nhớ địa chỉ là hết sức khó khăn. Có thể rút gọn địa chỉ IPv6 theo các quy tắc sau:
- Cho phép bỏ qua những số 0 đứng trước mỗi thành phận hệ 16.
Ví dụ:
0000 0; 0008 8
- Thay thế nhiều nhóm số 0 thành một dấu “::” và dấu “::” chỉ được dùng duy nhất một lần trong mỗi địa chỉ IPv6.
Ví du:
2031:0000:130F:0000:0000:09C0:876A:130B 2031:0:130F::9C0:876A:130B
2031::130F::9C0:876A:130B (sai) FF01: 0:0:0:0:0:0:1 FF01:: 1. 3.3.2 Các loại địa chỉ IPv6
Cấu trúc địa chỉ IPv6 được xác định trong nhiều RFC, bao gồm RFC 3513 và RFC mới 4291 (obsoletes RFC 3513). Mỗi RFC định nghĩa ba loại địa chỉ IPv6
Địa chỉ Unicast: Thiết lập địa chỉ cho một interface. IPv6 có nhiều loại( ví dụ
global và IPv4 mapped).
Địa chỉ Multicast: Một tới nhiều. Kích hoạt nhiều cách dùng hiệu quả của
mạng. Sử dụng cho một mạng lớn.
Địa chỉ Anycast: Một đến gần nhất (mở rộng từ unicast). Nhiều thiết bị chia
sẽ một địa chỉ. Tất cả các node anycast phải cung cấp môt dịch vụ đồng nhất. Thiết bị nguồn gởi gói tin đến địa chỉ anycast. Router quyết định các thiết bị gần nhất để tìm đích đến.
Tất cả các interface được yêu cầu phải có ít nhất một địa chỉ unicast link local. Tuy nhiên, một tính năng cơ bản của IPv6 là một interface duy nhất cũng có thể có nhiều địa chỉ IPv6 của bất kỳ loại nào(unicast, anycast, và multicast).
3.3.3 Địa chỉ Unicast
Một địa chỉ unicast xác định một thiết bị duy nhất. Một gói tin gửi đến một địa chỉ unicast được chuyển đến interface được xác định bởi địa chỉ đó.
Có hai loại địa chỉ unicast:
- Địa chỉ unicast Link-local: Phạm vi được cấu hình là một liên kết duy nhất.
Địa chỉ là duy nhất cho liên kết này, và nó không phải là định tuyến ra liên kết. - Địa chỉ unicast global: Trên toàn cầu, do đó, nó có thể được định tuyến trên
toàn cầu không có sửa đổi. Một địa chỉ global có một phạm vi không giới hạn trong mạng Internet trên toàn thế giới. Các gói tin với nguồn toàn cầu và địa chỉ đích được định tuyến đến đích của họ bằng các bộ định tuyến trên Internet.
Global Unicast Address
Được sử dụng để định danh Interface, cho phép thực hiện kết nối các host trong mạng Internet IPv6 toàn cầu. Ý nghĩa của nó cũng giống địa chỉ Puclic IPv4.
Bảng 3.3: Cấu trúc địa chỉ IPv6 Global Unicast Address
FP = 001: format prefix TLA: Top Level Aggregate NLA: Next Level Aggregate SLA: Site Level Aggregate
Link Local
Bảng 3.4: Cấu trúc địa chỉ IPv6 Link Local
10 bit 54 bit 64 bit
1111111010 0000……..0000 Interface ID
Dùng để giao tiếp các neighbor giao tiếp với nhau trên cùng một liên kết.
Địa chỉ Link – local Unicast luôn bắt đầu bởi Prefix FE80::/64, kết thúc là 64 bit Interface ID dùng để phân biệt các Host trong một Subnet. Những địa chỉ này chỉ được định nghĩa trong phạm vi kết nối point – to – point.
Quy tắc định tuyến đối với loại địa chỉ này là Router không thể chuyển bất kỳ gói tin nào có địa chỉ nguồn hoặc đích có địa chỉ là địa chỉ Link – local.
Site Local
Bảng 3.5: Cấu trúc địa chỉ IPv6 Site Local
10 bit 38 bit 16 bit 64 bit
1111111011 0000….0000 Subnet ID Interface ID
Dùng để liên kết các node trong cùng một Site mà không xung đột với các địa chỉ Global. Các gói tin mang loại địa chỉ này trong IP Header, Router sẽ không chuyển ra mạng ngoài.
3 bit 13 bit 8 bit 24 bit 16 bit 64 bit
Địa chi Site Local Unicast luôn bắt đầu với Prefix FEC0::/48 theo sau là 16 bit Subnet ID, người dùng có thể dùng 16 bit này để phân cấp cho hệ thống mạng. Cuối cùng là 64 bi Interface ID dùng để phân biệt các Host trong cùng 1 Subnet.
3.3.4 Địa chỉ Anycast
IPv6 cũng xác định một loại địa chỉ mới được gọi là anycast. Một địa chỉ anycast xác định một danh sách các thiết bị hoặc các nút, do vậy, một địa chỉ anycast xác định nhiều interface.
Một gói tin gửi đến một địa chỉ anycast được chuyển đến interface gần nhất, theo quy định của giao thức định tuyến sử dụng.
Địa chỉ Anycast là cú pháp không thể phân biệt từ các địa chỉ unicast toàn cầu, bởi vì địa chỉ anycast được phân bổ từ không gian địa chỉ unicast toàn cầu.
Bảng 3.6: Cấu trúc địa chỉ IPv6 Anycast
n bit (128 – n ) bit
Subnet Prefix 0000…..0000
Địa chỉ Anycast được gán cho một nhóm các Interface. Những gói tin có địa chỉ đích là một địa chỉ Anycast sẽ được gửi đến node gần nhất mang địa chỉ này. Khái niệm gần nhất ở đây dựa vào khoảng cách gần nhất được xác định qua giao thức định tuyến được sử dụng.
Sử dụng địa chỉ Anycast, giao tiếp với máy gần nhất nên tiết kiệm được thời gian và băng thông.
Địa chỉ Anycast không có các tầm địa chỉ được định nghĩa riêng như Multicast, mà nó giống như địa chỉ Unicast, chỉ có khác là có thể nhiều máy cũng được đánh số với cùng scope trong cùng một khu vực xác định. Anycast được sử dụng trong các ứng dụng như DNS.
3.3.5 Địa chỉ Multicast
IPv6 không có địa chỉ broadcast. Broadcast trong IPv4 có một số vấn đề: Nó tạo ra một số gián đoạn trên mọi máy tính trong mạng, và trong một số trường hợp, gây ra trục trặc mà hoàn toàn có thể ngưng trệ toàn bộ mạng. Sự kiện đó được gọi là "bão broadcast".
Broadcast được thay thế bởi địa chỉ multicast. Multicast cho phép hoạt động của mạng hiệu quả bằng cách sử dụng các nhóm multicast chức năng cụ thể để gửi yêu cầu tới một số giới hạn các máy tính trên mạng. Một gói tin gửi đến một địa chỉ multicast được gửi đến tất cả interface xác định bởi địa chỉ đó.
Phạm vi của địa chỉ multicast trong IPv6 là lớn hơn so với IPv4. Trong tương lai gần, phân bổ của các nhóm multicast không hạn chế.
Bảng 3.7: Cấu trúc địa chỉ IPv6 Multicast
8 bit 4 bit 4 bit 112 bit
11111111 Flag Scope Group ID
Một đỉa chỉ Multicast có thể được gán cho một nhóm Interface. Một gói tin khi chuyển đến địa chỉ multicast sẽ được chuyển đến tất cả các node trong mạng địa chỉ Multicast này.
Địa chỉ Multicast luôn bắt đầu bởi một Prefix 8 bit là 11111111. Flag có cấu trúc là 000T.
Trong đó:
- 3 bit thứ tự cao được dự trữ và được xác lập ở giá trị 0.
- T = 0: địa chỉ Multicast “well – known”, địa chỉ này được phân bổ bởi Global Internet Numbering Authority. Và được phân bổ ổn định.
Scope (4 bit): được dùng để xác định phạm vi của nhóm địa chỉ Multicast. Ý nghĩa của các giá trị trong scope như sau:
- 0: Chưa sử dụng - 1: Node – Local - 2: Link – Local - 3: Chưa sử dụng - 4: Chưa sử dụng - 5: Site – Local - 6: Chưa sử dụng - 7: Chưa sử dụng - 8: Organization – local - 9: Chưa sử dụng - A: Chưa phân bổ - B: Chưa phân bổ - C: Chưa sử dụng - D: Chưa sử dụng - E: Global - F: Chưa sử dụng
Group ID: Xác định nhóm multicast trong phạm vi một scope. Địa chỉ multicast cấp phát cố định hoàn toàn độc lập với giá trị được xác lập trong trường Scope.
3.3.6 Một số địa chỉ đặc biệt
Địa chỉ không xác định 0: 0: 0: 0: 0: 0: 0: 0. Địa chỉ này giống với địa chỉ 0.0.0.0 trong IPv4.
Địa chỉ Loopback: 0:0:0:0:0:0:0:1. Địa chỉ này giống địa chỉ 127.0.0.1 trong IPv4.
Địa chỉ Ipv4 – embeddel IPv6. Loại địa chỉ này được sử dụng trong cơ chế
Automatic Tunneling, một cơ chế sử dụng trong quá trình chuyển đổi từ IPv4 sang
IPv6. Địa chỉ loại này cấu tạo bởi Prefix 96 bit 0, 32 bit còn lại lấy từ địa chỉ IPv4 hoàn chỉnh. Khi Node IPv6 truyên thông với nhau qua Automatic Tunneling, địa chỉ IPv4
của Tunneling sẽ được tách ra từ địa chỉ IPv4 - embedded IPv6.
Ví dụ: IPv4 10.0.05
Ta có thể giữ nguyên chấm thập phân của phần cuối. Trong trường hợp này, địa chỉ có thể được viết lại ::10.0.0.5
3.4 Các giải pháp triển khai IPv6 trên nền IPv4
Việc chuyển đổi từ IPv4 sang IPv6 không yêu cầu một bản nâng cấp trên tất cả các node cùng một lúc. Nhiều quá trình chuyển đổi cơ chế cho phép tích hợp trơn tru của IPv4 sang IPv6. Có những cơ chế có sẵn cho phép các nút IPv4 để giao tiếp với các node IPv6. Tất cả những cơ chế có thể được áp dụng cho các tình huống khác nhau.
Hai kỹ thuật phổ biến nhất để chuyển đổi từ IPv4 sang IPv6 là như sau: - Dual stack
- Tunneling - NAT – PT
Hình 3.6: Cơ chế chuyển đổi IPv6 sang IPv4
3.4.1 Cisco IOS Dual Stack
Dual stack là một phương pháp hội nhập mà một node đã thực hiện và kết nối với cả hai mạng IPv4 và IPv6, và do đó node có hai ngăn xếp. Cấu hình này có thể được thực hiện trên interface tương tự hoặc nhiều interface.
Ý tưởng của giải pháp này là mỗi Router cài đặt cả 2 giao thức IPv4 và IPv6 cùng hoạt động.
Những node này hỗ trợ cả 2 giao thức, có thể làm việc với node IPv4 thuần túy và node IPv6 thuần túy. Hạn chế của giải pháp này là phải gán thêm một địa chỉ IPv4 với mỗi node IPv6 mới.
Hầu hết các phiên bản mới của phần mềm Cisco IOS đều có sẵn IPv6.Ngay sau khi cấu hình cơ bản IPv4 và IPv6 được hoàn thành trên interface, interface được dual-stack, và nó chuyển tiếp lưu lượng IPv4 và IPv6.
Sử dụng IPv6 trên một router Cisco IOS yêu cầu bạn sử dụng ipv6 unicast- routing.
Lệnh này cho phép chuyển tiếp của các datagram IPv6.
Tất cả các interface chuyển tiếp lưu lượng IPv6 phải có một địa chỉ IPv6.Câu lệnh ipv6 address [IPv6-address] [/prefix length] xác định một mạng IPv6 được gán cho interface và kích hoạt xử lý IPv6 trên interface.
Hình 3.7: Cơ chế giải pháp Dual Stack
3.4.2 Tunneling
Cơ chế này thực hiện đóng gói tin IPv6 vào một gói theo chuẩn giao thức IPv4 để có thể chuyển gói tin qua mang IPv4 thuần túy. Trong trường hợp này, mạng xem như đó là một gói tin IPv4 bình thường.
Hình 3.8: Cơ chế giải pháp Tunneling
IETF đã giới thiệu 2 phương pháp để tạo đường hấm cho các Site IPv6 kết nối với nhau xuyên qua hạ tầng mạng IPv4: Automatic Tunneling và Configured Tunneling.
Automatic Tunneling: địa chỉ cuối cùng trong Tunnel là địa chỉ IPv4- compatible IPv6.
Configured Tunneling: địa chỉ cuối cùng trong Tunnel được xác định nhờ thông tin cấu hình tại các node thực hiện đóng, mở gói tin IPv6 thành gói tin IPv4 và ngược lại.
3.4.3 NAT – PT
NAT – PT: Network Address Translation – Protocal Translation là một cơ chế dịch giữa một mạng IPv6 và một mạng IPv4. Chuyển gói IPv6 vào trong các gói IPv4 và ngược lại.
Static NAT-PT sử dụng các quy tắc chuyển đổi tĩnh để biến địa chỉ IPv6 thành địa chỉ IPv4. Nút mạng IPv6 truyền thông với các nút mạng IPv4 sử dụng mapping IPv6 thành IPv4 cấu hình trên router NAT-PT.
Hình 3.9: Cơ chế giải pháp NAT – PT
Hình trên cho thấy các nút chỉ có IPv6 (Node A) có thể giao tiếp với các node chỉ có IPv4 (Node D) bằng cách sử dụng NAT-PT. Các thiết bị NAT-PT được cấu hình để map địa chỉIPv6 nguồn cho nút A của 2001:0 db8: bbbb: 1:: 1 đến địa chỉ IPv4 192.0.2.2. NAT-PT cũng được cấu hình để map địa chỉ nguồn của nút C IPv4, 192.0.30.1 đến 2001:0 db8:: a. Khi các gói tin với một địa chỉ nguồn IPv6 của Node