دسته بندی | علوم اجتماعی |
بازدید ها | 21 |
فرمت فایل | doc |
حجم فایل | 28 کیلو بایت |
تعداد صفحات فایل | 20 |
خدمات اجتماعی
مقدمه
خدمات اجتماعی به نظر می رسد واژة جدیدی باشد ولی در اصل از زمان خلقت انسان وجود داشته است فطرت انسان از اغاز خلقت او ، محرک و انگیزة وی در همکاری با دیگران در امور اجتماعی بوده سات یعنی بشر ، درجهت بقاء خود و در پیروی از سرشت خویش عامل به تعاون و همکاری های اجتماعی بوده است .
در ایران نیز خدمات اجتماعی مورد توجه بوده است . از زمان نهضت مشروطیت ، سازمان دهی و تدبیر در این زمینه ، به سیاستگذاری های دولت وارد شد و به تدریج شکل اجرا و سازمان یافته به خود گرفت .
برنامه های خدمات اجتماعی فی حد ذاته ، عملی است انسانی و خداپسندانه و لذا با نگرشی تو باید مورد توجه قرار گیرد .
امر خدمات اجتماعی ، یک امر همگانی است که تمام افراد بشر در انجام و توجه به آن توصیه شده اند .
با توجه به انواع سایل و مشکلات فردی و اجتماعی ، به ویژه در جامعه ای سنظیر جامعه ما با ظرایط خاص خود ، می بایست جنبه تخصصی امر کمک رسانی به انسانهای دیگر مد نظر قرار گیرد و علاوه بر حمایت از سازمانهای نوین اجتماعی که بتوانند جلوگیری نیازهای سمختلف شهروندان باشند ، افرادی با ویژگیها و خصوصیات خاص ، مهارتهای بیشتری را در ادارة این قبیل مؤسسات و نیز کمک های ویژه به افراد و گروههای نیازمند جامعه را کسب نمایند .
از نخستین اعصار ، انسانها به دنبال محافظت از خود و وابستگان و تدارک محیطی بهتر و سالمتر برای زیست بوده و نیاز امنیت داشته اند . در جامعه بشری فقری ، تهیدستی ، رنج ، نا توانی ، نابرابری و بی نظمی اجتماعی از ابتدا وجود داشته است اما این مائب و گرفتاریها فقط در شعاعی که در دسترس و چشم انداز قرار داشت افراد را متأثر مسؤول میکرد .
اصطلاح « خدمات اجتماعی » از ترکیب دو کلمه «خدمات» جمع «خدمت » و «اجتماعی» تشکیل شده است و معادل انگلیس آن “Social Services” است . در فرهنگ ها معانی گوناگونی برای «خدمت» لیان شده است از آن جمله : پرستاری و تعهد و تیمار ، برای کسی کار کردن ، چاکری کردن ، کار ، مأموریت ، هدیه ، تعظیم ، عریضه ، حضور . در اینجا به معنای «انجام برای کسی» بکار می رود .
الف- مفهوم ساده و ابتدائی خدمات اجتماعی
نیاز به جستجو برای امنیت فردی گروهی همواره وجود داشته است . مردم همواره میکوشید اند تا خود و خانواده شان را از پیشامد های احتمالی گرسنگی ، بیماریهای مسری و خطرهای دیگری که آنها را تهدید یا احاطه کرده بود ، حفظ کنند . آنها در تدارک ضروریات ادامه حیات بعدی یعنی سرپناه و غذا و پوشاک نهایت تلاش خود را انجام دادهاند. این فرآیند نبردی مستمر بده و امروزه هنوز برای بخش بزرگی از جمعیت جهان به صورت مبارزهای پایدار باقی مانده است .
روابط اجتماعی در این دوره ، ساده و محدود بوده و حمایت ها ، علائق و احساسات درون گروهی به خوبی مشهود بود . خانواده به مفهوم گسترده ، جایگاه ویژه ای داشت و بسیاری از مسایل و مشکلات د ردرون آن حل می شد . حمایت و احترام سالمندان یک امر بدیهی بود . فرد نسبت به آینده خانوادهاش زیاد نگران نبود زیرا یقیت داشت که در صورت فوت او ، فرزندانش مورد حمایت دیگران قرار خواهند گرفت . این شبکه حمایتی متقابل به او و اعضاء خانوادهاش ، نوعی تإمین اجتماعی اولیه را هدیه می کرد که رفع کننده نگرانی ها و اضطرابهای او بود . به جهت سادکی زندگی و وجود روابط چهره به چهره بین اعضا جامعه و محدودیت این روابط ، فرد ازطریق گروههای اجتماعی ، به سهولت مورد پذیرش قرار میگرفت و زمینه های رضامندی و احساس آرامش و امنیت در او پدیدار میشد . محدودیت توقعات متقابل اعضاء جامعه از همدیگر و همچنین رضا و تسلیم در مقابل شرایط نا مساعد زندگی ، آرامش دورنی او را قوت می بخشید . علاوه بر نهاد خانواده افراد نیکو کار از طریق نهادهای مذهبی نظیر ، آتشکده ها ، معابد ، کلیسا و بالاخر سجد به اشکال مختلف و به صورت داوطلبانه و پراکنده ، ابعادی از خدمات اجتماعی را ارایه و حمایت از محرومان و مستمندان و نگهداریاز ایتام و در راه ماندگان و نظایر آن را عهده دار بوده اند . چنانچه مشاهده می شود ، در جوامع سنتی ، خدمات اجتماعی ، جنبه هگانی و سازمان یافته نداشت و افراد جامعه در تبیعت از سرشت نسانی خود ، عامل به خدمات اجتماعی داوطلبانه بودند و به جهت سادگی مناسبات و محدودیت نیازها و بسیاری از علل فرهنگی ، اجتماعی و اقتصادی دیگر ، ضرورتی برای تدبیر سازمان یافته در این خصوص احساس نمی شد .
ب- مفهوم جدید خدمات اجتماعی
با ورود ماشین به زندگی بشر ، بسیاری از اصطلاحات قدیمی ، مفاهیم ابتدائی خود را از دست دادند و همگام با دگرگونی در شیوه های زندگی اجتماعی ، متحول شدند و مفهوم جدیدی پیدا کردند . «خدمات اجتماعی » نیز از این قاعده مستثنی نبوده ¸به عنوان یک «ترم» نوین جایگاه ویژه ای را در سیاستگذاریهای اجتماعی ، اقتصادی ، فرهنگی به خود اختصاص داد .
در مکتب انسان ساز اسلام رسول اکرم و ائمه بزرگوار مدافع مظلومان و مستضعفین بوده اند . مولای متقیان علی علیه السلام در این خصوص سر آمد نیکوکاران میباشد .
در زمان سحیات رسول الله و ایام خلافت علی السلام فقراء از بیت المال مستمری می گرفتند .
نشکیل جوامع شهری و ایجاد اجتماعات بزرگ ، زمینه ای در جهت بوجود آمدن شرایطی بود که به «دولتی شدن » و « نهادی شدن » برنامه های خدمات اجتماعی انجامید .
در سالهای بهد از انقلاب صنعتی ، تنها فقر و محرومیتنبود که توازن را از میان میبرد و تنش های اجتماعی را به وجود می آورد ، علت دیگر ، کوتاه شدن دسته ها از رشته های تولید کار بود که اختراعات و صنایع جدید پیش می آورد . ابزارهای کوچک سابق ، هر دسته افرادی را مستقل و متکی به تلاش و عمل خود می ساخت و در نتیجه هرکسی احساس شخصیت و استقلال می نمود .
انقلاب صنعتی و ظهور کارگاه ها و کارخانجات بزرگ و سوء سیاستهای صاحبان صنعت تکنولوژی این استقلال را گرفت و همین ، خود زینه ساز بسیاریاز مسائل اجتماعی ، روانی – عاطفی ، اقتصادی و حتی سیاسی شد .
توجه به زمینه های مختلف خدمات اجتماعی بصورت قوانین ، مصوبات ، برنامه ها و سیاستهای اجرائی به وسیلة دولتها اجتناب ناپذیر و حتی بسیار ضروری و لازم بود . «ویلیام بوریچ» اقتصاد دان انگلیس را بعهده داشت طرحی متکی بر سه اصل (بهداشت عمومی ، اشتغال کامل ، پرداخت کمک هزینه به اولیاء کودکان) را ارائه کرد . او متعقد بود که از راه استقرار تعاون ملی و بیمه های اجتماعی ، عدالت اجتماعی تأمین خواهد شد . بر اساس مصوبهای در بیست و ششمین اجلاسیه عمومی سازمان بین المللی کار درسال 1944 در فیلادلفیا ، تحولی در زمینه خدمات اجتماعی بوجود آمد که برخی از موارد آن چنین است :
دسته بندی | کامپیوتر و IT |
بازدید ها | 10 |
فرمت فایل | doc |
حجم فایل | 4053 کیلو بایت |
تعداد صفحات فایل | 56 |
مقدمه ای بر رباتیک
-1مقدمه
اتوماسیون در بخشهای مختلف صنعت و کارهای تولیدی در چند دهه اخیر ظهور پیدا کرده است و روز به روز نیز در حال توسعه می باشد. بیش از چند دهه از ظهور کارخانجات کاملاً مکانیزه که در آنها تمامی پروسه ها اتوماتیک بوده و نیروی انسانی در آن نقش اجرائی ندارد، نمی گذرد. اما در چند ساله اخیر شاهد بوجود آمدن کارخانجات مکانیزه ای بوده ایم که طراحی، ساخت و نحوه کار آنها واقعاً حیرت انگیز است. ایده و دانش کنترل اتوماتیک و استفاده از سیستمهای مکانیزه در کارخانجات به جنگ جهانی دوم می رسد. ما تحولات عظیم و چشمگیر آن در سالهای اخیر بوقوع پیوسته است.
رباتها جدیدترین مرحله تلاش انسان جهت صنایع اتوماتیک به شمار می روند. رباتها آن دسته از ماشینهای ساخت بشر هستند که لزوماً حرکتهایی شبیه انسان ندارند ولی توان تصمیم گیری و ایجاد و کنترل فعالیتهای از پیش تعیین شده را دارند.
شکل 1 : نمونه ای از استفاده از ربات در صنعت
2- تعریف ربات
دو تعریف موجود در رابطه با کلمه ربات از قرار زیر می باشند[9] :
1- تعریفــی که توسطConcise Oxford Dic. صورت گرفتــه است؛ ماشینی مکانیکی با ظاهر یک انسان که باهوش و مطیع بوده ولی فاقد شخصیت است. این تعریف چندان دقیق نیست، زیرا تمام رباتهای موجود دارای ظاهری انسانی نبوده و تمایل به چنین امری نیز وجود ندارد.
2- تعریفی که توسط مؤسسه ربات آمریکا صورت گرفته است؛ وسیله ای با دقت عمل زیاد که قابل برنامه ریزی مجدد بوده و توانایی انجام چند کار را دارد و برای حمل مواد، قطعات، ابزارها یا سیستم های تخصصی طراحی شده و دارای حرکات مختلف برنامه ریزی شده است و هدف از ساخت آن انجام وظایف گوناگون می باشد.
3- دسته بندی رباتها
رباتها در سطوح مختلف دو خاصیت مشخص را دارا می باشند :
1- تنوع در عملکرد
2- قابلیت تطبیق خودکار با محیط
به منظور دسته بندی رباتها لازم است که قادر به تعریف و تشخیص انواع مختلف آنــــــها باشیم. سه
دسته بندی مختلف در مورد رباتها وجود دارد. دسته بندی اتحادیــــــه رباتهای ژاپنی، دسته بندی
مؤسسه رباتیک آمریکا و دسته بندی اتحادیه فرانسوی رباتهای صنعتی.[9]
1-3-دسته بندی اتحادیه رباتهای ژاپنی
انجمن رباتهای صنعتی ژاپن، رباتها را به شش گروه زیر تقسیم می کند :
1- یک دست مکانیکی که توسط اپراتور کار می کند : وسیله ای است که دارای درجات آزادی متعدد بوده و توسط عامل انسانی کار می کند.
2- ربات با ترکیبات ثابت : این دسته رباتها با ترکیبات ثابت طراحی می شوند. در این حالت یک دست مکانیکی کارهای مکانیکی را با قدمهای متوالی تعریف شده انجام می دهد و به سادگی ترتیب کارها قابل تغییر نیست.
3- ربات با ترکیبات متغیر : یک دست مکانیکی که کارهای تکراری را با قدمهای متوالی و با ترتیب تعریف شده، انجام می دهد و این ترتیب به سادگی قابل تغییر است.
4- ربات قابل آموزش : اپراتور در ابتدای امر به صورت دستی با هدایت یا کنترل ربات کاری را که باید انجام شود، انجام می دهد و ربات مراحل انجام وظیفه را در حافظه ضبط می کند. هر وقت که لازم باشد، می توان اطلاعات ضبط شده را از ربات درخواست نمود و ربات وظیفه درخواست شده را بصورت خودکار انجام می دهد.
5- ربات با کنترل عددی : اپراتور وظیفه ربات را توسط یک برنامه کامپیوتری به او تفهیم می نماید و نیازی به هدایت دستی ربات نیست. درواقع ربات با کنترل عددی، رباتی است که با برنامه کامپیوتری کار می کند.
6- ربات باهوش : این ربات درک از محیط و استعداد انجام کار با توجه به تغییر در شرایط و محدوده عمل کار را دارد.
2-3- دسته بندی مؤسسه رباتیک آمریکا
انستیتوی رباتیک آمریکا تنها موارد 3 و 4 و 5 و 6 را به عنوان ربات پذیرفته است.
3-3- دسته بندی اتحادیه فرانسوی رباتهای صنعتی
مؤسسه ربات صنعتی فرانسوی، رباتها را به شکل زیر تقسیم کرده است :
نوع A : دستگاهی که توسط دست یا از راه دور کنترل می شود (مورد 1 طبقه بندی قبل).
نوع B : وسیلة حمل کننده خودکار با یک سیکل محاسبه شده از قبل (موارد 2 و 3 طبقه بندی قبل).
نوع C : دستگاهی قابل برنامه ریزی و با توانایی خود کنترل (موارد 4 و 5 طبقه بندی قبل).
نوع D : دستگاهی که قادر است اطلاعات معینی از محیط را بدست بیاورد و به عنوان ربات باهوش معروف است (مورد 6 طبقه بندی قبل).
4- اجزاء اصلی یک ربات
مهندسی ربات، مهندسیهای نرم افزار، سخت افزار، برق و مکانیک را در خدمت خود گرفته است. بعضی مواقع این علوم به حد کافی پیچیده می باشند. همچنانکه در شکل 2-2 مشاهده می شود هر ربات دارای 5 مؤلفه به شرح ذیل می باشد [9]و[15]:
1-4- بازوی مکانیکی ماهر(Mechanical Manipulator)
بازوی مکانیکی شامل چندین واصل است که با مفصلها به هم وصل می شوند. این واصلها در جهات مختلف در فضای کاری قادر به حرکت می باشند. حرکت یک مفصل بخصوص باعث حرکت یک یا چند واصل می شود. عامل تحریک مفصل می تواند مستقیماً یا از طریق بعضی انتقالات مکانیکی بر واصل بعدی متصل شود. به واصل نهایی بازوی مکانیکی وسیله کاری ربات وصل شده است که به آن عامل نهایی می گویند. هر یک از مفصلهای ربات یک محور مفصل دارند که واصل حول آن می چرخد. هر محور مفصل یک درجه آزادی(D.O.F.) تعریف می کند. بیشتر رباتها دارای 6 درجه آزادی می باشند به عبارت دیگر دارای 6 مفصل، بمنظور حرکت در 6 جهت. اولین سه مفصل ربات به عنوان محورهای اصلی شناخته می شوند. بطورکلی صرفنظر از جزئیات، محورهایی که برای محاسبه موقعیت
شکل 2 : مؤلفه های یک ربات
و استقرار مچ استفاده می شونــد، محورهای اصلی ربات هستند. محورهای مفصلهای باقیمانده جهت قرار گرفتن دست ربات را مشخص می کنند، ولذا محورهای فرعی نامیده می شوند.
دو نوع مفصل اصلی به صورت گسترده در صنعت رباتها بکار گرفته می شود. مفصل دورانی که نمایش دهنده حرکت چرخشی حول یک محور است و مفصل انتقالی یا لغزشی که نمایش دهنده حرکت خطی در طول یک محور است، (جدول 1).
Description Notation Type
Rotary motion about an axis R Revolute
Linear motion along an axis P Prismatic
جدول 1 : انواع مفصل ربات
2-4- سنسورها
برای کنترل صحیح بازوی مکانیکی بایستی وضعیت هر مفصل شناخته شده باشد. منظور از وضعیت، موقعیت مفصل، سرعت و شتاب می باشد. بنابراین در مفصلها بایستی سنسورهایی جهت دید مفصلها و وصلها جهت تعیین موقعیت، گشتاور، سرعت، شتاب، و ... نصب شود، تا وضعیت مفصلها به کنترلر ابلاغ شود. خواندن اطلاعات سنسور، یا در اتمام حرکت یا در حین حرکت انجام می گیرد و با ارسال اطلاعات آنی سنسورها به کنترلر، کنترل صحیح و واقعی سیستم مکانیکی انجام می شود. این اطلاعات سنسوری، دیجیتال یا آنالوگ و یا ترکیبی می باشند.
3-4- کنترلر
بخشی است که به بازوی مکانیکی، هوش انجام کار را می دهد. کنترلر معمولاً از بخشهای ذیل تشکیل می شود :
1- واحدی که اجازه می دهد ربات از طریق سنسورها با محیط بیرون ارتباط داشته باشد.
2- حافظه جهت ذخیره داده هایی که مختصات را تعریف می کنند تا بازو با توجه به این مختصات حرکت کند (برنامه).
3- واحدی که داده ذخیره شده در حافظه را تغییر می دهد و سپس داده را برای ارتباط دادن با مؤلفه های دیگر کنترل بکار می برد.
4- حرکت مؤلفه هــای بخصوصی در نقاط معینــی مقدار دهی اولیه شده و در نقطه بخصوص
دیگری پایان می یابند.
5- واحــد محاسباتی که محاسبــات لازم برای کنترلـر را انجام می دهد. به عبارت دیگر، برای
انجام صحیح اعمال بایست یک سری محاسبات جهت مشخص کردن مسیر، سرعت و موقعیت بازوی مکانیکی انجام شود.
6- واسطی جهت بدست آوردن داده ها (مختصات هر مفصل، اطلاعاتی از سیستم بینایی و ...) و واسطی جهت اعمال سیگنالهای کنترل به محرک مفصلها.
7- واسطی جهت انتقال اطلاعات کنترلر به واحد تبدیل توان، به طوری که محرک های مفصلها باعث بشوند که مفصلها به صورت مطلوب حرکت کنند.
8- واسط به تجهیزات دیگر، بطوری که کنترلر ربات با واحدهای خارجی یا ابزارهای کنترل دیگر، ارتباط داشته باشد.
9- وسایل و تجهیزات لازم جهت آموزش ربات.
کنترلرهای رباتها کلاً به 5 دسته تقسیم بندی می شوند :
1- کنترل با قدم ساده(Simple Step Sequencer)
2- سیستم منطقی پنوماتیکی(Pneumatic Logic System)
3- کنترلر با قدمهای الکترونیکی (Electronic Sequencer)
4- میکرو کامپیوتر (Micro Computer)
5- مینی کامپیوتر (Mini Computer)
سه کنترلر اول در رباتهای کم هزینه به کار برده می شوند. بیشتر کنترلرهای امروزی براساس میکروکامپیوترهای معمولی می باشند و سیستم کنترل براساس مینی کامپیوتر زیاد رایج نمی باشد، چرا که نسبت به میکروکامپیوترها هزینه بالاتری دارند.
4-4- واحد تبدیل توان
این واحد سیگنالهای کنترلر را گرفته و به یک سیگنال در سطح توان محرک ها و موتورها، جهت حرکت، تبدیــل می کند. این واحــد شامل تقویت کننده هـای توان الکترونیکی برای رباتهای الکتریکی و شیرهای کنترلی و راه اندازهای هیدرولیکی برای رباتهای هیدرولیکی می باشد.
دسته بندی | کامپیوتر و IT |
بازدید ها | 17 |
فرمت فایل | doc |
حجم فایل | 171 کیلو بایت |
تعداد صفحات فایل | 251 |
برای تحلیل و فهم روشهائی که یک نفوذگر با بکارگیری آنها با شبکه حمله می کند، باید یک دانش پایه از تکنولوژی شبکه داشته باشیم. درک مکانیزم حملات ممکن نیست مگر آنکه حداقل اصول TCP/IP را بدانیم.
عاملی که تمام شبکه های مختلف را به صورت موفقیت آمیز به هم پیوند زده است، تبعیت همه آنها از مجموعه پروتکلی است که تحت عنوان TCP/IP در دنیا شناخته می شود. دقت کنید که عبارت خلاصه شده TCP/IP می تواند به دو موضوع متفاوت اشاره داشته باشد:
مدل TCP/IP: این مدل یک ساختار چهار لایه ای برای ارتباطات گسترده تعریف می نماید که آنرا در ادامه بررسی می کنیم.
پشتة پروتکلهای TCP/IP:[1] پشتة TCP/IP مجموعه ای شامل بیش از صد پروتکل متفاوت است که برای سازماندهی کلیه اجزاء شبکة اینترنت به کار می رود.
TCP/IP بهترین پروتکل شبکه بندی دنیا نیست! پروتکلهای بهینه تر از آن هم وجود دارند؛ ولیکن فراگیرترین و محبوبترین تکنولوژی شبکه بندی در دنیای کامپیوتر محسوب می شود. شاید بزرگترین حسن TCP/IP آن باشد که بدون پیچیدگی زیاد، بخوبی کار می کند! اینترنت بر اساس TCP/IP بنا شده و بیشتر حملات نیز مبتنی بر مجموعة پروتکلهای TCP/IP هستند.
برای طراحی یک شبکة کامپیوتری، مسائل و مشکلات بسیار گسرتده و متنوعی وجود دارد که باید به نحوی حل شود تا بتوان یک ارتباط مطمئن و قابل اعتماد بین دو ماشین در شبکه برقرار کرد. این مسائل و مشکلات همگی از یک سنخ نیستند و منشأ و راه حل مشابه نیز ندارند؛ بخشی از آنها توسط سخت افزار و بخش دیگر با تکنیکهای نرم افزاری قابل حل هستند. به عنوان مثال نیاز برای ارتباط بی سیم بین چند ایستگاه در شبکه، طراح شبکه را مجبور به استفاده از مدولاسیون آنالوگ در سخت افزار مخابراتی خواهد کرد ولی مسئلة هماهنگی در ارسال بسته ها از مبدأ به مقصد یا شماره گیری بسته ها برای بازسازی پیام و اطمینان از رسیدن یک بسته، با استفاده از تکنیکهای نرم افزازی قابل حل است. بهمین دلیل برای طراحی شبکه های کامپیوتری، باید مسائل و مشکلاتی که برای برقراری یک ارتباط مطمئن، ساده و شفاف بین دو ماشین در شبکه وجود دارد، دسته بندی شده و راه حلهای استاندارد برای آنها ارائه می شود. در زیربخشی از مسائل طراحی شبکه ها عنوان شده است:
اولین موضوع چگونگی ارسال و دریافت بیتهای اطلاعات بصورت یک سیگنال الکتریکی، الکترومغناطیسی یا نوری است، بسته به اینکه آیا کانال نتقال سیم مسی، فیبرنوری، کانال ماهواره ای یا خطوط مایکروویو است. بنابراین تبدیل بیتها به یک سیگنال متناسب با کانال انتقال یکی از مسائل اولیة شبکه به شمار می رود.
مساله دوم ماهیت انتقال است که می تواند به یکی از سه صورت زیر باشد:
Simplex: ارتباط یک طرفه (یک طرف همیشه گیرنده و طرف دیگر همیشه فرستنده).
Half Duplex: ارتباط دو طرفة غیرهمزمان (هر دو ماشین هم می توانند فرستنده یا گیرنده باشند ولی نه بصورت همزمان، بلکه یکی از طرفین ابتدا ارسال می کند، سپس ساکت می شود تا طرف مقابل ارسال داشته باشد)
Full Duplex: ارتباط دو طرفه همزمان (مانند خطوط مایکروویو)
مساله سوم مسئله خطا و وجود نویز روی کانالهای ارتباطی است بدین معنا که ممکن است در حین ارسال داده ها بر روی کانال فیزیکی تعدادی از بیتها دچار خرابی شود؛ چنین وضعیتی که قابل اجتناب نیست باید تشخیص داده شد و داده های فاقد اعتبار دو ریخته شود مبدأ آنها را از نو ارسال کند.
با توجه به اینکه در شبکه ها ممکن است مسیرهای گوناگونی بین مبدأ و مقصد وجود داشته باشد؛ بنابراین پیدا کرن بهترین مسیر و هدایت بسته ها، از مسائل طراحی شبکه محسوب می شود. در ضمن ممکن است یک پیام بزرگ به واحدهای کوچکتری تقسیم شده و از مسیرهای مختلفی به مقصد برسد بنابراین بازسازی پیام از دیگر مسائل شبکه به شمار می آید.
ممکن است گیرنده به دلایلی نتواند با سرعتی که فرستنده بسته های یک پیام را ارسال می کند آنها را دریافت کند، بنابراین طراحی مکانیزمهای حفظ هماهنگی بین مبدأ و مقصد از دیگر مسائل شبکه است.
چون ماشینهای فرستنده و گیرندة متعددی در یک شبکه وجود دارد مسائلی مثل ازدحام، تداخل و تصادم در شبکه ها بوجود می آید که این مشکلات بهمراه مسائل دیگر باید در سخت افزاز و نرم افزار شبکه حل شود.
طراح یک شبکه باید تمام مسائل شبکه را تجزیه و تحلیل کرده و برای آنها راه حل ارائه کند ولی چون این مسائل دارای ماهیتی متفاوت از یکدیگر هستند، بنابراین طراحی یک شبکه باید بصورت «لایه به لایه» انجام شود. به عنوان مثال وقتی قرار است یک شبکه به گونه ای طراحی شود که ایستگاهها بتوانند انتقال فایل داشته باشند، اولین مسئله ای که طراح باید به آن بیندیشد طراحی یک سخت افزار مخابراتی برای ارسال و دریافت بیتها روی کانال فیزیکی است. اگر چنین سخت افزاری طراحی شود، می تواند بر اساس آن اقدام به حل مسئلة خطاهای احتمالی در داده ها نماید؛ یعنی زمانی مکانیزمهای کنترل و کشف خطا مطرح می شود که قبل از آن سخت افزار مخابرة داده ها طراحی شده باشد. بعد از این دو مرحلة طراحی، باید مکانیزمهای بسته بندی اطلاعات، آدرس دهی ماشینها و مسیریابی بسته ها طراحی شود. سپس برای بقیه مسائل نظیر آدرس دهی پروسه ها و چگونگی انتقال فایل راه حل ارائه شود.
طراحی لایه ای شبکه به منظور تفکیک مسائلی است که باید توسط طراح حل شود و مبتنی بر اصول زیر است:[2]
·هر لایه وظیفه مشخصی دارد و طراح شبکه باید آنها را به دقت تشریح کند.
·هر گاه سرویسهایی که باید ارائه شود از نظر ماهیتی متفاوت باشد، لایه به لایه و جداگانه طراحی شود.
·وظیفه هر لایه باید با توجه به قراردادها و استانداردهای جهانی مشخص شود.
·تعداد لایه ها نباید آنقدر زیاد باشد که تمیز لایه ها از دیدگاه سرویسهای ارائه شده نامشخص باشد و نه آنقدر کم باشد، که وظیفه و خدمات یک لایه، پیچیده و نامشخص شود.
·در هر لایه جزئیات لایه های زیرین نادیده گرفته می شود و لایه های بالایی باید در یک روال ساده و ماجولار از خدمات لایة زیرین خود استفاده کنند.
·باید مرزهای هر لایه به گونه ای انتخاب شود که جریان اطلاعات بین لایه ها، حداقل باشد.
برای آنکه طراحی شبکه ها سلیقه ای و پیچیده نشود سازمان جهانی استاندارد[3] (ISO)، مدلی هفت لایه ای برای شبکه ارائه کرد، به گونه ای که وظایف و خدمات شبکه در هفت لایة مجزا تعریف و ارائه می شود. این مدل هفت لایه ای،OSI[4] نام گرفت. هر چند در شبکة اینترنت از این مدل استفاده نمی شود و بجای آن یک مدل چهار لایه ای به نام TCP/IP تعریف شده است، ولیکن بررسی مدل هفت لایه ای OSI، بدلیل دقتی که در تفکیک و تبیین مسائل شبکه در آن وجود دارد، با ارزش خواهد بود. پس از بررسی مدل OSI، به تشریح مدل TCP/IP خواهیم پرداخت.
در این استاندارد کل وظایف و خدمات یک شبکه در هفت لایه تعریف شده است:
لایه 1- لایه فیزیکی Physical Layer
لایه 2- لایه پیوند داده ها Data Link Layer
لایه 3- لایه شبکه Network Layer
لایه 4- لایه انتقال Transport Layer
لایه 5- لایه جلسه Session Layer
لایه 6- لایه ارائه (نمایش) Presentation Layer
لایه 7- لایه کاربرد Application Layer
از لایه های پایین به بالا، سرویسهای ارائه شده (با تکیه بر سرویسی که لایه های زیرین ارائه می کنند) پیشرفته تر می شود.
این مدل به منظور تعریف یک استاندارد جهانی و فراگیر ارائه شد و گمان می رفت که تمام شبکه ها بر اساس این مدل در هفت لایه طراحی شوند، به گونه ای که در دهة هشتاد سازمان ملی علوم در آمریکا عنوان کرد که در آینده فقط از این استاندارد حمایت خواهد کرد، ولی در عمل، طراحان شبکه به این مدل وفادار نماندند.
در ادامه به اختصار وظائف هر لایه در مدل OSI را تعریف خواهیم کرد.
وظیفه اصلی در لایة فیزیکی، انتقال بیتها بصورت سیگنال الکتریکی و ارسال آن بر روی کانال می باشد. واحد اطلاعات در این لایه بیت است و بنابراین این لایه هیچ اطلاعات از محتوای پیام ندارد و تنها بیتهای 0 و 1 را ارسال یا دریافت می کند پارامترهایی که باید در این لایه مورد نظر باشند عبارتند از: ظرفیت کانال فیزیکی و نرخ ارسال[5]، نوع مدولاسیون، چگونگی کوپلاژ با خط انتقال، مسائل مکانیکی و الکتریکی مانند نوع کابل، باند فرکانسی و نوع رابط (کانکتور) کابل.
در این لایه که تماماً سخت افزاری است، مسایل مخابراتی در مبادلة بیتها، تجزیه و تحلیل شده و طراحی های لازم انجام می شود. طراح شبکه می تواند برای طراحی این لایه، از استانداردهای شناخته شدة انتقال همانند RS-232 و RS-422 و RS-423 و … که سخت افزار آنها موجود است، استفاده کند. این لایه هیچ وظیفه ای در مورد تشخیص و ترمیم خطا ندارد.
وظیفة این لایه آن است که با استفاده از مکانیزمهای کشف و کنترل خطا، داده ها را روی یک کانال انتقال که ذاتاً دارای خطا است، بدون خطا و مطمئن به مقصد برساند. در حقیقت می توان وظیفة این لایه را بیمة اطلاعات در مقابل خطاهای احتمالی دانست؛ زیرا ماهیت خطا به گونه ای است که قابل رفع نیست ولی می توان تدابیری اتخاذ کرد که فرستنده از رسیدن یا نرسیدن صحیح اطلاعات به مقصد مطلع شده و در صورت بروز خطا مجدداً اقدام به ارسال اطاعات کند؛ با چنین مکانیزمی یک کانال دارای خطا به یک خط مطمئن و بدون خطا تبدیل خواهد شد.
یکی دیگر از وظایف لایة پیوند داده ها آن است که اطلاعات ارسالی از لایة بالاتر را به واحدهای استاندارد و کوچکتری شکسته و ابتدا و انتهای آن را از طریق نشانه های خاصی که Delimiter نامیده می شود، مشخص نماید. این قالب استاندارد که ابتدا و انتهای آن دقیقاً مشخص شده، فریم نامیده می شود؛ یعنی واحد اطلاعات در لایة دو فریم است.
کشف خطا که از وظایف این لایه می باشد از طریق اضافه کردن بیتهای کنترل خطا مثل بیتهای Parity Check و Checksum و CRC انجام می شود.
یکی دیگر از وظایف لایة دوم کنترل جریان یا به عبارت دیگر تنظیم جریان ارسال فریم ها به گونه ای است که یک دستگاه کند هیچ گونه فریمی را به خاطر آهسته بودن از دست ندهد. از دیگر وظایف این لایه آن است که وصول داده ها یا عدم رسید داده ها را به فرستنده اعلام کند.
یکی دیگر از وظایف این لایه آن است که قراردادهایی را برای جلوگیری از تصادم سیگنال ایستگاههایی که از کانال اشتراکی استفاده می کنند، وضع کند چرا که فرمان ارسال داده بر روی کانال مشترک از لایة دوم صادر می شود. این قراردادها در زیر لایه ای به نام MAS[6] تعریف شده است.
وقتی یک واحد اطلاعاتی تحویل یک ماشین متصل به کانال فیزیکی در شبکه شد، وظیفة این لایه پایان می یابد. از دیدگاه این لایه، ماشینهائی که به کانال فیزیکی متصل نمی باشند، در دسترس نیستند. کنترل سخت افزار لایة فیزیکی به عهدة این لایه است.
فراموش نکنید که وظایف این لایه نیز با استفاده از سخت افزارهای دیجیتال انجام می شود.
در این لایه اطلاعات به صورت بسته هایی سازماندهی می شود و برای انتقال مطمئن تحویل لایة دوم می شود. با توجه به آنکه ممکن است بین دو ماشین در شبکه مسیرهای گوناگونی وجود داشته باشد، لذا این لایه وظیفه دارد هر بسته اطلاعاتی را پس از دریافت به مسیری هدایت کند تا آن بسته بتواند به مقصد برسد. در این لایه باید تدابیری اندیشیده شود تا از ازدحام (یعنی ترافیک بیش از اندازة بسته ها در یک مسیریاب یا مرکز سوئیچ) جلوگیری شده و از ایجاد بن بست ممانعت بعمل بیاورد.
هر مسیرباب می تواند به صورت ایستا و غیرهوشمند بسته ها را مسیریابی کند. همچنین می تواند به صورت پویا و هوشمند برای بسته ها مسیر انتخاب نماید. در این لایه تمام ماشینهای شبکه دارای یک آدرس جهانی و منحصر به فرد خواهند بود که هر ماشین بر اساس این آدرسها اقدام به هدایت بسته ها به سمت مقصد خواهد کرد.
این لایه ذاتاً «بدون اتصال»[7] است یعنی پس از تولید یک بستة اطلاعاتی در مبدأ، بدون هیچ تضمینی در رسیدن آن بسته به مقصد، بسته شروع به طی مسیر در شبکه می کند. وظائف این لایه به سیستم نامه رسانی تشبیه شده است؛ یک پاکت محتوی نامه پس از آنکه مشخصات لازم بر روی آن درج شد، به صندوق پست انداخته می شود، بدون آنکه بتوان زمان دقیق رسیدن نامه و وجود گیرنده نامه را در مقصد، از قبل حدس زد. در ضمن ممکن است نامه به هر دلیلی گم شود یا به اشتباه در راهی بیفتد که مدتها در سیر بماند و زمانی به گیرندة آن برسد که هیچ ارزشی نداشته باشد.
در این لایه تضمینی وجود ندارد وقتی بسته ای برای یک ماشین مقصد ارسال می شود آن ماشین آمادة دریافت آن بسته باشد و بتواند آنرا دریافت کند. در ضمن هیچ تضمینی وجود ندارد وقتی چند بستة متوالی برای یک ماشین ارسال می شود به همان ترتیبی که بر روی شبکه ارسال شده، در مقصد دریافت شوند. همچنین ممکن است که وقتی بسته ای برای یک مقصد ارسال می گردد، به دلیل دیر رسیدن از اعتبار ساقط شده و مجدداً ارسال شود و هر دو بسته (جدید و قدیم) به هم برسند. این مسائل در لایة بالاتر قابل حل خواهد بود.
هر چند وظائف این لایه می تواند بصورت نرم افزاری پیاده شود ولی برای بالاتر رفتن سرعت عمل شبکه، می توان برای این لایه یک کامپیوتر خاص طراحی نمود تا در کنار سخت افزار لایه های زیرین، بسته ها را روی شبکه رد و بدل کند.
در این لایه بر اساس خدمات لایة زیرین، یک سرویس انتقال بسیار مطمئن و «اتصال گرا»[8] ارائه می شود. تمام مشکلاتی که در لایة شبکه عنوان شد در این لایه حل و فصل می شود:
·قبل از ارسال بسته ها، نرم افزار این لایة اقدام به ارسال یک بسته ویژه می نماید تا مطمئن شود که ماشین گیرنده آمادة دریافت اطلاعات است.
·جریان ارسال اطلاعات شماره گذاری شده تا هیچ بسته گم نشود یا دوبار دریافت نشود.
·ترتیب جریان بسته ها حفظ می شود.
·در این لایه پروسه های مختلفی که بر روی یک ماشین واحد اجرا شده اند، آدرس دهی می شوند به نحوی که هر پروسه بر روی یک ماشین واحد، به عنوان یک هویت مستقل داده های خود را ارسال یا دریافت نماید.
واحد اطلاعات در این لایه قطعة [9] است. از وظائف دیگر این لایه می توان به موارد زیر اشاره کرد:
·تقسیم پیامهای بزرگ به بسته های اطلاعات کوچکتر
·بازسازی بسته های اطلاعاتی و تشکیل یک پیام کامل
·شماره گذاری بسته های کوچکتر جهت بازسازی
·تعیین و تبیین مکانیزم نامگذاری ایستگاه هایی که در شبکه اند.
·وظائف این لایه (و لایه های بعدی) با استفاده از نرم افزار پیاده سازی می شود و فقط بر روی ماشینهای نهایی (Hosts) وجود دارد و مراکز سوئیچ به وظائف این لایه احتیاجی ندارند (مگر در موارد خاص).
وظیفة این لایه فراهم آوردن شرایط یک جلسه (نشست) همانند ورود به سیستم از راه دور[10]، احراز هویت طرفین، نگهداری این نشست و توانایی از سرگیری یک نشست در هنگام قطع ارتباط می باشد. وظایف این لایه را می توان در موارد زیر خلاصه کرد: برقراری و مدیریت یک جلسه، شناسایی طرفین، مشخص نمودن اعتبار پیامها، اتمام جلسه، حسابداری مشتری ها[11]
در این لایه معمولا کارهایی صورت می گیرد که اگر چه بنیادی و اساسی نیستند ولیکن به عنوان نیازهای عمومی تلقی می شوند. مثل: فشرده سازی فایل[12]، رمزنگاری[13] برای ارسال داده های محرمانه، رمزگشایی[14]، تبدیل کدها به یکدیگر (وقتی که دو ماشین از استانداردهای مختلفی برای متن استفاده می کنند؛ مثل تبدیل متون EBCDIC به ASCII و بالعکس)
در این لایه، استاندارد مبادلة پیام بین نرم افزاهائی که در اختیار کاربر بوده و به نحوی با شبکه در ارتباطند، تعریف می شود. لایة کاربرد شامل تعریف استانداردهایی نظیر انتقال نامه های الکترونیکی، انتقال مطمئن فایل، دسترسی به بانکهای اطلاعاتی راه دور، مدیریت شبکه و انتقال صفحات وب است.
در مدل لایه ای شبکه، وقتی یک برنامة کاربردی در لایة آخر اقدام به ارسال یک واحد اطلاعات می نماید، سرآیند لازم به آن اضافه شده و از طریق صدا زدن توابع سیستمی استاندارد به لایة زیرین تحویل داده می شود. لایة زیر نیز پس از اضافه کردن سرآیند لازم، آنرا به لایة پایین تحویل می دهدو این روند تکرار می شود تا آن واحد اطلاعات روی کانال فیزیکی ارسال شود. در مقصد پس از دریافت یک واحد اطلاعات از روی خط فیزیکی، تحویل لایة بالاتر شده و در هر لایه پس از تحلیل و پردازش لازم، سرآیند اضافه شده را حذف و به لایة بالاتر تحویل می دهد. در شکل (1-2) روند حذف و اضافه شدن سرآیند در هر لایه به تصویر کشیده شده است.
همانگونه که اشاره شد این مدل یک ساختار چهار لایه ای برای شبکه عرضه کرده است. شکل (2-2) این مدل را به تصویر کشیده است. اگر بخواهیم این مدل چهار لایه ای را با مدل OSI مقایسه کنیم، لایة اول از مدل TCP/IP یعنی لایة دسترسی به شبکة تلفیقی از وظائف لایة فیزیکی و لایة پیوند داده ها از مدل OSI خواهد بود. لایة دوم از مدل TCP/IP معادل لایة سوم از مدل OSI یعنی لایة شبکه است. لایة سوم از مدل TCP/IP همنام و معادل با لایة چهارم از مدل OSI یعنی لایة انتقال خواهد بود. لایه پنجم (جلسه) و لایة ششم (ارائه) از مدل OSI در مدل TCP/IP وجود ندارند و وظائف آنها در صورت لزوم در لایة چهارم از مدل TCP/IP ادغام شده است. لایة هفتم از مدل OSI معدل بخشی از لایة چهارم از مدل TCP/IP است. در شکل (3-2) دو مدل TCP/IP و OSI با هم مقایسه شده اند.
در ادامه چهار لایة مدل TCP/IP را بررسی خواهیم کرد.
زیربنای اینترنت ساختار چهار لایه ای TCP/IP است. در این کتاب یاد خواهید گرفت که حملات نفوذگران نیز در یکی از این چهار لایه شکل می گیرد؛ لذا ماهیت و مکانیزمهای حمله و همچنین ابزار و هدف حمله وابسته به لایه ای است که مورد حمل قرار می گیرد.
شکل (1-2) روند حذف و اضافه شدن سرآیند در هر لایه
لایه ها |
نامهای معادل در برخی از کتب |
لایه کاربرد Application layer |
·لایه سرویسهای کاربردی |
لایه انتقال Transport layer |
·لایه ارتباط میزبان به میزبان (Host to Host) ·لایه ارتباط عناصر انتهایی (End to End Connection) |
لایه شبکه Network layer |
·لایه اینترنت ·لایه ارتباطات اینترنت |
لایه واسط شبکه Network interface |
·لایه میزبان به شبکه (Host to network) ·لایه رابط شبکه |
شکل (2-2) مدل چهار لایه ای TCP/IP
شکل (3-2) مقایسة دو مدل TCP/IP و OSI
در این لایه استانداردهای سخت افزار، نرم افزار های راه انداز[15] و پروتکلهای شبکه تعریف می شود. این لایه درگیر با مسائل فیزیکی، الکتریکی و مخابراتی کانال انتقال، نوع کارت شبکه و راه اندازه های لازم برای نصب کارت شبکه می باشد. در شبکة اینترنت که می تواند مجموعه ای از عناصر غیرهمگن و نامشابه را به هم پیوند بزند انعطاف لازم در این لایه برای شبکه های گوناگون و ماشینهای میزبان فراهم شده است. یعنی الزام ویژه ای در بکارگیری سخت افزار ارتباطی خاص، در این لایه وجود ندارد. ایستگاهی که تصمیم دارد به اینترنت متصل شود بایستی با استفاده از پروتکلهای متعدد و معتبر و نرم افزار راه انداز مناسب، به نحوی داده های خودش را به شبکه تزریق کند. بنابراین اصرار و اجبار خاصی در استفاده از یک استاندارد خاص در این لایه وجود ندارد. تمام پروتکلهای LAN MAN در این لایه قابل استفاده است.
یک ماشین میزبان می تواند از طریق شبکة محلی، فریمهای اطلاعاتی را به زیر شبکه تزریق کند به این نحو که بسته های راه دور[16] را که مقصدشان خارج از شبکة محلی است، به مسیریاب از پیش تعریف شده، هدایت نماید. شبکه های محلی از طریق یک یا چند مسیریاب می توانند به اینترنت متصل شوند. بنابراین یک بسته اطلاعاتی که از لایه بالاتر جهت ارسال به یک مقصد، به لایه اول در مدل TCP/IP تحویل می شود، نهایتاً در قسمت «فیلد داده»[17] از فریم شبکه محلی قرار می گیرد و مسیر خود را آغاز می نماید؛ پروتکلهائی که در لایة اول از مدل TCP/IP تعریف می شوند، می توانند مبتنی بر ارسال رشتة بیت[18] یا مبتنی بر ارسال رشتة بایت[19] باشند.
این لایه در ساده ترین عبارت وظیفه دارد بسته های اطلاعاتی را که از این به بعد آنها را بسته های IP می نامیم، روی شبکه هدایت کرده و از مبدأ تا مقصد به پیش ببرد. در این لایه چندین پروتکل در کنار هم وظیفه مسیریابی و تحویل بسته های اطلاعاتی از مبدأ تا مقصد را انجام می دهند. کلیدی ترین پروتکل در این لایه، پروتکل IP نام دارد. برخی از پروتکلهای مهم که یک سری وظایف جانبی برعهده دارند عبارتند از: BOOTP,IGMP,ICMP,RIP,RARP,ARP و …. . این پروتکلها را به اختصار توضیح خواهیم داد ولی بیشترین تلاش ما در کالبدشناسی پروتکلIP خواهد بود.
همانگونه که اشاره شد در این لایه یک واحد اطلاعاتی که بایستی تحویل مقصد شود، دیتاگرام نامیده می شود. پروتکل IP می تواند یک دیتاگرام را در قالب بسته های کوچکتری قطعه قطعه کرده و پس از اضافه کردن اطلاعات لازم برای بازسازی، آنها را روی شبکه ارسال کند.
لازم است بدانید که در این لایه برقرای ارتباط بین مبدأ و مقصد بروش «بدون اتصال» خواهد بود و از اسال یک بستهIP روی شبکه، عبور از مسیر خاصی را تضمین نمی کند. بعنی اگر دو بسته متوالی برای یک مقصد یکسان ارسال شود هیچ تصمینی در به ترتیب رسیدن آنها وجود ندارد، چون این دو بسته می توانند از مسیرهای متفاوتی به سمت مقصد حرکت نماید. در ضمن در این لایه پس از آنکه بسته ای روی یکی از کانالهای ارتباطی هدایت شد، از سالم رسیدن یا نرسیدن آن به مقصد هیچ اطلاعی بدست نخواهد آمد، چرا که در این لایه، برای بسته های IP هیچ گونه پیغام دیافت یا عدم دریافت[20] بین عناصر واقع بر روی مسیر، رد و بدل نمی شود؛ بنابراین سرویسی که در این لایه ارائه می شود نامطمئن است و اگر به سرویسهای مطمئن و یا اتصال گرا نیاز باشد د رلایه بالاتر این نیاز تامین خواهد شد.
در این لایه مسیریابها بایستی از شرایط توپولوژیکی و ترافیکی شبکه اطلاعاتی را کسب نمایند تا مسیریابی بروش پویا انجام شود. همچنین در این لایه باید اطلاعاتی درباره مشکلات یا خطاهای احتمالی در ساختار زیرشبکه بین مسیریابها و ماشیهای میزبان، مبادله شود. یکی دیگر از وظائف این لایه ویژگی ارسال «چند پخشی»[21] است یعنی یک ایستگاه قادر باشد به چندین مقصد گوناگون که در قالب یک گروه سازماندهی شده اند، بسته یا بسته هائی را ارسال نماید.
این لایه ارتباط ماشینهای انتهایی (ماشینهای میزبان) را در شبکه برقرار می کند یعنی می تواند بر اساس سرویسی که لایه دوم ارائه می کند یک ارتباط اتصال گرا و مطمئن[22]، برقرار کند. البته در این لایه برای عملیاتی نظیر ارسال صوت و تصویر که سرعت مهمتر از دقت و خطا است سرویسهای بدون اتصال سریع و نامطمئن نیز فراهم شده است.
در سرویس مطمئنی که در این لایه ارائه می شود، مکانیزمی اتخاذ شده است که فرستنده از رسیدن نو یا عدم رسید صحیح بسته به مقصد با خبر شود. در مورد سرویسهای مطمئن و نامطمئن بعداً بحث خواهد شد. این لایه از یکطرف با لایة شبکه و از طرف دیگر با لایة کاربرد در ارتباط است. داده های تحویلی به این لایه توسط برنامة کاربردی و با صدا زدن توابع سیستمی تعریف شده در «اواسط برنامه های کاربردی» ([23]API) ارسال یا دریافت می شوند.
در این لایه بر اساس خدمات لایه های زیرین، سرویس سطح بالایی برای خلق برنامه های کاربردی ویژه و پیچیده ارائه می شود. این خدمات در قالب، پروتکلهای استانداردی همانند موارد زیر به کاربر ارائه می شود: شبیه سازی ترمینال[24]، انتقال فایل یا FTP، مدیریت پست الکترونیکی، خدمات انتقال صفحات ابرمتنی و دهها پروتکل کاربردی دیگر. در پایان این قسمت بایستی خاطر نشان کنیم که ارسال یک واحد اطلاعاتی از لایه چهارم پس از انجام پردازشهای لازم در لایه های زیرین به نحو مناسبی روی زیر شبکه تزریق شده و نهایتاً در ماشین مقصد، تحویل یک برنامه کاربردی خاص خواهد شد.
جوهرة اینترنت به گونه ای شکل گرفته است که مجموعه ای از شبکه های خودمختار[25]را به همدیگر وصل می نماید. هیچگونه ساختار حقیقی و رقابتی نمی توان برای اینترنت متصور شد. این نکته را بایستی یادآور شویم که در قسمت «زیرشبکه» از شبکة اینترنت تعدادی از خطوط ارتباطی با پهنای باند (نرخ ارسال) بسیار بالا و مسیریابهای بسیار سریع و هوشمند، برای پیکرة شبکة جهانی اینترنت یک «ستون فقرات»[26] تشکیل داده است. شبکه های منطقه ای و محلی پیرامون این ستون فقرات شکل گرفته و ترافیک دادة آنها به نحوی از این ستون فقرات خواهد گذشت. ستون فقرات در شبکة اینترنت که با سرمایه گذاری عظیمی در آمریکا، اروپا و قسمتهایی از اقیانوسیه و آسیا ایجاد شده است. حجم بسیار وسیعی از بسته های اطلاعاتی را در هر ثانیه حمل می کنند و اکثر شبکه های منطقه ای و محلی یا ارائه دهندگان سرویسهای اینترنت[27] به نحوی با یکی از گروه های این ستون فقرات در ارتباطند.
به گونه ای که در بخش قبلی اشاره شده قراردادی که حمل و تردد بسته های اطلاعاتی و همچنین مسیریابی صحیح آنها را از مبدأ به مقصد، مدیریت و سازماندهی می نماید پروتکل IP[28] نام دارد. در حقیقت پروتکل IP که روی تمام ماشینهای شبکه اینترنت وجود دارد بسته های اطلاعاتی را (بسته IP) از مبدإ تا مقصد هدایت می نماید، فارغ از آنکه آیا ماشینهای مبدأ و مقصد روی یک شبکه هستند یا چندین شبکة دیگر بین آنها واقع شده است.
ساده ترین تعریف برای پروتکل IP روی شبکة اینترنت بصورت زیر خلاصه می شود:
لایة IP یک واحد از داده ها را از لایة بالاتر تحویل می گیرد؛ به این واحد اطلاعات معمولاً یک «دیتاگرام» گفته می شود.امکان دارد طول این دیتاگرام بزرگ باشد، در چنین موردی لایة IP آنرا به واحدهای کوچکتری که هر کدام «قطعه»[29] نام دارد شکسته و با تشکیل یک بستة IP به ازای هر قطعه، اطلاعات لازم برای طی مسیر در شبکه را به آنها اضافه می کند و سپس آنها را روی شبکه به جریان می اندازد؛ هر مسیریاب با بررسی و پردازش بسته ها، آنها را تا مقصد هدایت می کند. هر چند طول یک بسته IP می تواند حداکثر 64Kbyte باشد و لیکن در عمل عموماً طول یک بسته ها حدود 1500 بایت است. ( این قضیه به دلیل آنست که اکثر شبکه های محلی دنیا اعم از Bus، حلقه، ستاره، طول فریمی نزدیک به یک تا چند کیلو بایت دارند) پروتکل IP مجبور است هنگام قطعه قطعه کردن یک دیتاگرام، برای کل آن یک شمارة مشخصه و برای هر قطعه یک شمارة ترتیب در نظر بگیرد تا آن دیتاگرام بتواند در مقصد برای تحویل به لایة بالاتر یعنی لایة انتقال بازسازی شود.
(مجدداً تأکید می کنیم که در این مبحث، دیتاگرام[30] یک واحد اطلاعات است که به صورت یک جا از لایةIP به لایة انتقال تحویل داده می شود یا بالعکس لایه انتقال آنرا جهت ارسال روی شبکه به لایةIP تحویل داده و ممکن است شکسته شود).
در کنار پروتکل IP چندین پروتکل دیگر مثل RIP,RARP,ARP,ICMP و … تعریف شده که پروتکل IP را در عملکرد بهتر، مسیریابی صحیح، مدیریت خطاهای احتمالی یا کشف آدرسهای ناشناخته کمک می کنند.
تواناییهایی که پروتکل IP چندین پروتکلهای جانبی آن عرضه می کنند این امکان را فراهم آورده است که تمام شبکه ها و ابزارهای شبکه ای (مثل ماشینهای میزبان، مسیریابها، پلها، و …) فارغ از نوع ماشین و نوع سخت افزار و حتی با وجود تفاوت در سیستم عامل مورد استفادة آنها، بتوانند بسته های IP را با یکدیگر مبادله کنند. پروتکل IP ساختاری استاندارد دارد و به هیچ سخت افزار یا سیستم عامل خاص وابسته نیست.
بعنوان اولین گام در شناخت پروتکل IP لازم است قالب یک بستةIP را کالبد شکافی کره و در گامهای بعدی چگونگی آدرس دهی ماشینها و انواع کلاسهای آدرس در شبکة اینترنت را معرفی نموده و نهایتاً به روشهای مسیریابی و همچین تعریف پروتکلهای وابسته به IP بپردازیم.
شکل (4-2) قالب یک بسته IP را نشان می دهد. یک بستةIP از دو قسمت سرایند و قسمت حمل داده تشکیل شده است. مجموعة اطلاعاتی که در سرآیند بستةIP درج می شود توسط مسیریابها مورد استفاده و پردازش قرار می گیرد.
دقت کنید که برای تحلیل برخی از مکانیزمها و تاکتیکهای حمله، مجبور هستید با فیلدهای متعدد بستة IP آشنا باشید؛ زیرا برخی از این فیلدها مورد سوء استفادة نفوذگران قرار می گیرند. در فصل نهم یاد خواهید گرفت که هر گاه برخی از این فیلدها بصورت عمدی و حساب شده دستکاری شود، منجر به اختلال در ماشین نهایی خواهد شد.
[1] TCP/IP Protocol Stack
[2] طراحی لایه ای شبکه را می توان با برنامه نویسی ماجولار مقایسه کرد، بدین نحو که روالهای حل یک مسئله با اجزای کوچکتری شکسته می شود و برای آن زیربنامه نوشته می شود. در توابع صدا زنندة این زیربرنامه ها، جزئیات درونی آنها اهمیت ندارد بلکه فقط نحوة صدا زدن آنها و پارامترهای مورد نیاز ورودی به زیربرنامه و چگونگی برگشت نتیجه به صدا زننده، مهم است.
[3] International Standard Organization
[4] Open System Interconnection
[5] Channel Capacity and Bit Rate
[6] Medium Access Sublayer
[7] Connectionless
[8] Connection Oriented
[9] Segment
[10] Remote Login
[11] Accounting
[12] Data Compression
[13] Encryption
[14] Decryption
[15] Device Driver
[16] Distant Packet
[17] Data Field/Payload
[18] Bit oriented در اینجا کوچکترین واحد اطلاعات که می تواند بطور مستقل ارسال شود یک بیت خواهد بود.
[19]Byte oriented در اینجا کوچکترین واحد اطلاعات که می تواند بطور مستقل ارسال شود یک بایت خواهد بود.
[20] Ack/Nack
[21] Multicast
[22] Reliable
[23] Application Program Interface
[24] TEINET/Teminal Emulation
[25] Autonomous
[26] Backbone
[27] Internet Service Provider(ISP)
[28] Internet protocol
[29] Fragment
[30] اصطلاح دیتاگرام در ادبیات شبکه های کامپیوتری به معنای متفاوت و در موارد متعدد استفاده شده است. لذا به مورد استفادة آن دقت داشته باشید.