واژگان بسته هاي اطلاعاتي
واژگان بسته هاي اطلاعاتي ( Packets )

- 1 : واژگان بسته هاي اطلاعاتي ( Packets )
در هر يک از لايه هاي TCP/IP از بسته اطلاعاتي با اسامي متفاوتي نام برده مي شود . همزمان با حرکت يک بسته اطلاعاتي از يک لايه به لايه ديگر در پروتکل TCP/IP ، هر يک از پروتکل هاي مربوطه ، اطلاعات اختصاصي خود را به آن اضافه مي نمايند. از بسته اطلاعاتي بهمراه اطلاعات اضافه شده به آن ، با اسامي فني ديگر ، ياد مي گردد. اين اسامي: سگمنت پيام ديتاگرام و فريم مي باشند.
سگمنت : سگمنت واحد انتقال اطلاعات در TCP بوده و شامل يک TCP header است که توسط Application data ، همراهي شده است .
پيام : پيام ، واحد انتقال اطلاعات در پروتکل هائي نظير ICMP,UDP,IGMP و ARP است . پيام شامل يک Protocol header بوده که توسط Application و يا protocol data ، همراهي شده است .
ديتاگرام: ديتاگرام ، واحد انتقال اطلاعات در سطح لايه IP است . ديتاگرام شامل يک IP header است که توسط لايه transport ، همراهي شده است .
فريم : فريم واحد انتقال اطلاعات در سطح لايه اينترفيس شبکه است فريم شامل يک header است که در لايه network به آن اضافه شده است که توسط داده لايه IP همراه شده است .


1-2 : اجزاء يک فريم
يک فريم ( اصطلاحي براي يک بسته اطلاعاتي در سطح لايه شبکه ) شامل سه بخش اساسي header , data و trailer است .


Header اطلاعات موجود در اين بخش شامل موارد زير مي باشد :
يک سيگنال هشداردهنده مبني بر ارسال يک بسته اطلاعاتي
آدرس مبداء
آدرس مقصد
Data
در اين بخش اطلاعات واقعي ارسال شده توسط برنامه ، قرار مي گيرد. اين بخش از بسته اطلاعاتي داراي اندازه هاي متفاوتي است ( بستگي به محدوديت اندازه تنظيم شده توسط شبکه دارد) . بخش Data ، در اکثر شبکه ها از نيم کيلو بايت تا چهار کيلو بايت را مي تواند شامل شود. در شبکه هاي اترنت ، اندازه داده تقريبا" معادل يک و نيم کيلو بايت است . با توجه به اينکه اکثر تنظيمات داده هاي اوليه ، بيش از چهار کيلو بايت مي باشند ،مي بايست داده به بخش هاي کوچکتري با نام " بسته هاي اطلاعاتي " تقسيم گردد. در زمان انتقال يک فايل با ظرفيت بالا ، بسته هاي اطلاعاتي زيادي در طول شبکه منتقل خواهند شد.
Trailer محتويات trailer ارتباط مستقيم به پروتکل استفاده شده در لايه اينترفيس شبکه دارد trailer ، معمولا" شامل بخشي بمنظور بررسي خطاء بوده که Cyclical redundancy check ، ناميده مي شود CRC ، عددي است که توسط يک محاسبه رياضي بر روي بسته اطلاعاتي در مبداء ( فرستنده) ، توليد مي گردد . زمانيکه بسته اطلاعاتي به مقصد خود مي رسد ، مجددا" محاسبه مربوطه انجام خواهد شد. در صورتيکه نتايج بدست آمده ، يکسان باشد ، نشاندهنده صحت ارسال يک بسته اطلاعاتي خواهد بود . در صورتيکه ماحصل محاسبه در مقصد با نتيجه محاسبه شده در مبداء ، مغايرت داشته باشد ، بدين مفهوم خواهد بود که داده در زمان انتقال ، تغيير نموده است . در چنين حالتيکامپيوتر مبداء مجددا" داده را ارسال خواهد کرد .
جريان انتقال اطلاعات از کامپيوتر مبداء تا کامپيوتر مقصد :
بسته هاي اطلاعاتي ارسال شده از يک کامپيوتر براي کامپيوتر ديگر از بين لايه هاي متعدد پروتکل TCP/IP عبور خواهند کرد . بموازات رسيدن يک بسته اطلاعاتي به يک لايه ، پروتکل هاي موجود در آن ، اطلاعات خاصي را به آن اضافه خواهند کرد . اطلاعات اضافه شده ضميمه شده توسط هر پروتکل ، شامل اطلاعاتي در رابطه با بررسي خطاء بوده که Checksum ، ناميده مي شود. از Checksum ، بمنظور بررسي صحت ارسال اطلاعات اضافه شده در header توسط پروتکل مربوطه ، در پروتکل مقصد استفاده مي گردد اطلاعات مي بايست بي کم و کاست در اختيار پروتکل مقصد قرار بگيرند .فراموش نکنيم که CRC ، صحت انتقال يک بسته را بطور کامل بررسي مي نمايد. اطلاعات اضافه شده توسط پروتکل ها در هر لايه ، بعنوان داده توسط پروتکل هاي لايه زيرين ( پايين ) کپسوله خواهند شد. زمانيکه بسته اطلاعاتي به مقصد مورد نظر مي رسد ، لايه مربوطه ( منتاظر ) يک بخش از header را برداشته و با باقي بسته اطلاعاتي بعنوان داده برخورد خواهد کرد . بسته اطلاعاتي در ادامه بسمت پروتکل هاي موجود در لايه بالاتر ارسال و دراختيار پروتکل مربوطه قرار خواهد گرفت . در ادامه عملکرد هر يک از لايه ها را در فرآيند انتقال اطلاعات بررسي و اين موضوع را از زاويه کامپيوتر مبداء و مقصد دنبال خواهيم نمود .


لايه Application
فرآيند انتقال اطلاعات از لايه application آغاز مي گردد . يک برنامه نظير FTP پردازش را در کامپيوتر مبداء مقدار دهي اوليه مي نمايد(آماده نمودن داده به فرمتي که برنامه در کامپيوتر مقصد ، قادر به تشخيص آن باشد) . برنامه موجود در کامپيوتر مبداء ، کنترل تمامي فرآيند را برعهده خواهد داشت .


1- 3 : لايه Transport
از لايه Application داده به لايه transport منتقل مي گردد. اين لايه شامل پروتکل هاي TCP و UDP است . برنامه مورد نظر نوع پروتکل "حمل" را مشخص مي نمايد TCP يا UDP در هر دو حالت Checksum براي TCP و UDP اضافه خواهد شد.
در صورتيکه پروتکل TCP ، انتخاب گردد :
يک دنباله عددي ( Sequence number ) به هر سگمنت منتقل شده اضافه خواهد شد. اطلاعات مربوط به Acknowledgment براي يک ارتباط " اتصال- گرا" به هر سگمنت اضافه مي شود .
شماره پورت TCP در رابطه با برنامه هاي مبداء و مقصد ، اضافه خواهد شد.
در صورتيکه پروتکل UDP ، انتخاب گردد :
شماره پورت UDP در رابطه با برنامه هاي مبداء و مقصد ، اضافه خواهد شد.
1-4 : لايه اينترنت
پس از اينکه اطلاعات "حمل " اضافه گرديد بسته اطلاعاتي در اختيار لايه اينترنت قرار داده مي شود. در اين لايه ، اطلاعات زير به header اضافه مي گردد :
آدرس IP مبداء
آدرس IP مقصد
نوع پروتکل "حمل "
مقدار checksum
اطلاعات TTL ( Time to Live)
علاوه بر اطلاعات فوق ، لايه اينترنت مسئوليت بر طرف نمودن آدرس هاي IP مقصد به يک آدرس MAC را نيز بر عهده دارد . پروتکل ARP ، مسئول انجام عمليات فوق است . آدرس MAC به header بسته اطلاعاتي اضافه و در ادامه بسته اطلاعاتي در اختيار لايه " اينترفيس شبکه " قرار داده مي شود.
1- 5 : لايه "اينترفيس شبکه "
لايه فوق پس از دريافت يک بسته اطلاعاتي از لايهIP ، اطلاعات زير را به آن اضافه خواهد کرد :
يک Preamble مقدمه دنباله اي از بايت ها است که ابتداي يک "فريم " را مشخص مي نمايد .
يک CRC ماحصل يک محاسبه رياضي است که به انتهاي فريم اضافه و از آن بمنظور صحت ارسال فريم ، استفاده مي گردد.
پس ازافزودن اطلاعات مورد نظر به فريم ها در لايه اينترفيس شبکه ، در ادامه فريم ها بر روي شبکه ارسال خواهند شد.
1- 6 :عمليات در کامپيوتر مقصد
زمانيکه فريم ها به کامپيوتر مقصد مي رسند لايه اينترفيس شبکه Preamble را حذف و مقدار CRC را مجددا" محاسبه مي نمايد. در صورتيکه مقدار بدست آمده با مقدار محاسبه شده در مبداء يکسان باشد در ادامه آدرس MAC مقصد ، موجود بر روي فريم بررسي مي گردد . در صورتيکه آدرس MAC ، يک آدرس Broadcast و يا آدرس MAC با کامپيوتر مقصد مطابقت نمايد ، فريم به لايه "اينترنت " ارسال خواهد شد. در غير اينصورت فريم ناديده گرفته مي شود. در لايه IP مجددا" Checksum محاسبه و با مقدار محاسبه شده قبل از انتقال مقايسه تا اين اطمينان حاصل گردد که بسته اطلاعاتي در طول مسير تغيير ننموده است . در ادامه IP بسته اطلاعاتي را در اختيار پروتکل "حمل" قرار مي دهد TCP يا UDP بمنظور تصميم گيري در رابطه با نوع پروتکل "حمل " از اطلاعات موجود در IP header استفاده مي گردد. در لايه "حمل" در صورتيکه بسته اطلاعاتي از TCP دريافت شده باشد دنباله عددي sequence number بر روي بسته اطلاعاتي بررسي و يک acknowledgement براي TCP کامپيوتر مبداء ارسال مي گردد . در ادامه از اطلاعات پورت TCP موجود در بسته اطلاعاتي استفاده تا بسته اطلاعاتي براي برنامه مربوطه در لايهApplication ، ارسال گردد.
در صورتيکه UDP بسته اطلاعاتي را از لايه "اينترنت" دريافت نمايد ، از اطلاعات پورت UDP موجود در بسته اطلاعاتي استفاده تا آن را براي برنامه مربوطه در لايه Application ارسال نمايد . بدون ارسال يک acknowledgement براي کامپيوتر مبداء
پس از دريافت اطلاعات توسط Appliaction پردازش هاي لازم و ضروري در ارتباط با آنها انجام خواهد شد.
جريان داده در شبکه اي که صرفا" شامل يک سگمنت است عمليات ساده اي خواهد بود . در چنين شبکه هائي ، کامپيوترهاي ارسال کننده ، يک درخواست Broadcast را بمنظور مشخص نمودن آدرس MAC کامپيوتر مقصدي که قصد ارسال اطلاعات براي آن وجود دارد ، ارسال مي نمايند . فرآيند ارسال اطلاعات در شبکه هائي که شامل چندين سگمنت مي باشند بدين صورت نخواهد بود . در شبکه هائي شامل چندين سگمنت فرآيند انتقال اطلاعات بمراتب پيچيده تر خواهد بود. در چنين محيط هائي TCP/IP مسيرهاي متعددي را بمنظور ارتباط کامپيوترهاي موجود در شبکه ارائه و از ارتباطات غير ضروري در اين خصوص پيشگيري مي نمايد .
درمحيطي که شامل چندين شبکه مرتبط با يکديگر است ، ممکن است کامپيوترهاي مبداء و مقصد در يک سگمنت يکسان نباشند . بدين منظور آدرس IP کامپيوتر مقصد بررسي تا اين اطمينان حاصل گردد که موقعيت کامپيوتر مقصد نسبت به کامپيوتر مبداء ، محلي بر روي يک سگمنت و يا از راه دور موجود بر روي سگمنت ديگر است .در صورتيکه کامپيوتر مقصد در راه دور سگمنت ديگر باشد داده نمي تواند مستقيم براي وي ارسال گردد . در چنين مواردي لايه IP داده مورد نظر را براي يک روتر ارسال مي نمايد . روتر بسته اطلاعاتي دريافتي را به مقصد مورد نظر ارسال ( فوروارد ) مي نمايد .
2- 1 : روتينگ IP
شبکه هاي بزرگ TCP/IP که از آنان با عنوان شبکه هاي مرتبط بهم Internetworks ياد مي گردد خود به بخش هاي ( سگمنت ) کوچکتري تقسيم تا بتوانند ميزان مبادله اطلاعات و ترافيک موجود در يک سگمنت را کاهش نمايند . Internetwork ، شبکه اي مشتمل بر چندين سگمنت است که توسط روترها به يکديگر مرتبط مي گردد . اولين و در عين حال مهمترين وظيفه يک روترارتباط دو و يا چندين سگمنت فيزيکي با يکديگر است . روترها ، بسته هاي اطلاعاتي لايه IP را از يک سگمنت در شبکه به سگمنت ديگر ارسال مي نمايند . فرآيند فوق فورواردينگ بسته هاي IP روتينگ ناميده مي شود. روترها دو و چندين سگمنت را بيديگر متصل و امکان حرکت ارسال بسته هاي اطلاعاتي از يک سگمنت به سگمنت ديگر را فراهم مي نمايند.


2- 2 : توزيع بسته هاي اطلاعاتي
بسته هاي اطلاعاتي فوروارد شده ، با توجه به ماهيت مقصد خود حداقل يک و يا دو نوع توزيع را دنبال خواهند کرد. در اين رابطه از دو نوع توزيع و با نام هاي توزيع مستقيم و يا غير مستقيم استفاده مي گردد :
توزيع مستقيم
از روش فوق ، زماني استفاده مي گردد که کامپيوتر ارسال کننده، يک بسته اطلاعاتي را براي کامپيوتري ارسال مي نمايد که بر روي همان سگمنت قرار دارد ( موقعيت فيزيکي کامپيوترهاي فرستنده و گيرنده بر روي يک سگمنت يکسان است ) . در چنين مواردي کامپيوتر مورد نظر بسته اطلاعاتي را بر اساس يک فريم قالب بندي و آن را براي لايه اينترفيس شبکه ارسال مي نمايد آدرس دهي بسته اطلاعاتي مربوطه ، بر اساس آدرس MAC کامپيوتر مقصد ، انجام خواهد شد .
توزيع غير مستقيم
از روش فوق ، زماني استفاده مي گردد که کامپيوتر ارسال کننده ، بسته اطلاعاتي را براي يک روتر فوروارد مي نمايد ( مقصد نهائي بسته اطلاعاتي در همان سگمنت نمي باشد) . در چنين مواردي کامپيوتر مورد نظر بسته اطلاعاتي را بر اساس يک فريم قالب بندي و آن را براي لايه اينترفيس شبکه ارسال مي نمايد . آدرس دهي بسته اطلاعاتي مربوطه ، بر اساس آدرس MAC روتر، انجام خواهد شد .


2- 3 : جدول روتينگ
بمنظور مشخص نمودن مقصدي که مي بايست يک بسته اطلاعاتي فوروارد گردد روترها از جداول روتينگ براي ارسال داده بين سگمنت هاي شبکه استفاده مي نمايند. جدول روتينگ در حافظه ذخيره و مسئول نگهداري اطلاعات ضروري در خصوص ساير شبکه هاي مبتني بر IP و ميزبانان است . جداول روتينگ همچنين اطلاعات ضروري را براي هر ميزبان محلي بمنظور آگاهي از نحوه ارتباط با با ساير شبکه ها و ميزبانان را دور ارائه مي نمايند .
براي هر کامپيوتر موجود بر روي يک شبکه مبتني بر IP مي توان يک جدول روتينگ را نگهداري کرد. سياست فوق در خصوص شبکه هاي بزرگ عملي نبوده و از يک روتر پيش فرض بمنظور نگهداري جدول روتينگ استفاده مي گردد .
جداول روتينگ مي توانند بصورت ايستا و يا از نوع پويا باشند تفاوت عمده به نحوه بهنگام سازي آنان برمي گردد جدول روتينگ ايستا ، بصورت دستي بهنگام مي گردد . بنابراين، جداول فوق شامل آخرين وضعيت موجود در شبکه نخواهد بود در مقابل ، جداول روتينگ پويا بصورت اتوماتيک بهنگام و همواره شامل آخرين اطلاعات موجود خواهند بود .
ارسال اطلاعات بين روترها لايه IP داراي نقشي بسيار مهم در رابطه با ارسال اطلاعات بين شبکه هاي متعدد است .
بسته ها ي اطلاعاتي مبادله و بر اساس شرايط موجود و با استفاده از IP مربوطه درلايه اينترنت کامپيوتر مبداء کامپيوتر مقصد و يا روترهاي موجود در مسير مربوطه پردازش هاي لازم بر روي آنان انجام خواهد شد.
بمنظور ارسال داده بين دو کامپيوتر موجود در سگمنت هاي متفاوت شبکه لايه IP از اطلاعات موجود در يک جدول محلي روتينگ در جهت يافتن مسير مناسب دسترسي به کامپيوتر مقصد استفاده مي نمايد( مشاوره اطلاعاتي ! ) در صورت يافتن مسير مناسب بسته اطلاعاتي با استفاده ازمسير فوق ارسال خواهد شد. در غير اينصورت بسته هاي اطلاعاتي براي روتر پيش فرض فوروارد مي گردند .
2- 4 : عملکرد لايه IP در کامپيوتر مبداء
لايه IP علاوه بر افزودن اطلاعاتي نظير TTL همواره آدرس IP کامپيوتر مقصد را به بسته اطلاعاتي اضافه مي نمايد. در موارديکه توزيع بسته هاي اطلاعاتي از نوع مستقيم باشد از ARP استفاده و آدرس MAC کامپيوتر مقصد به آن اضافه گردد . در موارديکه توزيع اطلاعات از نوع غير مستقيم باشد از ARP استفاده و آدرس MAC روتري که مي بايست بسته هاي اطلاعاتي براي آن فوروارد گردد به آن اضافه خواهد شد.
2- 5 : عملکرد لايه IP در روتر
پس از دريافت يک بسته اطلاعاتي توسط روتر لايه IP مربوطه مسئول مشخص نمودن محل ارسال بسته اطلاعاتي است . براي نيل به هدف فوق ، مراحل زير دنبال خواهد شد :
لايه IP بررسي لازم در خصوص Checksum و آدرس IP مقصد را انجام مي دهد . اگر آدرس IP مربوط به روتر باشد روتر پردارش هاي لازم در خصوص بسته اطلاعاتي را بعنوان کامپيوتر مقصد انجام خواهد داد ( IP در مقصد ) در ادامه لايه IP مقدارTTL را کاهش و جدول روتينگ مربوطه را بمنظور يافتن مناسبترين مسير بمنظور رسيدن به آدرس IP مقصد بررسي مي نمايد .
در موارديکه توزيع بسته هاي اطلاعاتي از نوع مستقيم باشد از ARP استفاده و آدرس MAC کامپيوتر مقصد به آن اضافه گردد . در موارديکه توزيع اطلاعات از نوع غير مستقيم باشد از ARP استفاده و آدرس MAC روتري که مي بايست بسته هاي اطلاعاتي براي آن فوروارد گردد، به آن اضافه خواهد شد .
تمامي مراحل فوق در ارتباط با هر يک از روترهاي موجود در مسير بين کامپيوتر مبداء و مقصد تکرار خواهد شد. پس از دريافت بسته اطلاعاتي توسط روتري که در همان سگمنت کامپيوتر مقصد موجود مي باشد فرآيند تکراري اشاره شده متوقف خواهد شد .
Fragmentationو Reassembly
زمانيکه يک بسته اطلاعاتي بسيار بزرگ به روتر مي رسد لايه IP قبل از ارسال آن را به بخش هاي کوچکتري تقسيم مي نمايد . فرآيند فوق Fragmentation ناميده مي شود.
تمامي بسته هاي اطلاعاتي کوچک در ادامه بر روي شبکه حرکت خواهند کرد . بسته هاي اطلاعاتي فوق ، حتي اگر بين چندين روتر حرکت نمايند صرفا" در زمانيکه تمامي آنان به کامپيوتر مقصد رسيده باشند مجددا" با يکديگر ترکيب و شکل اوليه بسته اطلاعاتي ايجاد
مي گردد. فرآيند فوق Reassembly ناميده مي شود .
2- 6 : لايه IP در کامپيوتر مقصد
زمانيکه يک بسته اطلاعاتي به کامپيوتر مقصد مي رسد لايه IP در کامپيوتر مقصد Checksum و آدرس IP مقصد آن را بررسي و در ادامه بسته اطلاعاتي در اختيار TCP و يا UDP قرار خواهد گرفت در نهايت بسته اطلاعاتي بمنظور انجام پردازش نهائي و با توجه به شماره پورت موجود در اختيار برنامه مقصد قرار خواهد گرفت .



فصل 2 : آشنائی با ابزارIPTables
اين شماره به معرفی يكي از ابزارهاي قدرتمند تصفيه كننده بسته‌ها به‌ نام IPtables مي‌پردازيم IPtables به عنوان نسل چهارم پياده‌سازي شده از ابزارهاي تصفيه كننده سيستم‌عامل لينوكس معرفي مي‌شود این مقاله شامل بخش‌های زیر است.
• معرفي سيستم‌ تصفيه كننده بسته‌ها
• تاريخچه حفاظ‌های سيستم‌عامل لينوکس
• زنجيرها جداول‌ و قوانين IPtables
• قوانين IPtables
• پياده‌سازی چند سياست ساده امنيتی
• راه‌اندازي و استفاده از IPtables
• جهت مطالعه بيشتر
• مراجع
• معرفی سيستم تصفيه کننده بسته‌ها
يك سيستم تصفيه‌كننده بسته‌ها (همان‌طور كه از نامش پيداست) براي كنترل ترافيك ورودي و خروجي بسته‌ها بين يك شبكه داخلي و شبكه خارجي به‌ كار مي‌رود. به كمك يك تصفيه كننده مي‌توان:
1. دسترسي به اينترنت از طريق بعضي ماشين‌ها را محدود كرد.
2. ترافيك ناخواسته و نيز پويش‌هاي انجام شده از خارج را مسدود كرد.
3. از امكان ترجمه آدرس‌هاي شبكه استفاده كرد. به كمك NAT مي‌توان تعداد زيادي از كامپيوترهاي داخل شبكه را تنها با داشتن يك آدرس IP معتبر به شبكه خارجي متصل نمود.
4. استفاده از کارگزار Proxy را از ديد کاربران شفاف نمود(Redirect).
انواع سيستم‌های تصفيه کننده بسته‌ها
سيستم‌های تصفيه کننده بسته‌ها به‌ طور کلی به دو نوع تقسيم می‌شوند:
1. سيستم‌های بدون حالت : در اين سيستم‌ها تصفيه هر بسته مستقل از بسته‌های ديگر و اينکه متعلق به چه ارتباطی است، صورت می‌گيرد.
2. سيستم‌های مبتنی بر حالت : در اين سيستم‌ها حافظه جداگانه‌ای تاريخچه هر ارتباطی که به آن وارد، خارج يا از آن می‌گذرد، را ثبت می‌کند. اين ويژگی برای پيکربندی مؤثر FTP، DNS و ساير سرويس‌های شبکه ضروری می‌باشد. عموماً حفاظ‌های مبتنی بر حالت از نمونه‌های بدون حالت امن‌تر می‌باشند. چرا که با استفاده از آنها می‌توان مجموعه قوانين سخت‌تری برای کنترل ترافيک اعمال کرد.
تاريخچه
محصولات ارائه شده تحت عنوان تصفيه کننده بسته‌ها چهار نسل تکامل را پشت سر گذاشته‌اند:
• IPFW: اين نسخه يادآور اولين پشتيبانی لينوکس از سرويس تصفيه بسته‌ها می‌باشد که در داخل هسته 1.2 لينوکس تعبيه شده بود. IPFW ويژگي‌های ابتدايی مورد انتظار از يک حفاظ را پياده‌سازی کرده بود. بعضی از محدوديت‌های آن عبارت بودند از:
o عمل تصفيه را تنها روی يک پورت انجام می‌داد
o Mason از آن پشتيبانی نمی‌کرد
o در محيط‌های توزيع شده قابل استفاده نبود.
o مبتنی بر حالت نبود.
• IPFWADM: در هسته 20 لينوکس قرار داده شده است. تصفيه بسته‌ها را از روی آدرس درگاه‌های مبداء و مقصد انجام می‌داد و امکان مخفی‌سازی آدرس‌های IP ترجمه چند به يک) در آن قرار داده شده بود. با اين وجود يک حفاظ مبتنی بر حالت نبود و تنها از قراردادهای TCP، UDP و ICMPپشتيبانی می‌کرد.
• IPChains: در هسته 2.2 لينوکس قرار داده شده بود. با وجود اينکه يک حفاظ مبتنی بر حالت نبود، ولی از زيرنوع‌های ICMP و ساير قراردادها علاوه بر از TCP، UDP و ICMP پشتيبانی می‌کرد.
• از هسته 2.4 لينوکس به بعد IPtables به عنوان حفاظ پيش فرض لينوکس همراه با آن نصب می‌شد. IPtables نسبت به حفاظ‌های نسل قبل خود چند تفاوت مهم داشت:
o يک حفاظ مبتنی بر حالت بود.
o از قرارداد اينترنت نسخه 6.0 پشتيبانی می‌کرد.
o از طراحی پیمانه‌ای برخوردار بود.
o علاوه بر جهش‌های فوق، با نسخه‌های دو نسل قبل خود، يعنی IPFWADM و ipchains مطابقت داشت. (Backward Compatibility)
جدول‌ها و زنجیرها در IPtables
جدول و زنجیر دو مفهوم اساسی در IPtables هستند که شناخت اين ابزار و نحوه عملکرد آن و نوشتن قوانين مورد نظر مستلزم درک کامل اين مفاهيم می‌باشد.
در IPtables جدول‌ها مجموعه‌ای از قوانين مرتبط را در برمی‌گيرند. اين قوانين در ساختار ديگری تحت عنوان زنجیرها معنی پيدا می‌کنند. زنجیرها انواع نحوه عبور بسته‌ها از حفاظ را بيان می‌کنند. بسته به اينکه هر بسته در ورود، خروج يا عبور از حفاظ چه مسيری را بپيمايد، بخشی از قوانين جدول‌ها روی آن اعمال می‌شود. نحوه اعمال قوانين جدول به اين صورت است که بسته‌های رسيده با تک تک قوانين آن مقايسه می‌شوند و اولين قانونی که با شرايط بسته مطابق باشد، در مورد آن اعمال می‌شود. در غير اين صورت سياست پيش فرض حفاظ روی آن اعمال می شود. (قبول يا دور ریخت ) .