How To Find IPv6 Prefix

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

How to find IPv6 Prefix

Địa chỉ IPv4 có một subnet mask nhưng thay vì nhập một cái gì đó như 255.255.255.0, chúng ta sử dụng một
prefix length cho IPv6. Dưới đây là một ví dụ về IPv6 prefix:

2001:1111:2222:3333::/64

Điều này khá giống với việc sử dụng 192.168.1.1/24. Số đằng sau dấu / là số bit mà chúng ta sử dụng cho
prefix. Trong ví dụ ở trên, nó có nghĩa là 2001:1111:2222:3333 prefix là (64 bits) và mọi thứ đằng sau có thể
được sử dụng cho các hosts.

Khi tính toán subnets cho IPv4, chúng ta có thể sử dụng subnet mask để xác định địa chỉ mạng và cho IPv6
chúng ta có thể làm điều gì đó tương tự. Đối với bất kỳ địa chỉ IPv6 cụ thể nào, chúng ta có thể tính toán được
prefix là gì nhưng nó hoạt động hơi khác một chút.

Hãy để tôi cho bạn biết những gì tôi đang nói, đây là địa chỉ IPv6 có thể được gán cho một host:

2001:1234:5678:1234:5678:ABCD:EF12:1234/64

Phần nào từ địa chỉ IPv6 này là prefix và phần nào xác định host?

Vì chúng ta sử dụng một /64, nên nó có nghĩa là 64 bit đầu tiên là prefix. Mỗi ký tự thập lục phân đại diện cho 4
bit nhị phân, điều đó có nghĩa là phần này là prefix:

2001:1234:5678:1234

Phần này có 16 ký tự thập lục phân. 16 x 4 nghĩa là 64 bits. Vậy nên prefix ở tại đó. Phần còn lại của địa chỉ
IPv6 là xác định host:

5678:ABCD:EF12:1234

Vì vậy, chúng ta đã phát hiện ra rằng “2001:1234:5678:1234” là phần prefix nhưng viết nó ra như thế này là
không chính xác. Để ghi lại prefix một cách chính xác, chúng ta cần thêm các số 0 vào cuối prefix để nó có lại
địa chỉ 128 bits và thêm vào prefix length:

CCNP – Trương Trung Hiếu


2001:1234:5678:1234:0000:0000:0000:0000/64 là một prefix nhưng chúng ta có thể rút ngắn nó. Chuỗi số 0
này có thể bị xóa và thay thể bởi ::

2001:1234:5678:1234::/64

Đó là cách ngắn nhất để viết ra prefix. Hãy xem một ví dụ khác:

3211::1234:ABCD:5678:1010:CAFE/64

Trước khi chúng ta có thể xem prefix là gì, chúng ta sẽ viết địa chỉ đầy đủ vì địa chỉ này đã được rút gọn ( xem
::). Chỉ cần thêm các số 0 cho đến khi chúng ta có địa chỉ 128 bit lại:

3211:0000:0000:1234:ABCD:5678:1010:CAFE/64

Chúng ta vẫn có prefix length là 64 bits. Một ký tự thập lục phân đơn đại diện cho 4 bits nhị phân, vì vậy 16 ký
tự thập lục phân đầu tiên là 1 prefix:

3211:0000:0000:1234

Bây giờ chúng ta có thể thêm các số 0 ở cuối để biến nó thành 128 bits và thêm prefix length:

3211:0000:0000:1234::/64

Đó là 1 prefix đẹp nhưng chúng ta có thể làm cho nó ngắn hơn một chút:

3211:0:0:1234::/64

4 số 0 trong một hàng có thể được thay thế bằng một số 0 duy nhất, vì vậy “3211:0:0:1234::/64” là số ngắn nhất
mà chúng ta có thể tạo cho prefix này.

Tùy thuộc vào prefix length mà nó làm cho các phép tính rất dễ hoặc rất khó. Trong các ví dụ tôi vừa show cho
bạn, cả 2 prefixes có độ dài là 64. Điều gì sẽ xảy ra nếu tôi có prefix pength là /53 hoặc cái gì đó khác?

Mỗi ký tự thập lục phân đại diện cho 4 bits nhị phân. Khi bạn có prefix length là bội số của 16 thì bạn sẽ dễ
dàng tính toán vì 16 bits nhị phân đại diện cho 4 ký tự thập lục phân.

Đây là một minh họa:

Vì vậy, với một prefix length là 64, chúng ta có 4 “blocks” với 4 ký tự thập lục phân, mỗi block giúp dễ dàng
để tính toán. Khi prefix length là bội số của 4 thì nó vẫn không quá tệ vì ranh giới sẽ là một ký tự thập lục phân.

Khi một prefix length không phải là bội số của 16 hoặc 4, nó có nghĩa là chúng ta phải thực hiện một số phép
tính nhị phân.
CCNP – Trương Trung Hiếu
Để tôi cho bạn 1 ví dụ:

2001:1234:abcd:5678:9877:3322:5541:aabb/53

Đây là địa chỉ IPv6 của chúng ta và tôi muốn biết prefix của địa chỉ này. Tôi sẽ bắt đầu từ đâu?

Đầu tiên, tôi phải xác định xem bit thứ 53 của tôi nằm ở “block” nào:

Ở đâu đó trong block màu xanh, chúng ta sẽ tìm thấy bit thứ 53. Để biết prefix là gì, chúng ta phải tính các ký
tự thập lục phân đó thành nhị phân:

Bây giờ chúng ta có block chứa bit thứ 53, đây là nơi ranh giới giữa “prefix” và “host”:

Bây giờ chúng ta sẽ set các bit thành 0 vậy nên chỉ còn lại prefix. Cuối cùng, chúng ta tính toán từ hệ nhị phân
trở lại hệ thập lục phân:

CCNP – Trương Trung Hiếu


Đặt block này trở lại vị trí và set tất cả các bit của host khác thành 0:

Bây giờ chúng ta đã tìm thấy prefix! 2001:1234:abcd:5000::/53. Tính toán thì không tệ lắm nhưng bạn phải làm
bẩn tay với hệ nhị phân.

Hy vọng bài này sẽ hữu ích cho bạn.

CCNP – Trương Trung Hiếu

You might also like