مبنای محاسبه address وWildcard mask در ACL استفاده از دو عمل منطقی AND و XOR میباشد.که در ادامه روش محاسبه آن را خواهیم دید.
در ابتدا خروجی AND دو ورودی A و B را باهم نگاه میکنیم:
A AND B
______________
| A | B | out |
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
————–
در این مرحله خروجی XOR دو ورودی A و B را بررسی میکنیم.
A XOR B
______________
| A | B | out |
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
————–
همانطوری که می دانیم نحوه نوشتن یک ACL به صورت زیر می باشد :
access-list 1 permit [address] [wildcard]
که در این دستور قسمت address نتیجه and آدرسهای A و B میباشد (AوB آدرسهایی که میخواهیم در ACL قرار گیرد که برای روشن شدن ای مطلب در ادامه مثال خواهم زد) و قسمت wildcard نتیجه XOR دو آدرس A وB میباشد.
مثال1:
فرض کنید ما سه شبکه به صورت زیر داریم و میخواهیم ACL بنویسیم که اجازه عبور ترافیک این سه شبکه رابدهد در ادامه نحوه کار را با هم میبینیم:
74.18.23.0/24
68.34.14.0/24
84.51.20.0/24
اولین اقدامی که انجام میدهیم این است که آدرسها را به باینری تبدیل میکنیم.
74.18.23.0/24 – 01001010 . 00010010 . 00010111 . 00000000
68.34.14.0/24 – 01000100 . 00100010 . 00001110 . 00000000
84.51.20.0/24 – 01010100 . 00110011 . 00010100 . 00000000
84.51.20.0/24 – 01010100 . 00110011 . 00010100 . 00000000
همانطوری که در بالا ذکر شد حال باید address و wildcard را برای این سه آدرس محاسبه کنیم:
محاسبه address ) نتیجه AND سه آدرس):
74.18.23.0/24 – 01001010 . 00010010 . 00010111 . 00000000
68.34.14.0/24 – 01000100 . 00100010 . 00001110 . 00000000
84.51.20.0/24 – 01010100 . 00110011 . 00010100 . 00000000
AND Result —- 01000000 . 00100010 . 00000100 . 00000000= 64.2.4.0
محاسبه wildcard(نتیجه XOR سه آدرس ):
74.18.23.0/24 – 01001010 . 00010010 . 00010111 . 00000000
68.34.14.0/24 – 01000100 . 00100010 . 00001110 . 00000000
84.51.20.0/24 – 01010100 . 00110011 . 00010100 . 00000000
XOR Result —- 00011110 . 00010001 . 00011011 . 00000000=30.17.27.0
نکته: . در این wildcard اخرین octet صفر میباشد که را برابر با 255 قرار میدهیم
بنایراین ACL ما بصورت زیر خواهد بود.
access-list 1 permit 64.2.4.0 30.17.27.255
مثال 2:
دو آدرس ریز را داریم.
12.18.23.5
12.18.22.6
نتیجه and :
12.18.23.5 – 00001100 . 00010010 . 00010111 . 00000101
12.18.22.6 – 00001100 . 00010010 . 00010110 . 00000110
AND Result – 00001100 . 00010010 . 00010110 . 00000100 = 12.18.22.4
نتیجه XOR:
12.18.23.5 – 00001100 . 00010010 . 00010111 . 00000101
12.18.22.6 – 00001100 . 00010010 . 00010110 . 00000110
XOR Result – 00000000 . 00000000 . 00000001 . 00000011 = 0.0.1.3
نتیجه ACL:
access-list 2 permit 12.18.22.4 0.0.1.3