Địa chỉ IP phiên bản 6 (IP version 6)

Một phần của tài liệu Nghiên cứu các vấn đề về kỹ thuật, công nghệ của ISP (Trang 25 - 28)

IP phiên bản 6 (IPv6) là bước phát triển tiếp theo của IPv4, các tính năng của IPv4 đều được giữ lại trong IPv6. IPv6 (Internet Protocol version 6) được công bố chính thức vào ngày 14 tháng 7 năm 1999 bởi IANA (Internet Assigned Numbers Authority). IPv4 bao gồm 32 bit, theo lý thuyết có thể cung cấp không gian 232 =4.294.967.296 địa chỉ, IPv6 có 128 bit địa chỉ theo lý thuyết có thể cung cấp không gian 2128 địa chỉ, số lượng địa chỉ này cực lớn có thể cung cấp cho toàn bộ nhu cầu về đánh địa chỉ của loài người. Nhu cầu hiện tại chỉ cần khoảng 15% khoảng địa chỉ IPv6, còn lại để dự phòng.

Việc đưa ra IPv6 nhằm tới các mục đích sau: + Mở rộng khoảng địa chỉ và định tuyến. + Tự động cấu hình.

+ Các khả năng xác thực và bảo mật.

Địa chỉ IPv6 là các số định danh (identifier) 128 bits cho các giao diện hoặc tập hợp các giao diện. Các địa chỉ IPv6 được chia là 3 loại:

+ Unicast (địa chỉ đơn hướng):Là số định danh cho một giao diện đơn. Khi một gói được gửi đến unicast address, gói đó sẽ được chuyển trực tiếp đến giao diện định dạng qua địa chỉ này.

+ Anycast (Địa chỉ bất kỳ hướng nào):Là số định danh cho một tập hợp các giao diện, thường là thuộc về các nút khác nhau. Khi một gói được gửi đến một anycast address, gói đó sẽ được chuyển đến một địa chỉ gần nhất ứng trong tập hợp đó với khoảng cách được đo bởi giao thức định tuyến (routing protocol).

+ Multicast (Địa chỉ đa hướng): là số định danh cho một tập hợp các giao diện, thường là thuộc về các nút khác nhau. Khi một gói được gửi đến một multicast address, gói này sẽ được chuyển đến tất cả các giao diện được định dạng bởi địa chỉ này.

Trong IPv6 không còn tồn tại broadcast address nữa vì chức năng của loại địa chỉ này đã được thay thế bởi các multicast address. Trong tài liệu này mỗi trường trong địa chỉ được gán cho một tên nhất định, ví dụ "subscriber". Nếu như tên này được sử dụng cùng với từ ID (idendifier), ví dụ "subscriber ID", thì nó ám chỉ nội dung của trường có tên đó. Nếu như tên được sử dụng cùng với từ "prefix", ví dụ "subscriber prefix", thì nó ám chỉ tất cả các địa chỉ tới và chứa trường này (it refers to all of the address up to and including this field).

Trong IPv6 tất cả các số 0 và tất cả các số 1 đều là những giá trị hợp lệ cho một trường nào đó, trừ khi chúng bị loại trừ ra một cách rõ ràng. Ngoài ra các tiếp đầu (prefix) có thể các trường có giá trị 0 hoặc là kết thúc bởi 0.

* Mô hình đánh địa chỉ

Các địa chỉ IPv6 của tất cả các loại được gán cho các giao diện (interface), không gán cho nút (node). Một địa chỉ IPv6 loại Unicast được gán cho một giao diện đơn, vì mỗi một giao diện thuộc về một nút đơn, do đó mỗi địa chỉ unicast định danh một giao diện sẽ định danh một nút.

Một giao diện đơn có thể được gán cho nhiều địa chỉ IPv6 của bất kỳ loại nào như unicast, anycast hay multicast hoặc là một phạm vi (scope), nhưng nhất thiết một giao diện phải được gán một địa chỉ IPv6 unicast kết nối cục bộ (link-local unicast address). Các địa chỉ đơn có phạm vi lớn hơn phạm vi kết nối (link-scope) là không cần thiết cho các giao diện, khi các giao diện này không được sử dụng cho nguồn hoặc đích của các gói IPv6 đến hoặc từ bên ngoài (non- neighbors). Điều này đôi khi rất thuận tiện cho các giao diện điểm tới điểm (poit-to-point). Có một ngoại lệ trong mô hình đánh địa chỉ này:

Một địa chỉ đơn hoặc một tập hợp các địa chỉ đơn có thể được gán cho nhiều giao diện vật lý, nếu như việc xử lý các giao diện vật lý này như là một giao diện khi "trình" nó với lớp Internet (mô hình TCP/IP). Điều này rất hữu ích cho việc phân tải giữa các giao diện vật lý.

Hiện tại IPv6 vẫn tiếp diễn mô hình IPv4, tức là một tiếp đầu mạng con (subnet prefix) được giao kết với một kết nối. Nhiều tiếp đầu mạng con có thể gán cho một kết nối duy nhất.

* Biểu diễn địa chỉ dưới dạng văn bản

Có 3 hình thức thông dụng để biểu diễn địa chỉ IPv6 dưới dạng chuỗi văn bản:

- Hình thức ưa thính x:x:x:x:x:x:x:x, trong đó x là các giá trị thục lập phân của các phần 16 bit của một địa chỉ

Ví dụ: FEDC:BA98:7654:3210:FEDC:BA98:7654:3210 1080:0:0:0:8:800:200C:417A

Lưu ý: không phải viết các số 0 đi đầu trong từng trường, nhưng phải có ít nhất một chữ số ở trong một trường, ngoại lệ trường hợp mô tả ở 2

- Quy tắc rút gọn theo quy ước về cách viết dấu “:”, trong một địa chỉ, một nhóm liên tiếp các số 0 có thể được thay bằng dấu “:”

Ví dụ: 1080::8:800:200C:417A

Quy tắc này chỉ sử dụng một lần với một địa chỉ (dấu “::” chỉ xuất hiện 1 lần).

- Sự lựa chọn thứ 3, nhiều khi rất tiện lợi khi phải làm việc trong một môi trường hỗn hợp giữa IPv4 và IPv6, x:x:x:x:x:x.d.d.d.d. Trong đó 'x' là các giá trị thập lục phân của 6 phần 16 bits đầu tiên của địa chỉ IPv6, còn 'd' là các giá trị thập phân của 4 phần 8 bits, phần còn lại của địa chỉ IPv6, tương ứng với một địa chỉ IPv4.

* Biểu diễn các tiếp đầu địa chỉ dưới dạng văn bản

Việc biểu diễn các tiếp đầu địa chỉ IPv6 tương tự như cách biểu diễn tiếp đầu địa chỉ IPv4 (được mô tả trong CIDR). Một tiếp đầu địa chỉ IPv6 được diễn tả dưới hình thức:

Địa chỉ IPv6/độ dài tiếp đầu

Trong đó địa chỉ IPv6 là một địa chỉ được biểu diễn dưới bất kỳ một hình thức nào được mô tả ở phần trước, độ dài tiếp đầu là một giá trị thập phân hoạch định bao nhiêu bits, tính từ phía trái trên cơ sở liên tục, của một địa chỉ là tiếp đầu của địa chỉ đó.

Các ví dụ dưới đây đều hợp lệ để biểu diễn tiếp đầu 60 bit 12AB00000000CD3 (hexadecimal):

12AB:0000:0000:CD30:0000:0000:0000:0000/60

12AB::CD30:0:0:0:0/60 hoặc 12AB:0:0:CD30::/60

Khi viết cả hai, địa chỉ nút và tiếp đầu của một địa chỉ nút, ví dụ tiếp đầu mạng con của một nút, cả hai được kết hợp như sau: (adsbygoogle = window.adsbygoogle || []).push({});

Địa chỉ nút 12AB:0:0:CD30:123:4567:89AB:CDEF và số của mạng con 12AB:0:0:CD30::/60

có thể viết gọn lại 12AB:0:0:CD30:123:4567:89AB:CDEF/60

* Biểu diễn loại địa chỉ

Mỗi loại địa chỉ IPv6 được biểu thị bởi các bits đứng đầu trong một địa chỉ. Trường có độ dài thay đổi bao gồm các bits đứng đầu này được gọi là tiếp đầu khổ hay format prefix (FP).

Sự phân bổ này hỗ trợ sự phân chia trực tiếp các địa chỉ kết hợp (aggregation address), các địa chỉ sử dụng cục bộ, và các địa chỉ multicast; khoảng trống được để dành cho các địa chỉ NSAP và IPX. Phần còn lại của khoảng địa chỉ không xác định dành cho sự sử dụng trong tương lai.

Các địa chỉ gửi đi một nơi được phân biệt với các địa chỉ gửi đi đa nơi bởi giá trị của của bộ tám octet cao nhất: giá trị FF (11111111) định dạng một địa chỉ là một địa chỉ gửi đi đa nơi; bất kỳ một giá trị nào khác định dạng một địa chỉ gửi đi một nơi. Các địa chỉ gửi đi đâu đó được lấy trong vùng của địa chỉ gửi đi đa nơi và không phân biệt với địa chỉ gửi đi đa nơi qua cách viết.

* Địa chỉ IPv6 kèm với địa chỉ IPv4

Cơ cấu chuyển tiếp (transition mechanism) của IPv6, định nghĩa trong RFC 1993, bao gồm một kỹ thuật để cho các host và router tự động chuyển xuyên qua (dynamical tunnel) các gói IPv6 trên cơ sở hạ tầng của IPv4. Các nút IPv6 sử dụng kỹ thuật này được gán cho các địa chỉ đơn đặc biệt có thể vận chuyển các địa chỉ IPv4 ở 32 bits thấp. Loại địa chỉ này được gọi là các địa chỉ IPv4 tương thích (IPv4-compatible).

Loại địa chỉ IPv6 thứ 2 có thể giữ các địa chỉ IPv4 cũng được đưa ra. Địa chỉ này được sử dụng để biểu diễn các nút riêng cho IPv4 (IPv4-only nodes). Mặc dù các địa chỉ này là địa chỉ IPv6 nhưng lại không hỗ trợ IPv6. Nó được gọi là địa chỉ IPv6 ánh xạ IPv4 (IPv4-mapped IPv6).

* Địa chỉ Local Unicast

Giống như IPv4 sử dụng một loại địa chỉ đặc biệt để định danh các host trong mạng riêng, IPv6 có 2 loại địa chỉ unicast hỗ trợ các liên kết cục bộ trong mạng, đó là loại địa chỉ link-local address (sử dụng trên một kết nối đơn) và site-local address (kết nối các site với nhau).

* Bảo mật trong IPv6

IPv6 cung cấp cơ chế bảo mật đối với từng gói dữ liệu IP nếu có yêu cầu bằng cách sử dụng 2 loại header: Authentication Header và Encrypted Security Payload Header.

+ Authentication Header: Mục đích của header này là đảm bảo sự toàn vẹn của dữ liệu. Vùng dữ liệu của header này sẽ chứa kết quả checksum của dữ liệu, header và một số key. Độ dài của dữ liệu này phụ thuộc vào thuật toán mã hoá và có thể thay đổi. Nơi nhận sẽ mã hoá dữ liệu nhận được, header và key cũng bằng thuật toán mã hoá và khớp với dữ liệu trong header này. Trước đây, việc tính checksum thường sử dụng những thuật toán khá “lỏng” cho nên những hacker có thể có khả năng sửa đổi lại dữ liệu mà vẫn giữ nguyên được checksum. Đối với IPv6 sử dụng thuật toán MD5-128bit để tính checksum, khá an toàn và hay được sử dụng trong các giao thức truyền tin mức cao hiện nay. Việc sử dụng những phương thức khoá khác cao cấp hơn cũng được đề cập tới và dễ dàng thay đổi dựa vào trường thông tin trong header này.

+ Encrypted Security Payload Header: Authentication header chỉ có thể được đảm bảo tính toàn vẹn của dữ liệu, tuy nhiên, nó không che được dữ liệu khi có kẻ muốn xâm nhập. Vì vậy, Encrypted Security Payload header sẽ đảm nhiệm chức năng này. Có nhiều thuật toán mã hoá được dùng, trong đó có DES-CBC.

Sự an toàn tin cậy của bất kỳ hình thức nào cũng làm cho hệ thống chậm đi, IPv6 không tránh khỏi tình trạng đó, thuật toán mã hoá càng phức tạp, càng khó phá thì tốc độ xử lý dữ liệu của tầng IP càng chậm.

Một phần của tài liệu Nghiên cứu các vấn đề về kỹ thuật, công nghệ của ISP (Trang 25 - 28)