مدل TCP/IP چیست؟ معرفی مدل تحت شبکه TCPIP

با عرض ادب و احترام به تمام دوست داران علم و فناوری از اینکه یک بار دیگر توانستم دومین مقاله خود را بنویسم و تقدیم دوستان عزیز کنم خدای خود را شاکرم. امیدوارم که بعد از مطالعه این مقاله تحول جزئی در معلومات علمی شما ایجاد شود.مقاله که هم اکنون در اختیار شماست به بحث در مورد یکی دیگر از مدل های معروف و جهانی تحت شبکه،مدل تحت شبکه TCP/IP که سعی شده است به طور کامل در مورد این موضوع بحث شود پرداخته است .

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

امیدوارم چیزی را از قلم جا ننداخته باشم. اگر حوصله خواندن مطلب را ندارید ، می توانید به قسمت چهارم از دوره آموزش نتورک پلاس در این لینک مراجعه کنید که تفاوت OSI و TCP/IP به خوبی آموزش داده شده است.در این مقاله به طور مختصر به بحث در مورد پورت ها پرداخته ام که انشاالله در مقاله بعدی به طور کامل به آن خواهم پرداخت.اگر مقاله اولی بنده را مطالعه کرده باشید در مقاله قبلی اشاره مختصری به پروتکل ها کردم که در این مقاله همان طور که قولش را داده بودم به بحث برخی از پروتکل های مهم خواهم پرداخت که امیدوارم مورد پسند شما واقع شود.

بعد از خواندن این مقاله شما قادر خواهید بود :

  • توانای تعریف عملکرد اجرای پروتکل های به کار رفته شده در لایه ها
  • توانای تعریف معایب مدل مرجع OSI و TCP/IP و مقایسه دو مدل
  • تعریف کردن عملکردهای لایه مختلف TCP/IP
  • تعریف پروتکل تحلیلگر اسم (ARP)

اصطلاح TCPIP گرفته شده از Transport Transmission Control protocol internet protocol اما این اصطلاح صرفا فقط دو پروتکل نبوده و نمود بالای را از خودش نشان داده است.TCPIP در حال حاضر مجموعه ای از پروتکل های مختلفی می باشد که به تولیدکنندگان وشبکه مربوط می شود در این مقاله با پروتکل های مهم و متداول که به عضویت شبکه TCPIP در آمده اند آشنا خواهید شد.

اورگان TCP/IP 

ابتکار و مسیر تکاملی پروتکل TCPIP بر گرفته از تلاش های هماهنگ به وسیله وزارت دفاع ایالات متحده یا Department OF Defense (DOD) است.در دهه 1970 یک تحقیقی به نام Advanced Research Project Agency که به ARPA مبدل گشت.ARPA یک محیط WAN را ایجاد کرد که بتوانند در در اوج حملات جنگی توانی حفظ ارتباط باهم دیگر را داشته باشند که این موضوع یکی از نتیجه های تحقیقات اولیه نوع پروتکل TCPIP بود.بعد از کامل کردن تحقیقات اولیه و پیشرفت کردن،ARPA برای بهبودی تنظیمات اولین مدل تحت شبکه خود،سایت چهار دانشگاه که به ترتیب دانشگاه کالیفرنیا در باربارا UCSB،دانشگاه کالیفرنیا لوسانجلس UCLA،Stanford Research Institute یا SRI ودر نهایت دانشگاه Utah می باشند را انتخاب کرد.در ابتدا این سایت ها به وسیله خط اجاره ای به Kbps 50 به همدیگر متصل شده بودند که بعد ها اسم ARPA به ARPANET تبدیل گشت.

اگر چه این تحقیقات اولیه به هدف امور نظامی اجرا شد اما اکادمی محقیقین دریافتن که شبکه می تواند راهی برای ارتباط برقرارکردن با یک دیگر باشد.حکومت ایالات متحده نیز تکنولوژی به کار رفته شده در مدل تحت شبکه خود را به صورت محرمانه نگه نداشت این امر باعث شد محققین موجود در دیگر سازمان ها اطلاعات مفیدی را از این پروژه استنتاج کرده و این تکنولوژی را برای ساختن مدل تحت شبکه اختصاصی خود پیاده سازی کنند.

DOD برای افزایش محبوبیت و شهرت مدل تحت شبکه TCP /IPخود،بر روی دو پروژ سرمایه گذاری کرد:

  • دخول پروتکل های TCP/IP با نرم افزار Berkeley Unix یاBerkeley Software Distribution Unix (BSD Unix)
  • ایجاد همبستگی نزدیک با سیستم عامل Unix

در آن زمان چیزی نزدیک به %90 دپارتمان های دانشمندان دانشگاها از این نرم افزار استفاده می کردندبنابراین این مدل به سرعت پیشرفت کرد و به شهرت خود افزود و دیگر مورد استفاده معمول همه قرار گرفت.سرانجام این شبکه سازمانهای مختلفی را به هم متصل کرد وسایتی شد که امروز آن را با عنوان اینترنت از آن یاد می کنیم.

بنابراین پروتکل های TCPIP قبل از کامپیوتر های شخصی،مدل مرجع OSI،پروتکل اترنت وبسیاری از عناصر های دیگری که امروزه به عنوان بخش مهمی از شبکه های کامپیوتر به شمار می آیند،طراحی شده اند.TCPIP برخلاف پروتکل های از قبیل IPX نت ور که همین وظایف را انجام می دهند،محصول یک شرکت تنها نیست بلکه با همکاری چند گروه طراحی و تولید شده است.

ماهیت غیر انحصاری استاندارد های TCPIP به این معنا می باشد که این پروتکل ها محدود به هیچ نوع سخت افزازو یا سیستم عامل بخصوصی نمی باشد.در واقع هدف اصلی از طراحی TCPIP این بوده است که وابسته به سکوی سخت افزاری و نرم افزاری خاصی نباشد.بسیاری از پروتکل های این بسته طوری طراحی شده اند که هر کامپیوتردارای امکانات شبکه ای بتواند با استفاده از TCP/IP با هر نوع کامپیوتر دیگری که باهم دیگر شبکه شده اند ارتباط برقرار کند.

مدل تحت شبکه TCP/IP

مدل تحت شبکه ویا Networking model که گاهی اوقات از اصطلاحاتی مانند معماری تحت شبکه Networking Architecture ویا برنامه کاری تحت شبکه Networking model blueprint نیز از آن یاد می شودکه بسته به نوع متنی که برای تعریف این نوع ساختار به کار گرفته شده از این اصطلاحات استفاده می شود.که منحصرا هر کدام از این مستندات بخش کوچکی از فعالیت های مربوط به شبکه را تعیین و تعریف می کنندبه طور کلی این مستندات برای تعیین یک سری روخدادهای که بین کامپیوترهای تحت شبکه رخ می دهند تا بتوانند باهم دیگردرشبکه کار کنند.

برخی مستندات نیز معرف پروتکل که این پروتکل ها همراه بایک سری قوانینی می باشد که ابزارهای تحت شبکه برای ایجاد ارتباط باهم دیگر از این قوانین استفاده می کنند.ودر نهایت برخی از مستندات معرف برخی از احتیاجات فیزیکی برای شبکه می باشدبه عنوان مثال مستنداتی که ولتاژ و کشمکشی که در کابل ها درهنگام انتقال و رد بدل کردن اطلاعات رخ می دهند را مشخص می کنند.شما این گونه می توانند در نظر بگیرد که تحت شبکه مانند یک برنامه معماری طراحی شده برای ساختن یک ساختمان باشد هرچند که شما می توانید ساختمان خود را بدون به کاری گیری متخصصان در زمینه کارهای عمرانی خود بسازید.

به هر حال یک برنامه عمرانی می تواند تعیین کننده اوموری مانند میزان استحکام ساختمان،فضای خالی پنهانی برای جا دادن سیم های برق،گاز و لوله کشی و از همه مهم تر پی ریزی درست ساختمان را مشخص می کند و نیز این برنامه کاری افراد زیادی را مانند متخصصینی دز قالب بندی خانه متخصصینی در زمینه برق کاری،اجرچینی ،نقاشان وغیره را به خدمت می گیرد در صورتی که هر یک از متخصصین ذکر شده طبق روال کاری این برنامه عمل کنند واز برنامه کاری بیرونی کنند هیچ کدام در زمینه کاری خود با مشکل مواجه نخواهد شد ونیز در کنار هم کار کردن این افراد هیچ مشکلی را برای دیگر کارکنان این طرح ایجاد نمی کنند.

به طور مشابه نیز می توانید خود سازنده شبکه خود باشید،خود برنامه ی نرم افزار خود را بنویسید،خود سازنده کارت شبکه خود باشید وشبکه را ایجاد کنید. به هر حال کار ساده ای که می توانید انجام دهید این است که یک سری محصولاتی را که از مدل های تحت شبکه ی معرفی را که آماده انجام وظیفه هستند را خریداری کرده و از آنها استفاده کنید.به دلیل اینکه فروشنگان محصولات تحت شبکه ،محصولات خود را براساس یک مدل تحت شبکه می سازند در نتیجه محصولات آنها باید با یکدیگربه شکل ایده آل کارکنند.

مقدمه ای بر تاریخ TCP/IP

می توان گفت امروزه اکثرکامپیوتر های تحت شبکه از مدلTransport Transmission Control protocol internet protocol یا TCPIP استفاده می کنند.به هر حال جهان همیشه ساده نخواهد مانددر یک وهله از زمان هیچ کدام از پروتکل های تحت شبکه،مدل TCP/IP شامل آنها نبود و این گونه معمول بود که فروشندگان پروتکل های تحت شبکه،خود پروتکل های خود را ایجاد می کردند که این دلیل بانی این امر می شود که این پروتکل ها فقط کامپیوترهای که توسط این فرشنگان ایجاد می شده اند را حمایت کنند.

به عنوان مثال IBM مدل تحت شبکه را که System Network Architecture یا SNA می باشد را در سال 1974 منتشرکرد.علاوه بر فروشنگان دیگری نیز مدل های اختصاصی تحت شبکه خود را ارايه دادنددر نتیجه اگر شرکت شما از سه فروشنده متفاوت کامپیوتر خریداری کند مهندسان شبکه شرکت مجبور می شدند که براساس ساختار مد شبکه ی این سه نوع مدل یک شبکه جامع و واحدی را ایجاد کند.که ترکیب کردن این سه نوع کار بس کار دشوار وپیچیده ای خواهد بود

وب سایت توسینسو

در شکل 2-1 سمت چپ یک ایده کلی که قبل از اینکه مدل TCP/IP به آنها ملحق شود اگر چه فروشنگان مدل های تحت شبکه آنها خوب کار می کرد ولی هر کدام از آنها دارای یک سری پیچیدگی بودکه International Organization for Standardization یا ISOکاری را شروع کرد به هدف کاهش دادن این پیچیدگی های بین شبکه هاکه این کار در سال 1970 شرع به کار کرد که به مدل شبکه OSI معروف شد هدف اصلی ISO از ایجاد OSI برای استاندارد کردن پروتکل های اطلاعاتی تحت شبکه که به وسیله آنها تمام کامپیوتر های موجود روی این سیاره بتوانند باهم دیگر تعامل و همکاری کنند وبا یکدیگر رابطه برقرارکنند.

نگاهی بر مدل تحت شبکه TCP/IP

مدل TCPIP منبعی از پروتکل های می باشد که به کامپیوتر ها اجازه ایجاد ارتباط باهم دیگر را فراهم می کنند استاندارد های TCPIP توسط Internet Engineering Task Force (IETF) در مستنداتی بنام Request For Comments (RFC) تعریف شده اند و در اختیار عموم قرار دارند. شما می توانید آنها را از بسیاری از سایت های وب و FTP دریافت کنید لینک های اشاره شده به این استانداردها در سایت www.ietf.org که سایت IETF می باشد.

نکته

وقتی سندی به عنوان یک RFC توسط IETF منتشر شود و شماره بخورد دیگر هرگز تغییر نمی کند.در صورتیکه IETF نسخه اصلاحی از یک RFC را بخواهد منتشر کند باید به آن شماره جدیدی اختصاص دهد.فایل شاخص (RFC-INDEX) RFC که حاوی لیست کاملی از مستندات منتشر شده است،همچنین دارای ارجاعاتی می باشد که مشخص می کند یک RFC سند های دیگری را کامل می کند و یا اینکه توسط سندهای دیگری کامل می شود.

برای انکه مردم درک روشنی از مدل تحت شبکه به دست آورند هرکدام از این مدل ها فعالیت های خود را در طبقه های کوچکی شکسته که به این طبقات لایه گفته می شود. هر کدام از این لایه ها شامل یک سری پروتکل و استانداردهای می باشند که مختص آن لایه ها می باشند.مدل TCP/IP به دو مدل تقسیم شده است که در شکل 2-2 نشان داده شده.

وب سایت توسینسو

مدل موجود در سمت چپ مدل اصلی TCP/IP می باشد که درچهار لایه شکسته شده است در این مدل اساس کاری لایه ها ی بالای براساس ارسال ودریافت اطلاعات طراحی شده اند در حالی که لایه های پایین تر بیشتر تمرکز خود را برروی نحوه ارسال بیت ها از یک دستگاه به دستگاه دیگر است.

مدل مرجع موجود در سمت راست مدل به روز شده مدل سمت چپ است مدلی که لایه دست یابی شبکه آن گسترش یافته و به دو لایه، Physical Layer وData Link Layer به خاطر داشته باشید که مدل سمت راست بیشتر امروزه از آن استفاده می شود.پروتکل های متعددی که در مدل TCP/IP به کار رفته شده را در جدول زیر اشاره شده.

وب سایت توسینسو

Application Layer TCP/IP

پروتکل های این لایه سرویسی را برای اجرای نرم افزارهای کاربردی موجود روی کامپیوتر ها را فراهم می کند دقت داشته باشید که این لایه به خودی خود نوع نرم افزار کاربردی (Application) را تعیین نمی کند ولی نوع سرویس که برای اجرای این نوع نرم افزارنیاز است را تعیین می کند.به عنوان مثال پروتکل HTTP لایه Application مشخص می کند که چگونه یک مرورگر می تواند از یک Web server محتویات Web page را حمل کند به طور مختصر لایه کاربردی یک رابطی را بین نرم افزار اجرا شده روی کامپیوتر وشبکه ایجاد می کند.لایه Application مدل TCP/IP شامل پروتکل های برای e-mail،ورود به سیستم از راه دور،انتقال فایل،مدیریت شبکه و مدیریت اسم ودر نهایت Web browser می باشد.که در زیر به شرح تک تک آنها خواهیم پرداخت:

  • FTP) File Transfer Protocol (: پروتکل انتقال فایل اطلاعات را در قالب های مطمئن ارسال می کند.ایت پروتکل می تواند اطلاعات را ارسال،حذف ویا فایل ها را از سرور به کلاینت وبرعکس را جابه جا کند.
  • Trivial File Transfer Protocol (TFTP): این پروتکل نسخه کوچک شده FTP می باشد که می توان برای انتقال فایل در یک شبکه به کار گرفته شود.اما به جای TCP از UDP استفاده می کند و دارای امکانات احراز هویت و رابط کاربر FTP نمی باشد.TFTP در اصل برای ایستگاه های کاری بدون دیسکی طراحی شده بود که مجبور بودند برای راه اندازی خود یک فایل سیستمی اجرای را از یک سرور موجود در شبکه دریافت کنند
  • Network File System (NFS): یک توزیع کننده فایل سیستم می باشد که توسط Sunsoft گسترش میابد که به اطلاعات این اجازه را می دهد که از طریق شبکه صرف نظر از نوع کامپیوترها،معماری شبکه،سیستم عامل اطلاعات این اطلاعت به اشتراک گذاشته شود.استاندارد فایل سیستم Unix اجازه ایجاد فایل های از راه دور را می دهد.
  • SMTP) Simple Mail Transfer Protocol( :یک پروتکل پست الکتریکی می باشد این پروتکل به پست اجازه می دهد که در شبکه TCP/IP انتقال یابد و در اینترنت قرار بگیرد.از این پروتکل سرورهای e-mail برای انتقال پیغام ها به یک دیگر استفاده می کنند.
  • Telnet : این پروتکل یک برنامه مشابه با ترمینال است که بر مبنای دستورات خط فرمان می باشد و کاربر را قادر می سازد به یک کامپیوتر دور دست وارد شود و دستورات موردنظر را روی آن کامپیوتر اجرا کند.تلنت اولین اولین برنامه سودمندی می باشد که می توان از راه دور برای عیب یابی کردن روترها استفاده می شود.
  • Remote Login Application (rlogin): شما به وسیله rlogin یا نرم افزار کار بردی از راه دور می توانید به hostهای که این نرم افزار را حمایت کنند login نماید.که همانند تلنت می توانید از راه دور به کامپیوتر میزبان login کرده و سیستم را هداییت واداره کند.
  • Simple Network Management Protocol(SNTP) : یک پروتکل مدیریتی می باشد که مدیران شبکه می توانند این پروتکل را روی تمام میزبان های TCPIP،روتر ها و در کل روی تمام ابزارهای تحت شبکه که مدلTCPIP را حمایت می کنند نصب،وشبکه را مدیریت کرد.برنامه های راه دور که Agent یا واسطه نامیده می شود از این پروتکل برای جمع آوری اطلاعات و فرستادن آنها به یک کنسول مدیریتی مرکزی شبکه استفاده می شودبه عنوان مثال SNTP کلاینت ها می تواند گزارشاتی شامل فضای Hard Driver،آمار های شبکه و عملکرد های متنوع داده ها را تهیه کنددر مقابل نیز SNTP سرویسی را برای مدیران شبکه مهیا کرده است که از طریق آن بتوانند فعالیت های کلاینت های شبکه را مانیتور و کنترول کند.
  • DNS) ) Domain Name System: سیستم ها مدل TCP/IP از این پروتکل برای تحلیل نام میزبان ها به آدرس های IP مورد نیاز برای تبادل اطلاعات استفاده می کنند به عنوان مثال زمانی شما www.cisco.com در صفحه مرورگر خود تایپ می کنید زمانی که به اینترنت وصل می شوید این نام باید به صورت IP تبدیل شود که DNS این تبدیل نام به IP را انجام می دهد.
  • Hypertext Transfer Protocol (HTTP) :پروتکلی است که سرورها و سرویس گیرندهای وب برای تبادل پیغام در خواست فایل استفاده می کنندیک مرورگر سرویس گیرنده یک ارتباط TCP بین خود ویک سرور باز می کند و یک فایل بخصوصی را در خواست می کند،سرور هم با فرستادن فایل جواب می دهد و مرورگر آن فایل را نمایش می دهد که در این مقاله به طور مفصل به بحث در مورد این پروتکل پرداخته است.
  • Secure Hypertext Transfer Protocol(HTTPS) : یک پروتکل مطمئن است که با HTTP برای انجام سرویس های احراز و رمز نگاری دادها کار می کند.
  • Dynamic Host Configuration Protocol (DHCP) :از این پروتکل ایستگاه های کاری برای در خواست پارامترهای تنظیماتی پیکربندی TCP/IP از یک سرور استفاده می کنند.
  • Network Time Protocol (NTP) :پروتکلی است که کامپیوتر های روی یک شبکه را قادر می سازد با تبادل سیگنال های زمانی،ساعت خود را با کامپیوتر های دیگر همزمان کنند.
  • Post Office Protocol (POP3) :یکی از پروتکل های است که سرویس گیرندهای ایمیل از آن برای ذریافت ایمیل ها از یک سرور استفاده می کنند.
  • Internet Mail Access Protocol 4(IMAP 4) :از این پروتکل سرویس گیرندهای ایمیل برای دستیابی به ایمیل های موجود روی یک سرور سرویس گیرند های ایمیل برای دستیابی به ایمیل های موجود روی یک سرور استفاده می کنند.مزیت IMAP4 بر POP3 اینست که می تواند نام های الکترونیکی را در پوشه های فردی که توسط کاربران ایجاد شده اند ذخیره کند،اما در POP3 نامه ها باید بویسله سرویس گیرنده در یافت و روی آن ذخیره شوند.

یکی از معروف ترین نرم افزارهای کاربردی TCP/IP،Web Browser می باشد تعدادی زیادی از فروشندگان نرم افزارها وجود دارند که برای اینکه نرم افزارهای آنها بتوانند عملیاتی که Web Browser انجام می دهد را حمایت وبه Web server دسترسی داشته باشند این نرم افزارها دایم توسط فروشندگان در حال تغییر هستند.خوشبختانه استفاده از Web Browser کار آسانی می باشد کافی است شما وب بروزر را روی سیستم خود راه اندازی کنید و وب سایت مرد نظر خور را با تایپ کردن اسم آن وب سایت مورد نظر شما ظاهر خواهد شد.

دیدی برعملکرد پروتکل HTTP

دراین بخش موضوع را بایک سوال شروع می کنم که واقعا چه پروسه عملیاتی طی می شود تاpage Web برروی Web Browser شما ظاهر می شود؟ تصور کنید کهALI وب بروزر خود را اجرا کرده در حالی که وب بروزر آن به صورت پیش فرض و اتوماتیک بروی وب سایت ITPRO.IR طبقه بندی یا Config شده است.عملیات منطقی که در این بین اتفاق می افتد تا این پروسه طی شود به صورت زیر است :

وب سایت توسینسو

ابتدا ALI از وب سرور ITPRO.IR در خواست می کند که Home page این وب سرور را ارسال کند.در وب سرور tosinso.com یک نرم افزاری وجود دارد که این نرم افزار به گونه ای config شده که فایلی به نام home.htm وجود دارد که به صورت پیش فرض محتویات آن شامل web page می شود.ALI این فایل را لز وب سرور ITPRO.IR در یافت کرده و ALI محتویات فایل را در پنجره Web Browser مشاهده می کند.

مکانیزم پروتکل HTTP

برای آشنای بهتر با این پروتکل همان طور که در مثال قبل نشان داده شد که چگونه Application های موجود در دو پایانه به خصوص نرم افزار کاربردی web browser ونرم افزار کاربردی web server از پروتکل لایه application مدل TCP/IP استفاده می کردند.برای ایجاد وارسال در خواست برای Web page ودر مقابل نیز برای ارسال پاسخ به در خواست ارسال کننده از نرم افزار کاربردی HTTP که مخفف Hyper Text Transport Protocol می باشد استفاده می شود.در یک زمانی چیزی به عنوان HTTP وجود خارجی نداشته تا اینکه شخصی به نام Berners Lee اولین Web browser و Web server را در سال 1990 ایجاد کرد.

این شخص HTTP را به گونه ی طراحی کرده است که وظیفه اصلی آن در خواست Web page می باشد و علاوه بر آن یک توانای دیگری به Web browser اختصاص داده که فایلی را از سرور در خواست کند.در مقابل نیز HTTP یک گذرگاهی را برای سرور ایجاد کرده که از طریق آن بتواند به تک تک در خواست های ارسال شده به آن اعم از Web page یافایل پاسخ دهد.تمام انطباقات منطقی که در شکل 2-3 و 2-4 مشاهده می کنید ارایه دهنده یک ایده هم سان می باشد که در شکل 2-4 همراه یک سری جزییات بیشتر در مورد HTTP می باشد.

نکته

اصطلاحاتی که برای تمام ورژنهای Web آدرس به کار برده می شود Universal Resource Locator یا URL می باشد که با HTTP آغاز می شود که نشان دهنده ی این می باشد که HTTP برای انتقال Web page استفاده می شود .

وب سایت توسینسو

مراحل دریافت Web page از وب سرور itprp.ir

مرحله 1:نخست ALI یک پیغام را همراه با یک هدر HTTP ار سال می کند در اصل پروتکل ها برای قرار دادت اطلاعات به کار گرفته شده به وسیله پروتکل از هدر استفاده می کنند .در این مرحله ابتدا در خواست ‘GET’ برای دریافت فایل در هدر HTTP قرار داده می شود که به طور معمول در درخواست ارسال شده،نام فایل مورد نظر تایپ می شود که در این مثال Home.htm می باشد.یک نکته که باید در اینجا در نظر گرفته شود این هستش که در صورت خالی بودن این هدر یا به عبارت دیگر نام فایل در این هدر ذکر نشود Web server به صورت پیش فرض این گونه در نظر می گیرد که ALI در خواست Web page کرده است.

مرحله 2:در این مرحله در شکل شاهد جواب از وب سرور tosinso.com می باشیم که این پیغام علاوه بر هدر آغازین HTTP همراه با یک کد(200)می باشد که در هدر پاسخ قرار داده شده است.گاهی اوقات این کد به معنای ساده OK می باشد.HTTP کد های دیگری را نیز استفاده می کند.سرور توانای این را دارد که به Web browser بگویید آیا در خواست ارسال شده وجود دارد ویا به عبارتی کار می کند یاخیر به عنوان مثال اگر شما در جستجوی یک web page باشید که آن web page در خواست شده از سرور یافت نشود شما یک پیغام همانند404 HTTP در یافت خواهید کرد که کد 404 به معنای یافت نشدن Web page در خواست شده می باشد .

مرحله 3:در این مرحله که آخرین مرحله می باشد شاهد یک پیغام دیگری از وب سرور itrpo.ir می باشیم که این بار،از هدر HTTP استفاده نشده است.HTTP برای انتقال اطلاعات چندین پیغام را ارسال می کند که هر کدام قسمتی از فایل را شامل می شود.

لایه Transport

اگر چه پروتکل های زیادی در لایه Application وجود دارند در لایه transport از تعداد کمی پروتکل استفاده می کند.در این لایه دو پروتکل وجود دارند که به وفور از آنها استفاد می شود پروتکل Transmission Control Protocol(TCP) وUser Datagram Protocol(UDP) می باشد.لایه انتقال یک سری سرویس های را برای پروتکل های لایه Application که یک لایه بالاتر از آن است را فراهم می کند.

چگونه می شود لایه انتقال سرویس های را برای لایه بالاتر خود فراهم می کند؟اصل مطلب این مقاله بروی سزویس TCP متمرکز شده که error-recovery می باشد که امیداست در مقاله بعدی به شرح کامل و جامع دولایه Transport و Application ونیزموضوع مهم امنیت خواهم پرداخت.

اساس کار error recovery

برای در بهتر مفهوم عمل کرد پروتکل های لایه انتقال که چه عملی را انجام می دهند شما باید لایه ی که بالاتر از آن است توجه کنید چرا؟چون هرلایه یک سری سرویس های را برای لایه های بالاتر خود مهیا می کند.همانند سرویس error recovery که یک سرویسی است که برای پروتکل های لایه application طراحی شده است که TCP نام دارد.به عنوان مثال در شکل زیر ALI برای انتقال Home page از وب سرور tosinso.com به وب بروزر ALI از HTTP استفاده می کند.

چه اتفاقی رخ خواهد داد اگر HTTP ‘GET’ ،ALI در حین انتقال درخواست از میان شبکه TCPIP گم شود؟واز دست برود؟و عکس این موضوع نیز صادق است که چه اتفاقی رخ خواهد داد که اگر جواب ارسال شده از طرف ITPRO.IR در میان شبکه گم شود؟ در این صورت در هر دو حالت ذکر شده دیگر web page در وب بروزر ALI ظاهر نخواهد شد.مدل TCPIP یک مکانیزمی را لازم دارد که این مکانیزم متعهد در یافت کامل اطلاعات از طریق شبکه شود.

پروتکل های لایه Application نیازمند یک راهی هستند که آنها را از رسیدن کامل اطلاعات خاطر جمع کند که به خاطر این امر سازندگان TCP ویژگی به نام error recovery را مطرح کردن.TCP برای بهبود دادن errorهای ناشی از،از دست رفتن فایل ها در حین انتقال و آگاهی یافتن TCP از این انتقال از یک سری شمارشگرهای به نامsequence استفاده می شود که درزیر نشان داده شده است :

وب سایت توسینسو

که tosinso.com برای ارسال web page خود به وب بروزر ALI از سه پیغام جداگانه لستفاده می کند.همان طور که در شکل 2-5 مشاهده کردید از هدر HTTP یکسانی که در شکل نشان داده شده است که تنها تفاوتی که در این شکل هست از هدر اضافی به نام TCP استفاده شده است.هدر TCP یک شمارنده یا Sequence را همراه با فرستادن هر پیغام استفاده می کند که در این مثال شبکه درچار مشکل شده و یکی از بسته ها در مقصد تحویل داده نشده است.

زمانی که ALI شماره Seq 1,3 رادر می کند در این هنگام در می یابد که شماره Seq 2 در حین انتقال با مشکل مواجه شده و آن بسته را دریافت نکرده است.براساس منطق کاری TCP،ALI این امکان را در اختیار دارد برای بدست آوردن بسته از دست رفته یک در خواست مجددی را برای سرور tosinso.com ارسال می کند.

عکس العمل های متقابل لایه های یکسان(درمقصد و مبدا) و لایه های مجاور

مثال 2-4 نشان دهنده ی عملی به نام Adjacent-layer می باشد این عمل بدین مفهوم است که چگونه لایه های مجاور در مدل تحت شبکه با کامپیوتر های یکسان باهم دیگر کار می کنند.پروتکل های لایه بالاتر (HTTP) خواهان انجام یک سری کارهای می باشند که در حیطه کاری این پروتکل نمی باشد(مانند عمل error recovery)در این صورت لایه بالاتر یک در خواستی مبتنی بر مهیا کردن سرویس error recovery رابرای پروتکل لایه پایینی (TCP) خود ارسال می کند.

لایه پاینی نیز سرویس در خواستی را مهیا کرده و در اختیار لایه های بالای خود قرار می دهد.شکل 2- 4 نیز نشان دهنده ی مثالی از عملکردهای مشابه ی که به عملیات متقابل لایه های یکسان معروف می باشد.زمانی که یک لایه خاص از یک کامپیوتر بخواهد بایک لایه مشابه خود در کامپیوتر دیگری ارتباط برقرار کند اصولا از هدر های استفاده می کنند که بتوانند به وسیله این هدر اطلاعات خود را در آن قرار بدهند و باهم دیگر ارتباطی متقابل را ایجاد کنند به عنوان مثال وب سرور tosinso.com از هدر TCP استفاده کرده و Seq 1,2,3 را در هدر پیغام های خود قرار داده ارسال می کند.

ALI نیز با تحلیل کردن هدر TCP که در لایه خاص این تحلیل صورت می گیرد متوجه می شود که برخی اطلاعات در مقصد تحویل داده نشده اند .پروسه TCP که سرور tosinso.com باید انجام بدهد ایجاد یک هدر TCP همراه با SEQ 2 می باشد و در مقابل نیز وظیفه پروتکل ALI نیز ذریافت وتحلیل کردن سگمنت های TCP می باشد.به این پردازش عملیاتی که لایه یک کامپیوترفاطلاعات درون یک هدر قرار می دهد وتغییر این اطلاعات همراه با هدر در لایه مشابه در کامپیوتر مقصد را Same layer interaction می گویند.

جدول 2-3 خلاصه شده ای از نکته های کلیدی در مورد چگونگی کار کردن باهم دیگر لایه های مجاور در یک کامپیوتر ونیز تعامل یک لایه از یک کامپیوتر با لایه مشابه خود در لایه مقصد را به طور مختصر اشاره کرده است.

Table 2-3 summary: Same-Layer and Adjacent-Layer Interaction

وب سایت توسینسو

پورت ها

هر دو پروتکل UDP و TCP برای ایجاد ارتباط بین دو Host از پورت های به خصوصی استفاده می کنند.پورت ها در لایه انتقال همانند شماره های تلفن هستند که به وسیله این پورت ها می توان تماس حاصل کرد.به عنوان مثال اگر شما بخواهید دستور سفارش غذا را بدهید شما می توانید به شماره تلفن های که در دفتر تلفن خود ثبت کرده اید نگاه کنید وبا مکان سفارش گیری پیتزا از طریق وارد کردن شماره صحیح محل پیتزا فروشی تماس حاصل کنید و سفارش پیتزا دهید.

همانند این اتفاق نیز بین دو کامپیوتر که در خواست سرویس در لایه انتقال داده اند اتفاق می افتد.زمانی که یک کامپیوتر بخواهد یک فایلی را از طریق FTP انتقال دهد از پورت 21 TCP برای بر قراری و کنترو ل ارتباط واز پورت 20 TCP به انتقال اطلاعات استفاده می کند.پورت های 20،21 معروف ترین شماره پورت ها می باشند زیرا Application ها انتظار دارند که FTP در پورت 21 TCP پیدا کنند و اطلاعات آنها از طریق پورت 20 TCP انتقال دهند.برخی از پورت های مهم TCPوUDP که توسط RFC 1700 تعیین شده اند در زیر به آنها اشاره شده است :

وب سایت توسینسو

لایه Internet TCP/IP

همان طور که قبلا اشاره شده لایه Application از پروتکل های زیادی تشکیل شده است در حالی که لایه انتقال از تعدادی کمی پروتکل تشکیل شده است که برجسته ترین آنها User Datagram Protocol(UDP) و Transmission Control Protocol(TCP) می باشد.لایه اینترنت نیز همانند لایه انتقال از پروتکل های کمی تشکیل شده است که معروف ترین آنها Internet Protocol(IP) می باشد در حقیقت نام TCPIP از دو پروتکل معروف و متداول TCPIP تشکیل شده است.پروتکل IP ویژگی های زیادی را مهیا کرده است که از مهم ترین آنها می توان به آدرس دهی ومسیریابی اشاره کرد.این بخش از مقاله به مقایسه ی بین دو سیستم مشابهAddress IP و مسیر یابی استفاده می کند Postal service می باشد.

پروتکل اینترنت IP) (و تشابه آن با Postal service

این گونه تصور کنید که دو نامه نوشته شده داشته باشیم که یکی از نامه ها برای دوستی که دریکی از شهرهای کشور نوشته شده و نامه دیگری برای دوستی که در بخش دیگری از یک شهر نوشته شده است که بر روی هرکدام از نامه ها آدرس مربوطه را نوشته stamp زده و آماده تحویل دادن به Postal service می باشد.آیا دیگر شما که نویسنده نامه هستید فرق می کند که چگونه با این دونامه رفتار می شود؟

قطعا جواب اکثریت منفی می باشد تنه کاری که شما انجام می دهید آدرس نویسی نامه وقرار دادن نامه در جعبه موجود در کنار خانه خود و منتظر می مانید تا Postal Service نامه را در مقصد تحویل دهد.Postal service در حین دریافت نامه بامشاهده کردن IP آدرس که برروی نامه نوشته شده است در می بابد که باید برای ارسال این دو نامه فکر اساسی و متفاوتی بکند.برای چگونه به مقصد رساندن نامه و تحویل دادن آنها برای نامه ها تصمیماتی اتخاذ خواهد کرد.

افرادی که در یک اداره پست محلی قرار دارند ممکن است برای نامه درون شهر نیاز باشد فقط نامه را در Truck دیگری قرار دهند.در حالی که برای نامه دومی که نیاز هست به بیرون از شهر کنونی ارسال شود اداره پست نامه را به اداره پست دیگر ارسال می کند و این نامه در بین ادارات پست مختلف دست به دست می شود تا به مقصد نهای خود برسد در حین انتقال نامه از یک اداره به اداره پست دیگر این Postal service است که انتخاب می کند که نامه در مرحله بعد به کجا باید ارسال شود.برای انجام تمام این مراحل این Postal service است که نامه را به طور مرتب مسیرهای را برای تراک های کوچک،تراک های بزرگ،از طریق راه های دریایی و غیره انتخاب می کند تا نامه بین مکان های Postal service در جریان می باشد.

یک سرویس باید علاوه بر توانای ارسال وتحویل نامه ها توانای انتخاب تصمیمات درست وتوانای انتخاب کوتاه ترین وسریعترین مسیر ممکن برای تحویل نامه ها را داشته باشد.کسی نامه را ارسال می کند در اکثر اوقات فقط چشم انتظار تحویل نامه در مقصد توسط Postal service را خواهد داشت و نیازی نخواهد داشت که اطلاعات دقیقی از اینکه نامه از چه گذرگاه های گذر خواهد کرد تا به مقصد نهای خود خواهد رسید.در نقطه مقابل نیز Postal service نامه را ایجاد نمی کند و برای آن مهم نیست که محتویات درون نامه چیست وتنها به بخش آدرس این نامه نیاز دارد که با دریافت نامه ها از مشتریان بتواند از میان گروه های کد پستی مختلف براساس کد پستی منطبق با آدرس مقصد نامه،نامه را تحویل دهد.لایه Application و لایه Transport همانند شخصی که نامه را از طریق Postal service ارسال می کند عمل می کند.

وب سایت توسینسو

لایه های بالای مدل TCPIP صرف نظر اینکه کامپیوتر مقصد یا Endpoint در LAN یکسانی قرار دارد یا در شبکه دیگر کارهای یکسانی انجام می دهند.لایه های بالای برای ارسال پیغام از لایه زیرین خود لایه اینترنت در خواست می کنند که پیغام را در مقصد تحویل دهند.لایه های پایینی مدل TCPIP مانند لایه های Network وInternet وظیفه آنها شبیه Postal service تحویل نامه ها در مقصد صحیح می باشد که برای انجام این کار لایه های پایینی باید اساس کار شبکه های فیزیکی را خوب بفهمد تا بتوانند بهترین مسیر را برای تحویل بسته از یک Host به Host دیگر انتخاب کنند همان طور که گفته شد لایه اینترنت تحت شبکه ی TCP/IP همانند Postal service ابتدا IP را مشخص می کند.همان طور که هر خانه،آپارتمان وغیره دارای کد پستی مختلف و در منحصر به فردی هستند و Postal service از این طریق نامه های خود را در مقصد تحویل می دهد در دنیای شبکه نیزهر Host می تواند IP آدرس منحصر به فردی داشته باشد.

ابزارهای که در شبکه کار اداره پست را که ارسال نامه و تحویل نامه را در مقصد نهای را انجام می دهند Router ها می باشند.همانند Postal service ها که یک سری سازمان های ضروری را ایجاد می کند تا بتوانند نامه ها را در مقصد تحویل بدهند لایه اینترنت نیز اطلاعاتی را که چگونه سازمانهای شبکه باید ایجاد بشوند که شبکه توانای تحویل اطلاعات به تمام کامپیوترهای شبکه را داشته باشند را مشخص می کند.

Address Resolution Protocol (ARP)

ARP در RFC 826 تعریف شده است و محل آن در لایه های TCPIP نامشخص شده است.این پروتکل سرویسی را برای IP انجام میدهد که به نظر می رسد باید در لایه پیوند(یا لایه ی پیوند داده مدل OSI) قرار گیرد.معهذا پیغام های آن مستقیما توسط پروتکل های لایه پیوند-داده منتقل می شود نه در داخل دیتاگرام های IP به همین دلیل می توان آنرا یک پروتکل لایه ی اینترنت یا شبکه در مدل OSI نامید.این پروتکل بدون توجه به لایه ای که به آن نسبت داده می شود،سرویس بسیار مهمی در LAN های TCPIP تامین می کند.

همان طور که قبلا اشاره شد پروتکل های TCP/IP برای شناسایی شبکه ها و میزبان از آدرس های IP استفاده می کنند،اما وقتی که کامپیوترها به شبکه ی محلی اترنت یا Token Ring متصل باشند،نهایتا باید دیتا گرام های IP را با استفاده از آدرس سخت افزاری لایه پیوند- داده سیستم مقصد منتقل کنند.وظیفه ARP برقراری یک ارتباط بین سیستم آدرس دهی IP و آدرس های سخت افزاری می باشد که پروتکل های لایه پیوند داده استفاده می کنند.

زمانی که IP یک دیتا گرام می سازد،آدرس IP مقصد نهای بسته را می داند این آدرس ممکن است کامپیوتری باشد روی همان شبکه محلی یا سیستم باشد روی شبکه دیگر.در هر صورت IP باید آدرس سخت افزاری سیستمی را که روی شبکه محلی خود قرار دارد و در گام بعدی دیتاگرام را در یافت خواهد کرد،تعیین کند.به این منظور IP یک پیغام ARP تولید می کند و آنرا به صورت همگانی روی شبکه محلی پخش می کند.قالب پیغام ARP در شکل زیر نشان داده شده است.

وب سایت توسینسو

اساس کار پروتکل آدرس دهی IP

IP،آدرس های مهمی را برای دلایل مختلفی معین می کند هر ابزار TCPIP و هدر TCPIP Host یک آدرس منحصر به فردی را لازم دارند که خود را در شبکه معرفی کنند.همانند سیستم پست که کد گرو های آدرس متفاوتی که توسط کد پستی تعیین می شود IP نیز چگونگی گروه بندی کامپیوتر ها را مشخص می کند.

وب سایت توسینسو

شکل بالایک سری الکوی IP را مشخص می کند هر IP Address دارای 4 عدد است که به وسیله نقطه از هم جدا شده است.در این مورد ITpro.ir از 1.1.1.1 و ALI از 2.2.2.2 استفاده می کند که به این نوع عدد Dotted Decimal Notation یا DDN گفته می شود.به علاوه این شکل یک ایکونی را مشخص می کند که IP روتر می نامند روتر یک دستگاه تحت شبکه می باشد که چند شبکه مختلف TCP/IP را برای به جلو فرستادن IP Packetوتحویل بسته در مقصد نهای،به هم دیگر متصل می کند.کاری که روتر در شبکه انجام می دهد همان طور که قبلا گفته شد همانند ادارات پست می باشد روتر IP Packet را توسط interface های فیزیکی متفاوتی که در روتر وجود دارد یک سری تصمیماتی را اتخاذ می کند روتر بسته را از طریق یک interface به صورت فیزیکی بسته را به شبکه دیگر ارسال می کند

اساس کار مسیر یابی IP

لایه اینترنت TCPIP از پروتکلی به نام IP اسفاده می کند این پروتکل یک سرویسی را برای ارسال روبه جلو IP Packet از یک دستگاه به دستگاه دیگر را فراهم می کند هر دستگاه که IP Address منحصر به فردی داشته باشد می تواند به شبکه TCPIP متصل شود و بسته های را ارسال کند که در این مقاله ارسال کار IP Routing را شرح خواهم داد تا با مفهوم آن آشنایی پیدا کنید.

نکته

اصطلاح IP Host نیز به هر دستگاهی که صرف نظر از اندازه وقدرت آنها،دارای IP آدرس منحصر به فرد و نیز توانای به هر شبکه TCP/IP را داشته باشد ارجاع داده می شود.در شکل 2-8 نیز وب سرور tosinso.com خواهان ارسال web page به ALI را دارد که در این شکل همراه با اطلاعاتی در مورد IP می باشد.در سمت چپ پایین شکل سرور tosinso.com یک application data را که علاوه بر هدر HTTP هدر TCP که آماده ارسال می باشد یک هدر IP اضافه شده که محتویات هدر IP،آدرس مقصد و آدرس مبدا می باشد.

وب سایت توسینسو

مرحله 1 :در شکل وب سرور Itpro.ir آماده ارسال IP Packet می باشد در این لحظه پردازشگر IP نزدیکترین Routerهای موجود را در LAN یکسان را انتخاب و بسته را ارسال می کند و این گونه انتظار می رودکه روتر انتخاب شده خواهد دانست که چگونه بسته را ارسال خواهد کرد که این منطق خیلی به منطق روزانه من وشما که تمام نامه های خود را به نزدیکترین اداره پست موجود در کنار محل زندگی خود ارسال نزدیک است.در این حالت سرور Itpro.ir نیازی نخواهد داشت که بداند چه توپولوژی و چند روتر دیگری در مسیر به کار گرفته شده.

مرحله 2 :روتر R1 بسته را دریافت کرده و براساس پردازشی که برروی IP صورت گرفته تصمیماتی اتخاذ خواهد کرد.روتر R1 به آدرس مقصد نگاه کرده و IP Routeهای موجود در خودش را مقایسه می کند و تصمیم می گیرد که بسته را به R2 ارسال کند که به این پردازش ارسال بسته IP Routing گفته می شود.

مرحله 3 :تمام مراحل منطقی که توسط R1 انجام شده R2 نیز انجام می دهد که یک سری پردازش برروی IP توسط R2 که IP آدرس مقصد را با IP Rout موجود در خواست مقایسه کرده ویک مسیری را برای ارسال روبه جلو بسته انتخاب می کند و بسته را به ALI ارسال می کند.

لایه Network TCP/IP

این لایه پروتکل و سخت افزارهای را مشخص می کند تا از طریق برخی شبکه های فیزیکی اطلاعات را در مقصد تحویل دهند.اصطلاح Network access ارجاع داده می شود به این حقیقت که این لایه مشخص می کند که چه اعمالی وپردازش های و یا از چه رسانه های فیزیکی باید استفاده کنیم تا بتوانیم اطلاعات را ارسال کنیم.همانند تمام لایه های موجود در هر مدل تحت شبکه،لایهaccess Network مدل TCP/IP یک سری سرویس های را برای لایه های بالای این مدل مهیا می کند.

همانند تمام لایه های موجود در هر مدل تحت شبکه لایه Network access مدل TCP/IP نیز یک سری سرویس های را برای لایه بالای این مدل مهیا می کند.زمانی که یک Host ویا پردازش IP روتر تصمیم بگیرد که IP Packet را به یک Host ویا روتر دیگر ارسال کند Host ویا روتر ارسال کننده از اطلاعات موجود در لایه Network access استفاد می کنند همان طور که عرض شد چون هر لایه سرویسی را برای لایه های بالای خود آماده می کند یک مقدار زمانی را صرف خواهد کرد که این زمان مربوط به منطق کاری IP که در شکل 2-8 بستگی دارد که در آن مثال منطق IP سرور ITPRO.IR تصمیم می گیرد که بسته را به نزدیکترین روتر موجود ارسال کند که در آن مثال به اساس کارEthernet به کار گرفته در این پردازش اشاره نشده است.شبکه Ethernet که شامل پروتکل لایه access می باشد برای تحویل دادن IP Packet ارسال شده از سرور Itpro.ir به R1 از این پروتکل استفاده می کند.شکل 2-9 اتفاقی که در خریان ارسال بسته از Itpro.ir به روتر را در 4 مرحله نشان می دهد.

وب سایت توسینسو

همان طور که در شکل مشاهده می کنید دو مرحله مربوط بهItpro.ir می باشد و دو مرحله دیگر مربوط به R1 می باشد که این مراحل به شرح زیر می باشند :

  • مرحله 1: Itpro.ir بسته را بین هدر اترنت و هدر تریلر کپسوله می کند
  • مرحله 2: Itpro.ir به صورت فیزیکی اقدام به ارسال بیت های فریم Ethernet که به صورت جریان های الکتریکی هستند از طریق کابل های Ethernet انتقال می دهد.
  • مرحله 3: R1 به صورت فیزیکی سیگنال های الکتریکی را از طریق کابل های دریافت می کند پس از دریافت وتفسیر بیت های دریافت شده و درک مفهوم پنهان شده پشت بیت های دریافت شده دوباره R1 اقدام به ایجاد بیت های مشابه بیت های دریافتی می کند.
  • مرحله 4: R1 فریم IP Packet را با جدا و حذف کردن هدر اترنت وتریلر آن فریم را از حالت کپسوله خارج می کند.

در انتهای این پردازش این لایه Network access سرور Itpro.ir و R1 می باشد که باهم دیگر همکاری می کنند تا بسته از سرور Itpro.ir به R1 تحویل داده شود.در این لایه پروتکل و استانداردهای زیادی گنجانده شده است به عنوان مثال در این لایه پروتکل های Ethernet متفاوتی وجود دارد که علاوه بر این پروتکل ها،استاندارد های دیگری از LAN که در ده های گذشته خیلی معروف بودند گنجانده شده است.

در لایه Network access استانداردهای برای WAN وجود دارد که برای رسانه های فیزیکی متفاوت که مفهوم و مشخصات متفاوتی را نسبت به استانداردهای LAN می باشد و این تفاوت به دلیل فاصله در بر گرفته شده برای انتقال داده ها می باشد. در این لایه استانداردهای معروفی که مربوط به شبکه Wan می باشد نیز وجود دارد که در این استاندارد پروسه اضافه کردن هدرهای لایه ها و در یک مرد اضافه شدن تریلر همان طور که در شکل 2-7 نشان داده شده است را شامل می شود که پروتکل های مانند Point to Point Protocol (PPP) و Frame Relay را نیز شامل می شود.

به طور مختصر لایه Network access مدل TCPIP شامل دو فعالیت برجسته می باشد:فعالیت مربوط به انتقال فیزیکی داده ها به علاوه پروتکل ها و قوانینی که برای کنترول رسانه های فیزیکی استفاده می شود که در مدل پنج لایه ی TCPIP برای قرار دادن این این دو منطق لایه Network access به دو زیر لایه تقسیم شده است.

مقایسه کردن دو مدل TCP/IP

فعالیت مشخص شده در لایه Network access را می توان در دو مطبقه شکست،یک فعالیت های که به طور مستقیم به انتقال فیزیکی اطلاعات مربوط می شود ودیگری به انتقال غیر مستقیم فیزیکی اطلاعات مربوط می شود به عنوان مثال در شکل 2-9 مرحله 2و3 این دو مرحله مربوط به ارسال مستقیم اطلاعات می باشد اما در مرحله 1و4 به کپسوله کردن و خارج کردن از حالت کپسوله که به ارسال غیر مستقیم اطلاعات اشاره می کند که اگر شما یک سری اطلاعاتی را در مورد استانداردها و پروتکل ها داشته باشید این تقسیم بندی برای شما خیلی واضح وشفاف خواهد بود.هر دو مدل اشاره شده در بالا تا کنون وجود دارند.با مقایسه این دو مدل باهم دیگر متوجه خواهید شد که لایه های بالای این دو مدل یکسان هستند وتنها اختلاف این دو مدل فقط در لایه های پایینی که با توجه به شکل تنها اختلاف در لایه Network access می باشد که در TCP/IP به روز شده به دو زیر لایه تقسیم شده است.

وب سایت توسینسو

اصطلاح Encapsulation کردن اطلاعات

همان طور که به روش کار HTTP,TCP,IP و Ethernet در این مقاله اشاره شد هر لایه،هدر مخصوص به خود را در یک مورد نیز یکی از لایه ها بخشی به نام Trailer را به بسته اطلاعاتی عرضه شده توسط لایه های بالاو اضافه می کنند.اصطلاح کپسوله کردن نیز به پرسه انتقال داده از لایه های بالا و اضافه شدن هدرهای مخصوص هرلایه و تریلر به بسته اطلاعات گفته می شود.خیلی از مثال های این مقاله به پروسه کپسوله کردن اطلاعت اشاره می کرد.به عنوان مثال وب سرور Itpro.ir که Home page خود را در کنار هدر HTTP کپسوله می کرد که در شکل 2-4 نشان داده شد از دیگر مثال های گفته شده مانند هدر TCP در شکل 2-5،هدر IP در شکل2-7 به کپسوله کردن اطلاعات اشاره می کنند.

پردازشی که بر انتقال اطلاعات توسط میزبان های TCPIP انجام می شود را می توان در پنج پله تقسیم کرد که 4 مرحله اول این پردازش به عمل کپسوله کردن اطلاعات توسط 4 لایه میزبان TCPIP می باشد که آخرین مرحله،انتقال فیزیکی اطلاعات تولید شده توسط میزبان مربوط می شود در حقیقت شما اگر از پنج لایه مدل TCP/IP استفاده می کنید یکی از پله ها قوانین به کار رفته شده در هر لایه را نشان می دهد که این مراحل به طور مختصر در زیر به آنها اشاره خواهد شد:

  • مرحله 1:ایجاد وکپسوله کردن Application Data با هدرهای ارائه شده در لایه Application:به عنان مثال هدر HTTP که محتوای آن شامل Web page می باشد.
  • مرحله 2:کپسوله کردن اطلاعات ایجاد شده توسط لایه Application در کنار هدر لایه:برای برنامه های کاربردی کاربران نهای که از هدرهای UDP ویا TCP استفاده می شود.
  • مرحله 3:کپسوله کردن اطلاعات ایجاد شده توسط لایه انتقال در کنار هدر لایه اینترنت.IP یک کامپیوتر که همراه با یک IP خاص را مشخص می کند.
  • مرحله 4:کپسوله کردن اطلاعات ایجاد شده توسط لایه اینترنت در کنار هدر تریلر:لایه پیوند داده که این تنها لایه ای می باشد که هم هدر استفاده می کند که علاوه بر هدر، تریلر را نیز به بسته اطلاعات اضافه می کند.
  • مرحله 5:انتقال بیت ها:لایه فیزیکی سیگنالهای دریافت شده را کدگذاری و فریم از طریق رسانه انتقال می دهد.

نکته:

شماره های که در شکل2-11 نشان داده شده مصداق این 5 پله می باشد یک نکته که باید توجه داشت این است که لایه Application نیازی ندارد که هدر خود را اضافه کند شکل نیز هدر مخصوص لایه Application را نشان نداده است.

وب سایت توسینسو

اسم های مربوط Messageهای مدل TCP/IP

سرانجام شما باید اصطلاحاتی مانند Segment ,Packet و Frame آشنا و به مفهوم هر کدام از آنها را در حافظه خود به خاطر بسپارید که کدام از این اصطلاحات نشان دهنده ی هدرهای مخصوص هر لایه می باشد که Segment برای لایه انتقال،Packet برای لایه اینترنت و درنهایت Frame برای لایه Network می باشد که در شکل زیر هر لایه همراه با اصطلاح آن نشان داده شده.

وب سایت توسینسو

مقایسه مدل های مرجع OSI و TCP/IP

مدل مرجع OSI و TCP/IP عمومیت بیشتری دارند.هردو براساس مفهوم پشته ای از قرار دادهای مستقل پایه گذاری شده اند. همچنین،عملکرد لایه هابسیار مشابه هم هستند.گذشته از شباهت ها هردو مدل تفاوت های را نیز به همراه دارند.در این بخش تفاوت های اصلی دو مدل را بررسی می کنیم.

در مدل OSI سه مفهوم اساسی وجود دارد :

  • قراردادها
  • خدمات
  • رابطه

احتمالا بزرگترین خدمت مدل OSI تمایز قایل شدن بین این سه مفهوم است.هر لایه تعدادی خدمات را برای لایه های بالاتر خود فراهم می کند.تعریف خدمات به ما می گوید که لایه چه کارانجام می دهد و چگونه به آن دسترسی دارند.هم چنین،پارامترها را مشخص می کند و نتایج را تعیین می کند،اما درباره ی چگونگی کارکرد داخلی شبکه چیزی نمی گوید.

سرانجام قراردادهای همانند که در یک لایه به کار می رومد بستگی به خود لایه دارد تا زمانی که این وظیفه را انجام می دهد می تواند از هر قراردادی که می خواهد استفاده کند(مانند فراهم کردن خدمات پشتیبانی).همچنین،می تواند آن ها را بدون تاثیر گذاری نرم افزاری روی لایه های بالاتر تغییر دهد.این ایده ها خیلی زود با ایده های برنامه نویسی شیءگرا مطابقت می کند.یک شیء شبیه به یک لایه است که دارای یک سری روش های است که فرایندهای خارج از شیء می توانند آن ها را فراخوانی کنند.

معنای این روش ها یک سری خدماتی را مشخص می کند که شیء پیشنهاد می کند.پارامترها و نتایج روش ها رابط شیء را تشکیل می دهند گه داخل شیء قرارداد آن است و در خارج شیء قابل مشاهده نیست.مدل TCPIP در ابتدا تفاوت آشکاری بین خدمات،رابطه ها،و قراردادها قائل نبود،اگر چه بعدا سعی شد به منظور شباهت بیشتر با OSI این کار انجام شود.برای مثال،تنه خدمت واقعی عرضه شده در لایه اینترنت،گرفتن و فرستادن بسته های IP است.در نتیجه قراردادها در مدل OSI بهتر از مدل TCPIP مخفی شده اند وبا تغییر فناوری به راحتی جایگزین می شوند.

در ابتدا یکی از اهداف داشتن قراردادهای لایه توانایی اعمال این تغییرات است.مدل مرجع OSI قبل از کشف قراردادها پیشنهاد شده بود.این ترتیب به این معنا است که این مدل ابتدا به منظور عمومیت بخشیدن به مجموعه ای از قراردادهای ویژه نبوده است.جنبه دیگر از این ترتیب این است که طراحان تجربه زیادی در رابطه با این موضوع نداشتند و نمی دانستند که چه عملکردی را در چه لایه ای انجام دهند.برای مثال،لایه پیوند دادها در ابتدا فقط در شبکه های نقطه به نقطه وجود داشت.

با توجه به توسعه ی شبکه های پخشی(Broadcasting) ،زیر لایه های جدیدی لازم شد.وقتی افراد با استفاده از مدل OSI و قراردادهای موجود شروع به ساختن شبکه ها کردند،متوجه شدند که این شبکه ها با مشخصه ی خدمات مورد نیاز مطابقت ندارند،بنابراین زیر لایه های با یک مقصد مشترک(همگرا)باید برای شرح همه ی اختلافات در جای باهم جمع شوند.در نهایت کمیته انتظار داشت که هر کشوری که شبکه می خواهد،باید با استفاده از قراردادهای OSI و توسط دولت اجرا شود.بنابراین،تصوری در مورد شبکه وجود نداشت.در مدل TCPIP عکس مطلب صادق بود،در ابتدا قراردادهای به وجود آمدند و مدل ها در واقع فقط توصیفی از قراردادهای موجود بودند.در قراردادهای متناسب با مدل مشکلی وجود نداشت،کاملا متناسب بودند.تنها مشکل در وجود عدم تناسب مدل با پشته ای از قراردادهای دیگر بود.در نتیجه برای توصیف شبکه های غیر TCPIP مفید نبود.

یک اختلاف واضح و روشن در مدل،تفاوت در تعداد لایه های آن ها است.OSI هفت لایه و TCP/IP چهار لایه دارد.هردو لایه شبکه (اینترنت)،انتقال،و کاربرد را دارند اما در سایر لایه ها متفاوت اند.تفاوت دیگر در مورد ارتباط بی اتصال در مقابل اتصال گرا است.مدل OSIهردو ارتباط اتصال گرا و بی اتصال را در لایه ی شبکه و فقط اتصال گرا را در لایه انتقال پشتیبانی می کند.مدل TCP/IP در لایه فقط از ارتباط بی اتصال و از هردو ارتباط در لایه ی انتقال پشتیبانی می کند.این انتخاب به ویژه در قراردادهای در خواست و پاسخ ساده مهم است.

معایب مدل های مرجع OSI و TCP/IP

1.نقدی بر مدل OSI و قردادها :

نه مدل OSI و قراردادهایش و نه مدل TCP/IP و قراردادهایش هیچ کدام کامل نیستند.موارد زیر در این باره مطرح شده اند :

  • سیاست های نادرست
  • پیاده سازی نادرست
  • زمان بندی نادرست
  • فناوری نادرست

زمان بندی نادرست.چنانچه در آن استاندارد به وجود آید،در موفقیت آن نقش مهمی دارد.دیوید کلارک از دانشگاه ام آی تی در مورد استانداردها نطریه ای دارد به نام مکاشفه ی دو فیل که در شکل زیر این نظریه نشان داده شده است.این شکل میزان فعالیت در مورد موضوعی جدید را نشان می دهد.وقتی موضوع برای اولین بار کشف شد،فعالیت های تحقیقاتی زیادی به شکل بحث ها،مقاله ها،و کنفرانس ها مطرح شدند.بعد از مدتی این فعالیت ها فروکش کردند و شرکت ها موضوع را کشف و سرمایه گذاری کلانی را آغاز کردند.

وب سایت توسینسو

لازم است استانداردها در زمان بین دو فیل نوشته شوند.اگر خیلی زود نوشته شوند(قبل از اتمام تحقیقات) ممکن است موضوع درک نشود و اشتاندارد بدی به وجود آید.اگر خیلی زود نوشته شود ممکن است موسسات زیادی به شکل های مختلفی سرمایه گذاری کنند واستانداردها نادیده گرفته شوند.اگر فاصله زمانی بین دو فیل خیلی کم باشد(چون هر کسی می خواخد زودتر شروع کند)،ممکن است تهیه کنندگان استاندارد تحت فشار قرار گیرند.

اکنون مشخص است که قراردادهای OSI به همین وضعیت دچار شده اند.قراردادهای TCPIP در زمان ظهور قاردادهای OSI به طور گسترده در دانشگاه های تحقیقاتی استفاده شدند. با اینکه سود های کلانی حاصل نشده بود،وسعت تقاصای علمی به حدی زیاد بود که فروشندگان بسیاری شروع به عرضه محصولات TCPIP نمودند.با ظهور OSI علاقه نداشتند از پشته ی قراردادهای جدید پشتیبانی کنند،مگر اینکه تحت فشار باشند.لذا پیشنهاد اولیه ای وخود نداشتند هر شرکتی صبر می کرد تا شرکت دیگر زودتر اقدام کن.هیچ شرکتی پیش قدم نشد و OSI هرگز به وقوع نپیوست.

فناوری نادرست.دومین دلیل عدم رشد OSI این است که هم مدل و هم قرارداد ناقص است.نتیجه ی حاصل از بخش های مربوط به مدل هفت لایه OSI این بود که تعدادمحتویات لایه های انتخاب شده بیشتر آراسته است تا تکنیکی،و دو لایه ی جلسه و نمایش تقریبا خالی اند و دو لایه پیوند دادها و شبکه کاربرد زیادی دارند.مدل OSI به همراه تعاریف خدمات مربوط و قرارداد بسیار پیچیده است.اگر نسخه چاپ شده آنها را روی هم قرار دهید،ارتفاع آن نزدیک یک متر خواهد شد.پیاده سازی آن ها نیز مشکل است و عملکرد آن ها کارآمد نیست.در این زمینه،معمای پال موکاپتریس در سال 1993 به ذهن تداعی می شود:

سوال:چنانچه گانکستر با استاندارد بین المللی ترکیب شود،چه چیزی حاصل می شود؟

پاسخ:کسی پیشنهادی را با شما مطح می کند که نمی توانید آن را درک کنید.

علاوه بر مبهم بودن مدل OSI،مشکل دیگر آن است که بعضی اعمال مانند آدرس دهی،کنترول جریان و کنترول خطا در هر دو لایه صورت می گیرد.سالتز و همکاران(1984) یاداور شده اند که برای بهبود کارآیی،کنترول خطا در بالاترین لایه بایستی انجام شود زیرا تکرار آن درلایه های پایین تر ضرورتی ندارد و کارای نخواهد داشت.

پیاده سازی نادرست.با توجه به پیچیدگی مدل و قراردادها نباید تعجب کرد که پیاده سازی های اولیه بسیار عظیم،کارای نداشته باشدو کند باشند.ذهنیت مردم راجع به مدل OSI "کیفیت پایین" آن است. اما با بالا رفتن کیفیت تولیدات با گذشت زمان، این تصور به تدریج کم رنگ تر شد.برعکس،یکی از اولین پیاده سازی های TCP/IP بخشی از یونیکس برکلی بود.مردم کار کردن با آن را سریعا شروع کردند و کاربران زیادی را به خود اختصاص داد.این کار منجربه اصلاحاتی گردید که افزایش تعداد کاربران در برداشت.

سیاست های نادرست.با توجه به پیاده سازی اولیه،بسیاری از افراد،به خصوص در مجامع علمی،TCP/IP را بخشی از یونیکس می دانستند.از طرف دیگر،OSI توسط وزارتخانه های مخابرات اروپا،مجمع اروپایی و سپس دولت آمریکا ایجاد شد.این مطلب تا حدی درست بود.بعضی افراد این توسعه را شبیه به اعلان IBM در دهه 1960 که زبان PL1 را زبان آینده معرفی کرد،شبیه به کار سازمان دفاع آمریکا می دانند که اعلام زبان آینده زبان ADA خواهد بود.

نقدی بر مدل مرجع TCP/IP

مدل TCP/IP و قراردادهایش نیز مشکلات زیادی دارد که شامل:

اول اینکه در این مدل مفاهیم خدمات،رابطه،و قراردادبه طور واضح قابل تفکیک نیست.عمل مهندسی نرم افزار خوب مستلزم تمایز قائل شدن بین مشخصه و پیاده سازی است،چیزی که OSI خیلی خوب انجام داده،ولی TCPIP خیر.به همین دلیل مدل TCPIP راهنمای خوبی در طراحی شبکه های جدید به کمک فناوری جدید نیست.

دوم،مدل TCPIP مدلی عمومی نیست و برای تشریح هر پشته ای از قراردادها به جز TCPIP مفید نیست.برای مثال بلوتوث به کمک TCP/IP غیر ممکن است.

سوم لایه میزبان شبکه که در مورد قراردادهای لایه ای وجود نداشت،یک لایه محسوب نمی شود.این لایه یک رابط(بین لایه شبکه و پیوند داده)است.تفاوت بین رابط و لایه اهمیت ویژه ای دارد و نباد به سادگی از آن گذشت.

  • چهارم *در مدل TCPIP تمایزی بین لایه فیزیکی و پیومد داده ها نیست.این دو لایه کاملا متفاوت اند.لایه فیزیکی با انتقال مخصوص سروکار دارد که با فیبر نوری،سیم مسی،و بی سیم ارتباط برقرار می کنند.وظیفه لایه پیوند داده جدا کردن ابتدا و انتهای قالب ها و فرستادن آن ها از یک طرف به طرف دیگر با درجه قابلیت بالاست.مدل خوب باید دارای متمای کننده ای لایه ها باشد،اما TCPIP نمی تواند این کار را انجام دهد.

سر انجام،اگرچه قراردادهای IP وTCP به دقت بررسی وبه خوبی پیاده سازی شدند،بسیاری از قراردادهای دیگر حالت خاصی داشته اند که گروهی از دانشجویان فارق التحصیل پدید آورند.در نتیجه،پیاده سازی قرارداد به طور رایگان توزیع شد و به طور گسترده مورد استفاده قرار گرفت.لذا پیدا کردن جایگزینی برای آن مشکل بود و هنوز موجب دردسر و گرفتاری است.برای مثال قرارداد پایانه ی مجازی Telnet برای پایانه مکانیکی Teletype که ده کاراکتر در ثانیه را چاپ می کند طراحی شد.ابزاری که هیچ چیز از گرافیک نمی داند و با موشواره و رابط ها کار نمی کند،با این حال هنوز بعد از 25 سال به طور گسترده استفاده می شود.

خلاصه اینکه مدل OSI (منهای لایه جلسه و نمایش)علی رغم همه ی مشکلاتش،ثابت کرد برای بحث در شبکه های رایانه ای به شکل ویژه ای مفید است.در مقابل قراردادهای OSI عمومیت پیدا نکرده اند عکس آن در مورد TCP/IP صادق است.مدل عملا وجود ندارد،ولی قراردادها به طور گسترده استفاده می شود.


علی سالم پناه
علی سالم پناه

دارای مدرک mcitp دارای دانش های فنی دیگری از جمله : . CCNAR&S ,CCNPSwitch ,CCNPRoute .+Security .Certified Ethical Hacker (CEH) Advanced Penetration Testing Wireless Hacking virtualization MTCRE

نظرات