Chia Sẽ Kinh Nghiệm Về IT



Tìm Kiếm Với Google
-


Gởi Ðề Tài Mới  Gửi trả lời
 
Công Cụ Xếp Bài
Tuổi 30-11-2009, 08:35 PM   #1
hoctinhoc
Guest
 
Trả Lời: n/a
IPV6 Toàn tập (Tổng quan và Hướng dẫn triển khai trên nền IPV6 )

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 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 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




  Trả lời ngay kèm theo trích dẫn này
The Following User Says Thank You to hoctinhoc For This Useful Post:
Gửi trả lời



Quyền Hạn Của Bạn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Hình Cảm xúc đang Mở
[IMG] đang Mở
Mã HTML đang Tắt




Bây giờ là 06:46 AM. Giờ GMT +7



Diễn đàn tin học QuantriNet
quantrinet.com | quantrimang.co.cc
Founded by Trương Văn Phương | Developed by QuantriNet's members.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.