Ở bài viết trước (bạn có thể xem lại tại đây), tôi đã giới thiệu tuần tự các bước thực hiện để từ một IPv4 cho trước, t có thể tìm ra lần lượt các thông tin chung của nó.
Bây giờ mình làm một cách nhanh hơn, tiết kiệm thời gian hơn.
Tôi giới thiệu công thức tổng quát trước, vào bài toán ta sẽ từ từ hiểu ra.
Yêu cầu: Cho một địa chỉ 198.101.6.55/28. Hãy cho biết địa chỉ Network và địa chỉ Broadcast của IP đó.
Thực hiện:
Bước 1 ta sẽ xác định IP đề cho thuộc lớp nào trong các lớp hiện hữu của IPv4. Trong ví dụ tôi lấy IPv4, vậy HostID sẽ là phần 55. Đổi 55 ra nhị phân, ta được:
55 = 0011 0111
Ta gọi kết quả vừa tìm được ở trên là KQ1. Tiếp theo, ta đổi Subnet Mask ra nhị phân. Làm sao xác định Subnet Mask? Bé vui lòng đọc lại bài lần trước nhé =))))
Ta tính nhanh: /28 mà lớp C tức là 28 = 24 + 4. Mượn 4 bit thì bật 4 con số 1 lên ở phần HostID. Tương ứng, Subnet Mask sẽ là 255.255.255.240.
Tới đây, không dại dột gì đi đổi hết 4 octet đó ra nhị phân, mà ta chỉ đổi 240 thôi. Kết quả thu được sẽ là:
240 = 1111 0000
Ta gọi kết quả này là KQ2.
Để tìm được địa chỉ mạng của IP cần xác định, ta thực hiện phép toán nhị phân AND giữa KQ1 và KQ2.
Nếu không nhớ cách thực hiện phép AND thì tham khảo hình bên dưới:
Như vậy, ta thực hiện KQ1 AND KQ2 như sau:
55 = 0011 0111
SM = 1111 0000
KQ = 0011 0000 = 48
Như vậy, địa chỉ mạng của 198.101.6.55 sẽ là 198.101.6.48.
Bước 2 là thực hiện tìm địa chỉa Broadcast. Ta vẫn nhớ 240 là subnet mask tính được. Bây giờ, ta đảo bit nhị phân của nó đi:
240 = 1111 0000
Reverse: 0000 1111
Ta gọi kết quả vừa đảo ngược bit ở trên là KQ3.
Cuối cùng, lấy KQ1 OR với KQ3. Nếu không nhớ phép OR thực hiện như thế nào thì xem hình bên dưới:
Như vậy, KQ1 OR KQ3 sẽ được thực hiện như sau:
55 = 0011 0111
KQ3 = 0000 1111
KQ = 0011 1111 = 63
Ta thu được địa chỉ broadcast của IP đề bài 198.101.6.55 sẽ là 198.101.6.63.
Nếu phát hiện có sai sót, lỗi,… vui lòng email ngay cho tôi tại địa chỉ votinhthuong9@gmail.com, hoặc để lại comment bên dưới bài viết.
VÕ TÌNH THƯƠNG
votinhthuong9@gmail.com