• Mỗi tuần một chủ đề: Internet Protocol version 6 (IPv6)

    Tiếp tục loạt bài "Mỗi tuần một chủ đề" của mình,với một tâm trạng vui vẻ sau khi làm bài thi và yêu cầu của bác luugu, hôm nay xin giới thiệu với các bạn một công nghệ vẫn còn khá mới mẻ: Internet Protocol Version 6 - Công nghệ của tương lai.

    Bài viết của mình là tổng hợp những kiến thức mình biết và tham khảo một số tài liệu như 70-642, wikipedia. Do vậy sẽ có những thiếu sót không thể tránh khỏi. Mong nhận được những lời góp ý từ các bạn để bài viết được hoàn thiện.

    Chi tiết đầy đủ về IPv6,các bạn có thể tham khảo tại RFC 2460RFC 3513

    I. Giới thiệu IPv6

    Ipv4 có thể cung cấp 4.3 tỉ địa chỉ duy nhất, một con số rất lớn. Nhưng do sự phát triển nhanh chóng của Internet, không gian địa chỉ Ipv4 đang dần cạn kiệt. IANA đã cung cấp những địa chỉ IPv4 cuối cùng.

    Do đó, Ipv6 được thiết kế chủ yếu để giải quyết vấn đề này của IPv4. Thay vì sử dụng 32-bit địa chỉ như Ipv4, IPv6 sử dụng 128-bit địa chỉ, nghĩa là có thể cung cấp 2128 hay 3.4 undecillion ( 3.4x1034 ). Con số này lớn hơn rất rất nhiều so với IPv4. Mặc dù có những cải tiến khác trong IPv6 so với IPv4, chẳng hạn như chất lượng dịch vụ (QoS), định tuyến hiệu quả hơn, cấu hình đơn giản, và bảo mật nhưng gia tăng không gian địa chỉ của IPv6 là tính năng quan trọng nhất.

    Địa chỉ IPv6 được viết bằng cách sử dụng tám khối bốn chữ số thập lục phân. Mỗi khối cách nhau bằng dấu hai chấm, đại diện cho một số 16-bit. Đây là một ví dụ:
    2001:0BC8FA9:0000:0000:0000:00C3:6D8A
    bạn có thể rút ngắn một địa chỉ Ipv6 bằng cách thay thế các số 0 bằng 1 số 0 duy nhất hay bỏ các số 0 ở đầu:
    2001:BC8FA9:0:0:0:C3:6D8A
    để rút ngắn hơn nữa, bạn thay thế tất cả các khối 0 liền kề bằng 2 dấu hai chấm "::" :
    2001:BC8FA9::C3:6D8A

    Do địa chỉ IPv6 bao gồm 8 khối nên bạn luôn xác định được bao nhiêu khối 0 đã được thay thế bởi dấu "::". Như ví dụ trên là 3 khối 0 đã được thay thế do trong địa chỉ vẫn còn 5 khối.

    II. Các loại địa chỉ IPv6

    1. Global Addresses

    Global Addresses cũng giống như địa chỉ Public của Ipv4,địa chỉ mà trên Internet có thể hiểu. Tiền tố địa chỉ hiên đang được sử dụng cho Global Addresses là 2000::/3, tức là giá trị của khối đầu tiên sẽ nằm giữa 2000-3FFF trong hệ thập lục phân. Cấu trúc của một Global Addresses như sau:

    - 48 bits đầu tiên là tiền tố định tuyến toàn cầu, nó xác định site của bạn. Phần địa chỉ này sẽ do ISP quy định cho bạn ( 3 bits đầu tiên của tiền tố này phải là 001 trong ký hiệu nhị phân )
    - 16 bits tiếp theo là subnet ID. Bạn có thể sử dụng phần này để xác định các subnet trong tổ chức của bạn.
    - 64 bits cuối cùng là Interface ID và nó xác định 1 interface duy nhất trong mỗi subnet. Interface ID cũng giống như host ID trong IPv4

    001(3bits) Global Routing Prefix(45bits) Subnet ID(16bits) Host Address(64bits)


    2. Link-Local Addresses

    Link-Local Addresses cũng giống như địa chỉ APIPA ( 169.254.0.0/16 ) trong Ipv4. Địa chỉ này không định tuyến được và chỉ dùng để truyền thông trong local subnet. Tuy nhiên, không giống như APIPA, Link-Local Addresses vẫn được gán cho interface như là địa chỉ thứ 2, khi mà interface đã được gán 1 địa chỉ định tuyến được. Cấu trúc của Link-Local Addresses:

    - Phần đầu tiên luôn là fe80::, có thể hiểu là fe80:0000:0000:0000
    - Phần còn lại xác định interface ID
    - Mỗi computer đánh dấu 1 Link-Local Addresses với 1 Zone ID có dạng "%ID". Zone ID không phải là 1 phần của địa chỉ nhưng nó thay đổi với mỗi computer.

    1111 1110 10(10bits)(3bits) All 0s(54bits) Interface ID(64bits) Zone ID

    3. Unique Local Addresses

    Unique Local Addresses giống như Private IP trong IPv4( 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 ). Địa chỉ này có thể được định tuyến giữa các subnet trong mạng riêng nhưng không thể định tuyến trên Internet. Chúng cho phép bạn tạo ra một mạng riêng phức tạp mà không cần 1 không gian địa chỉ public. Unique Local Addresses bắt đầu với "fd". Cấu trúc của nó như sau:

    - 7 bits đầu tiên luôn là 1111 110 và bit thứ 8 được đặt là 1, nó xác định 1 địa chỉ local. Điều đó có nghĩa là tiền tố địa chỉ là fd00::/8
    - 40 bits tiếp theo xác định Global ID, nó là 1 giá trị được tạo ra một cách ngẫu nhiên để xác định 1 site nào đó trong tổ chức.
    - 16 bits tiếp theo xác định Subnet ID và nó có thể sử dụng để chia mạng con trong site của bạn cho mục đích định tuyến.
    - 64 bits còn lại xác định Interface ID và nó xác định một interface duy nhất trong mỗi subnet

    1111 1101(8bits) Global ID(40bits) Subnet ID(16bits) Host Address(64bits)

    III. Các công nghệ chuyển đổi IPv6

    Ipv6 có header format khác biệt so với IPv4. Do vậy, các router mà không được thiết kế để hỗ trợ IPv6 thì sẽ không hiểu được giá trị các trường trong IPv6 header. Do đó, để triển khai Ipv6 thì các tổ chức phải nâng cấp các router của mình. Tuy nhiên, các layer 2 Protocol như là Ethernet thì không bị ảnh hưởng, nên các layer 2 switch và hub thì không cần nâng cấp. Các công nghệ chuyển đổi, bao gồm Next Generation TCP/IP stack trong Windows, ISATAP, 6to4 và Teredo cho phép
    sử dụng Ipv6 trong những mạng định tuyến chỉ hỗ trợ Ipv4

    1. Next Generation TCP/IP

    Công nghệ chuyển đổi nền tảng là dựa trên kiến trúc TCP/IP thế hệ mới. Với công nghệ này, máy tính có thể truyền thông với client, server, các hạ tầng mạng có hỗ trợ IPv6 và vẫn có thể truyền thông với những máy tính và dịch vụ mạng chỉ hỗ trợ IPv4.

    2. Intra-Site Automatic Tunnel Addressing Protocol

    Intra-Site Automatic Tunnel Addressing Protocol( ISATAP ) là một giao thức đường hầm cho phép một mạng IPv6 truyền thông với một mạng IPv4 thông qua ISATAP router. ISATAP cho phép máy chủ IPv4 và IPv6 truyền thông với nhau bằng cách dịch địa chỉ giữa IPv4 và Ipv6. Trong quá trình này, tất cả các ISATAP client đều được nhận 1 địa chỉ thông qua ISTAP Interface. Đó là 1 địa chỉ IPv4 được đóng gói trong 1 địa chỉ IPv6. ISATAP được sử dụng trong mạng nội bộ.

    3. 6to4

    6to4 là một giao thức mà tạo đường hầm lưu lượng Ipv6 thông qua lưu lượng IPv4, nhờ các 6to4 router. Các 6to4 client có địa chỉ IPv4 của router được nhúng trong địa chỉ IPv6 của chúng. Do vậy, chúng không cần 1 địa chỉ Ipv4 riêng. Trong khi ISATAP được sử dụng chính là trong intranet thì 6to4 được sử dụng trên Internet. Bạn có thể sử dụng 6to4 để kết nối đến 1 host IPv6 nào đó trên Internet thông qua các 6to4 relay ngay cả khi mạng riêng của bạn hoặc ISP chỉ hỗ trợ Ipv4

    4. Teredo

    Teredo là một giao thức đường hầm cho phép client ở phía sau 1 thiết bị NAT có thể sử dụng IPv6 qua Internet. Teredo được sử dụng khi không có công nghệ chuyển tiếp IPv6 sẵn ( như 6to4 chẳng hạn).

    Teredo hoạt động dựa trên một cơ sở hạ tầng bao gồm:

    - Teredo client: Một Teredo client là một máy tính đã được kích hoạt cả Ipv4 và Ipv6, được đặt sau 1 máy chủ Ipv4 NAT. Teredo client sẽ tạo ra 1 đường hầm và cấu hình địa chỉ IPv6 có thể định tuyến được nhờ sự giúp đỡ của Teredo server. Thông qua đường hầm này, Teredo client truyền thông với các Teredo client khác hoặc các host trên IPv6 Internet( thông qua các Teredo relay )
    - Teredo Server: Teredo sever là một máy chủ kết nối tới cả IPv4 Internet và IPv6 Internet. Teredo client hỗ trợ việc cấu hình của các Teredo client và tạo điều kiện thuận lợi cho việc truyền thông giữa hai Teredo client hoặc giữa Teredo client và Ipv6 host.
    - Teredo relay: Teredo relay là điểm cuối của đường hầm Teredo. Nó là một IPv6/IPv4 router mà có thể forward gói tin giữa teredo client trên IPv4 Internet và các host IPv6.
    - Teredo host-specific relay: Một Teredo host-specific relay là máy chủ mà hoạt động với cả IPv4 và Ipv6, được coi như là một Teredo relay riêng. Nhiệm vụ cơ bản của nó là cho phép một Teredo client có địa chỉ IPv6 Global tạo đường hầm thông qua Ipv4 Internet và truyền thông trực tiếp với các host kết nối với IPv6 Internet.

    Ngoài ra, nếu bạn nào làm việc trên hệ thống Windows thì cần phải biết một cái nữa, đó là IP-HTTPS, một giao thức M$ phát triển cho Windows 7 và Windows Server 2008 R2. Trên đây chỉ là những cái tổng quan nhất về các công nghệ chuyển đổi IPv6. Nếu bạn nào muốn đi sâu vào tìm hiểu kĩ từng cái, về cấu trúc của từng giao thức thì nên đọc thêm các RFC và các tài liệu khác.


    IV. Làm việc với IPv6

    64 bits đầu tiên của địa chỉ IPv6 xác định network ID. Một tổ chức nếu nhận 1 địa chỉ từ ISP, thì chỉ 48 bits đầu tiên được ISP cấp, 16 bits còn lại xác định Subnet ID, và có thể được sử dụng để chia mạng con theo bất cứ cách nào mà tổ chức chọn. Ví dụ bạn có thể dành 3 bits đầu để thiết kế ra 23= 8 mạng con, 13 bits còn lại dùng để chia mạng local của 8 mạng con kia. Vì vậy, kĩ năng tạo và liệt kê số mạng con trong vùng không gian địa chỉ của bạn là vô cùng quan trọng. Các bước cụ thể như sau:

    1. Xác định số bits còn lại trong Subnet ID

    Phần network ID của Ipv6 gồm 64 bits. Do đó, nếu bạn được cấp một không gian địa chỉ với tiền tố địa chỉ là /51 hay /53, bạn có thể dễ dàng xác định số bits còn lại theo công thức sau:
    64 – bits in the network prefix of your address space = bits available in the subnet ID
    Ví dụ bạn được cấp 1 địa chỉ là 2001:CC1D:5A:C000::/51, bạn dễ dàng xác định được số bits còn lại trong Subnet ID là 13, nghĩa là bạn có thể có 213= 8192 mạng con. Tuy nhiên bạn chỉ nên sử dụng một số bits cần thiết cho việc chia mạng của bạn, các bits còn lại nên để dành cho tương lai.

    2. Xác định bạn cần bao nhiêu bits để chia mạng con

    Bước này cũng giống như làm với IPv4. Bạn cần xác định n nhỏ nhất với 2n bằng hoặc lớn hơn số mạng con mà bạn cần. Ví dụ nếu bạn cần 5 mạng con thì số bits cần là 3 vì 23= 8 lớn hơn 5.

    3. Xác định tiền tố địa chỉ mới được sử dụng trong mạng con

    Bước này bạn chỉ cần cộng số bits bạn xác định được ở bước 2 với tiền tố địa chỉ ban đầu mà bạn được cấp. Với địa chỉ ban đầu là 2001:CC1D:5A:C000::/51, số bits cần dùng là 2, vậy tiền tố địa chỉ mới của mạng con sẽ là /53. Địa chỉ của mạng con đầu tiên sẽ là 2001:CC1D:5A:C000::/53

    4. Xác định các Subnet khác

    Để xác định các subnet khác, chúng ta dựa vào một thông số, được gọi là Increment. Thông số này xác định như sau. Trước tiên bạn lấy 64 trừ đi địa chỉ tiền tố ban vừa xác định ở bước 3, sau đó lũy thừa cơ số 2. Ví dụ ở bước trên bạn có địa chỉ tiền tố là 53, vậy bạn sẽ có là 64 - 53= 11,và xác định được là 211. Chúng ta làm gì với con số này? Bí kíp nằm ở đây:

    HEXADECIMAL VALUE POWER OF TWO
    1 20
    2 21
    4 22
    8 23
    10 24
    20 25
    40 26
    80 27
    100 28
    200 29
    400 210
    800 211
    1000 212
    2000 213
    4000 214
    8000 215

    Dựa vào bảng này chúng ta dễ dàng xác định được giá trị HEXA mà ta cần tìm, ở ví dụ của chúng ta, 211 tương ứng với 800 trong HEXA.

    Cuối cùng chúng ta sử dụng con số HEXA này để xác định các mạng con còn lại:

    - Viết địa chỉ Subnet 1
    - Địa chỉ Subnet 2 sẽ bằng địa chỉ subnet 1+số Increment (HEXA)
    - Tương tự với các subnet còn lại

    Ở đây chúng ta có một số quy tắc như sau:

    - Nếu một chữ số trong cột có giá trị A -> F, thay thế nó bằng giá trị nhị phân tương ứng.
    - Nếu tổng một cột cho kết quả giữa 10 và 15, thay thế bằng các giá trị A -> F tương ứng.
    - Nếu tổng một cột cho kết quả 16, viết 0 ở cột đó và cộng 1 vào cột bên trái.
    - Việc cộng thêm số Increment sẽ không bao giờ cho kết quả lớn hơn 16.

    Ví dụ: subnet 1 address là 2001:CC1D:5A:C000::/54, số Increment là 400, vậy ta sẽ có:

    - Subnet Address 2: C000 + 400 = C400 -> Subnet 2 address = 2001:CC1D:5A:C400::/54
    - Subnet Address 3: C400 + 400 = C800 -> Subnet 3 address = 2001:CC1D:5A:C800::/54
    - Subnet Address 4: C800 + 400 = C(12)00 -> CC00 -> Subnet 4 address = 2001:CC1D:5A:CC00::/54
    - Subnet Address 5: CC00 + 400 = C(12)00 + 400 = C(16)00 = (C+1)000 = D000 -> Subnet 5 address
    = 2001:CC1D:5A000::/54
    - Subnet Address 6: D000 + 400 = D400 -> Subnet 6 address = 2001:CC1D:5A400::/54
    - Subnet Address 7: D400 + 400 = D800 -> Subnet 7 address = 2001:CC1D:5A800::/54
    - Subnet Address 8: D800 + 400 = D(12)00 = DC00 -> Subnet 8 address = 2001:CC1D:5AC00::/54

    V. Lời kết

    Bài viết của mình xin được tạm dừng tại đây,hi vọng sẽ được sự góp ý chân thành của các mem Về ưu va nhược điểm của IPv6, mình xin share cho anh em 2 link sau:
    http://ipmac.vn/sau-hieu-lam-lon-nhat-ve-ipv6.html
    http://www.pcworld.com.vn/articles/c...-nan-can-kiet/
    Bản tin này đuợc lấy từ trong diễn đàn: Mỗi tuần một chủ đề: Internet Protocol version 6 (IPv6) Gửi bởi bino1810 Xem bài gốc


About svBK.VN

    Bách Khoa Forum - Diễn đàn thảo luận chung của sinh viên ĐH Bách Khoa Hà Nội. Nơi giao lưu giữa sinh viên - cựu sinh viên - giảng viên của trường.

Follow us on

Twitter Facebook youtube