دلیل نصب فايروال بر روی سیستم عامل ها

بدون شك در دنياي امروزي، فناوري اطلاعات بخش مهم و انكارناپذير از زندگي ما را تشكيل مي‌دهد. از اينرو قسمت‌هاي مختلف و زيرمجموعه اين حوزه وسيع نيز ارزش و مقام خاص خود را دارد. يكي از اين زيرمجموعه‌ها مبحث امنيت داده‌ها است كه كوچك شمردن آن ممكن است زيانهاي زيادي را به پيكرة بشر امروزي وارد سازد. همانطور كه درِ خانه نياز به قفل دارد تا از ورود هرگونه بيگانه به حريم شخصي شما جلوگيري شود، كامپيوتر شخصي و يا حتي شبكه شما نيز نياز به فايروال دارد تا حريم حوزة اطلاعاتي‌تان هم از هرگونه آسيبي در امان بماند.
در اين مجموعه هر آنچه كه نياز است در مورد فايروال‌ها بدانيد را در بر خواهد گرفت. از پايه‌اي‌ترين بخش‌ها تا حرفه‌اي‌ترين ساختارها. مشخصاً قبل از ورود به قسمت‌هاي حرفه‌اي و تخصصي، نياز داريم درباره موارد پايه‌اي شبكه‌ و فايروال‌ها بيشتر بدانيم. سپس گام به گام با پيشرفته‌تر كردن موضوعات وارد حوزة امنيتي شبكه‌اي خواهيم شد. پس اگر به علوم امنيت كامپيوتري علاقه‌مند هستيد (با هر سطح دانش كامپيوتري) توصيه مي‌كنيم با ما اين مجموعه را دنبال كنيد.
فايروال چيست؟
فايروال در حقيقت يك قطعه سخت‌افزاري و يا يك نرم‌افزار است كه نقش نظارت و يا بازدارندگي ترافيك انتقال داده‌ها را در شبكه‌ها بعهده دارد. اگر بخواهيد بدانيد چرا نام فايروال را براي اين دستگاه يا سيستم كامپيوتري انتخاب كرده‌اند بايد كمي از صنعت ايمن‌سازي ساختمآنها براي‌تان بگويم! اصولاً در طراحي ساختمانهاي چوبي، ديواره‌اي از جنسي غير قابل اشتعال و مقاوم در برابر حرارت تعبيه مي‌شود كه وظيفه ‌آن كنترل حريق در هنگام آتش‌سوزي است. اين ديواره‌ها در حقيقت ساختمان را به چند بخش مجزا تقسيم مي‌كنند. اگر روزي بخشي از ساختمان دچار حريق شود فايروال مانعي براي ادامه يافتن و پخش شدن آن به ديگر بخش‌هاي ساختمان خواهد شد. در حقيقت اين خاصيت همان نقشي است كه فايروال‌هاي كامپيوتري براي شبكه‌ها ايفا مي‌كنند. به اين ترتيب كه اگر در سمتي از يك شبكه بيروني (مانند اينترنت) تهديد و خطري وجود داشته باشد، جلوي نفوذ آن به سمت ديگر يعني شبكة دروني (كه مي‌تواند شبكه محلي يك سازمان باشد) را خواهد گرفت. البته فايروال‌هاي ساختماني فقط مانع ورود و نفوذ آتش به سمت ديگر مي‌شوند، حال آنكه فايروال‌هاي كامپيوتري نقش پيچيده‌تري در مقابل تهديدات گوناگون بعهده دارند. تهديداتي مانند جملات DoS، هكرها، SQL Injection و ….
فايروال يك دوست يا يك مزاحم؟
متاسفانه اغلب كاربران فايروال‌ها را بيشتر يك مزاحم مي‌دانند تا يك دوست. آنها انتظار دارند در شبكه كامپيوترها يکديگر را به راحتي ping كنند، پرينترها را به اشتراك بگذارند و از اينترنت بي‌دردسر بهره‌برند و … حال آنکه فايروال مي‌تواند تمامي روياهاي آنها را برباد دهد! اما حقيقت اين نيست زيرا فايروال بيش‌تر از آنکه يك مزاحم باشد مي‌تواند مدافعي خوب براي هر شبكه‌اي باشد. نيازي نيست آن‌ را غيرفعال كنيد، لزومي ندارد از آن فرار كنيد، بهتر است با آن آشنا شويد تنظيماتش را فرا گيريد و با طي چندين گام ساده از يك مزاحم دردسر ساز يك دوست قوي براي در امان نگاه داشتن اطلاعات‌تان بهره ببريد. اما چگونه؟ مشخص است قبل از هركاري بايد كمي با مقدمات شبكه‌هاي كامپيوتري آشنايي داشته باشيد و توسط معلوماتي كه بدست مي‌آوريد سيستم امنيتي براي خود طراحي كنيد كه هر قسمتي از شبكه و يا حتي كامپيوتر شخصي‌تان را بگونه‌اي كه مي‌خواهيد محافظت كند. البته اگر خودتان در زمينة شبكه‌ها معلومات خوب و كافي داريد ممكن است در اين چند قمست اول با مطالب تكراري زيادي مواجه شويد. ولي مطمئن باشيد پس از بيان اين مقدمات، گام به گام آنقدر در اين حوزه مطالب جديد و تازه خواهيد ديد كه مطمئناً براي‌تان جذاب و كاربردي خواهد بود.
كلياتي از پروتكل TCP/IP
همانطور كه انسان نيازمند تكلم براي برقراري ارتباط با ديگران است، كامپيوترها هم تحت پروتكلي‌هاي مختلف بين خودشان ارتباط برقرار مي‌كنند. مانند انسانها كه زبان‌هاي گوناگوني براي صحبت كردن دارند، كامپيوترها نيز پروتكلي‌هاي گوناگوني مانند TCP/IP، NetBIOS و … را براي اين كار دارند. البته هميشه ميان زبان‌هاي گوناگون، يك زبان بعنوان زباني بين‌الملي (مانند انگليسي در زبان كلامي) وجود دارد كه بين اقوام مختلف يك پل ارتباطي و فصل مشترك ايجاد مي‌كند. در حقيقت پروتكل TCP/IP نيز همين نقش را در دنياي كامپيوتري ايفا مي‌كند. از اينرو براي مسلط بودن به تنظيمات فايروال‌ها بايد با اين پروتكل آشنايي كاملي داشته باشيد.
در حقيقت TCP/IP مجموعه‌اي از پروتكل‌هايي است كه هركدام بواسطه قوانيني (Rules) تعيين مي‌كند كه يك كامپيوتر با اينترنت در ارتباط باشد. به بيان ديگر TCP/IP زبان مشترك كامپيوترها در اينترنت محسوب مي‌شود. بارزترين مسئله‌اي كه مي‌توان در مورد TCP/IP عنوان كرد، مقيد بودن آن به نشاني‌هاست. به اين صورت كه هر كامپيوتري كه در حوزه آن قرار مي‌گيرد مي‌بايست يك نشاني منحصر به فرد (به نام IP Address) داشته باشد. در حقيقت IP آدرس نشان مي‌دهد كدام كامپيوتر قرار است Packetي (Packet) را ارسال و كدام يك قرار است دريافت كند.
Packet چيست؟
اطلاعاتي كه قرار است در شبكه‌ها رد و بدل شوند به تكه‌هاي كوچكي بنام Packet تقسيم خواهد شد. Packet‌ها خود شامل دو قسمت كلي سرايند (Header) و داده‌ها مي‌شوند. فايروال‌ها با بررسي سرآيند هر Packet تصميم خواهند گرفت كه آيا Packet موردنظر اجازه عبور دارد يا خير. سرآيند هر Packet حاوي اطلاعات مهم و كليدي است (كه توسط اين اطلاعات فايروال تصميم به عبور و يا مسدود كردن آن خواهد كرد). اين اطلاعات شامل اين مي‌شود كه اولاً اين Packet از كجا آمده است، ثانياً قرار است به كدام كامپيوتر برود و يا كدام برنامه در رايانة مقصد قرار است اين Packet را دريافت كند. جالب است بدانيد بعضي از فايروال‌ها اطلاعات كامل يك Packet يعني هر دو بخش سرآيند و داده‌هاي آنها را بررسي مي‌كنند.
فايروال چكاري انجام مي‌دهد؟
همانطور كه قبلاً هم گفتيم فايروال نقش كنترلي بر ترافيك شبكه‌اي دارد. اين ترافيك مي‌تواند با توجه به قوانيني كه مدير شبكه (يا كاربر) براي شبكه‌ (يا سيستم شخصي‌اش) تعيين كرده، اجازه عبور يافته و يا مسدود شود. بطور كلي تمامي فايروال‌ها، ترافيك ورودي (Incoming Traffic) را مورد ارزيابي قرار مي‌دهند. ضمن آنکه فايروال‌هاي حرفه‌اي‌تر بغير از اين‌كار، ترافيك خروجي (Outgoing Traffic) را هم پوشش مي‌دهند.
بطور كلي فايروال‌ها روي شبكه‌هايي نصب مي‌شوند كه قرار است به اينترنت متصل شود. اما در سازمان‌هاي بزرگ ممكن است چندين شبكه‌اي محلي در نقاط گوناگون وجود داشته باشد. در چنين ساختارهايي با توجه به نياز و سطح امنيتي مورد نياز هر شبكه، فايروال با تنظيمات ويژه در نظر گرفته خواهد شد. از اينرو نوع و چيدمان فايروال‌ها بستگي كامل به شرايط هر شبكه خواهد داشت.
اما شايد بخواهيد بدانيد درباره خصوصيات و امكانات يك فايروال بيشتر بدانيد:
• مسدود كردن ورودي‌ها با توجه به منبع و يا مقصد: اين خصوصيت پركاربردترين بخش هر فايروال به حساب مي‌آيد.
• مسدود كردن خروجي‌ها با توجه به منبع و يا مقصد: خيلي از فايروال‌ها بغير از ترافيك ورودي، خروجي‌هاي شبكه‌ها را هم كنترل مي‌كنند. اين عمل مزيت‌هاي خاصي بهمراه دارد. بطور مثال سازماني مايل نيست كارمندانش به سايت‌ها و يا منابع خاصي از اينترت دسترسي داشته باشند. از اينرو مي‌توانند با فايروال اين راه را بر آنها مسدود كنند.
• مسدود كردن ترافيك شبكه با توجه به محتويات ارسال / دريافتي: اغلب فايروال‌هاي پيشرفته، قادرند داده‌هاي داخل تمامي Packet‌هاي ارسالي را هم ارزيابي كنند. در نتيجه با توجه به محتويات درون هر Packet قادر خواهند بود جلوي دريافت و يا ارسال آنها را بگيرند. اين خاصيت زماني بكار خواهد آمد كه مثلاً مايل باشيد امكان ورود فايل‌ها و يا نامه (ضميمه‌دار) حاوي ويروس را بگيريد!
• مهيا كردن منابع داخلي: يكي ديگر از كارهايي كه فايروال‌ها مي‌توانند انجام دهند اين است كه دسترسي به منابع خاصي را در داخل شبكه قابل مهيا و در شبكه‌هاي خارجي مسدود كنند. مثلاً كامپيوترهاي داخلي شبكه بتوانند به Web Server شركت دسترسي داشته باشند‌(و يا ديگر كامپيوترهاي شبكه را Ping كنند) ولي همين امكانات را ديگر كامپيوترهاي خارج از شبكه (در اينترنت) نداشته باشند.
• مهيا كردن ارتباط به شبكه داخلي: يكي از امكانات جالب و كاربردي براي دسترسي از راه دور به شبكه‌ها VPN (شبكه خصوصي مجازي) است. بواسطه آن امكان يك شركت مي‌تواند هر تعداد شعبه و يا حتي كارمندان خود را در سراسر دنيا، از طريق اينترنت به شبكه اصلي متصل كند. بطوريكه اين اتصال بشكل فيزيكي برقرار شده است. با وجود كاربردي بودن اين امكان، خطرات نهفته‌اي هم مطمئناً در اين ميان وجود خواهد داشت. براي جلوگيري از اين‌خطرها فايروال‌ها مي‌توانند با اعمال تنظيماتي خاص، چنين اتصالاتي را امن و بي‌خطر سازند.
• گزارش‌گيري از فعاليت‌هاي فايروال و ترافيك شبكه‌اي: يكي ديگر از خاصيت‌هاي مهم فايروال‌ها، امكان گزارش‌گيري دقيق از تمامي وقايع امنيتي در شبكه خواهد بود. توسط اين گزارش‌ها مديران شبكه مطلع خواهند شد كه بطور مثال آيا حمله به سرورها صورت گرفته است يا خير، دسترسي كدام نرم‌افزار بطور خودكار بسته شده و ….

 كدام فايروال مناسب شما خواهد بود؟
اگر دقت كرده باشيد اغلب فروشندگان پوشاك سعي مي‌كنند به هر طريق شما را متقاعد سازند كه لباس كاملاً مناسب شماست، حال آنکه شايد همان لباس را به ديگر مشتريانش كه هيچ وجه مشتركي ( چه از نظر سني، ظاهري و … ) با شما نداشته باشند هم پيشنهاد دهد. اما يك خريدار و متقاضي هوشمند مي‌داند هر كالايي بايد باتوجه به نياز و پارامترهاي خاصي تهيه شود. اصولاً انتخاب فايروال هم از اين قاعده مستثني نيست و بايد بدانيد نياز سيستم و يا شبكه‌اي كه با آن كار مي‌كنيد چيست و با توجه به آن، فايروالي را برگزينيد. بطور كلي فايروال‌ها را مي‌توان به چند بخش و مد كلي تقسيم كرد:
• فايروال‌هاي شخصي: همانطور كه از نام آن پيداست اين مدل از فايروال‌ها براي محافظت از يك يا تعداد بسيار محدودي از كامپيوترها (SOHO) در نظر گرفته مي‌شوند. اغلب اين فايروال‌ها گزارش‌گيري قوي نداشته و امكانات مديريتي ( براي تنظيمات پيشرفته ) را در اختيار كاربران نمي‌گذارند.
• ‌ فايروال براي سازمان‌هاي كوچك: اين فايروال‌ها قابليت نصب و تنظيم روي شبكه‌هايي كه ده‌ها سيستم دارند (SMB) را در اختيارتان قرار مي‌دهد. سيستم گزارش‌گيري در اين نوع فايروال‌ها بهتر از حالت قبلي است. ولي مطمئناً كامل و فراگير نخواهد بود.
• ‌ فايروال‌هاي سازماني: اين نوع فايروال‌ها اصولا براي شبكه‌هايي كه صدها (و يا هزاران) كلاينت دارند (Enterprise) در نظر گرفته مي‌شود. اين تعداد مي‌توانند خواه در يك مكان و بصورت يك شبكة محلي تعريف شوند و خواه در مكان‌هاي گوناگون قرار داشته باشند. از اينرو چنين فايروال‌هايي ممكن است بصورت چندگانه با سطوح امنيتي گوناگون تعريف و نصب شوند و يا در يك مكان و فقط ميان شبكة اصلي با اينترنت قرار گيرند. اين نوع فايروال‌ها مجموعة كاملي از گزارشات ترافيكي شبكه‌ها را به اشكال گوناگون مي‌توانند تهيه كرده و نمايش دهند. ضمن آنکه امكان مديريت متمركز آنها ( در صورت استفاده از چندين فايروال در يك مجموعه ) و تعريف كردن سياست‌هاي كلي امنيتي (Security Policy) نيز مشخصات بارز چنين فايروال‌هايي خواهد بود.
ابزارهاي فايروال دار!
شايد تا بحال نام ابزارهايي را شنيده باشيد كه ادعا مي‌كنند بغير از كار تخصصي‌شان كابردي امنيتي (فايروال) را هم ارايه مي‌دهند. در ادامه با بعضي از اين ابزارها آشنا خواهيد شد. البته به اعتقاد اغلب كارشناسان اين نوع فايروال‌ها در اكثر موارد قدرت لازم و امكانات كافي را در اختيار كاربرنشان قرار نمي‌دهند. از اينرو بهتر است براي امنيت بالاي شبكه‌ها فايروال‌هاي تخصصي مورد استفاده قرار گيرند.
• روتر‌ها شبكه
يكي از پايه‌اي‌ترين ابزارهاي شبكه‌‌اي روتر‌ها هستند. بطور حتم در طراحي شبكه‌ها، روتر‌ها جايگاه خاصي خواهند داشت. در حقيقت نقش روتر‌ها انتقال Packet از يك شبكه به شبكة ديگر است. مشخصاً اگر قرار باشد يك Packet از يك كامپيوتر به كامپيوتر ديگري از طريق اينترنت برسد، مي‌بايست صدها روتر در اين جابجايي نقش داشته باشند. از اينرو با توجه به اهميت بالايي كه اين ابزار در هر شبكه‌اي دارد، بعضي از سازندگان اقدام به اضافه كردن يك فايروال داخلي به روتر‌هايشان كرده‌اند.
• ابزارهاي چندكاره
شايد ساده‌ترين مثالي كه در اين مورد مي‌توان مطرح كرد مودم‌هاي ADSLاي باشند كه بغير از وظيفه اصلي‌شان (يعني برقرار كردن‌‍ِ اتصال اينترنتي)، مي‌توانند نقش‌هاي ديگري مانند هاب، روتر و … را هم در شبكه بعهده ‌گيرند. بطور كلي اين‌ابزارها از طريق يك IP آدرس منحصربفرد (در شبكه داخلي) امكان اتصال به Interface داخلي‌شان را فراهم مي‌سازند. در صورت ورود به اين قسمت حتماً با نام فايروال برخورد خواهيد كرد. فايروال‌هاي تعريف شده در اين محصولات معمولاً مي‌توانيد برخي از امكانات را براي كاربران‌شان فراهم سازند. مشخص است كه اغلب اين فايروال‌ها، قادر نخواهند كاربردي‌هاي كليدي و مهمي مانند كنترل ترافيك خروجي و يا گزارش‌گيري قوي را  ارايه دهند.
• فايروال‌هاي نرم‌افزاري
فايروال‌هاي نرم‌افزاري به دو قسمت اصلي قابل تقسيم خواهتد بود. ابتدا فايروال‌هايي كه بطور مثال همراه با ضدويروس‌ها ارايه مي‌شوند و فقط براي محافظت از يك سيستم در مقابل تهديدات اينترنتي در نظر گرفته مي‌شوند و دوم فايروال‌هايي كه روي يك سرور در شبكه نصب مي‌شوند و سيستم موردنظر را بطور درگير فعاليت‌هاي خود خواهند كرد. مطمئناً نوع اول فقط براي كاربرهاي خانگي و در نهايت براي شركت‌هاي كوچك مناسب خواهد بود و نوع دوم هم براي سازمان‌ها و شبكه‌هاي بزرگ.
در آن‌جا مقدماتي را در مورد فايروال‌ها و مفاهيم پايه‌اي مطرح كرده و به چند سئوال اساسي مانند «چرا بايد سيستم را به فايروال مجهز كرد؟» و … نيز جواب داديم. اكنون براي درك بهتر و عميق‌تر در مورد فايروال‌ها بدنيست كمي ديدگاه فني‌تري به اين موضوع پيدا كنيم. از اين‌رو سوالي مفهومي را مطرح خواهيم كرد و با بيان پاسخ آن موضوعات پايه‌اي و فني‌اي كه هر كاربر اينترنتي بايد بداند، مقاله را ادامه خواهيم داد.
آيا مي‌توان فايروال را با تنظيمات پيش‌فرض به حال خود رها كرد؟
اساساً جواب اين پرسش منفي خواهد بود، فايروال برعكس ضدويروس نياز به مديريت دقيق و آگاهانه دارد. شايد بتوان با نصب و آپديت كردن يك ضدويروس، بدون نياز به هيچگونه تغيير سيستمي، كامپيوتري عاري از ويروس داشته باشيم. ولي در مورد فايروال داستان بطور كل متفاوت است. اصولاً‌ فايروال در معني واقعي كلمه، مانند يك نگهبان است كه در دروازه ورودي سيستم شما ايستاده است. اين نگهبان بايد يكسري دستورالعمل از پيش تعيين شده داشته باشد. دستوراتي مانند، چه كساني حق ورود دارند، جلوي عبور چه كساني را مي‌بايست گرفت، كدام شخص حق ورود به چه بخشي را دارد، آيا اين گروه از افراد مي‌توانند بدون داشتن مجوز عبور، وارد شوند و … اين دقيقاً همان تعاريفي است كه نگهبان دروازه وردوي شبكه (يا كامپيوتر) به آن نياز دارد. حال آن كه ضدويروس از قبل تعاريف تعيين شده ( و البته جامع و كامل) را دارد يعني همان گرفتن ويروس‌ها،‌ تشخيص عملكردهاي بدافزاري و … تمامي اين دستورالعمل‌ها بطور پيش‌فرض توسط شركت سازنده ضدويروس از قبل تهيه و تنظيم شده است.
آيا تنظيمات پيش‌فرض فايروال‌ها بلااستفاده هستند؟
شايد در جواب اين پرسش بتوان، هم آري و هم خير گفت! اصولاً فايروال‌ها بطور پيش‌فرض قوانيني (Rules) دارند كه كمك مي‌كند از ورود حملات و نفوذ هكرها و … جلوگيري شود. ولي اين قوانين چون كاملاً از پيش تعيين شده است مطمئناً با نياز اغلب كاربران سازگار نيست. از اين‌رو ممكن است انواع دسترسي‌ها و منابع مجاز كابران هم قرباني قوانين سفت و سخت فايروال شوند. بطور مثال كاربر ديگر نتواند فايلي را با ديگران به اشتراك گذارد و يا از پرينتر تعريف شده در شبكه بهره برد و …
اگر اينگونه موارد تاثيري در عملكرد سيستم شما نداشته باشد، پس پاسخ شما آري خواهد بود! ولي اگر فايروال مانند يك مزاحم و محدود كننده عمل مي‌كند، جواب خير است و زمان آن رسيده كه فايروال سيستم را رام كنيد!
راهكارهاي ديگر
همانطور كه گفتيم تنظيمات پيش‌فرض مي‌بايست بنا به نياز كاربران تغيير يابند و فايروال بجاي يك مزاحم بايد نقش يك نگهبان قوي را براي سيستم بازي كند. خوشبختانه به تازگي بعضي از فايروال‌هاي نرم‌افزاري با قرار دادن حالت خودآموزي
( Learning Mode ) كمي شرايط را براي كاربران مبتدي راحت‌تر كرده‌اند. در اين حالت ابتدا فايروال از دو فهرست سياه ( Black List ) و سفيد ( White List ) خود (كه بطور مداوم آپديت مي‌شود) بهره مي‌برد تا تعاريف موردنياز خصوصاً در مورد اتصال نرم‌افزارها به منابع داخلي و خارجي شبكه ( External / Internal Network ) كه به بيان ديگر مي‌توان آنها را، شبكه محلي و اينترنت ناميد، را تنظيم نمايد. اما مشخص است با توجه به وجود خطاهاي احتمالي بازهم وجود كاربري مسلط براي اصلاح حالت خود آموز، الزامي بنظر مي‌رسد.
از اين‌رو اگر تصميم در بهره‌گيري واقعي از فايروال را داريد، بايد با كليات ماجرا آشنا باشيد و با بهره گيري از تكنولوژي‌هايي كه فايروال در اختيارتان قرار مي‌دهد، راهكار امنيتي خود ( اعم از فايروال‌هاي سخت‌افزاري و نرم‌افزاري ) را به بهترين شكل پياده سازي كنيد. در ادامه اين مقاله ابتدا مختصري در مورد كليات مبحث شبكه صحبت خواهيم كرد و با بررسي اين موضوعات كار را براي معرفي مفاهيم امنيتي در شبكه هموار و ساده‌تر خواهيم نمود.
مفاهيم اوليه شبكه‌هاي كامپيوتري
اصولاً سيستم‌هاي كامپيوتري براي برقراري ارتباط ميان خود نيازمند زباني مشترك براي صحبت كردن هستند. اين زبان مشترك مي‌تواند در مقياس يك شبكه كوچك خلاصه شود و يا در بزرگترين مقياس شبكه‌اي در دنيا (كه همان اينترنت است) بكار گمارده شود. مشخصاً در شبكه‌ها كوچك و محلي مي‌توان از راه‌هاي گوناگون و زبان‌هاي (بعبارت ديگر پروتكل‌ها) مختلف استفاده كرد. پروتكل‌‌هايي مانند IPX/SPX و يا AppleTalk، اما واضح است چنين پروتكل‌هايي معمولاً براي سيستم‌هاي خاصي مانند شبكه‌هاي مبتني بر سيستم‌عامل ناول و يا اَپل مورد استفاده قرار مي‌گيرند و بعضي نيز منسوخ شده‌اند. ولي در مورد اينترنت بايد تابع يك پروتكل مشخص و واحد بود. اين پروتكل همان TCP/IP است.
در حقيقت TCP/IP مجموعه‌اي از پروتكل‌ها و قوانين است. اين مجموعه قوانين و دستورالعمل‌ها مي‌بايست كنار يكديگر امكان برقراري ارتباط ميان كامپيوترهاي گوناگون در سرار دنيا را فراهم سازند.
لازم به ذكر است كه پروتكل TCP/IP توسط كميته‌اي به نام
(ICCB (Internet Control and Configuration Board كه خود داراي دو زير گروه به نام‌هاي(IETF (Internet Engineering Task Force  و
(TRTF (Internet Research Task Force است توسعه داده شده است. زير گروه IETFمسئول موارد فني و مشكلات استانداردها و تكنولوژي‌هاي بكار گرفته شده در اينترنت را بررسي و حل مي‌كند و IRTF مشغول بهبود و ارتقاء اينترنت است.
برقراري ارتباط ديپلماتيك!
براي درك بهتر مسئله يك مثال ساده از دنياي ارتباطات انساني بيان مي‌كنيم. فرض كنيد دو رئيس جمهور يكي در آفريقا و يكي در آسيا قصد دارند بايكديگر در مورد يك موضوع مهم  صحبت كنند. مطمئناً قبل از شروع، مشاورين هر دو طرف راه‌هاي گوناگون اين كار را بررسي خواهند كرد و با چيدمان و ترتيب دادن موارد لازمه، اقدامات اوليه را فراهم مي‌سازند. براي شروع اين ارتباط چندين راه‌حل وجود دارد، بطور مثال صحبت از طريق تلفن، دعوت از طرف مقابل براي ديدار از كشور و … پس از اين كار مي‌بايست مترجميني براي ترجمه ديالوگ‌هاي طرفين تعيين شوند. سپس چگونگي شروع بحث و در نهايت بيان مطلب مورد نظر صورت خواهد پذيرفت. اكنون فرض كنيد همين شكل و شمايل در برقراري ارتباط ميان كامپيوترها هم صادق باشد. به اين ترتيب كه دو سيستم مبداء و مقصد بايد شرايط را فراهم سازند كه امكان برقراري ارتباط ميسر شود. اين مراحل در گام‌هاي (بعبارت ديگر لايه‌هاي) گوناگون فراهم خواهد شد. براي آشنايي بيشتر با مفاهيم لايه‌ها در برقراري ارتباط شبكه‌اي، اين موضوع را بطور خلاصه و كلي بررسي خواهيم كرد.
لايه‌هاي شبكه‌
لايه‌ها در شبكه‌هاي كامپيوتري وظيفه انتقال اطلاعات و داده‌ها را دارند كه نحوه ارسال داده‌ها بين لايه‌ها در مبداء (كامپيوتر فرستنده) از بالا به پايين و در مقصد (گيرنده) از پايين به بالا است. ‌اين داده‌ها مي‌تواند هر چيز باشند، Packetي حامل قطعاتي از كد يك ايميل، فايل و حتي ويروس! پس جداي از نوع داده‌هايي كه قرار است منتقل شوند، لايه‌هاي شبكه وظيفه مشخص و خاص خود در چيدمان داده‌ها و ارسال‌شان از سيستم مبداء به مقصد را دارند. اصولاً دو مدل معروف در معرفي لايه‌هاي شبكه‌اي وجود دارد كه يكي از آن‌ها مدل OSI (هفت لايه‌اي) و ديگري مدل TCP/IP (چهار لايه‌اي) است. ما در اين مقاله مدل TCP/IP را بررسي خواهيم كرد(شكل۱).

مقايسه دو مدل OSI و TCP/IP
لايه واسط شبكه ( Network Interface ):
اين لايه كه با نام‌هايي مانند لايه دسترسي شبكه يا لينك يا فيزيكال، هم شناخته مي‌شود وظيفه انتقال داده در تجهيزات سخت‌افزار ( از خروجي كارت شبكه تا مسير كابل‌ها تا ورودي بعدي ) را بعهده دارد، در حقيقيت اين لايه داده‌هاي لايه بالاتر (يعني لايه اينترنت) را ابتدا به فريم (Frame) تبديل كرده و سپس فريم‌ها را به ولتاژ تبديل تا از طريق مسير فيزيكي به مقصد ارسال نمايد. در حقيقت در پس پرده اين تبديل و جابجايي، مي‌تواند مطالب و نكات زيادي وجود داشته باشد كه با توجه به ماهيت اين مقاله بررسي آن‌ها امكان پذير نخواهد بود.
اما ذكر اين نكته مي‌تواند به درك ما از ارتباط بين بيان مفاهيم مقدماتي شبكه و موضوع بحث يعني فايروال كمك كند كه : فرستنده و گيرنده در اين لايه از طريق آدرسي به نام MAC Address باهم در ارتباط خواهند بود و خروجي اين لايه نيز فريم نام دارد.
لايه اينترنت ( Internet Layer ):
اين لايه داده را از لايه بالاتر (يعني انتقال) گرفته و بسته‌اي به نام Packet (Packet) را ايجاد و به لايه يك تحويل مي‌دهد.
در اين لايه با توجه به نشاني مشخص و واحد سيستم‌ها ( كه در باره آن بيشتر خواهيم گفت ) وظيفه آدرس‌دهي و مسيردهي به Packet‌ها انجام خواهد شد. به عبارت ديگر اين لايه با مكانيزم IP Addressing (آدرس‌دهي توسط IP آدرس) امكان مي‌دهد كامپيوترها در هر شبكه‌اي كه وجود داشته باشد باهر كاميپوتر ديگري در دنيا ارتباط برقرار كند.
لايه انتقال ( Transport Layer ):
اين لايه مسئوليت كسب اطمينان از صحت دريافت داده‌ها را بعهده دارد. يكي از توابع كاري در اين لايه بررسي اين نكته است كه آيا تمامي Packet‌ها موردنظر در يك ارسال (كه مي‌تواند مجموع Packet‌ها تشكيل دهنده يك فايل باشند) به درستي به مقصد رسيده‌اند يا خير؟ در صورت منفي بودن اين پرسش، به فرستنده پيغامي مبني بر عدم دريافت صحيح مخابره مي‌شود و تقاضاي ارسال مجدد مطرح خواهد شد. در اين لايه مبداء و مقصد از طريق آدرس‌دهي پورت (Port Addressing) ارتباط خواهند داشت.
لايه کاربرد ( Application Layer ):
اين لايه همانطور كه از نام آن پيداست وظيفه ارتباط با نرم‌افزار فرستنده و گيرنده را بعهده دارد. بطور مثال ارسال يك آدرس نشاني توسط مرورگر اينرنتي (نرم‌افزار فرستنده) به وب سرور (نرم‌افزار گيرنده) پروسه‌اي است كه توسط اين لايه طرح ريزي خواهد شد. به اين نوع آدرس‌دهي(FQDN (Fully Qualify Domain Name گفته مي‌شود.
طرح يك مثال كامپيوتري از نحوه عملكرد لايه‌ها
اكنون براي بهتر جا افتادن لايه‌هاي مطرح شده مثالي كامپيوتري از پروسه‌اي ارسال يك نامه را بيان خواهيم كرد. زماني كه قصد ارسال ايميلي را داريد (بطور مثال توسط آوت‌لوك) از زماني كه دكمه  Sendرا مي‌زنيد، پروتكلي كه وظيفه ارسال را دارد
(SMTP) تعيين مي‌كند كه نامه مورد نظر بايد چه بافتي گرفته و چه دستوراتي توسط سرور گيرنده قابل فهم هستند (اين بخش توسط لايه نرم‌افزاري صورت مي‌پذيرد). قبل از ارسال نامه لايه ترانسپورت نامه مورد نظر را به قطعات كوچكي تقسيم مي‌كند (اين قطعات سگمنت نام دارند). تك تك اين Packet‌ها با توجه به نشاني كه در لايه اينترنت به آن داده مي‌شود، آماده به حركت در شبكه خواهند شد. در لايه شبكه Packet‌ها به واحد ديگري به نامي ديتاگرام (datagrams) تبديل شده و سپس به لايه واسط شبكه تحويل داده مي‌شود. اطلاعات رسيده ابتدا تبديل به فريم شده و پس از تبديل به ولتاژهاي الكتريكي در مسيري فيزيكي (كابل‌ها) شروع به حركت مي‌كنند. در سمت مقابل (گيرنده ايميل) تمام مراحل بشكل ديگر انجام مي‌شود، ابتدا ديتاگرام‌ها به Packet تبديل مي‌شوند، نشاني و صحت دريافت داده‌ها بررسي مي‌شود، نامه اصلي گرفته مي‌شود و توسط پروتكل POP3 نامه براي گيرنده قابل رويت خواهد بود.
اما شايد از خود بپرسيد اين اطلاعات چه ربطي به فايروال‌ها دارد، جواب واضح است، در حقيقت فايروال‌هاي متداول، با توجه به همين ساختار لايه‌اي با نظارت بر Packet‌هاي ارسال و يا دريافت شده و بررسي اين‌كه آدرس و نشاني گيرنده (يا فرستنده) چه كسي است و … كار كنترل و فيلترينگ را بعهده خواهند داشت. از اين‌رو  دانستن اين مطالب در درك بهتر تنظيمات فايروال كمك بسيار زيادي خواهد كرد.
بايد توجه داشته باشيد كه مفاهيم برقراري ارتباط‌هاي و لايه‌هاي شبكه‌اي بسيار گسترده بوده و مطالب بيان شده فقط براي ايجاد يك ديدگاه اوليه مطرح شده است. در مقاله‌هاي آينده قصد شروع كار با فايروال‌ها در عمل را خواهيم داشت البته قبل از آن نكات ديگري پايه‌اي مانند نحوه نشاني‌دهي در شبكه‌ها، شرح آناتومي IP Address و … را هم بررسي خواهيم كرد.
از اين قسمت كار را كمي عملي‌تر و مفهومي‌تر پيگيري خواهيم كرد. براي شروع، مهم‌ترين مفهوم شبكه‌اي (كه اصول اوليه كاري با فايروال‌ها است)، يعني نحوه آدرس‌دهي را انتخاب كرده‌ايم. همانطور كه انسان‌ها نياز به داشتن شماره تلفن (براي زنگ زدن) و يا نشاني محل سكونت (براي ارسال نامه) به شخص ديگر دارند، كامپيوترها هم براي برقراري ارتباط با يكديگر، به پارامترهايي مشابه نياز خواهند داشت. البته نحوه آدرس‌دهي و نوع نشاني‌ها در سيستم‌هاي كامپيوتري و شبكه‌اي متفاوت با دنياي واقعي ما است.
انواع آدرس‌هاي كامپيوتري
آدرس‌هاي سخت‌افزاري يا Physical Address : هر قطعه سخت‌افزاري كه در شبكه مورد استفاده قرار مي‌گيرد، از يك نشاني منحصر به فرد برخوردار است كه در اصطلاح به آن ‌آدرس مك (Mac Address) مي‌گويند. اين آدرس توسط سازنده قطعه تعيين مي‌شود و بايد به گونه‌اي باشد كه در كل دنيا منحصر به فرد باشد. مزيت اين آدرس انحصاري اين است كه در شبكه وقتي صحبت از سيستمي با آدرس مك‌ خاص باشد، از آن فقط يك گيرنده يافت خواهد شد و دو سيستم همزمان اعلام آمادگي دريافت Packet را نخواهند داشت! اين نشاني در شبكه‌هاي كوچك و يا مدل‌هاي خاصي كه در سوئيچ‌هاي لايه دو مورد استفاده قرار مي‌گيرد، كاربرد دارد. اما در بستر شبكه‌اي بزرگ با هزاران و حتي ميليون‌ها سيستم، مشكلات زيادي را به وجود مي‌آورند. اين مسئله بسيار ساده و قابل درك است، تصور كنيد هزاران و يا ميليون‌ها آدرس به طور پراكنده در مكان‌هاي مختلفي پخش شده باشند و Packetي قرار باشد به يكي از آنها برسد. به طور مثال در دنياي واقعي، فرض كنيد وارد شهري بزرگ مانند تهران شده‌ايد و قصد پيدا كردن دوستي قديمي را داريد. حال آنكه تنها اطلاعاتي كه از وي داريد، نام و نام‌ خانوادگي (با فرض منحصر بودن!) است. به طور حتم بدون گروه‌بندي و مسيردهي صحيح، شايد صدها سال هم اگر به دنبال وي بگرديد، به نتيجه‌اي نرسيد. ولي اگر بدانيد او در چه محله‌اي ساكن است و خانه‌اش در چه خياباني واقع شده، كار راحت‌تر مي‌شود. پس مي‌توان اين گونه نتيجه گرفت که ‌آدرس مك به تنهايي نمي‌تواند كمك زيادي در برقراري ارتباط باشد.
آدرس‌IP‌ يا Logical Address : مطابق با پرتوكل TCP/IP هر سيستمي حداقل بايد با يك آدرس IP‌ در شبكه معرفي شود. برعكس مك‌آدرس، هيچكس نمي‌تواند تضمين كند كه آدرس‌هاي‌IP‌ سيستم‌ها در سراسر دنيا حتماً منحصر بفرد باشند چراکه يك نشاني ثابت و غير قابل تغيير نيستند و با نظر مدير شبکه مي‌تواند اين آدرس تغيير کند به همين خاطر هم به آن آدرس منطقي يا Logical Address گويند. ولي مطمئناً مدير شبكه‌ بايد بگونه بستر شبكه‌اي خود را آدرس‌دهي كند كه هيچ وقت دو نشاني IP يكسان در آن شبکه قرار نگيرد (زيرا عملكرد دو ماشين با IP همسان تحت اين شرايط از بين خواهد رفت). در يك مثال عملي فرض كنيد قرار است يك نامه به نشاني برود كه دقيقاً دو مقصد هم آدرس داشته باشد!
بطور كلي هر نشاني IP به دو بخش تقسيم مي‌شود. اول قسمت نشاني شبكه (Network Address ياNetID) و دومي نشاني ميزبان (Host Address يا HostID). قسمت شبكه‌اي دقيقاً مانند همان نشاني پستي است كه شامل شهر، محله، خيابان و … مي‌شود. در يك شبكه هم محدوده‌اي از IP‌ها كه داراي يك محدوده مشابه IP هستند در اصطلاح در يك سگمنت شبكه‌اي قرار گرفته‌اند. اما قسمت دوم آدرس همانند پلاك مقصد مورد نظر خواهد بود. پلاك مقصد دقيقاً به همان گيرنده مورد نظر شما تعلق دارد و در حقيقت در آن محدوده بايد يكتا باشد. به بيان ديگر قسمت Host Address هم در شبكه يكتا و منحصر به همان كامپيوتر مقصد بايد باشد. در دنياي شبكه ابزارهايي وجود دارند كه عمليات روتري يا همان روتينگ (Routing)را بعهده مي‌گيرند. اين ابزار كه به آن‌ها روتر(Router) مي‌گويند، قادرند Packet‌ها را از سگمنت‌هاي مختلف دريافت كرده و به سگمنتي ديگري ارسال كرده و گيرنده مورد نظر را يافته (با توجه به عدد Host منحصر بفردش) و Packet را به آن تحويل دهند. تركيب و ساختار ‌آدرس‌IP بصورت ۴ بخش از اعداد دسيمالي است كه با نقطه (.) از يكديگر مجزا مي‌شوند (بطور مثال ۱۹۲٫۱۶۸٫۱٫۲۰۰). اين اعداد مي‌توانند از ۰ تا ۲۵۵ بگونه‌اي كه در ۸ بيت قرار گيرند مقداردهي شوند. در ادامه اين مقاله بطور جامع در اين مورد صحبت خواهيم كرد.
نشاني از طريق DNS: تا اين جا متوجه شديم که در دنياي شبكه، كامپيوترها از طريق ‌آدرس‌هاي مک و IP مي‌توانند با يكديگر ارتباط برقرار كنند. اما مشكل اين است كه شايد آنها در رديابي و ارسال داده، مشكلي در شناسايي يكديگر با اعداد (IP) نداشته باشند. اما اگر قرار باشد كاربر اقدام به اين ‌كار كند چطور؟ فرض كنيد قرار است از فردا براي برقراري ارتباط با سرورهاي گوناگون از طريق آدرس IP اقدام کنيد. به طور مثال به جاي وارد كردن آدرس www.gmail.com مجبور باشيد در مرورگر خود آدرس IP 209.85.171.83 را وارد كنيد! اولاً اين كار بسيارمشكل است و به خاطر سپردن اين نشاني كار راحتي نيست، به خصوص وقتي روزانه با ده‌ها وب‌سايت گوناگون سروكار داشته باشيد. مشكل دوم اين است كه خيلي از وب‌سايت‌ها به طور روزانه (شايد هم بيشتر) IP‌ خود را تغيير مي‌دهند. پس به خاطر سپردن آدرس اين سايت‌ها، كار هر كسي نخواهد بود! براي حل اين مشكل
(DNS (Domain Name System ارايه شده است كه طي آن، به جاي وارد كردن IP مي‌توان نام مقصد را وارد كرد. براي مثال به جاي آدرس ۲۰۹٫۸۵٫۱۷۱٫۸۳ كافي است آدرس وب‌سايت جي‌ميل يعني www.gmail.com را وارد كنيد. به طور حتم، به خاطر سپردن اين آدرس خيلي راحت‌تر از وارد كردن ۱۲ رقم مختلف است. به خاطر داشته باشيد درحقيقت DNS به دليل سهولت كار مورد استفاده قرار مي‌گيرد، از اين‌ رو تبادل داده‌ها ميان كامپيوترها همچنان از طريق آدرس‌هاي IP انجام مي‌پذيرد و فقط رابط انساني آن به جاي IP به نام تبديل شده است. در حقيقت وقتي DNS را وارد مي‌كنيد، سيستم ابتدا از طريق سرور ديتابيس (كه به آن DNS Server مي‌گويند) به دنبال IP آن DNS خواهد گشت و پس از يافتن آن اقدام به تبادل داده خواهد کرد.
اما شايد از خود بپرسيد چگونه مي‌توان از آدرس IP يك DNS اطلاع يافت؟ معمولاً روش‌هاي گوناگوني وجود دارد كه يكي از كاربردي‌ترين آنها مراجعه به سايت‌هايي‌ مانند www.samspade.org است. با مراجعه به اين نشاني مي‌توانيد DNS مورد نظر را وارد كرده و اطلاعات جامعي از قبيل آدرس IP، نام موسس وب‌سايت و … را بيابيد.

مفاهيم كلي ‌آدرس‌IP
اگر مدير شبكه هستيد و يا قصد داريد در آينده باشيد، مطمئناً مجبور خواهيد بود ترافيك شبكه خود را قانونمند كنيد. اين قانون‌گذاري با ابزاري به نام فايروال (از نوع سخت‌افزاري ويا نرم‌افزاري) قابل اعمال است. به عبارت ديگر، اغلب كارهايي كه در آينده به عنوان مدير شبكه بايد در اين باره انجام دهيد، با تعريف قوانين از طريق ‌آدرس‌هاي IP امکان‌پذير خواهد بود. براي مثال مي‌توانيد تعيين كنيد که مجموعه‌اي از IP‌ها بتوانند به سروري (با IP مشخص) متصل شوند. فرض كنيد سرور مذكور اطلاعات واحد مالي شركت را در بر داشته باشد. در اين حالت مطمئناً فقط واحد مالي (با محدود IP تعيين شده) و بعضي از مديران بايد بتوانند به آن دسترسي داشته باشند و ديگران تحت هيچ شرايطي نبايد اين سرور را ببينند. همانطور كه مي‌دانيد، اگر فايروال و يا Access List تعريف نشده باشد،‌ هر كلاينتي در شبكه قادر است به هر سيستم ديگري دسترسي داشته باشد. مطمئن باشيد مديران ارشد سازمان به هيچ وجه از شنيدن اين خبر خوشحال نخواهند شد. از اين ‌رو بايد فايروال را در شبكه تنظيم کرد. اين تنظيم هم فقط با تعيين محدوده IP‌ها و فيلترينگ ‌آنها ميسر خواهد شد.
آيا ۱+۱ مي‌شود ۱۰  ؟!
همانطور كه در ابتداي مقاله گفتيم، آدرس‌دهي شبكه اصل مهمي در كار با فايروال است، پس بهتر است كار را به طور پايه‌اي با ساختار IP شروع كنيم. البته لازمه اين كار آشنايي نسبي با محاسبات باينري است. البته نگران نباشيد، چون محاسبات باينري فرق چنداني با دسيمال (كه همان محاسبات رياضي معمولي است) ندارد. در محاسبات دسيمال يا دهدهي فرض‌ بر اين است كه اعداد از صفر تا ۹ خوانده مي‌شوند، اگر بخواهيم يك واحد بيشتر از ۹ را استفاده كنيم، صفر را كنار ۱ قرار داده و به ۱۰ مي‌رسيم. در اين حالت به بازه دهگان رسيده‌ايم. حال در همين بازه، ۲۵ را اين‌ گونه مي‌خوانيم: ۲ واحد دهگان به علاوه ۵ واحد يكان. زماني كه به بازه صدگان مي‌رسيم، نيز همين مكانيسم را داريم،‌ به طور مثال در مورد عدد ۲۵۵ مي‌گوييم: ۲ واحد صدگان به علاوه ۵ واحد دهگان و ۵ واحد يكان. شايد كمي خنده‌دار به نظر برسد،‌ اما اين همان مباني دوران ابتدايي است که آموخته‌ايم و به دليل مرور زمان شايد تا به امروز ديگر به آن فكر هم نكرده باشيم. در روش باينري نيز همين اصول رعايت مي‌شود، با اين تفاوت كه فقط اعداد ۰ و ۱ در آن وجود دارد، از اين رو عدد ۱ دسيمال در حالت باينري همان ۱ است، اما عدد ۲ چون وجود ندارد، بايد يك صفر جلوي ۱ قرار دهيم. از اين‌ رو عدد ۲ دسيمال معادل ۱۰ باينري مي‌شود و به همين ترتيب به جاي ۳، عدد ۱۱ و ۴ عدد ۱۰۰ و … قرار مي‌دهيم.
اگر به مبحث قبلي يعني آدرس‌دهي از طريق IP باز گرديم، متوجه مي‌شويم اعداد ورودي (مانند ۱۹۲٫۱۶۸٫۱٫۲۰۰) در قالب دسيمال تعريف شده‌اند. حال آنكه در حقيقت اين اعداد را كامپيوتر به صورت باينري محاسبه و پردازش مي ‌كند. در جدول ۱ معادل‌هاي مختلف باينري و دسيمال نشان داده شده‌اند. با توجه به همين جدول مي‌توان IP 192.168.1.200 را اين ‌گونه تفسير كرد: ۱۹۲ برابر است با ۱۲۸ به علاوه ۴۶، ۱۶۸ برابر است با ۱۲۸ بعلاوه ۳۲ به علاوه ۸، ۱ همان ۱ است، عدد پاياني ۲۰۰ هم ۱۲۸ به علاوه ۶۴ به علاوه ۸ خواهد بود. در نتيجه اين آدرس IP در حالت باينري ۱۱۰۰۰۰۰۰٫۱۰۱۰۱۰۰۰٫۰۰۰۰۰۰۰۱٫۱۱۰۰۱۰۰۰ خواهد بود. در حقيقت اين اعداد از جمع زدن معادل‌هاي باينري با يكديگر به دست مي‌آيند. مثلاً عدد ۱۹۲ دسيمال يعني: ۱۲۸ (۱۰۰۰۰۰۰۰) به علاوه ۶۴ (۱۰۰۰۰۰۰) كه نتيجه آن در حالت باينري ۱۱۰۰۰۰۰۰ مي‌شود.
نكته: توجه داشته باشيد هنگام صحبت از اعداد باينري، هر رقم از اين اعداد يك بيت در نظر گرفته مي‌شود. از اين ‌رو آدرس‌هاي IP كه در موردشان بحث کرديم (IP نگارش ۴) از ۳۲ بيت تشكيل مي‌شوند.
نكته: اگر اين تبديل‌ها به نظر جديد مي‌آيد (و يا آنها را فراموش‌ كرده‌ايد) ممكن است در ابتدا كمي گيج‌ كننده باشند، اما جاي نگراني نيست، چون با كمي تمرين به آ‌ن‌ مسلط خواهيد شد. اگر مي‌خواهيد اعداد دسيمال را به راحتي به باينري تبديل كنيد، از ابزار ماشين حساب ويندوز استفاده کنيد. البته براي اين كار كافيست از منوي View گزينه Scientific را برگزيند. سپس عدد دسيمالي خود را وارد کنيد. دقت داشته باشيد در گوشه سمت چپ ـ بالا گزينه Dec انتخاب شده باشد. پس از وارد كردن عدد مورد نظر، گزينه Bin را انتخاب كنيد. اكنون جواب حاصله معادل باينري همان عدد ورودي شماست.
مفهوم آدرس IP در شبكه
شايد از خود بپرسيد اصلاً آدرس‌IP چه هدفي را در شبكه دنبال مي‌كند و چرا به وجود آمده است؟ در حقيقت يك نشاني IP، بيان‌گر چندين مشخصه مهم است. اصولاً در هر شبكه (شبكه كوچك محلي يا شبكه بسيار بزرگ مانند اينترنت) به هر سيستم (اعم از کامپيوتر، روتر و …) حداقل يك آدرس IP اختصاص داده مي‌شود. يعني سيستمي كه بتواند در شبكه ارتباط برقرار كند، بايد بدون هيچ قيد و شرطي يك نشاني IP داشته باشد و البته آدرس IP همسان نيز در آن شبكه وجود نداشته باشد. بنابراين مي‌توان نتيجه گرفت که هر نشاني IP در شبكه منحصر به فرد است. مشخصه دوم هر IP اين است كه در شبكه‌، IP‌ها به دو قسمت طبقه‌بندي مي‌شوند: قسمت شبكه و قسمت ميزبان. همانطور که در ابتداي مقاله گفتيم، قسمت شبكه بيان‌گر سگمنتي است كه سيستم مورد نظر در آن واقع شده و قسمت ميزبان (هاست) نيز نمايانگر خود سيستم در آن سگمنت است. عدد هاست نيز بايد در هر سگمنت شبكه‌ منحصر به فرد باشد.
در همان مثال نشاني پستي افراد در دنياي واقعي، تفكيك نشاني به بخش شهر-محله-خيابان و … (كه مي‌تواند بين افراد زيادي مشترك باشد) و بخشي كه به طور انحصاري به خود فرد تخصيص داده شده (پلاك منزل)، باعث مي‌شود تا فرد را به راحتي بيابيم. اما در مورد IP چنين شرايطي وجود ندارد، در واقع چگونه مي‌توان با ديدن يك IP متوجه شد که كجاي آن اعداد بخش شبكه و كجاي آن بخش هاست است؟ اين کار با تكنيك خاصي انجام مي‌پذيرد كه در ادامه مقاله به آن مي‌پردازيم.
چه ميزان شبكه، چه ميزان هاست؟
مدير شبكه مي‌تواند هر ميزان كه مايل است عدد شبكه‌اي تعيين كند و هر قدر هم باقي ماند، به هاست‌ها اختصاص دهد. البته نبايد هيچ يک از آنها صفر شده و يا از دامنه ۳۲ بيت خارج شوند. به طور مثال مي‌توان تعيين كرد که ۸ بيت اول نمايان‌گر آدرس شبكه (Network Address) باشد. يعني ۲۵۶ شبكه با اين كار قابل تفکيک خواهد بود. در اين حالت با ۲۴ بيت باقي مانده (از کل ۳۲ بيت)‌ نيز مي‌توان ۱۶,۷۷۷,۲۱۶ هاست در اختيار داشت. حال اگر شرايط را تغيير دهيم، يعني ۸ بيت به هاست‌ها و ۲۴ بيت باقي مانده را به شبكه‌ها تخصيص دهيم، جاي اين دو عدد عوض مي‌شود. يعني ۱۶,۷۷۷,۲۱۶ شبكه و ۲۵۶ هاست خواهيم داشت. شايد مسئله کمي بغرنج به نظر برسد! بله بدون دانستن يك نكته مهم نمي‌توان مطلب بيان شده را دنياي واقعي شبكه‌ها درك كرد. اين نكته همان جداكننده قسمت شبكه و هاست هر آدرس IP است. اين جداكننده در اصطلاح Subnet Mask ناميده مي‌شود و در حالت باينري هميشه از اين قانون پيروي مي‌كند: شروع آن با ۱ است و آخرين عدد آن نيز ۰ خواهد بود. در حقيقت Subnet Mask ساختاري شبيه IP دارد. ۱۲ عدد دسيمال كه با نقطه «.» به ۴ بخش ۳ عددي تقسيم مي‌شوند
(به طور مثال ۲۵۵٫۲۵۵٫۲۵۵٫۰).
همانطور که قبلاً در شکل ۱ نشان داديم، هنگام تخصيص يك IP در سيستم شبكه‌اي TCP/IP، در خطي جداگانه بايد Subnet Mask آن‌ را نيز وارد كنيم. وقتي اين اعداد را به حالت باينري در نظر بگيريم، ارقامي كه ۱ هستند نشان دهنده قسمت شبكه و ارقامي كه صفر هستند نمايان‌گر قسمت هاست خواهند بود. در اين جا آدرس IP 192.168.10.200 با Subnet Mask پيش‌فرض ۲۵۵٫۲۵۵٫۲۵۵٫۰ را در حالت دسيمال و باينري مي‌بينيد.