Trong hơn hai thập kỷ, chúng ta đã chứng kiến sự phát triển mạnh mẽ và trở nên vô cùng thông dụng của Internet toàn cầu với giao thức IPv4. Khởi đầu từ những mạng nghiên cứu nhỏ đã trở thành mạng Internet toàn cầu mạnh mẽ, to lớn, kết nối phi địa lý, phi khoảng cách. Cùng với sự phát triển vũ bão của máy tính và công nghệ thông tin, kết nối mạng đã trở nên nhanh hơn, mạnh hơn hàng ngàn lần thời kỳ ban đầu, cùng với sự đa dạng của công nghệ truyền dẫn, kết nối và dịch vụ cung cấp trên mạng. Khái niệm mạng thế hệ sau “Next Generation Network” xuất hiện với xu hướng hội nhập mạng viễn thông và Internet ngày càng trở nên rõ nét, nhằm cung cấp một nền tảng cơ sở hạ tầng duy nhất với dịch vụ đa dạng.
Trong bối cảnh phát triển của Internet, giao thức IPv4 với 32 bit địa chỉ vẫn tiếp tục được sử dụng, hiện đang phục vụ tốt cho hoạt động mạng toàn cầu.Tuy nhiên, IPv4 đã bộc lộ một số hạn chế, chẳng hạn : ........... do đó, khiến những nhà nghiên cứu, những tổ chức tiêu chuẩn hóa chịu trách nhiệm về hoạt động mạng toàn cầu nhận thấy cần có sự phát triển lên một tầm cao hơn của giao thức Internet.
Những thập kỷ vừa qua, do tốc độ phát triển mạnh mẽ của Internet, không gian địa chỉ IPv4 đã được sử dụng trên 80%. Những tổ chức quản lý địa chỉ quốc tế đặt mục tiêu “sử dụng hiệu quả” lên hàng đầu. Những công nghệ góp phần giảm nhu cầu địa chỉ IP như NAT, DHCP cấp phát địa chỉ tạm thời được sử dụng rộng rãi. Tuy nhiên, trong thập kỷ vừa qua, nhu cầu địa chỉ tăng rất nhanh. Nguy cơ thiếu hụt địa chỉ IP là rất lớn.
Tài nguyên địa chỉ mạng sắp hết. Điều này đã được cảnh báo từ khá lâu bởi những chuyên gia công nghệ thông tin, đơn giản bởi vì giao thức Internet thông dụng nhất hiện nay là IPv4 chỉ có thể cung cấp địa chỉ mạng, con số này là quá đủ vào thời điểm nó ra đời(1981). Tuy nhiên trong một vài năm trở lại đây với tốc độ phát triển ngày càng cao của khoa học, kỹ thuật và sự gia tăng chóng mặt về số lượng của các thiết bị kỹ thuật số có khả năng kết nối trực tiếp vào mạng toàn cầu thì con số đó là quá nhỏ bé.
Hiện tại IANA là tổ chức phân bổ địa chỉ IPv4 cho các nhà phân phối ở khu vực(RIR). Theo tổ chức này thì vào năm 2009, IANA đã không còn địa chỉ IPv4 để phân bổ nữa. Cho đến thời điểm ngày 15/04/2011, theo thông báo chính thức của Trung tâm thông tin mạng Châu Á – Thái Bình Dương (APNIC) thì số lượng địa chỉ IPv4 phục vụ cho việc cấp phát thông thường đã được cấp phát hết cho khu vực Châu Á.
a.Cấu trúc định tuyến không hiệu quả
Địa chỉ IPv4 có cấu trúc định tuyến vừa phân cấp, vừa không phân cấp. Mỗi bộ định tuyến (router) phải duy trì bảng thông tin định tuyến lớn, đòi hỏi router phải có dung lượng bộ nhớ lớn. IPv4 cũng yêu cầu router phải can thiệp xử lý nhiều đối với gói tin IPv4, ví dụ thực hiện phân mảnh, điều này tiêu tốn CPU của router và ảnh hưởng đến hiệu quả xử lý(gây trễ, hỏng gói tin).
b.Hạn chế về tính bảo mật và kết nối đầu cuối
Trong cấu trúc thiêt kế của IPv4 không có cách thức bảo mật nào đi kèm. IPv4 không cung cấp phương tiện hỗ trợ mã hóa dữ liệu. Kết quả là hiện nay, bảo mật ở mức ứng dụng được sử dụng phổ biến, không bảo mật lưu lượng truyền tải giữa các máy. Nếu áp dụng IPSec là một phương thức bảo mật phổ biến tại tầng IP, mô hình bảo mật chủ yếu là bảo mật lưu lượng giữa các mạng, việc bảo mật lưu lượng đầu cuối được sử dụng rất hạn chế.
Hình 1.1: Mô hình thực hiện NAT của địa chỉ IPv4
Để giảm nhu cầu tiêu dùng địa chỉ, hoạt động mạng IPv4 sử dụng phổ biến công nghệ biên dịch NAT. Trong đó, máy chủ biên dịch địa chỉ can thiệp vào gói tin truyền tải và thay thế trường địa chỉ để các máy tính gắn địa chỉ riêng (private) có thể kết nối vào mạng Internet.
Mô hình sử dụng NAT của địa chỉ IPv4 có nhiều nhược điểm:
- Khó thực hiện được kết nối điểm – điểm và gây trễ: Làm khó khăn và ảnh hưởng tới nhiều dạng dịch vụ(VPN, dịch vụ thời gian thực). Đối với nhiều dạng dịch vụ cần xác thực cổng nguồn/đích, sử dụng NAT là không thể được. Trong khi đó các ứng dụng mới hiện nay, đặc biệt các ứng dụng khách - chủ ngày càng đòi hỏi kết nối trực tiếp đầu cuối.
- Việc gói tin không được giữ nguyên tình trạng từ nguồn tới đích, có những điểm trên đường truyền tải tại đó gói tin bị can thiệp, như vậy tồn tại lỗ hổng về bảo mật
Nếu chúng ta không làm gì cả thì Internet hiện nay vẫn sẽ tồn tại và hoạt động, nhưng sẽ không thể phát triển trừ khi chúng ta dồn hết nhân lực để thiết kế lại các ứng dụng, phần mềm trên các thiết bị truy cập vào Internet. Và như đã nói ở trên, nó sẽ là cả một thảm họa đối với nền công nghiệp nội dung số ở Việt Nam vì không thể cạnh tranh được với các đối thủ nước ngoài.
Như vậy, với nguy cơ thiếu hụt không gian địa chỉ, cùng với những hạn chế của IPv4 thúc đẩy sự đầu tư nghiên cứu một giao thức Internet mới, khắc phục những hạn chế của giao thức IPv4 và đem lại những đặc tính mới cần thiết cho dịch vụ cả cho hoạt động mạng thế hệ tiếp theo.
· Mục tiêu phát triển của IPv6 :
Dựa trên các nhược điểm bộc lộ kể trên, hệ thống IPv6 hay còn gọi là IPng (Next Generation : thế hệ kế tiếp) được xây dựng với các điểm chính như sau :
- Hỗ trợ kết nối đầu cuối và loại bỏ hoàn toàn công nghệ NAT.
- Cung cấp không gian địa chỉ rộng lớn hơn và dễ dàng quản lý.
- Quản trị TCP/IP dễ dàng hơn : DHCP được sử dụng trong IPv4 nhằm giảm cấu hình thủ công TPC/IP cho thiết bị. IPv6 được thiết kế với khả năng tự động cấu hình mà không cần sử dụng máy chủ DHCP, hỗ trợ hơn nữa trong việc giảm cấu hình thủ công.
- Cấu trúc định tuyến tốt hơn: Định tuyến IPv6 được thiết kế hoàn toàn phân cấp.
- Hỗ trợ tốt hơn Multicast: Multicast là một tùy chọn của địa chỉ IPv4, tuy nhiên khả năng hỗ trợ và tính phổ dụng chưa cao.
- Hỗ trợ bảo mật tốt hơn: IPv4 được thiết kế tại thời điểm chỉ có các mạng nhỏ, biết rõ nhau và kết nối với nhau. Do vậy bảo mật chưa phải là một vấn đề được quan tâm. Song hiện nay, bảo mật mạng Internet trở thành một vấn đề lớn, là mối quan tâm hàng đầu.
- Hỗ trợ tốt hơn cho di động: Thời điểm IPv4 được thiết kế, chưa tồn tại khái niệm về thiết bị IP di động. Trong thế hệ mạng mới, dạng thiết bị này ngày càng phát triển, đòi hỏi cấu trúc giao thức Internet có sự hỗ trợ tốt hơn.
Trong IPv6 giao thức Internet được cải tiến một cách rộng lớn để thích nghi được sự phát triển không biết trước được của Internet. Định dạng và độ dài của những địa chỉ IP cũng được thay đổi với những gói định dạng. Những giao thức liên quan, như ICMP cũng đựơc cải tiến. Những giao thức khác trong tầng mạng như ARP, RARP, IGMP đã hoặc bị xoá hoặc có trong giao thức ICMPv6. Những giao thức tìm đường như RIP, OSPF cũng được cải tiến khả năng thích nghi với những thay đổi này. Những chuyên gia truyền thông dự đoán là IPv6 và những giao thức liên quan với nó sẽ nhanh chóng thay thế phiên bản IP hiện thời.
Thế hệ mới của IP hay IPv6 có những ưu điểm như sau:
IPv6 có địa chỉ nguồn và đích dài 128 bít. Mặc dù 128 bít có thể tạo hơn 3,4*1038 địa chỉ, không gian địa chỉ của IPv6 được thiết kế dự phòng đủ lớn cho phép phân bổ địa chỉ và mạng con từ trục xương sống internet đến từng mạng con trong một tổ chức. Các địa chỉ hiện đang phân bổ để sử dụng chỉ chiếm một lượng nhỏ và vẫn còn thừa rất nhiều địa chỉ sẵn sàng cho sử dụng trong tương lai. Với không gian địa chỉ lớn này, các kỹ thuật bảo tồn địa chỉ như NAT sẽ không còn cần thiết nữa. 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.
Để một thiết bị IPv4 có thể kết nối vào Internet, người quản trị mạng phải cấu hình bằng tay các thông số phục vụ cho việc nối mạng như địa chỉ IP, địa chỉ gateway, địa chỉ máy chủ tên miền. Việc này có thể không phức tạp đối với máy tính song với các thiết bị như camera, sensor, thiết bị gia dụng… là vấn đề phức tạp.IPv6 được thiết kế để cho phép thiết bị IPv6 có thể tự động cấu hình các thông số trên khi kết nối vào mạng, từ đó rất linh hoạt và giảm thiểu cấu hình nhân công.
Theo thiết kế, IPv4 không hỗ trợ tính năng bảo mật tại tầng IP. Do vậy, rất khó thực hiện bảo mật kết nối từ thiết bị gửi đến thiết bị nhận. Hình thức bảo mật phổ biến trên mạng IPv4 là bảo mật kết nối giữa hai mạng.
Hình 1.2 : Thực hiện bảo mật kết nối giữa hai mạng trong IPv4
Địa chỉ IPv6 được thiết kế để hỗ trợ bảo mật tại tầng IP nên có thể dễ dàng thực hiện bảo mật từ thiết bị gửi đến thiết bị nhận (end-to-end) .
Hình 1.3: Thực hiện bảo mật kết nối từ thiết bị gửi đến thiết bị nhận trong IPv6
Sự gia tăng của các mạng trên Internet và việc sử dụng ngày càng nhiều địa chỉ IPv4 khiến cho kích thước bảng định tuyến toàn cầu ngày càng gia tăng, gây quá tải, vượt quá khả năng xử lý của các thiết bị định tuyến tầng cao. Một phần lí do của việc gia tăng bảng định tuyến là do IPv4 không được thiết kế phân cấp ngay từ đầu.
Địa chỉ IPv6 được thiết kế có cấu trúc đánh địa chỉ và phân cấp định tuyến thống nhất. 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 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 khi chiều dài địa chỉ lên tới 128 bít.
Các kết nối giữa máy tính tới máy tính trên Internet để cung cấp cho người sử dụng các dịch vụ mạng hiện tại hầu hết là kết nối unicast. Unicast là kết nối giữa một máy tính nguồn và một máy tính đích. Để cung cấp dịch vụ cho nhiều khách hàng, máy chủ sẽ phải mở nhiều kết nối tới các máy tính khách hàng.
Hình 1.4: Kết nối Unicast
Nhằm tăng hiệu năng của mạng, tiết kiệm băng thông, giảm tải cho máy chủ, công nghệ multicast được thiết kế để một máy tính nguồn có thể kết nối đồng thời đến nhiều đích.
Hình 1.5: Kết nối Multicast
Kết nối multicast có nhiều lợi ích kinh tế: Do không bị lặp lại thông tin, băng thông của mạng sẽ giảm đáng kể. Đặc biệt với các ứng dụng truyền tải thông tin rất lớn như truyền hình (IPTV), truyền hình hội nghị (video conference), ứng dụng đa phương tiện (multimedia). Máy chủ không phải mở nhiều kết nối tới nhiều đích nên sẽ phục vụ được lượng khách hàng rất lớn.
Tuy có nhiều lợi ích, song multicast hầu như chưa được triển khai trong mạng IPv4. Nguyên nhân do cấu hình và triển khai multicast với IPv4 rất khó khăn phức tạp.
Dễ dàng thực hiện multicast là một ưu điểm được nhắc đến rất nhiều của địa chỉ IPv6. Sử dụng địa chỉ IPv6, các ứng dụng như IPTV, video conference, multimedia sẽ dễ dàng triển khai với công nghệ multicast. Thực tế thử nghiệm tại nhiều nước cũng cho thấy điều này. Địa chỉ IPv6 cũng hỗ trợ tốt hơn cho các mạng di động. Do vậy, IPv6 được ứng dụng trong các mạng di động mới, như thế hệ 3G.
Những cải tiến trong thiết kế của IPv6 như: không phân mảnh, định tuyến phân cấp, gói tin IPv6 được thiết kế với mục đích xử lý thật hiệu quả tại thiết bị định tuyến tạo ra khả năng hỗ trợ tốt hơn cho chất lượng dịch vụ QoS.
Khi phát triển phiên bản địa chỉ mới, IPv6 hoàn toàn dựa trên nền tảng IPv4. Nghĩa là hầu hết những chức năng của IPv4 đều được tích hợp vào IPv6. Tuy nhiên, IPv6 đã lược bỏ một số chức năng cũ và thêm vào những chức năng mới tốt hơn. Ngoài ra IPv6 còn có nhiều đặc điểm hoàn toàn mới.
Một địa chỉ IPv6 gồm có 16 byte = 128 bit. 128 bit của IPv6, được chia ra thành 8 Octet, mỗi Octet chiếm 2 byte (4 bit), gồm 4 số được viết dưới dạng hệ cơ số Hexa, và mỗi nhóm được ngăn cách nhau bằng dấu hai chấm.
Hình 1.6 Địa chỉ IP phiên bản 6
IPv6 là một địa chỉ mới nên chúng ta không xài hết 128 bit, vì vậy sẽ có nhiều số 0 ở các bit đầu nên ta có thể viết rút gọn để lược bỏ số 0 này.
Ví dụ ta có địa chỉ : 1080:0000:0000:0000:0008:0800:200C:417A.
- Ta có thể viết 0 thay vì phải viết là 0000, viết 8 thay vì phải viết 0008, viết 800 thay vì phải viết là 0800.
Hình 1.7 Sự rút gọn địa chỉ IPv6
- IPv6 còn có một nguyên tắc nữa là chúng ta có thể nhóm các số 0 lại thành 2 dấu hai chấm “::”, địa chỉ ở trên, chúng ta có thể viết lại như sau: 1080::8:800:200C:417A
Qua ví dụ trên, ta sẽ rút ra được 2 nguyên tắc:
- Trong dãy địa chỉ IPv6, nếu có số 0 đứng đầu có thể loại bỏ. Ví dụ 0000 sẽ được viết thành 0, hoặc 09C0 sẽ được viết thành 9C0.
- Trong dãy địa chỉ IPv6, nếu có các nhóm số 0 liên tiếp, có thể đơn giản các nhóm này bằng 2 dấu :: (chỉ áp dụng khi dãy 0 liên tiếp nhau). Tuy nhiên, chỉ được thay thế một lần như vậy trong toàn bộ một địa chỉ IPv6. Điều này rất dễ hiểu. Nếu chúng ta thực hiện thay thế hai hay nhiều lần các nhóm số 0 bằng “::”, chúng ta sẽ không thể biết được số các số 0 trong một cụm “::” để từ đó khôi phục lại chính xác địa chỉ IPv6 ban đầu
Ví dụ tổng hợp :
· FADC:BA98:0000:0000:0000:0000:7654:3210 -> ĐÚNG.
· FADC:BA98:0:0:0:0:7654:3210 -> ĐÚNG.
· 2031::130F::9C01:876A:130B -> SAI.(Chỉ được dùng 1 lần dấu 2 chấm)
· FEC0:CD:FZB9:0067::2A4 -> SAI.(Không tồn tại Z trong hệ Hexa)
· FF01:0:0:0:0:0:0:1 -> FF01::1
· 0:0:0:0:0:0:0:1 -> ::1 (Địa chỉ Loopback trong IPv6).
· 0:0:0:0:0:0:0:0 -> :: (Địa chỉ đặc biệt).
Cách biểu diễn liên hệ với địa chỉ IPv4:
0:0:0:0:0:FFFF:192.168.30.1=::FFFF:192.168.30.1=::FFFF:C0A8:1E01
Tương tự như IPv4, một dải địa chỉ IPv6 được viết dưới dạng một địa chỉ IPv6 đi kèm với số bit xác định số bit phần mạng(bit tiền tố) như sau:
Địa chỉ IPv6 / số bit mạng.
Ví dụ:
- Vùng địa chỉ FF::/8 tương ứng với dải địa chỉ bắt đầu từ FF00:0:0:0:0:0:0:0 đến FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF.
- Vùng địa chỉ 2001:DC8:0:0::/64 tương ứng với dải địa chỉ bắt đầu từ 2001:0DC8:0:0:0:0:0:0 đến 2001:0DC8:0:0:FFFF:FFFF:FFFF:FFFF.
Hình 1.8 Số Bits trong IPv4 so với IPv6.
Một so sánh thú vị là nếu nói IPv4 là một quả bóng thì IPv6 là một mặt trời.
IPv6 sử dụng 128 bit địa chỉ, tăng gấp 4 lần số bit so với IPv4 (32bit). Nghĩa là trong khi IPv4 chỉ có 232 ~ 4,3 tỷ địa chỉ, thì IPv6 có tới 2128 ~ 3,4 * 1038 địa chỉ IP. Gấp 296 lần so với địa chỉ IPv4. Với số địa chỉ của IPv6 nếu rãi đều trên bề mặt trái đất (diện tích bề mặt trái đất là 511263 tỷ mét vuông) thì mỗi mét vuông có khoảng 665.570 tỷ tỷ địa chỉ.
Bảng 1.9. So sánh sự khác nhau cơ bản giữa IPv4 và IPv6
Địa chỉ IPv6 được biểu diễn bởi ký tự Hexa với tổng cộng 8 Octet. Mỗi Octet chứa 4 ký tự Hexa tương ứng với 16 bit nhị phân. Dấu hai chấm ngăn cách giữa các octet.
Giao thức IPv4 hiện tại được duy trì bởi kỹ thuật NAT và cấp phát địa chỉ tạm thời. Tuy nhiên vì vậy mà việc thao tác dữ liệu trên payload của các thiết bị trung gian là một bất lợi các lợi ích về truyền thông ngang hàng (peer-peer), bảo mật đầu cuối và chất lượng dịch vụ (QoS). Với số lượng cực kỳ lớn của địa chỉ IPv6 thì sẽ không cần đến kỹ thuật NAT hay cấp phát địa chỉ tạm thời nữa. Vì lúc đó, mỗi thiết bị (Máy tính, điện thoại, tivi, robot, thiết bị dân dụng…) đều sẽ có một địa chỉ IP toàn cầu. Đây là một không gian địa chỉ cực lớn với mục đích không chỉ cho Internet mà còn cho tất cả các mạng máy tính, hệ thống viễn thông, hệ thống điều khiển và thậm chí cho từng vật dụng trong gia đình. Trong tương lai, mỗi chiếc điều hòa, tủ lạnh, máy giặt hay nồi cơm điện… của mọi gia đình trên thế giới cũng sẽ mang một địa chỉ IPv6 để chủ nhân của chúng có thể kết nối và ra lệnh từ xa. Nhu cầu hiện tại chỉ cần 15% không gian địa chỉ IPv6, còn 85% dự phòng cho tương lai.
Cấu trúc chung của một địa chỉ IPv6 thường thấy như sau (một số dạng địa chỉ IPv6 không tuân theo cấu trúc này):
Hình 1.10 : Cấu trúc thường thấy của một địa chỉ IPv6
Trong 128 bit địa chỉ IPv6, có một số bit thực hiện chức năng xác định:
· Bit xác định loại địa chỉ IPv6(bit tiền tố - prefix)
Địa chỉ IPv6 có nhiều loại khác nhau. Mỗi loại địa chỉ có chức năng nhất định trong phục vụ giao tiếp. Để phân loại địa chỉ, Một số bit đầu trong địa chỉ Ipv6 được dành riêng để xác định dạng địa chỉ, được gọi là các bit tiền tố (prefix). Các bit tiền tố này sẽ quyết định địa chỉ thuộc loại nào và số lượng địa chỉ đó trong không gian chung IPv6.
Ví dụ:
8 bit tiền tố “1111 1111” tức “FF” xác định dạng địa chỉ multicast, là dạng địa chỉ sử dụng khi một node muốn giao tiếp đồng thời với nhiều node khác. Địa chỉ multicast chiếm 1/256 không gian địa chỉ IPv6. Ba tiền tố “001” xác định dạng địa chỉ unicast (dạng địa chỉ cho giao tiếp một – một) định danh toàn cầu, tương đương như địa chỉ IPv4 public chúng ta vẫn thường sử dụng hiện nay.
· Các bit định danh giao diện (Interface ID)
Ngoại trừ dạng địa chỉ multicast và một số dạng địa chỉ dành cho mục đích đặc biệt, địa chỉ IPv6 sử dụng trong giao tiếp toàn cầu, cũng như địa chỉ dùng trong giao tiếp giữa các node IPv6 trên một đường kết nối(link-local), địa chỉ được thiết kế cho giao tiếp trong phạm vi một mạng(site-local) đều có 64 bit cuối cùng được sử dụng để xác định một interface duy nhất.
Địa chỉ IPv4 chia thành 3 lớp chính : A,B,C và hai lớp khác: D dùng cho
multicast và lớp E dùng cho mục đích nghiên cứu. Còn địa chỉ IPv6 lại chia thành 3 loại chính như sau:
· Unicast Address: Còn được gọi là địa chỉ đơn hướng. Địa chỉ này được dùng để nhận dạng một interface. Một gói dữ liệu khi lưu thông trên mạng được gửi đến một địa chỉ Unicast, sẽ được chuyển đến một interface mang địa chỉ Unicast đó
· Anycast Address: Là địa chỉ dùng để nhận dạng một tập hợp interface. Một gói tin gửi đến địa chỉ Anycast sẽ được chuyển đến interface gần nhất trong tập hợp các interface mang địa chỉ Anycast đó. Khái niệm “gần nhất” ở đây được xác định thông qua giao thức định tuyến đang sử dụng
· Multicast Address: Địa chỉ này cũng dùng để nhận dang một tập hợp cácinterface. Nhưng khác với địa chỉ Anycast, một gói tin khi chuyển đến địa chỉ Multicast được chuyển đến tất cả các interface mang địa chỉ Multicast này. Loại địa chỉ này cũng giống với địa chỉ Multicast trong IPv4 (lớp D).
Trong IPv6 địa chỉ Broadcast đã bị loại bỏ và được thay bằng địa chỉ Multicast.
Loại địa chỉ này thường được dùng để dịnh danh cho các Interface. Giống nhưkiểu địa chỉ point-to-point trong IPv4. Địa chỉ Unicast được phân thành những loại sau:
a) Global Unicast Address:
Được mô tả trong khuyến nghị RFC 2374. Dùng để nhận dạng các Interface,
cho phép kết nối các Node trong mạng Internet IPv6 toàn cầu. Dạng địa chỉ này hỗ trợ các ISP có nhu cầu kết nối toàn cầu, được xây dựng theo kiến trúc phân cấp rõ ràng, cụ thể như sau:
Hình 1.11: Cấu trúc địa chỉ Unicast
Trong đó:
- FP – Format Prefix :3 bits 001 để nhận dạng là địa chỉ toàn cầu.
- TLA ID – Top Level Aggregate ID :Định danh các nhà cung cấp dịch vụ cấp cao nhất trong hệ thống các nhà cung cấp dịch vụ.
- Res – Reserved :Dự phòng cho tương lai.
- NLA ID – Next Level Aggregator ID :Định danh nhà cung cấp dịch vụ bậc 2 (Sau TLA).
- SLA ID – Site Level Aggregator ID :Định danh các site của khách hàng.
- Interface ID :Giúp xác định các interface của các host kết nối trong một site
Địa chỉ IPv6 sử dụng một giải pháp gọi là prefix (tiền tố) để phân cấp một địa chỉ thành các khối xác định.
Hình 1.12 Kiến trúc quản lý việc cấp phát địa chỉ IPv6 hiện nay.
Địa chỉ IPv6 hiện nay do tổ chức cấp phát địa chỉ Internet quốc tế IANA cấp phát. Bảng 1.1 mô tả chi tiết việc cấp phát địa chỉ IPv6 theo prefix.
Bảng 1.1 Đặc tả cấp phát địa chỉ IPv6 trên toàn cầu
64 bit cuối là phần địa chỉ Host, ứng với mỗi interface (giao diện) trong mạng cục bộ của khách hàng.
b) Link-local Addresses:
Đây là loại địa chỉ dùng cho các host khi chúng muốn giao tiếp với các host khác trong cùng mạng LAN. Tất cả IPv6 của các interface đều có địa chỉ link local
Hình 1.13 Cấu trúc địa chỉ Link-local.
Theo hình 1.13 :
- 10 bits đầu là giá trị cố định 1111 1110 10 (Prefix FE80::/10)
- 54 bits kế tiếp có giá trị bằng 0
- 64 bits cuối : là địa chỉ của interface.
Kết luận :Trong Link Local Address: 64 bit đầu là giá trị cố định không thay đổi tương ứng với prefix là FE80::/10.
Vào cmd, gõ lệnh “netsh interface ipv6 show addresses” để xem giá trị Link-Local Address
Hình 1.14 Xem địa chỉ Link-local của máy tính.
Có một lưu ý là Router không thể chuyển bất kỳ gói tin nào có địa chỉ nguồn hoặc địa chỉ đích là Link Local Address.
c) Site - local Addresses:
Site-Local Addresses được sử dụng trong hệ thống nội bộ (Intranet) tương tự các địa chỉ Private IPv4 (10.X.X.X, 172.16.X.X, 192.168.X.X). Phạm vi sử dụng Site- Local Addresses là trong cùng 1 Site.
Hình 1.15 Cấu trúc địa chỉ Site-local
Theo hình 1.15 :
- 10 bits đầu là giá trị cố định 1111 1110 11 (Prefix FEC0::/10).
- 38 bits kế tiếp toàn bộ là bit 0.
- 16 bits kế tiếp là giá trị Subnet ID.
- 64 bits cuối là địa chỉ của interface.
Nhận xét:Trong Site-local Address: 10 bit đầu là giá trị cố định không thay đổi tương ứng với prefix là FEC0::/10
Anycast là địa chỉ hoàn toàn mới trong IPv6. Còn được gọi là địa chỉ One-to-nearest (một đến gần nhất).
Hình 1.16 Cấu trúc địa chỉ Anycast Address.
Địa chỉ Anycast được gán cho một nhóm các Interface (thông thường là nhữngNode khác nhau). 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 xác định qua giao thức định tuyến sử dụng.
Trong giao thức IPv6, địa chỉ Anycast không có cấu trúc đặc biệt. Các địa chỉAnycast chiếm một phần trong không gian địa chỉ Unicast. Do đó, về mặt cấu trúc, địa chỉ Anycast không thể phân biệt với địa chỉ Unicast. Khi những địa chỉ Unicast được gán nhiều hơn một Interface, nó trở thành địa chỉ Anycast. Trong cấu trúc của bất kỳ một địa chỉ Anycast nào cũng có một Prefix P dài nhất để xác định vùng mà địa chỉ Anycast đó gán cho các Interface. Theo cấu trúc này, Prefix P cho phép thực hiện quy tắc định tuyến đối với địa chỉ Anycast như sau:
· Đối với phần trong của mạng (trong cùng một vùng): Các Interface đượcgán địa chỉ Anycast phải khai báo trong bảng định tuyến trên Router của hệthống đó thành những mục riêng biệt với nhau.
· Đối với giao tiếp bên ngoài mạng, khai báo trên Router chỉ gồm một mục làphần Prefix P. Có thể hiểu phần Prefix này đại diện cho cả một Subnet củamạng bên trong.
· Trong một vài trường hợp đặc biệt, toàn bộ phần Prefix P của địa chỉAnycast là một tập hợp các giá trị 0. Khi đó các Interface được gán địa chỉAnycast này không nằm trong một vùng, và trên bảng định tuyến Globalphải khai báo riêng rẽ cho từng Interface.
Qua cơ chế định tuyến cho địa chỉ Anycast như trên ta thấy, mục đích thiết kếcủa loại địa chỉ Anycast để hỗ trợ những cấu trúc mạng phân cấp. Trong đó địa chỉAnycast được gán cho Router. Các router này được chia thành các vùng hay đoạnmạng. Khi một gói tin đến Router cấp cao nhất trong hệ thống, nó sẽ được chuyểnđồng thời đến các Router trong cùng một đoạn.
Sử dụng địa chỉ Anycast có một số hạn chế:
· Địa chỉ IPv6 Anycast không được sử dụng làm địa chỉ nguồn của các gói tinIPv6.
· Một địa chỉ Anycast không được phép gán cho một Host IPv6, do vậy nó chỉđược gán cho Router IPv6.
Trong địa chỉ IPv6 không còn tồn tại khái niệm địa chỉ Broadcast. Mọi chức năng của địa chỉ Broadcast trong IPv4 được đảm nhiệm thay thế bởi địa chỉ IPv6 Multicast.
Địa chỉ Multicast cũng dùng để nhận dạng một tập hợp các Node. Nhưng khác vớiđịa chỉ Anycast, một gói tin khi chuyển đến địa chỉ Multicast sẽ được chuyển đến tất cả các Node mang địa chỉ Multicast này.
Hình 1.17 Cấu trúc địa chỉ Multicast .
· Địa chỉ Multicast luôn bắt đầu bởi một Prefix 8 bit “1111 1111 = FF::/8 ”.
· Từ FF00:: đến FF0F:: là địa chỉ dành riêng được quy định bởi IANA để sửdụng cho mục đích multicast.
· Octet thứ hai chỉ ra cờ (flag) và phạm vi (Scope) của địa chỉ multicast.
Flag xác định thời gian sống của địa chỉ. Cấu trúc của flag gồm có :
· Bit thứ tự cao được dự trữ và được xác lập ở giá trị 0.
· Flag T = 0 : Nghĩa là địa chỉ Multicast “Well-known”, địa chỉ này được phân bổ bởi Global Internet Numbering Authority. Và được phân bổ cố định vĩnh viễn.
· Flag T= 1 : Nghĩa là địa chỉ Multicast “transient”. Địa chỉ này đượcphân bổ cố định tạm thời.
Scope chỉ ra phạm vi hoạt động của địa chỉ. Có 7 giá trị của Scope :
- Scope = 1 : Interface-local.
- Scope = 2 : Link-local.
- Scope = 3 : Subnet-local.
- Scope = 4 : Admin-local.
- Scope = 5 : Site-local.
- Scope = 8 : Organization.
- Scope = E : Global.
Bảng 1.2 Ví dụ về địa chỉ IPv6 Multicast
Địa chỉ |
Loại |
Phạm vi |
FF02::/16 |
Vĩnh viễn |
Link-local |
FF08::/16 |
Vĩnh viễn |
Organization |
FF14::/16 |
Tạm thời |
Admin-local |
FF1E::/16 |
Tạm thời |
Global (toàn cầu) |
Ngoài ra địa chỉ IPv6 Multicast còn có quy định giá trị của các bit cuối để xác định đối tượng thuộc phạm vi của Multicast Address.
Bảng 1.3 Bảng mô tả các loại địa chỉ IPv6 Multicast.
Địa chỉ |
Các bit cuối |
Đối tượng |
Phạm vi |
FF02::1 |
1 |
Tất cả các node |
Link-local |
FF03::2 |
2 |
Tất cả các Router |
Subnet-local |
FF04::9 |
9 |
Tất cả các RIP Router |
Admin-local |
FF02::1:FFXX:XXXX |
FFXX:XXXX |
Các Solicited-node |
Link-local |
FF05::101 |
101 |
Tất cả NTP server |
Site-local |
FF02::1:FFXX:XXXX là dạng địa chỉ Multicast với vai trò là các Solicited-node(thay cho ARP của IPv4) dùng để phân giải địa chỉ IPv6 thành địa chỉ MAC của các node trong cùng 1 vùng (ở đây vùng trong ví dụ là Link-local).
IPv6 sử dụng hai địa chỉ đặc biệt sau trong giao tiếp :
· 0:0:0:0:0:0:0:0 hay được viết gọn thành “::” là loại địa chỉ không định danh được node IPv6 sử dụng để thể hiện rằng hiện tại nó không có địa chỉ. Địa chỉ “::” được sử dụng làm địa chỉ nguồn cho các gói tin trong quy trình hoạt động của một node IPv6 khi tiến hành kiểm tra xem có một node nào khác trên cùng đường kết nối đã sử dụng địa chỉ IPv6 mà nó đang dự định dùng hay chưa. Địa chỉ này không bao giờ được gán cho một interface hoặc được sử dụng làm địa chỉ đích.
· 0:0:0:0:0:0:0:1 hay “::1” được sử dụng làm địa chỉ xác định interface loopback, tương đương với dải địa chỉ 127.0.0.0 của IPv4. Địa chỉ này dùng để kiểm tra xem một máy tính có hoạt động được IPv6 hay không. Bên cạnh đó, với các router thì địa chỉ ::1 không bao giờ được gửi trên một đường kết nối hay chuyển tới bởi router. Phạm vi của dạng địa chỉ này là phạm vi node.
IPv4-Compatible IPv6 là địa chỉ tương thích của một IPv4 với một IPv6 Node.Khi sử dụng IPv4-Compatible như một IPv6 Destination, gói tin sẽ được đóng gói (Packet) với IPv4 Header để truyền trong môi trường IPv4.
Hình 1.18 Cấu trúc địa chỉ IPv4-Compatible IPv6
Format : 0:0:0:0:0:0:w.x.y.z
Trong đó w,x,y,z là các địa chỉ IPv4.
Ví dụ : 0:0:0:0:0:0:0:192.168.1.2
Dạng địa chỉ IPv4-Compatible được sử dụng trong công nghệ tạo đường hầm có tên gọi là tunnel tự động. Khi một gói tin IPv6 có địa chỉ nguồn và đích dạng này, gói tin IPv6 đó sẽ được tự động bọc trong gói tin có phần header IPv4 và gửi tới đích sử dụng cơ sở hạ tầng mạng IPv4.
Địa chỉ 6to4 là dạng địa chỉ IPv4-Compatible được sử dụng phổ biến hiện nay trong công nghệ tạo đường hầm - tunnel động.
IPv4-Mapped IPv6 được tạo nên từ 32 bit địa chỉ IPv4 theo cách thức gắn 80 bit 0 đầu tiên, tiếp theo là 16 bit có giá trị hexa FFFF với 32 bit địa chỉ IPv4. Địa chỉ IPv4-Mapped được sử dụng để biểu diễn một node thuần IPv4 thành một node IPv6 để phục vụ trong công nghệ biên dịch địa chỉ IPv4 – IPv6 (ví dụ công nghệ NAT-PT, phục vụ giao tiếp giữa mạng thuần IPv4 và mạng thuần IPv6). Địa chỉ IPv4-mapped không bao giờ được dùng làm địa chỉ nguồn hay địa chỉ đích của một gói tin IPv6.
Hình 1.19 Cấu trúc địa chỉ IPv4-Mapped IPv6.
Format : 0:0:0:0:0:FFFF:w.x.y.z
Trong đó w,x,y,z là các địa chỉ IPv4.
Ví dụ : 0:0:0:0:0:FFFF:192.168.1.2
Địa chỉ IPv6 được biểu diễn dưới dạng chữ số Hexa nên có phần khó nhớ hơn địa chỉ IPv4. Những mục trước đã đề cập và mô tả nhiều dạng địa chỉ IPv6. Phần này, sẽ tóm tắt và thống kê các dạng địa chỉ IPv6 đã và đang được sử dụng.
Bảng 1.4 Bảng thống kê các dạng địa chỉ IPv6
Bit |
Dạng địa chỉ |
Chú thích |
:: |
Địa chỉ không định danh |
Thể hiện Node hiện tại không có địa chỉ IPv6 nào được gán. |
::1 |
Địa chỉ Loopback |
Thay thế dải địa chỉ 127.0.0 của IPv4. |
FE80::/10 |
Địa chỉ Link-local |
Giao tiếp giữa các node trong cùng đường liên kết. |
FEC0::/10 |
Địa chỉ Site-local |
Đã bị hủy bỏ. |
2000::/3 |
Địa chỉ định danh toàn cầu. |
Được cấp phát bởi các tổ chức quản lý Internet. |
FF::/8 |
Địa chỉ Multicast. |
Sử dụng trong nhiều mục đích và thay thế địa chỉ Broadcast của IPv4. |
::w.x.y.z |
Địa chỉ IPv4-Compatible IPv6 |
Dùng trong công nghệ tunnel động. |
::FF:w.x.y.z |
Địa chỉ IPv4-Mapped IPv6 |
Dùng trong biên dịch địa chỉ IPv6-IPv4. |
Hình 1.20 IPv4 Header và IPv6 Header
Header của IPv6 có 40 octet (hay độ lớn 40 byte) trái ngược với 20 octet trong IPv4. Tuy nhiên IPv6 có một số lượng các trường ít hơn, nên giảm được thời gian xử lý Header, tăng độ linh hoạt. Trường địa chỉ lớn hơn 4 lần so với IPv4.
Không có Header checksum: Trường checksum của IPv4 được bỏ đi vì các liên kết ngày nay nhanh hơn và có độ tin cậy cao hơn vì vậy chỉ cần các Host tính checksum còn Router thì khỏi cần. Ngoài ra Header checksum là 1 tham số sử dụng để kiểm tra lỗi trong thông tin header, được tính toán ra dựa trên những con số của header. Tuy nhiên, có một vấn đề nảy sinh là header chứa trường TTL (Time to Live), giá trị trường này thay đổi mỗi khi gói tin được truyền qua 1 router. Do vậy, header checksum cần phải được tính toán lại mỗi khi gói tin đi qua 1 router. Nếu giải phóng router khỏi công việc này, chúng ta có thể giảm được trễ.
Không có sự phân đoạn theo từng hop. Trong IPv4, khi các packet quá lớn thì Router có thể phân đoạn nó. Tuy nhiên, việc này sẽ làm tăng thêm Overhead cho packet. Trong IPv6 chỉ có Host nguồn mới có thể phân đoạn một packet theo các giá trị thích hợp dựa vào một MTU path mà nó tìm được. Do đó, để hỗ trợ Host thì IPv6 chứa một hàm giúp tìm ra MTU từ nguồn đến đích.
Hình 1.21 Chi tiết IPv6 Header
Các trường có trong IPv6 Header :
· Version : Trường chứa 4 bit 0110 ứng với số 6 chỉ phiên bản của IP.
· Traffic Class : Trường 8 bit tương ứng với trường Type of Service (ToS) trong IPv4. Trường này được sử dụng để biểu diễn mức ưu tiên của gói tin, ví dụ có nên được truyền với tốc độ nhanh hay thông thường, cho phép thiết bị có thể xử lý gói một cách tương ứng.
· Flow Label :Trường hoàn toàn mới trong IPv6, có 20 bit chiều dài. Trường này biểu diễn luồng cho gói tin và được sử dụng trong các kỹ thuật chuyển mạch đa lớp (multilayer switching), nhờ đó các gói tin được chuyển mạch nhanh hơn trước. Bằng cách sử dụng trường này, nơi gửi gói tin hoặc thiết bị hiện thời có thể xác định một chuỗi các gói tin, ví dụ VoIP, thành 1 dòng, và yêu cầu dịch vụ cụ thể cho dòng đó. Ngay cả trong IPv4, một số các thiết bị giao tiếp cũng được trang bị khả năng nhận dạng dòng lưu lượng và gắn mức ưu tiên nhất định cho mỗi dòng. Tuy nhiên, những thiết bị này không những kiểm tra thông tin tầng IP ví dụ địa chỉ nơi gửi và nơi nhận, mà còn phải kiểm tra cả số port là thông tin thuộc về tầng cao hơn. Trường Flow Label trong IPv6 cố gắng đặt tất cả những thông tin cần thiết vào cùng nhau và cung cấp chúng tại tầng IP.
· Payload Length :Trường 16 bit. Tương tự trường Toal Length trong IPv4, xác định tổng kích thước của gói tin IPv6 (không chứa header).
· Next Header :Trường 8 bit. Trường này sẽ xác định xem extension header có tồn tại hay không, nếu không được sử dụng, header cơ bản chứa mọi thông tin tầng IP. Nó sẽ được theo sau bởi header của tầng cao hơn, tức là header của TCP hay UDP, và trường Next Header chỉ ra loại header nào sẽ theo sau.
· Hop Limit :Trường 8 bit. Trường này tương tự trường Time to live của Pv4. Nó có tác dụng chỉ ra số hop tối đa mà gói tin IP được đi qua. Qua mỗi hop hay router, giá trị của trường sẽ giảm đi 1.
· Source Address :Trường này gồm 16 octet (hay 128 bit), định danh địa chỉ nguồn của gói tin.
· Destination Address :Trường này gồm 16 octet (hay 128 bit), định danh địa chỉ đích của gói tin.
Bảng 1.5 So Sánh khuôn dạng gói tin IPv4/ IPv6
IPv4 |
IPv6 |
Version |
Cùng trường nhưng với các số phiên bản khác nhau. |
Tiêu đề Length |
Được loại bỏ trong IPv6. IPv6 không chứa trường Tiêu đề Length bởi vì tiêu đề của IPv6 luôn luôn cố định là 40 byte. Mỗi tiêu đề mở rộng có kích thước cố định hoặc có địa chỉ của riêng nó. |
Type of Service |
Được thay thế bằng trường Traffic Class |
Total Length |
Được thay thế bằng trường Payload Length chỉ kích thước của trọng tải. |
Identification, Fragmentation, Fragment Offset |
Được loại bỏ trong IPv6. Thông tin phân mảnh không có trong tiêu đề của IPv6. Nó được chứa trong tiêu đề mở rộng phân mảnh. |
Time to live |
Được thay thế bằng trường Hop Limit. |
Protocol |
Được thay thế bằng trường Next Header. |
Tiêu đề Checksum |
Được loại bỏ trong IPv6. Trong IPv6 việc phát hiện lỗi cấp độ bit cho cả gói IPv6 được thực hiện bởi lớp liên kết. |
Source Address |
Trường này giống nhau chỉ khác là địa chỉ IPv6 có 128 bit. |
Destination Address |
Trường này giống nhau chỉ khác là địa chỉ IPv6 có 128 bit. |
Options |
Được loại bỏ trong IPv6. IPv4 options được thay thế bởi IPv6 extension header. |
Ngoài ra IPv6 Header còn có thêm Extension Headers, là phần Header mở rộng. IPv6 ứng dụng một hệ thống tách biệt các dịch vụ gia tăng khỏi các dịch vụ cơ bản và đặt chúng trong header mở rộng (extension header), phân loại các header mở rộng theo chức năng của chúng. Làm như vậy, sẽ giảm tải nhiều cho router, và thiết lập nên được một hệ thống cho phép bổ sung một cách linh động các chức năng.
Hình 1.22 Thứ tự header trong gói tin IPv6.
Extension Headers bao gồm 6 loại, khi sử dụng cùng lúc nhiều extension header, thường có một khuyến nghị là đặt chúng theo thứ tự sau: Hop-by-Hop Options, Destination Options, Routing, Fragment, Authentication and Encapsulating Security Payload, Upper-layer.
Bảng 1.6 Giá trị Next header trong các phần header mở rộng
Giá trị |
Dạng extension headers tương ứng |
0 |
Từng bước (Hop-by-Hop) |
43 |
Đinh tuyến (Routing) |
44 |
Phân mảnh (Fragment) |
50 |
Mã hóa (Encapsulating Security Payload - ESP) |
51 |
Xác thực (Authentication Header - AH) |
60 |
Đích (Destination) |
· Hop-by-Hop options header :Header này xác định một chu trình mà cần được thực hiện mỗi lần gói tin đi qua một router.
· Destination Options header : Header này được sử dụng nếu có Routing Header. Để xác định chu trình cần thiết phải xử lý bởi node đích. Có thể xác định tại đây bất cứ chu trình nào. Thông thường chỉ có những node đích xử lý header mở rộng của IPv6. Như vậy thì các header mở rộng khác ví dụ Fragment header có thể cũng được gọi là Destination Option header. Tuy nhiên, Destination Option header khác với các header khác ở chỗ nó có thể xác định nhiều dạng xử lý khác nhau. Mobile IP thường sử dụng Header này.
· Routing header :Routing header được sử dụng để xác định đường dẫn định tuyến. Ví dụ, có thể xác định nhà cung cấp dịch vụ nào sẽ được sử dụng, và sự thi hành bảo mật cho những mục đích cụ thể. Node nguồn sử dụng Routing header để liệt kê địa chỉ của các router mà gói tin phải đi qua. Các địa chỉ trong liệt kê này được sử dụng như địa chỉ đích của gói tin IPv6 theo thứ tự được liệt kê và gói tin sẽ được gửi từ router này đến router khác tương ứng.
· Fragment header :Fragment header được sử dụng khi nguồn gửi gói tin IPv6 gửi đi gói tin lớn hơn Path MTU, để chỉ xem làm thế nào khôi phục lại được gói tin từ các phân mảnh của nó. MTU (Maximum Transmission Unit) là kích thước của gói tin lớn nhất có thể gửi qua một đường dẫn cụ thể nào đó. Trong môi trường mạng như Internet, băng thông hẹp giữa nguồn và đích gây ra vấn đề nghiêm trọng. Cố gắng gửi một gói tin lớn qua một đường dẫn hẹp sẽ làm quá tải. Trong địa chỉ IPv4, mối router trên đường dẫn có thể tiến hành phân mảnh (chia) gói tin theo giá trị của MTU đặt cho mỗi interface. Tuy nhiên, chu trình này áp đặt một gánh nặng lên router. Bởi vậy trong địa chỉ IPv6, router không thực hiện phân mảnh gói tin (các trường liên quan đến phân mảnh trong header IPv4 đều được bỏ đi).
· Authentication and Encapsulating Security Payload header : Authentication header và ESP header được sử dụng trong IPSec để xác thực, đảm bảo tính toàn vẹn và tính bảo mật của 1 gói tin, được sử dụng để xác định những thông tin liên quan đến mã hoá dữ liệu.
· Upper-layer header : Trường này được xem là header quy định trường ở trên tầng IP, xác định cách thức dịch chuyển gói tin. 2 giao thức dịch chuyển chính là TCP (giá trị = 6) và UDP (giá trị = 17).
( còn tiếp )
» Tin mới nhất:
» Các tin khác: