چكيده:
تبادل داده امروزه يكي از بخش هاي مهم كار با كامپيوتر است. شبكه هاي موجود در ديسا داده هايي مربوط به موضوع هاي متفاوت از جمله شرايط جوي، وضعيت توليد و ترافيك هوايي را جمع آوري مي كنند. گروه هايي فهرست پست الكترونيكي ايجاد مي كنند تا بدين ويسله از داده هاي مشترك استفاده شود. علاقمندان به كامپيوتر برنامه ها را بين خود مبادله مي كنند. در دنياي علم، شبكه هاي داده اي امري ضروري است. زيرا اجازه مي دهد كه دانش پژوهان برنامه و داده هاي خود را براي پردازش به ابر كامپيوترها بدهند، سپ نتايج پردازش را دريافت كنند و يا اطلاعات علمي را با همكاران خود تبادل كنند.
متأسفانه بيشتر شبكه ها هر يك از اجزاي مستقلي هستند و به شكلي ايجاد شده اند كه بتوانند فقط نيازهاي يك گروه خاص را برآورده كنند. معمولاً كاربران، فن آوري سخت افرادي را انتخاب مي كنند كه بتوانند مشكلات ارتباط داده اي خود آن ها را حل كند. مهم تر از آن، غير ممكن است كه بتوان يك شبكه عمومي را از يك فن آوري سخت افزاري منفرد ساخت، زيرا شبكه اي كه بتواند به تنهايي قابل استفاده براي همه نيازها باشد، وجود ندارد. عده اي از كاربران نياز به يك شبكه با سرعت بالا براي اتصال ماشين ها دارند، اما اينگونه شبكه ها نمي توانند به صورتي گسترش يابند كه فواصل طولاني را سرويس مي دهند. تعدادي ديگر متقاضي شبكه با سرعت پائين ولي با فواصل طولاني براي ارتباط ماشين ها هستند.
اخيراً فن آوري جديدي ايجاد و توسعه يافته است كه اين امكان را مي دهد تا تعداد زيادي از شبكه ها را در فواصل متفاوت به يكديگر متصل و به صورت هماهنگ عمل كند. نام فن آوري جديد، ارتباط بين شبكه اي (Internet يا Internet working) است و ساختارهاي زيرين سخت افزاري متعدد و متنوعي را با اضافهكردن ارتباط فيزيكي ويك سري قواعد جديد با يكديگر مطابق مي سازد.
مقدمه:
در اين فصل طرحي كلي براي جمع آوري فن آوري هاي شبكه اي متفاوت در يك مجموعه هماهنگ ارائه شده است. هدف اصلي طرحي است كه جزئيات سخت افزاري شبكه اي زيرين را مخفي مي سازد و در عين حال سرويس هاي ارتباطي جامع و يكنواختي را مهيا مي سازد. پيامد اوليه، انتزاعي سطح بالا خواهد بود. كه چارچوب تصميم گيري براي طراحي را به وجود مي آورد.

مفهوم ارتباط بين شبكه اي و مدل معماري آن
اتصالات در رده كاربرد‍
طراحان دو رويكرد متفاوت براي پنهان سازي جزئيات شبكه اتخاذ كرده اند. يكي استفاده از برنامه هاي كاربردي براي كنترل نا همگوني ديگري پنهان سازي جزئيات در سيستم عامل است. در اتصالات شبكه اي ناهمگون اوليه، يكنواختي از طريق برنامه هاي رده كاربردي ايجاد مي شد. در چنين سيستم هايي، يك برنامه رده كاربردي كه بر روي هر ماشين در شبكه اجرا مي شود، جزئيات اتصلالات شبكه اي براي ماشين مربوطه را درك مي‌كند و عمل متقابل با ديگر برنامه هاي كاربردي در اتصالات ديگر را انجام مي دهد. مثلاً برخي از سيستم هاي پست الكترونيكي از برنامه هاي پست كننده (Mailer) تشكيل شده اند، كه يك يادادشت (Meno) را به صورت يك ماشين در هر لحظه جلو مي برند. مسير مبدا به مقصد ممكن است شامل شبكه هاي متعدد ومتفاوتي باشد. البته اين امر تا هنگامي كه سيستم هاي پستي مستقر روي ماشين ها در جهت پيشبرد پيام با يكديگر همكاري كنند مشكلي به وجود نخواهد آورد.
ممكن است استفاده از برنامه هاي كاربردي براي پنهان سازي جزئيات شبكه، طبيعي به نظر برسد، اما چنين رويكردي منجر به ارتباطي محدود و مشكل مي شود. افزودن سخت قابليت هاي جديد به معني ساختن برنامه كاربردي جديد براي هر ماشين است. افزودن سخت افزار شبكه اي جديد به معني تغيير يا ايجاد برنامه هاي جديد براي هر كاربرد ممكن است. بر روي هر ماشين هر برنامه كاربردي، اتصلات شبكه اي همان ماشين را درك مي‌كند و نتيجه آن تكرار كد است.
كاربردهايي كه با شبكه سازي آشنائي دارند، درك مي كنند كه اگر اتصالات شبكه ها به صدها و يا هزارها گسترش يابد، هيچ كس نخواهد توانست تمام برنامه هاي كاربردي لازم را بسازد. فراتر از آن، موفقيت طرح ارتباطي «يك گام در هر زمان» نياز به صحت تمام برنامه هاي كاربردهاي عمل كننده در طول مسير دارد. اگر يك برنامه مياني صحيح كار نكند، مبداء و مقصد قادر به شناسائي و كنترل اشكال نخواهد بود. بنابراين، سيستم هايي كه از برنامه هاي كاربردي استفاده مي كنند، قادر به تضمين ارتباط مطمئن نيستند.
اتصالات در رده شبكه
جايگزيني براي ارائه اتصالات به وسيله برنامه هاي رده كاربرد سيستمي بر پايه اتصالات در رده شبكه است. يك سيستم ارتباطي در سطح شبكه، مكانيزمي را براي ارسال بسته ها از مبداء به مقصد به صورت بلادرنگ به وجود مي آورد. سوئيچ كردن واحدهاي كوچكي از داده ها، به جاي فايل يا پيام هاي طولاني، داراي مزاياي فراواني است.
۱) مستقيماً به سخت افزار بدين شبكه اي گذاشته مي شود و در نتيجه فوق العاده كار آمد خواهد بود.
۲) فعاليت هاي مربوط به انتقال داده ها را از برنامه هاي كاربردي جدا مي سازد، كه در نتيجه آن، هر ماشين مي تواند، ترافيك شبكه را بدون توجه به كاربردهايي كه از آن استفاده مي كنند، اداره كند.
۳) سيستم داراي قابليت انعطاف خواهد بود، به اين معني كه ساختن پروتكل هاي شبكه اي همه منظوره امكان پذير مي شود.
۴) به مديران شبكه اجازه مي دهد كه فن آوري هاي شبكه اي جديد را از طريق تغيير يا افزودن يك قطعه نرم افزاري در رده شبكه، به شبكه اضافه كنند، بودن آن كه برنامه هاي كاربردي تغيير كند. كليه طراحي يك ارتباط جامع در رده شبكه، در يك مفهوم انتزاعي سيستم ارتباطي به نام ارتباط بين شبكه اي نهفته است. مهفوم ارتباط بين شبكه اي بسيار پر قدرت است. اين مفهوم ارتباط جزئيات فن آوري هاي شبكه را از هم جدا مي سازد و جزئيات سطح زيرين را از كاربر مخفي مي‌كند. از آن مهم تر، محرك تمام تصميم گيري ها براي طراحي نرم افزارها است و در زمينه چگونگي اداره آدرس هاي فيزيكي و مسيرها توضيح مي دهد. پس از مرور محرك هاي اساسي براي ارتباطات بين شبكه اي، مشخصات بين شبكه اي را با جزئيات بيشتر بررسي مي كنيم.
با توجه به دو مورد اساسي در طراحي تيم هاي ارتباطي كه اولاً هيچ شبكه منفردي نمي تواند به تمام كاربران سرويس دهد و ثانياً كاربران تمايل به اتصالي جامع دارند بحث را ادامه مي دهيم.
اولين ملاحظه، تكنيكي است شبكه هاي محلي كه بالاترين سرعت ارتباطي را در اختيار مي گذارند محدود به يك محدوده جغرافيايي هستند. شبكه هاي گسترده به فواصل خيلي دور دسترسي دارند ولي نمي توانند اتصالات با سرعت هاي بالا را آماده كنند. هيچ فن آوري منفردي نمي تواند تمام نيازها را برآورده سازد پس مجبور به در نظر گرفتن فن آوري هاي سخت افرادي متعدد در لايه هاي زيرين هستيم.
دومين ملاحظه به خودي خود شخص است. در نهايت ما مي خواهيم بين هر دو نقطه ارتباط برقرار كنيم. به طور مشخص تمايل به يك تيم ارتباطي كه به وسيله مرزهاي شبكه هاي فيزيكي محدود نشده باشد، وجود دارد. هدف ساختن يك ارتباط يكپارچه و هماهنگ از شبكه ها است كه يك سرويس ارتباطي جامع را فراهم آورد. داخل هر شبكه كامپيوترها از توابع ارتباطي مستقل از فن آوري زيرين استفاده مي كنند. نرم افزار جديدي كه بين مكانيزم هاي ارتباطي وابسته به فن آوري و برنامه هاي كاربردي قرار مي گيرد، جزئيات سطح زيرين رامخفي مي سازد و مجموعه شبكه ها را به صورت يك شبكه به نظر مي آورد. چنين طرحي از ارتباط، ارتباط استاندارد در طراحي سيستم پيوري مي‌كند. محققان امكانات محاسباتي سطح بالا را در تصور مي آورند. پس از فن آوري محاسباتي موجود شروع به كار مي كنند. لايه هاي نرم افزاري را يكي پس از ديگري مي افزايند تا جائي كه سيستمي به وجود آيد كه به طور موثر داراي همان امكانات محاسباتي تصوير شده باشد.
۱-۳ مشخصات ارتباط بين شبكه اي
ايده سرويس جامع و همگاني بسيار مهم است، اما نمي تواند به تنهايي در بر گيرنده كليه تصورات ها از يك ارتباط بين شبكه اي متحد باشد؛ زيرا سرويس هاي جامع مي تواند به روش هاي متفاوتي پياده سازي شوند. ما در طراحي خود مي خواهيم معماري زيرين ارتباط بين شبكه اي را از كاربر مخفي كنيم. به اين معني كه نمي خواهيم كاربران يا برنامه هاي كاربردي را ملزم سازيم كه جزئيات شبكه اي را از كاربر مخفي كنيم، به اين معني كه نمي خواهيم كاربران يا برنامه هاي كاربردي را ملزم سازيم كه جزئيات سخت افزاري ارتباطي را جهت استفاده از ارتباط بين شبكه اي بدانند. همچنين نمي خواهيم يك توپولوژي شبكه ارتباطي را بقبولانيم.
به طور مشخص، افزودن اتصالات فيزيكي سيستم بين شبكه جديد و شبكه هاي موجود باشد. مي خواهيم قادر به ارسال داده از طريق شبكه هاي بينابيني باشيم، حتي اگر آن ها به طور مستقيم به ماشين هاي مبداء يا مقصد متصل نباشد. مي خواهيم كليه ماشين هاي موجود در ارتباط بين شبكه اي از يك مجموعه جامع از شناسه هاي ماشين ها- كه بتوانند به عنوان نام يا آدرس ها تصور شوند- استفاده مي كنند.
تصور ما از يك ارتباط بين شبكه اي يكپارچه، ايده استقلال شبكه از اواسط كاربرد را نيز در بر مي‌گيرد.به اين معني كه مي خواهيم مجموعه عمليات لازم براي برقراري ارتباط جهت انتقال داده مستقل از فن آوري هاي شبكه اي زيرين و همچنين ماشين مقصد، باقي نماند. واضح است كه يك كاربر به هنگام نوشتن برنامه هاي كاربردي مرتبط با يكديگر نبايد ملزم به درك توپولوژي هاي ارتباط شبك ها باشند.
۱-۴- معماري ارتباط بين شبكه اي
ديديم كه چگونه ماشين ها به شبكه هاي منفرد متصل مي شوند. سوال اين است كه «چگونه شبكه ها به يكديكر متصل مي شوند تا يك ارتباط شبكه اي به وجود آورند؟» جواب داراي دو بخش است: از نظر فيزيكي، دو شبكه فقط از طريق كامپيوتري كه به هر دو شبكه وصل باشد مي توانند به يكديگر متصل شوند. البته يك اتصال فيزيكي صدف نمي تواند ارتباط مورد نظر ما را به وجود آورد، زيرا چنين اتصالي تضمين نمي كند كه كامپيوتر مزبور به همكاري با ماشين هاي ديگر كه درخواست ارتباط دارند بپردازد. براي داشتن يك ارتباط بين شبكه اي كارا نياز به كامپيوترهاي ديگر است كه مايل به رد كردن بسترها از يك شبكه به شبكه ديگر باشد. كامپيوترهايي كه دو شبكه را به يكديگر متصل مي كنند و بسته ها را يكي به ديگري منتقل مي سازند موسوم به دروازه هاي بين شبكه اي يا مسير ياب هاي بين شبكه اي هستند. مثالي شامل دو شبكه فيزيكي همانند شكل (۱) را در نظر بگيريد. در اين شكل ماشين G هر دو شبكه ۱ و ۲ متصل است. براي اين كه G به عنوان يك دروازه عمل كند بايد بسترهايي از شبكه را كه به مقصد شبكه ۲ هستند بگيرد و به شبكه ۲ منتقل كند. به همين ترتيب G بايد بسترهايي از شبكه ۲ را كه به مقصد شبكه ۱ هستند بگيرد و به شكل (۱) منتقل كند.

خلاصه:
بخش عمده اي از عملكرد فني پروتكلي Tcp/ Ip از تنوع سرويس هاي سطح بالاي فراهم شده به وسيله فراهم شده به وسيله برنامه هاي كاربردي ناشي مي شود. پروتكل هاي سطح بالايي كه اين برنامه ها به كار مي برند بر اساس سرويس پايه اي تحويل نامطمئن داده گرام و انتقال مطمئن جريان، ساخته شده اند، آنها به طور معمول از مدل كارگذار/ مشتري تبعيت مي كنند كه در آن كارگذارها روي درگاه هاي پروتكلي شناخته شده عمل مي كنند. بنابراين مشتري ها مي دانند چگونه با آنها تماس برقرار كنند.
مزاياي عمده داشتن يك سيتم ارتباط بين شبكه اي كه چنين كارگزارهايي روي آن ساخته مي شوند اتصال پذيري جهاني و ساده ساختن پروتكل هاي كاربردي است به ويژه هنگام به كار گرفته شدن به وسيله دو ماشين كه به يك سيستم ارتباط بين شبكه اي متصلند پروتكل هاي محل نقطه به نقطه مي توانند تضمين كنند كه يك برنامه مشتري روي دستگاه مبدا به طورمستقيم كارگذاري روي دستگاه مقصد تماس حاصل مي‌كند. چون سرويس هايي نظير پست الكترونيك اتصال حمل انتها- به انتها را به كار مي برند، نيازي به اتكا بر دستگاه هاي بينابيني براي ارسال (تمام) پيام ها ندارد.

مراجع:

[ ۱۹۸۱] Chen , sunshine , Poster ; [1980] Poster :
اطلاعات بيشتر در مورد معماري اينترنت
[ ۱۹۷۸ ] Shoch
مطالبي در مورد نام گذاري و آدرس دهي در ارتباط بين شبكه اي ارائه مي‌كند.
فصل دوم: خلاصه اي از وابستگي هاي پروتكل

مقدمه:‍
TCP/ Ip مبناي تعداد زيادي پروتكل مي باشد. سيستم هاي توزيعي معروفي نظير سيستم فايلي اندرو كه دست رسي از راه دور را به فايل ها فراهم مي آورد. سيستم هاي X- window كه برنامه هاي مشتري را مجاز مي دارد به نگارش متن و گرافيك روي نقشه هاي بيتي بپردازد و بسياري سيستم هاي پايگاه داده توزيعي همگي از پروتكل هاي TCP/ Ip بهره مي برند. به طور عموم هر كدام از اين سيستم ها پروتكل كاربردي خود را تعريف مي كنند و براي انتقال انتها به انتها به TCP يا UPD اتكا دراند و در واقع هر برنام نويسي كه با استفاده از TCP/ Ip يك كاربرد توزيعي مي سازد. باز هم پروتكل سطح كاربردي ديگري را تعريف مي‌كند.

۱-۲-وابستگي هاي پروتكلي
در حالي كه دانستن همه پروتكل ها مهم نيست اما درك اين كه كدام يك از پروتكل ها وجود دارند و چگونه مي توان آن ها را به كار گرفت، مهم است. اينك به بررسي خلاصه اي از روابط بين پروتكل ها اصلي مي پردازيم و نشان مي دهيم كدام يك براي استفاده با برنامه هاي كاربردي در دسترس هستند.
جدول ۲-۱ وابستگي هاي برخي پروتكل هاي مهم را نشان مي دهد. هر چند ضلعي مربوط به يك پروتكل است كه درست بالاي چند ضلعي هاي مربوط به پروتكل هايي كه به كار مي برد، جاي گرفته است. به طور مثال پروتكل پستي، SMTP به TCP وابسته است كه آن به Ip وابسته است.

چند بخش از اين نمودار نياز به توضيح بيشتري دارد. لايه پائيني، تمام پروتكل هايي را كه سخت افزار فراهم مي كند، عرضه مي دارد. اين سطح شامل دست رسي به رسانه تا تخصيص پيوند منطقي را مي پوشاند. فرض خواهيم كرد كه هر سيستم انتقال بسته اي تا زماني كه Ip بتواند از آن براي انتقال داده گرام ها استفاده كند مي تواند در اين لايه قرار بگيرد. بنابراين اگر سيستم طوري طراحي شده باشد تا داده گرام را از طريق يك تونل بفرستند، با ورودي به تونل درست مثل يك واسط سخت افزاري برخورد مي شود (به رغم اجراي نرم افزاري آن).

دومين لايه از پائين، RARAP , ARP, را فهرست مي‌كند. لزوماً تمام دستگاه ها يا فن آوري هاي شبكه آن ها را به كار نمي برند. ARP غالباً روي اترنت به كار مي رود،RARP به ندرت مصرف مي شود (جز مورد دستگاه هاي فاقد ديسك). ديگر پروتكل هاي مقيد ساز آدرس مي توانند در اينجا ظاهر شوند، اما هيچ كدام در حال حاضر مورد استفاده گسترده اي ندارد.