Bài viết chuyên đề

Đặc tính của địa chỉ IPv6 (CHUYÊN ĐỀ ĐÀO TẠO IPV6 – PHẦN 12)

02/04/2019 09:14:18

Đặc tính của địa chỉ IPv6 (CHUYÊN ĐỀ ĐÀO TẠO IPV6 – PHẦN 12)

1. Tổng quan về đặc tính của địa chỉ IPv6

IPv6 là thủ tục Internet thế hệ sau. IPv6 được phát triển do nguyên nhân về nguy cơ thiếu hụt địa chỉ IPv4. Tuy nhiên, đó không phải là lí do duy nhất. Hoạt động Internet đã đến thời điểm cần có thủ tục Internet ưu việt hơn, đáp ứng được các yêu cầu về dịch vụ càng ngày phong phú trên mạng Internet, cũng như xu hướng tích hợp mạng Internet với mạng viễn thông, cung cấp đa dạng dịch vụ trên một cơ sở hạ tầng mạng thống nhất. Địa chỉ IPv6 có nhiều đặc tính ưu việt, được cải tiến so với thế hệ thủ tục trước IPv4. Nhiều đặc tính này đã được tiêu chuẩn hóa, cũng còn nhiều đặc tính chưa được tiêu chuẩn hóa hoàn thiện, cần phải tiếp tục phát triển. Nhiều đặc tính được áp dụng rộng rãi và bắt buộc khi IPv6 hoạt động, một số còn chưa được áp dụng rộng rãi. Tuy nhiên có một điểm chắc chắn, địa chỉ IPv6 sẽ được sử dụng, đóng góp trong mạng thế hệ mới, và phát huy những ưu điểm của mình.    

Địa chỉ IPv6 được nhắc đến với những đặc tính sau:

  • Không gian địa chỉ rộng lớn hơn.

Mở rộng không gian địa chỉ là một trong những lí do chính để phát triển thế hệ địa chỉ IPv6. Địa chỉ IPv6 có chiều dài 128 bít, gấp 4 lần chiều dài bít của địa chỉ IPv4. Về lý thuyết, mở rộng không gian địa chỉ từ 4 tỉ lên tới một con số khổng lồ ( 2128 = 3,4 x 1038 ) địa chỉ. Một số nhà phân tích tính toán và kết luận rằng, cho dù sử dụng như thế nào, chúng ta cũng không thể dùng hết địa chỉ IPv6. Trong chính sách quản lý địa chỉ Internet toàn cầu, mục tiêu cơ bản trong quản lý địa chỉ IPv4 là “sử dụng hiệu quả” thì đối với IPv6, mục tiêu này không còn được đặt lên hàng đầu, thay vào đó là “tính tổ hợp”. Song gần đây, nhiều nhà phân tích cho rằng, quản lý địa chỉ IPv6 cần phải thắt chặt hơn, ở thời điểm này chúng ta chưa thể lường trước được mạng Internet sẽ phát triển như thế nào, cũng giống như tại thời điểm ban đầu của IPv4, người ta đã buông lỏng, không quản lý chặt chẽ không gian địa chỉ. Do vậy, gần đây, các chính sách quản lý địa chỉ IPv6 đang được điều chỉnh thích hợp hơn.

  • Phân cấp đánh địa chỉ và phân cấp định tuyến rõ rệt hơn. 

Đối với địa chỉ IPv4, chúng ta có thể sử dụng bất cứ độ dài prefix nào trong phạm vi 32 bít. Việc đánh địa chỉ IPv4 vừa có tính phân cấp, vừa không phân cấp. Chính điều này làm ảnh hưởng tới khả năng tổ hợp định tuyến và đem lại nguy cơ gia tăng bảng thông tin định tuyến toàn cầu. Địa chỉ IPv6 được thiết kế có một cấu trúc đánh địa chỉ và phân cấp định tuyến thống nhất. Ví dụ trong địa chỉ IPv6, 64 bít cuối cùng luôn được sử dụng làm định danh giao diện. /64 là kích thước prefix của một subnet. Phân cấp định tuyến toàn cầu dựa trên một số mức cơ bản đối với các nhà cung cấp dịch vụ. Cấu trúc định tuyến phân cấp rõ rệt giúp cho địa chỉ IPv6 tránh khỏi nguy cơ quá tải bảng thông tin định tuyến toàn cầu với chiều dài địa chỉ lên tới 128 bít. 

  • Đơn giản hóa dạng thức của header. 

IPv6 header có dạng thức mới, không tương thích với header IPv4. Host hoặc router phải thực thi cả IPv4 và IPv6 để có khả năng nhận dạng và xử lý cả hai dạng header. 

Mặc dù chiều dài bít địa chỉ IPv6 gấp 4 lần chiều dài bít IPv4, kích thước header IPv6 chỉ gấp 2 lần IPv4. Những trường không thiết yếu và các tùy chọn (option) được đưa thành phần header mở rộng (extension header) đặt sau header cơ bản. Phần header cơ bản có kích thước cố định, tăng hiệu quả xử lý cho router. Việc thay đổi về IP header option cho phép nâng cao tính linh hoạt, cho phép có thể có những option mới trong tương lai.

  • Khả năng cấu hình địa chỉ tự động và đánh số lại:

Để có thể gán địa chỉ và những thông số hoạt động cho IPv6 host khi nó kết nối vào mạng mà không cần nhân công cấu hình bằng tay, có thể sử dụng DHCPv6. Dạng thức cấu hình địa chỉ này là cấu hình tự động có trạng thái (stateful autoconfiguration). Bên cạnh đó, IPv6 host có khả năng tự động cấu hình địa chỉ và các thông số hoạt động mà không cần có sự hỗ trợ của máy chủ DHCP. Đó là đặc điểm mới trong thế hệ địa chỉ IPv6, là dạng thức cấu hình không trạng thái (stateless autoconfiguration).

 

Hỗ trợ cho chất lượng dịch vụ (Quality-of-service)

IPv6 header có một trường mới Flow Label cho phép định dạng lưu lượng IPv6. Flow Label cho phép router định dạng và cung cấp cách thức xử lý đặc biệt những gói tin thuộc một dòng (flow) nhất định giữa nguồn và đích. Ví dụ, nơi gửi có thể yêu cầu chất lượng dịch vụ khác mặc định cho dịch vụ dạng thời gian thực.

  • Hỗ trợ bảo mật (IP Sec):

Khả năng hỗ trợ bảo mật trong địa chỉ IPv6 sử dụng các header mở rộng authentication và encryption extension header và một số đặc tính khác.

  • Thủ tục mới cho giao tiếp giữa các Node lân cận trên một đường link. 

Trong hoạt động của địa chỉ IPv6, trao đổi, giao tiếp giữa các node trong một đường kết nối là vô cùng quan trọng. Địa chỉ IPv6 có một thủ tục mới, phụ trách hoạt động giao tiếp này, là Neighbor Discovery (ND). ND sử dụng một chuỗi các thông điệp ICMPv6, thực hiện đồng thời các chức năng của các thủ tục sau đây trong địa chỉ IPv4: thủ tục phân giải địa chỉ Address Resolution Protocol (ARP), thủ tục tìm kiếm router ICMPv4 Router Discovery, ICMPv4 Redirect và một số chức năng khác nữa.

  • Khả năng mở rộng (Extensibility)

Địa chỉ IPv6 được thiết kế có tính năng mở rộng. Các tính năng mở rộng được đặt trong một phần header mở rộng riêng (extension header) sau header cơ bản. Không giống như IPv4 header, chỉ có thể hỗ trợ 40 byte cho phần tuỳ chọn (Option), địa chỉ IPv6 có thể dễ dàng có thêm những tính năng mới bằng cách thêm những header mở rộng sau header cơ bản.

2. Quality-of-Service (QoS) trong thế hệ địa chỉ IPv6

Trong hoạt động mạng, "chất lượng - Quality" tức là truyền tải dữ liệu "tốt hơn mức bình thường". Bao gồm: độ mất dữ liệu, trễ (hay còn gọi độ dịch - jitter), băng thông... , nói chung là cách thức sử dụng hiệu quả tài nguyên mạng. "Dịch vụ - Service" là những cái cung cấp cho người sử dụng, có thể là kết nối đầu cuối - đầu cuối, các ứng dụng chủ - khách, truyền tải dữ liệu ....

Một cách lý thuyết, QoS được nhắc đến là phương thức đo đạc cách thức cư xử của mạng (của các router) đối với lưu lượng, trong đó có để ý tới những đặc tính nhất định của những dịch vụ xác định. Thông tin để router thiết lập cách thức cư xử cụ thể đối với gói tin có thể được chuyển tới bằng một thủ tục điều khiển, hoặc bằng chính thông tin chứa trong gói tin.

Có thể thấy đây là một định nghĩa không thật sự rõ ràng, khó có thể phân định thật rạch ròi. Tuy nhiên, có một số khái niệm thông thường trong mọi định nghĩa về QoS. Đó là:

  • Lưu lượng (traffic) và sự phân biệt về dạng thức dịch vụ
  • Người sử dụng có khả năng đối xử khác nhau đối với một hay nhiều loại lưu lượng.

Hỗ trợ QoS trong địa chỉ IPv4

Header của địa chỉ IPv4 có trường Service Type 8 bít có thể giúp phân định mức độ ưu tiên và một số giá trị khác dành cho lưu lượng IPv4 như hình. 3 bít đầu xác định độ ưu tiên (precedence) của gói tin . Với 3 bít, có thể có 8 mức độ ưu tiên khác nhau đối với lưu lượng IPv4. 4 bít tiếp theo được gọi là ToS (Type of Service) giúp xác định dịch vụ và một số các thông số khác như độ trễ, thông lượng, độ tin cậy.

Tuy nhiên, sử dụng các giá trị của Service Type trong việc phân định loại dịch vụ và mức ưu tiên phục vụ cho QoS có một số vấn đề như sau:

  • Trường này cung cấp một mô hình cố định và hạn chế trong việc phân dạng loại dịch vụ
  • Gía trị độ ưu tiên: Chỉ mã hoá một cách tương đối mức ưu tiên

Địa chỉ IPv4 có những hạn chế như sau trong hỗ trợ QoS:

  • Phân mảnh gói tin trong IPv4: Việc thực hiện phân mảnh gói tin tại router là một vấn đề điển hình của IPv4. Nó dẫn đến khả năng làm tắc nghẽn mạng, tiêu tốn bằng thông và CPU của thiết bị.
  • Quá tải về quản lý: ICMPv4 có quá nhiều tuỳ chọn (option)
  • Định tuyến không hiệu quả: Đây cũng là một hậu quả trực tiếp của việc phân mảnh gói tin. Mặc khác, nó cũng do cấu trúc đánh số và quản lý địa chỉ không hoàn toàn phân cấp.

Những yếu tố đó ảnh hưởng đến khả năng hỗ trợ QoS trong IPv4, đặc biệt trong phạm vi rộng lớn.

Hỗ trợ QoS trong địa chỉ IPv6:

Địa chỉ IPv6 được thiết kế có một cấu trúc hỗ trợ tốt hơn cho QoS như hình.

IPv6 header có hai trường dữ liệu Traffic Class (8 bít) và Flow label (20 bít). Một host có thể sử dụng Flow Label và Traffic trong IPv6 header để phân dạng gói tin trong đó host yêu cầu IPv6 router có những cách cư xử đặc biệt nào đó. Ví dụ, host có thể yêu cầu chất lượng dịch vụ khác mặc định cho những dịch vụ thời gian thực. 

Traffic Class: Trường Traffic Class thực hiện chức năng tương tự trường “Service Type” của địa chỉ ipv4. Trường này được sử dụng để biểu diễn mức ưu tiên của gói tin. Node gửi gói tin cần thiết lập giá trị phân loại độ ưu tiên nhất định cho gói tin IPv6, sử dụng trường Traffic Class. Router khi xử lý chuyển tiếp gói tin cũng sử dụng trường này cho mục đích tương tự.

Đối với thế hệ địa chỉ IPv6, trường Traffic Class với số bít nhiều hơn sẽ giúp phân định tốt hơn mức độ ưu tiên cho gói tin. 

Flow Label

Trường Flow label sử dụng để định danh một dòng dữ liệu giữa nguồn và đích. Flow Label được sử dụng trong IPv6 sẽ hỗ trợ tốt hơn thực thi QoS.

Khái niệm một dòng (flow):

Một dòng (flow) là một chuỗi các gói tin được gửi từ một nguồn tới một đích nhất định (có thể là unicast hay multicast). Nguồn sẽ yêu cầu các router có các cư xử đặc biệt đối với các gói tin thuộc một flow. Việc cần phải cư xử như thế nào đối với gói tin có thể được truyền tới router bằng một thủ tục điều khiển, hoặc cũng có thể là thông tin chứa trong chính gói tin của dòng, ví dụ như header mở rộng hop-by-hop của gói tin. 

Giữa một nguồn và một đích có thể có nhiều dòng. Việc kết hợp giữa địa chỉ nguồn và một số Flow label khác 0 sẽ xác định duy nhất một dòng. Những gói tin không thuộc dòng nào cả sẽ được thiết lập toàn bộ các bít Flow Label có giá trị 0.  

Mọi gói tin thuộc cùng một dòng phải được gửi với cùng địa chỉ nguồn, cùng địa chỉ đích, và cùng có một số Flow label khác 0. Router xử lý gói tin sẽ thiết lập trạng thái xử lý đối với một label cụ thể và có thể lựa  chọn lưu trữ thông tin (cache), sử dụng giá trị địa chỉ nguồn và flow label làm khoá. Đối với những gói tin sau đó, có cùng địa chỉ nguồn và giá trị flow label, router có thể áp dụng cách thức xử lý dựa trên thông tin hỗ trợ từ vùng cache.

Một nguồn IPv6 có thể sử dụng 20 bít flow label trong IPv6 header để xác định gói tin gửi đi trong một dòng nhất định, yêu cầu cách thức cư xử đặc biệt của router. Ví dụ nguồn yêu cầu chất lượng dịch vụ không mặc định hoặc dịch vụ thời gian thực.

Tại thời điểm hiện nay, việc sử dụng trường này trong thực thi QoS vẫn nằm ở mức thử nghiệm, các tiêu chuẩn hoá trường này còn chưa hoàn thiện. Hiện nay chưa có một cấu trúc thông dụng cho việc sử dụng nó. IETF đang tiếp tục tiêu chuẩn hoá và đưa ra những yêu cầu rõ ràng hơn cho Internet về hỗ trợ trường Flow Label. Nhiều router, host chưa hỗ trợ việc sử dụng trường label. Đối với những router và host này, toàn bộ các bít của trường label sẽ được thiết lập giá trị 0 và các host, router này bỏ qua trường đó khi nhận được gói tin.  

Bên cạnh những cải tiến trong IPv6 header, cùng với những ưu điểm khác của IPv6 như: không phân mảnh, định tuyến phân cấp, đặc biệt gói tin IPv6 được thiết kế với mục đích xử lý thật hiệu quả tại router. Tất cả tạo ra khả năng hỗ trợ tốt hơn cho chất lượng dịch vụ QoS. Tuy nhiên để đạt tới trạng thái hoàn thiện và sử dụng rộng rãi thống nhất, còn cần thời gian và công sức của những tổ chức nghiên cứu và tiêu chuẩn hoá.

 3. Hỗ trợ tốt hơn về bảo mật (Security) trong thế hệ địa chỉ IPv6

Internet hiện nay gặp nhiều vấn đề về bảo mật. Đó là việc thiếu phương thức hiệu quả để xác thực và bảo vệ tính riêng tư dưới tầng ứng dụng. Trong hoạt động Internet, bảo mật tại tầng IP được thực hiện phổ biến bằng IPSec (Internet Protocol Security). 

Chúng ta sẽ nhắc lại một chút về công cụ thực hiện bảo mật tại tầng IP này.

IPSec: IPSec thực hiện chức năng xác thực nơi gửi và mã hóa đường kết nối, do vậy đảm bảo có kết nối bảo mật. Về cấu trúc, IPSec bao gồm:

  • Hai thủ tục bảo mật Authentication Header (AH) và Encapsulating Security Payload (ESP). 
  • Hai phương thức làm việc: IPSec có hai phương thức làm việc: “tunnel mode” và “transport mode”. Tunnel mode áp dụng IPSec bằng cách thêm một header mới và lấy toàn bộ gói tin IP trước kia làm phần payload. Chế độ này thường được sử dụng trong VPN. Transport mode áp dụng IPSec cho truyền gói tin IP bởi host, được sử dụng cho kết nối end-to-end giữa các node. 
  • CSDL Security Policy Database (SPD) để quản lý chính sách bảo mật và lựa chọn phù hợp với lưu lượng thực.
  • CSDL Security Association Database (SAD) chứa những tham số cần thiết để thiết lập kết nối IPSec và áp dụng IPSec.
  • Các thủ tục để trao đổi khóa: AH và ESP cần các khóa để thiết lập các thuật toán mã hóa và bảo mật. Khóa này có thể được thiết lập theo theo cách nào đó ví dụ thẻ nhớ hay phương thức khác. Tuy nhiên như vậy rất thủ công và khó thực hiện trong hệ thống lớn. Cần phải có hệ thống trao đổi khóa tự động. IPsec đưa ra một thủ tục tiêu chuẩn để thực hiện chức năng này, gọi là Internet Key Exchange (IKE).

IPSec trong IPv6:

Bản thân IPSec hỗ trợ cả địa chỉ IPv4 và IPv6. Tuy nhiên, trong IPv6, thực thi IPSec được định nghĩa như là một đặc tính bắt buộc. Trong IPv4, công nghệ NAT được sử dụng vô cùng rộng rãi. Thiết bị thực hiện NAT can thiệp và thay đổi header của gói tin, điều đó gây cản trở trong việc thực hiện IPSec. Thế hệ địa chỉ IPv6 với không gian địa chỉ vô cùng rộng lớn được mong chờ rằng IPSec sẽ được sử dụng rộng rãi trong các giao tiếp đầu cuối – đầu cuối.

Thực thi IPSec được định nghĩa như một đặc tính bắt buộc của địa chỉ IPv6 khi các thủ tục bảo mật của IPSec được đưa vào thành hai hai đặc tính là hai header mở rộng của địa chỉ IPv6. Đó là Authentication Header (AH) và Encapsulating Security Payload (ESP). Hai header này có thể được sử dụng cùng lúc, hoặc riêng rẽ để cung cấp các mức bảo mật khác nhau cho những người sử dụng khác nhau. 

Authentication Header (AH) cung cấp dịch vụ chứng thực. Mở rộng này hỗ trợ nhiều công nghệ chứng thực khác nhau. Sử dụng AH loại bỏ được nhiều dạng tấn công mạng, bao gồm cả tấn công giả mạo host (host masquerading attack).

Encapsulating Security Payload (ESP) cung cấp dịch vụ bảo đảm tính toàn vẹn và tính tin cậy cho gói tin IPv6. Mặc dù đơn giản hơn một số thủ tục bảo mật tương tự, song ESP vẫn giữ được tính mềm dẻo và không phụ thuộc vào thuật toán.

IPSec phiên bản mới cũng cải tiến thủ tục trao đổi khóa IKE khi có những thay đổi về header và thông điệp trao đổi.

IPSec được coi là một trong những đặc tính cơ bản của địa chỉ IPv6. Chúng ta rất hay gặp những kết luận “IPv6 tăng cường độ bảo mât, IPsec là bắt buộc”. Tuy nhiên tại thời điểm hiện nay, dù nhiều hệ điều hành có hỗ trợ IPSec, việc sử dụng IPSec trong IPv6 cho kết nối end-to-end là chưa phổ biến. Một trong những nguyên nhân là do hiện nay, IPSec được dùng phổ biến để bảo mật kết nối giữa hai site (VPN), chưa được sử dụng cho kết nối Point-to-Point, vốn là một trong những ưu điểm của IPv6. Mô hình kết nối có firewall hiện nay và thói quen sử dụng những thủ tục bảo mật tại tầng ứng dụng khiến cho việc áp dụng IPSec cho kết nối đầu cuối – đầu cuối chưa phổ biến. Nhóm làm việc của IETF vẫn đang thực hiện sửa đổi hoàn thiện các tiêu chuẩn hóa liên quan đến IPSec như về AH, ESP và nỗ lực tiến tới mục đích mọi IPv6 node đều có khả năng IPSec, đưa IPSec phổ dụng cùng với sự phổ biến ngày càng nhiều của địa chỉ IPv6.

Xem tiếp phần 13:  http://waren.vn/chuyen-de/thuc-hanh-quan-sat-giao-tiep-va-hoat-dong-cua-cac-node-ipv6-chuyen-de-dao-tao-ipv6-phan-13.html