IPV6 Toàn tập (Tổng quan và Hướng dẫn triển khai trên nền IPV6
PHẦN I: TỔNG QUAN VỀ IPV6
IPv4 đã được chuẩn hóa kể từ RFC 791 phát hành năm 1981. IPv4 dùng 32bit để biểu diễn địa chỉ IP. Sử dụng 32 bit này, ta có thể đánh được khoảng 4.3 tỷ địa chỉ khác nhau. Nhưng chỉ khoảng hơn 10 năm sau khi ra đời, vào nửa đầu thập kỷ 90, nguy cơ thiếu địa chỉ IP đã xuất hiện tại 1 số nước như Trung Quốc, Ấn Độ, .... Các nhà phát triển đã triệu tập nhiều hội nghị, nhiều phương án đã xuất hiện như: CIDR, NAT, ... song, với sự phát triển cực kỳ tốc độ, 4.3 tỷ địa chỉ kia không đủ đặt địa chỉ cho những PC, di động, các thiết bị điện tử khác, ... để nối trực tiếp tới Internet.
Để giải quyết vấn đề đó thì IPv6 đã ra đời. Với 128 bit lớn hơn IPv4 gấp 4 lần, bạn có thể đánh được khoảng 340 tỷ tỷ tỷ tỷ địa chỉ. Đây là không gian địa chỉ cực lớn không chỉ dành riêng 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í là vật dụng gia đình. Hehe, có bao giờ một ngày nào đó, bạn chưa tắt máy lạnh ở nhà, nồi cơm điện ở nhà chưa bật, bạn có mong muốn là dù bạn có ở bất cứ nơi đâu vẫn có thể kết nối và ra lệnh cho những thiết bị đó từ xa. Trong tương lai không xa, chắc chắn sẽ làm được điều đó, mỗi một vật dụng gia đình sẽ mang một địa chỉ IPv6
IPv6 được tích hợp trong Windows XP SP1 và Windows Server 2003 nhưng bị ẩn . Còn trên Windows Server 2008 và Windows Vista, mặc định IPv6 được mở. Hiện tại thì nhu cầu chúng ta cần 15% IPv6, còn 85% còn lại dùng để dự phòng trong tương lai
Trong phần này, nhóc sẽ giới thiệu tổng quan, cách triển khai và thiết lập một hệ thống mạng có IPv6.
CẤU TRÚC ĐỊA CHỈ IPv6
Tính năng quan trọng nhất của IPv6 khi được so sánh với IPv4 chính là không gian địa chỉ lớn hơn. Địa chỉ IPv4 sẽ không bao giờ được mở rộng, do đó việc nâng cấp lên IPv6 là điều thiết yếu nếu Internet ngày càng phát triển.
IPv6 có tổng cộng là 128 bit được chia làm 2 phần: 64 bit đầu được gọi là network, 64 bit còn lại được gọi là host. Phần network dùng để xác định subnet, địa chỉ này được gán bởi các ISP hoặc những tổ chức lớn như IANA (Internet Assigned Numbers Authority). Còn phần host là một địa chỉ ngẫu nhiên dựa trên 48 bit của MAC Address.
Địa chỉ IPv6 có 128 bit, do đó việc nhớ được địa chỉ này rất khó khăn. Cho nên để viết địa chỉ IPv6, người ta đã chia 128 bit ra thành 8 nhóm, mỗi nhóm chiếm 2 bytes, gồm 4 số được viết dưới hệ số 16, và mỗi nhóm được ngăn cách nhau bằng dấu hai chấm (
Hình ảnh này đã được thay đổi kích thước. Click vào đây để xem hình ảnh gốc với kích thước là 641x211
HỆ THẬP LỤC PHÂN VÀ HỆ NHỊ PHÂN
Ví dụ:
FEDL:8435:7356:EADC:BA98:2010:3280:ABCD
Nhưng nếu mà viết theo kiểu như vậy( đẹp thì có đẹp đó), nhưng nhìn một hồi nhức đầu wá. Hix…hix. Cho nên, cần phải đơn giản cái địa chỉ này một chút. Vì IPv6 là một địa chỉ mới nên chúng ta sẽ ko xài hết 128 bits, cũng giống như SIM điện thoại vậy, đầu số 0122 mới ra có rất nhiều số và do đó chúng ta có quyền lựa chọn. Và IPv6 cũng vậy, vì mới ra cho nên sẽ có nhiều số 0 ở các bit đầu. Chúng ta có thể lược bỏ các số 0 này đi. Để nhóc lấy một ví dụ cụ thể nhé:
Địa chỉ:
1088:0000:0000:0000:0008:0800:200C:463A
--> Bạn 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
Và đây là địa chỉ đã được rút gọn:
1088:0:0:0:8:800:200C:463A
Nhìn chung như vậy cũng được rồi, nhưng IPv6 còn có một nguyên tắc nữa là bạn có thể nhóm các số 0 lại thành 2 dấu hai chấm "::", địa chỉ ở trên, bạn có thể viết lại như sau:
1088::8:800:200C:463A
Qua ví dụ của nhóc, bạn sẽ rút ra được 2 nguyên tắc:
1. Trong dãy địa chỉ IPV6, nếu có số 0 đứng đầu có thể loại bỏ. Ví dụ 0800 sẽ được viết thành 800, hoặc 0008 sẽ được viết thành 8
2. 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)
Bạn với nhóc thử làm vài ví dụ nhé:
Ví dụ 1:
FADC:BA98::7654:3210
-> IPv6 có tổng cộng là 8 nhóm, mà ở trên bạn thấy có 4 nhóm, như vậy ở giữa 2 dấu hai chấm, sẽ là 4 nhóm số 0. Vậy địa chỉ trên có thể viết đầy đủ là:
FADC:BA98:0:0:0:0:7654:3210
Ví dụ 2:
FADC:BA98:7654:3210::
-> có địa chỉ đầy đủ là:
FADC:BA98:7654:3210:0:0:0:0
Ví dụ 3:
::FADC:BA98:7654:3210
-> có địa chỉ đầy đủ là:
0:0:0:0:FADC:BA98:7654:3210
Nhưng bây giờ nhóc tui có trường hợp như vậy nè:
Giả sử nhóc có địa chỉ
0:0:0:AB65:8952:0:0:0, bây giờ yêu cầu bạn đơn giản hóa địa chỉ này lại, nhóc đưa ra 3 đáp án cho bạn chọn hen
1. ::AB65:8952::
2. ::AB65:8952:0:0:0
3. 0:0:0:AB65:8952::
Hihi, chỉ có đáp án 2 và 3 là đúng. Một nguyên tắc nữa cần phải nhớ trong IPv6 là bạn
chỉ có thể sử dụng 2 dấu hai chấm một lần với địa chỉ. Không được viết như vầy
::AB65:8952::, vì nếu bạn viết như thế sẽ gây nhầm lần khi dịch ra đầy đủ.
Ví dụ: Nếu bạn viết
::AB65:8952::, thì người ta có thể đoán địa chỉ đầy đủ cúa nó như thế này
0:0:AB65:8952:0:0:0:0 hoặc
0:0:0:0:AB65:8952:0:0 , …
Sử dụng các địa chỉ IPv6 trong việc truy cập URL
Bạn có thể truy cập một trang web bằng tên hoặc bằng địa chỉ IP. Ví dụ trang web Nhất Nghệ
www.nhatnghe.com, có địa chỉ ip tương ứng là
210.245.22.171. Vậy bạn hoàn toàn có thể vào website Nhat Nghe bằng cách gõ:
http://210.245.22.171.
Tương tự như vậy bạn có thể truy cập một trang web bằng địa chỉ IPv6 nhưng phải để nó trong cặp dấu {}. Ví dụ:
http://{FEDL:8435:7356:EADC:BA98:2010:3280:ABCD}
Ngoài ra, bạn cũng có thể thêm số port vào địa chỉ URL, Ví dụ:
http://{FEDL:8435:7356:EADC:BA98:2010:3280:ABCD}:80
CÁC LOẠI IPv6:
IPv6 gồm các loại chính sau đây:
+ Unicast Address: Unicast Address dùng để xác định một Interface trong phạm vi các Unicast Address. Gói tin (Packet) có đích đến là Unicast Address sẽ thông qua Routing để chuyển đến 1 Interface duy nhất
+ Anycast Address: Anycast Address dùng để xác định nhiều Interfaces. Tuy vậy, Packet có đích đến là Anycast Address sẽ thông qua Routing để chuyển đến một Interface trong số các Interface có cùng Anycast Address, thông thường là Interface gần nhất. Chữ “gần nhất” ở đây được xác định thông qua giao thức định tuyến đang sử dụng
+ Multicast Address: Multicast Address dùng để xác định nhiều Interfaces. Packet có đích đến là Multicast Address sẽ thông qua Routing để chuyển đến tất cả các Interfaces có cùng Multicast Address
Bạn nhận thấy IPv6 không có địa chỉ Broadcast vì chức năng của địa chỉ này đã bao gồm trong nhóm địa chỉ Multicast
Nói tóm lại, bạn có thể hiểu như sau:
Unicast : Gửi tới 1 địa chỉ xác định
Multicast: Gửi tới tất cả các thành viên của 1 nhóm
Anycast: Gửi tới 1 thành viên gần nhất của 1 nhóm
Bây giờ chúng ta sẽ đi sâu vào từng loại nhé
1- Unicast Address:
Được chia thành 4 nhóm:
a/ Global Unicast Address:
Địa chỉ này được sử dụng để hỗ trợ cho các ISP. Nói đại khái cho dễ hiểu là nó giống như địa chỉ Public của IPv4.
001: 3 bits đầu luôn luôn có giá trị = 001
TLA ID( Top Level Aggregation): Xác định nhà cung cấp cao nhất trong hệ thống các nhà cung cấp dịch vụ
Res: chưa sử dụng
NLA ID (Next Level Aggregation): Xác định nhà cung cấp tiếp theo trong hệ thống các nhà cung cấp dịch vụ
SLA ID (Site Level Aggregation): Xác định các site để tạo các subnet
Interface ID: Là địa chỉ của Interface trong subnet
Sơ đồ phân cấp của Global Unicast Address
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. Tất cả IPv6 của các interface đều có địa chỉ link local
Theo hình bên dưới, bạn sẽ thấy
10 bits đầu tiên luôn là: 1111 1110 10
54 bits kế tiếp có giá trị bằng 0
-> Như vậy, trong Link Local Address:
64 bit đầu là giá trị cố định không thay đổi (prefix : fe80::/64)
Bạn thử vào cmd, gõ lệnh ipconfig /all để xem thử giá trị Link-Local Address
+ 64 bits cuối cùng là địa chỉ của Interface
Và có một lưu ý dành cho bạn: Một 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 Site.
10 bits đầu tiên luôn là: 1111 1110 11 (Prefix FEC0::/10)
54 bits kế tiếp : là giá trị Subnet ID
64 bits cuối cùng là địa chỉ của Interface
d/ Unique Local Address:
Unique Local Address là địa chỉ định tuyến giữa các subnet trên một private network
1111 1101 : 8 bits đầu là giá trị cố định FD00:: /8
40 bits kế tiếp là Global ID : địa chỉ Site (Site ID). Có thể gán tùy ý
16 bits kế tiếp là Subnet ID : địa chỉ Subnet trong Site, có thể tạo ra 65.536 subnet trong một site
64 bits cuối cùng là địa chỉ của Interface
2- Anycast Address:
Anycast Address là địa chỉ đặc biệt có thể gán cho nhiều interface, gói tin chuyển đến Anycast Address sẽ được vận chuyển bởi hệ thống Routing đến Interface gần nhất. Hiện nay, địa chỉ Anycast được sử dụng rất hạn chế, rất ít tài liệu nói về cách sử dụng loại địa chỉ này. Hầu như Anycast addresss chỉ được dùng để đặt cho Router, không đặt cho Host, lý do là bởi vì hiện nay địa chỉ này chỉ được sử dụng vào mục đích cân bằng tải.
Ví dụ : khi một nhà cung cấp dịch vụ mạng có rất nhiều khách hàng muốn truy cập dịch vụ từ nhiều nơi khác nhau, nhà cung cấp muốn tiết kiệm nên chỉ để một Server trung tâm phục vụ tất cả, họ xây dựng nhiều Router kết nối khách hàng với Server trung tâm, khi đó mỗi khách hàng có thể có nhiều con đường để truy cập dịch vụ. Nhà cung cấp dịch vụ đặt địa chỉ Anycast cho các Interfaces là các Router kết nối đến Server trung tâm, bây giờ mỗi khách hàng chỉ việc ghi nhớ và truy cập vào một địa chỉ Anycast thôi, tự động họ sẽ được kết nối tới Server thông qua Router gần nhất. Đây thật sự là một cách xử lý đơn giản và hiệu quả
Khi nhóc tìm hiểu về địa chỉ Anycast, nhóc thấy rất confused. Bởi vì nếu như bạn gán địa chỉ này cho một Interface thì nó y như là địa chỉ Unicast, nhưng khi bạn gán cho nhiều Interfaces thì nó lại có vẻ như là địa chỉ Multicast. Hihi, rắc rối quá phải hem??? Nhưng khi bạn đọc đến phần sau, bạn sẽ thấy sự khác biệt giữa Multicast và Anycast.
3- Multicast Address:
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 giống địa chỉ Broadcast ở chỗ điểm đích của gói tin là một nhóm các máy trong một mạng, song không phải tất cả các máy. Trong khi Broadcast gửi trực tiếp tới mọi host trong một subnet thì Multicast chỉ gửi trực tiếp cho một nhóm xác định các host, các host này lại có thể thuộc các subnet khác nhau. Host có thể lựa chọn có tham gia vào một nhóm Multicast cụ thể nào đó hay không (thường được thực hiện với thủ tục quản lý nhóm internet - Internet Group Management Protocol), trong khi đó với Broadcast, mọi host là thành viên của nhóm Broadcast bất kể nó có muốn hay không.
Phù đọc tới đây, có lẽ bạn đã hơi oải rồi, nhóc tui viết bài này cũng vậy. Hihi. Nhưng để cho các bạn dễ nhớ, nhóc tui sẽ đưa cho các bạn một cái bảng tóm tắt các loại địa chỉ IPV6 nhé
PHẦN II: TRIỂN KHAI DNS VÀ DHCP TRÊN NỀN IPv6
I. Giới thiệu
Trong phần 1 đã giới thiệu với các bạn về tổng quan và các thức sử dụng IPv6. Tiếp theo, trong phần này sẽ hướng dẫn cụ thể cách triển khai DNS Server và DHCP Server trong hệ thống mạng sử dụng IPv6.
Phần II bao gồm các bước:
1. Cấu hình TCP/IPv6
2. Cài đặt DNS Server role
3. Cấu hình DNS Server
4. Cài đặt DHCP Server role
5. Cấu hình DHCP Scope
6. Cấu hình Client sử dụng IPv6
7. Kiểm tra kết quả
II. Chuẩn bị
Bài lab bao gồm 2 máy:
- Máy Server: Windows Server 2008
- Máy Client: Windows Server 2008 hoặc Windows Vista
III. Thực hiện
1. Cấu hình TCP/IPv6
Tại máy
Server, log on
Administrator, vào
Start\Settings chọn
Network Connections
Trong cửa sổ
Network Connections, chuột phải
Local Area Connection chọn
Properties
Hộp thoại
Local Area Connection Properties, bỏ dấu chọn
Internet Protocol Version 4 (TCP/IPv4), chọn
Internet Protocol Version 6 (TCP/IPv6), chọn
Properties
Trong cửa sổ
Internet Protocol Version 6 (TCP/IPv6) Properties, nhập thông số TCP/IP như sau:
IPv6 address:
fc00:192:168:5::25
Subnet prefix length:
64
Preferred DNS server:
fc00:192:168:5::25
Mở
Windows Firewall từ
Control Panel, chọn
Change settings
Trong hộp thoại
Windows Firewall Settings, chọn
Off, chọn
OK
Mở
System từ
Control Panel, trong cửa sổ
System chọn
Change settings
Trong hộp thoại
System Properties, vào tab
Computer Name, chọn
Change
Hộp thoại
Computer Name/Domain Changes, chọn
More
Hộp thoại
DNS Suffix and NetBIOS Computer Name, nhập
MSOpenLab.com vào ô
Primary DNS suffix of this computer, chọn
OK 3 lần
Trong hộp thoại
System Properties, chọn
Close
Hộp thoại yêu cầu restart máy, chọn
Restart Now
Sau khi khởi động máy thành công, log on
Administrator, mở
command line, gõ lệnh
ipconfig /all, kiểm tra thông tin như trong hình bên dưới.
2. Cài đặt DNS Server role
Tại máy
Server, log on Administrator, mở
Server Manager từ
Administrative Tools
Trong cửa sổ
Server Manager, chuột phải
Roles chọn
Add Roles
Hộp thoại
Before You Begin, chọn
Next
Trong hộp thoại
Select Server Roles, đánh dấu chọn
DNS Server, chọn
Next
Hộp thoại
DNS Server, chọn
Next
Hộp thoại
Confirm Installation Selections, chọn
Install
Hộp thoại
Install Results, chọn
Close
3. Cấu hình DNS Server
Tại máy
Server, sau khi cài đặt DNS thành công, mở
DNS Manager từ
Administrative Tools
Trong cửa sổ
DNS Manager, bung
Server1, chuột phải
Forward Lookup Zones, chọn
New Zone
- Hộp thoại
Welcome to the New Zone Wizard, chọn
Next
Trong hộp thoại
Zone Type, chọn
Primary zone, chọn
Next
Hộp thoại
Zone Name, nhập
MSOpenLab.com vào ô
Zone name, chọn
Next
Hộp thoại
Zone File, chọn
Next
Trong hộp thoại
Dynamic Update, chọn
Allow both nonsecure and secure dynamic updates, chọn
Next
Hộp thoại
Completing the New Zone Wizard, chọn
Finish
Trong cửa sổ
DNS Manager, kiểm tra tạo thành công zone
MSOpenLab.com, trong zone
MSOpenLab.com có
IPv6 Host record server1
Trong cửa sổ
DNS Manager, chuột phải
Reverse Lookup Zones, chọn
New Zone
Hộp thoại
Welcome to the New Zone Wizard, chọn
Next
Trong hộp thoại
Zone Type, chọn
Primary zone, chọn
Next
Trong hộp thoại
Reverse Lookup Zone Name, chọn
IPv6 Reverse Lookup Zone, chọn
Next
Trong hộp thoại
Reverse Lookup Zone Name, nhập địa chỉ như trong hình bên dưới
Hộp thoại
Zone File, nhập
msopenlabnet.dns vào ô
Create a new file with this file name, chọn
Next
Trong hộp thoại
Dynamic Update, chọn
Allow both nonsecure and secure dynamic updates, chọn
Next
Hộp thoại
Completing the New Zone Wizard, chọn
Finish
Trong cửa sổ
DNS Manager, kiểm tra tạo thành công
Reverse Lookup Zone
Mở
Command Line, gõ lệnh
ipconfig /registerdns
Mở
DNS Manager, vảo
zone 9.0.0.0.8.6.1.0.2.9.1.0.0.0.c.f.ip6.arpa, kiểm tra có
Pointer record như trong hình bên dưới
Mở
Command Line, gõ lệnh
dnscmd /config /enableIPv6 1
4. Cài đặt DHCP Server role
Tại máy Server, mở
Server Manager từ
Administrative Tools, chuột phải
Roles chọn
Add Roles
Hộp thoại
Before You Begin, chọn
Next
Trong hộp thoại
Select Server Roles, đánh dấu chọn
DHCP Server, chọn
Next
Hộp thoại
DHCP Server, chọn
Next
Hộp thoại
Select Network Connection Bindings, kiểm tra có đánh dấu chọn
fc00:192:168:5::25, chọn
Next
Hộp thoại
Specify IPv4 DNS Server Settings, chọn
Next
Hộp thoại
Specify IPv4 WINS Server Settings, chọn
WINS is not required for applications on the network, chọn
Next
Hộp thoại
Add or Edit DHCP Scopes, chọn
Next
Trong hộp thoại
Configure DHCPv6 Stateless Mode, chọn
Enable DHCPv6 stateless mode for this server, chọn
Next
Trong hộp thoại
Specify IPv6 DNS Server Settings, nhập
MSOpenLab.com vào ô
Parent Domain, nhập
fc00:192:168:5::25 vào ô
Preferred DNS Server IPv6 Address, chọn
Next
Hộp thoại
Confirm Installation Selections, chọn
Install
Hộp thoại
Installation Results, chọn
Close
5. Cấu hình DHCP Scope
Tại máy Server, sau khi cài đặt DHCP thành công, mở
DHCP từ
Administrative Tools
Trong cửa sổ
DHCP, bung
server1.msopenlab.com, chuột phải
IPv6 chọn
New Scope
Hộp thoại
Welcome to the New Scope Wizard, chọn
Next
Trong hộp thoại
Scope Name, nhập
IPv6 Scope vảo ô
Name, chọn
Next
Trong hộp thoại
Scope Prefix nhập
fc00:92:168:5:: vào ô
Prefix, chọn
Next
Hộp thoại
Add Exclusions, chọn
Next
Hộp thoại
Scope Lease, chọn
Next
Hộp thoại
Completing the New Scope Wizard, chọn
Finish
Trong cửa sổ
DHCP, bung
IPv6, chuột phải
Scope[fc00:192:168:5::25] chọn
Properties
Trong hộp thoại
Scope[fc00:192:168:5::25] Scope Properties, qua tab
DNS, chọn
Always dynamically update DNS AAA and PTR record, chọn
OK
6. Cấu hình Client sử dụng IPv6
Tại máy Client, log on
Administrator, vào
Start\Setting chọn
Network Connections
Trong cửa sổ
Network Connection, chuột phải
Local Area Connection, chọn
Properties
Trong hộp thoại
Local Area Connection Properties, bỏ dấu chọn
Internet Protocol Version 4 (TCP/IPv4), đánh dấu chọn
Internet Protocol Version 6 (TCP/IPv6), chọn
Properties
Trong hộp thoại
Internet Protocol Version 6 (TCP/IPv6) Properties, chọn
Obtain an IPv6 address automatically và
Obtain DNS server address automatically, chọn
OK 2 lần
Mở
Command Line, gõ lệnh như hình bên dưới
Mở
System từ
Control Panel, chọn
Change settings
Trong hộp thoại
System Properties, chọn
Change
Hộp thoại
Computer Name/Domain Changes, chọn
More
Trong hộp thoại
DNS Suffix and NetbIOS Computer Name, nhập
MSOpenLab.com vào ô
Primary DNS suffix of this computer, chọn
OK 3 lần
Hộp thoại
System Properties, chọn
Close
Hộp thoại
Microsoft Windows, chọn
Restart Now
Sau khi khởi động máy
Client, mở
Command Line, gõ lệnh
ipconfig /registerdns
Trong cửa sổ
Command Line, gõ lệnh
ipconfig /all, kiểm tra máy Client nhận được thông số TCP/IP từ máy Server cung cấp.
7. Kiểm tra kết quả
Tại máy
Server, mở
DNS Manager, bung
Server1\Forward Lookup Zones, kiểm tra trong
zone MSOpenLab.com đã có host record của máy
Client
Trong cửa sổ
DNS Manager, bung
Server1\Reverse Lookup Zones, kiểm tra có
pointer record của máy Client
Theo: Msopenlab