تبليغاتX
شبکه های کامپیوتری - اصول و مبانی TCP/IP
مقدمه :

به دلیل رشد روز افزون اینتر نت در سال های اخیر ، از بسته پروتکلی TCP/IP بیش از بسته پروتکل های دیگردر شبکه ها استفاده میشود . در این درس ابتدا وظایف متداولترین پروتکل های بسته ی TCP/IP را شرح میدهیم و سپس سیستم آدرس دهی خودکفای TCP/IP که یکی از مهمترین و منحصر به فرد ترین ویژگی های این بسته پروتکل میباشد را با جزیئات کامل بررسی خواهیم کرد .

بخش اول : پروتکل های TCP/IP

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


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

  • لایه های پشته های پروتکل TCP/IP را نام ببرید و محل پروتکل های TCP/IP را در مدل OSI پیدا کنید .
  • وظیفه پروتکل تحلیل گر آدرس (ARP) را توضیح دهید. Address Resolution Protocol
  • وظایف مختلف پروتکل ICMP را شرح دهید . Internet Control Message Protocol
  • مشخصه های پروتکل مختلف لایه ی انتقال TCP/IP  را شرح دهید .


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

استاندارد های TCP/IP توسط Internet Engineering Task Force یا همان IETF در مستنداتی به نام RFC یا Request for Comments تعریف شده اند و در اختیار عموم قرار دارند . شما میتوانید آنها را از بسیاری از سایت های وب و FTP دریافت کنید . لینک های اشاره کننده به این استانداردها در سایت www.ietf.org که سایت IETF میباشد وجود دارد .


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


لایه های TCP/IP

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

  • عدم وابستگی به سخت افزار .  وجود چندین پروتکل مجزا پشتیبانی از سخت افزارهای مختلف را ساده تر میکند .بعنوان مثال ایجاد یا اصلاح پروتکل ها برای پشتیبانی از استاندارد های جدید لایه ی فیزیکی یا رابط های برنامه های کاربردی (API) یا به عبارت دیگر Application programming interface جدید تحت شبکه نیازی به تغییر کل پشته ی پروتکل ندارد .
  • کیفیت سرویس . وجود چندین پروتکل در یک لایه ، برنامه های کاربردی را قادر میسازد پروتکلی را انتخاب کنند که سرویس مورد نظر را فقط در حد لازم انجام دهد .
  • توسعه ی همزمان . چون پشته متشکل از چندین لایه میباشد ، میتوان توسعه پروتکل های مختلف را بطور همزمان انجام داد به این صورت که از پرسنل هایی استفاده کرد که منحصرا در زمینه یک لایه ی مشخص تخصص دارند .


نکته : حتما در مورد مدل مرجع OSI اطلاعاتی را داشته باشید .


مدل پشته پروتکل TCP/IP متشکل از چهار لایه میباشد و در RFC 1122 معرفی شده است .همان طور که در شکل زیر دیده میشود لایه ها با لایه های مدل OSI شباهت زیادی دارند .

مدل هفت لایه ای OSI در مقایسه با لایه های چهارگانه ی پروتکل TCP/IP

چهار لایه TCP/IP از پایین به بالا عبارتند از :

  • لایه ی پیوند یا لایه ی دسترسی به شبکه . بسته ی پروتکل TCP/IP در لایه ی دسترسی به شبکه دارای پروتکل های ابتدایی از قبیل پروتکل نقطه - به - نقطه (PPP) و پروتکل اینترنتی خط سریال (SLIP) میباشد . به هر حال پروتکل دارای لایه های فیزیکی مختلف یا پروتکل های پیچیده ی LAN  از قبیل اترنت و یا  Token Ring نمیباشد. بنابراین اگر چه TCP/IP لایه ای قابل مقایسه با لایه ی پیوند داده مدل OSI دارد اما در اغلب موارد پروتکلی که در آن لایه کار میکند جز بسته ی TCP/IP نمیباشد . علاوه بر این TCP/IP دارای پروتکلی میباشد که ARP نام دارد و میتوان گفت چون این پروتکل سرویس هایی را برای لایه ی اینترنت که در بالای لایه ی پیوند قرار دارد انجام میدهد ، در همین لایه ی پیوند کار میکند .
  • اینترنت. لایه ی اینترنت دقیقا معادل با شبکه مدل OSI میباشد .IP پروتکل اصلی این لایه میباشد و کپسوله کردن داده ها ، مسیریابی ، آدرس دهی ، و قطعه بندی را برای پروتکل های لایه ی انتقال انجام میدهد . علاوه بر IP دو پروتکل دیگر بنام های ICMP و IGMP  و تعدادی پروتکل متخصص در مسیریابی پویا هم در این لایه کار میکنند.
  • انتقال . لایه ی انتقال TCP/IP معادل با لایه ی انتقال مدل OSI میباشد . بسته ی TCP/IP در این لایه دارای دو پروتکل بنام های پروتکل کنترل انتقال TCP  و پروتکل دیتا گرام کاربر UDP میباشد که به ترتیب سرویس های اتصال گرا و بدون اتصال انتقال اطلاعات را ارائه میکنند.
  • کاربرد . پروتکل های TCP/IP موجود در لایه ی کاربرد دارای اشکال گوناگونی هستند . بعضی از آنها مثل FTP میتوانند مستقلا یک برنامه باشند ، در صورتیکه بعضی دیگر از قبیل HTTP به برنامه های کاربردی سرویس میدهند .

در این قسمت میخواهیم شرح مهمترین پروتکل های بسته ی TCP/IP را در لایه های مختلف بدهیم .

PPP و SLIP

SLIP و PPP پروتکل های لایه ی پیوند یا همان دسترسی به شبکه هستند و از آنها در شبکه های گسترده که توسط خطوط تلفن انواع دیگر لایه های فیزیکی به همدیگر متصل شده اند استفاده میشود .SLIP در RFC 1055 تحت عنوان A Nonstandard for Transmission of IP Datagram over Serial Lines تعریف شده است . PPP از SLIP پیچیده تر است و از پروتکل های بیشتری برای برقراری ارتباط بین دو سیستم استفاده میکند .این پروتکل ها در RFC های مختلف از جمله RFC 1661 بنام "Point-to-point" و RFC 1662 بنام "PPP in HDLC-Like Framing" تعریف شده اند .برای اطلاعات بیشتر در مورد SLIP و PPP در ماه های آینده و در بخش های دیگه توضیح خواهم داد .(البته اگه زبان انگلیسی و تخصصی خوبی دارید حتما و حتما این RFC ها رو بخونید . )

ARP

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

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

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

 

وظایف فیلد های پیغام ARP از قرار زیر است :

  • Hardware Type نوع سخت افزار (2 بایت ) : این فیلد نوع آدرس های سخت افزاری موجود در فیلدهای آدرس سخت افزاری فرستنده و آدرس سخت افزاری مقصد ، را مشخص میکند . به عنوان مثال : اگه در داخل این فیلد مقدار 1 باشد این بدان معناست که این شبکه از اترنت یا Token Ring استفاده میکند .
  • Protocol Type نوع پروتکل (2 بایت) : این فیلد نوع آدرس های موجود در فیلدهای آدرس پروتکل فرستنده و آدرس پروتکل مقصد ، را مشخص میکند. مقدار هگزا دسیمال مربوط به آدرس های IP برابر با 0800 میباشد( که با کد مشخص کننده ی نوع اترنت برای IP یکسان است )
  • HLEN اندازه ی سخت افزار (1 بایت)این فیلد اندازه ی آدرس های موجود در فیلدهای آدرس سخت افزار فرستنده و آدرس سخت افزاری مقصد را بر حسب بایت مشخص میکند . این مقدار برای شبکه های اترنت و Token Ring برابر با 6 میباشد.
  • PLEN اندازه ی پروتکل(1 بایت) این فیلد اندازه ی  آدرس های موجود در فیلد های آدرس پروتکل فرستنده و آدرس پروتکل مقصد را بر حسب بایت مشخص میکند .این مقدار برای آدرس های IP برابر با 4 است .
  • Operation یا(Opcode) رمز عمل (2 بایت) این فیلد وظیفه ی بسته را مشخص میکند . مثلا مشخص میکند که این بسته یک درخواست ARP است یا یک جواب ARP میباشد . و یا این بسته یک درخواست RARP است یا اینکه یک جواب RARP میباشد.
  • Sender H/W Address یا Sender Hardware Address آدرس سخت افزاری فرستنده(6 بایت) : این فیلد حاوی آدری سخت افزاری سیستم تولید کننده ی پیغام است .
  • Sender IP Address آدرس IP فرستنده(4 بایت): این فیلد حاوی آدرس IP سیستم تولید کننده ی پیغام است .
  •  Target H/W Address یا Target Hardware Address آدرس سخت افزاری مقصد(6 بایت): این فیلد حاوی آدرس سخت افزاری سیستمی است که پیغام را باید دریافت کند. این فیلد در پیغام های درخواست ARP خالی است.
  • Target IP Address آدرس IP مقصد(4 بایت):این فیلد حاوی آدرس IP سیستمی است که باید پیغام را دریافت کند .


نکته : پروتکل تحلیل گر آدرس معکوس یا به عبارتی RARP دقیقا عکس عمل ARP رو انجام میده . اگه یادتون باشه گفتم که ARP آدرس IP رو داره و میخاد آدرس MAC رو پیدا کنه یعنی آدرسی که روی کارت شبکتون حک شده . البته به صورت منطقی . ولی پروتکل RARP آدرس های MAC  رو داره و میخاد IP رو پیدا کنه . و انو به سرورهای RARP بفرسته . حالا به چه دردی میخوره RARP ؟ یه زمانی بود که کلاینت ها جای ذخیره نداشتن و ذخیره سازی فقط در یک سیستم انجام میشد و به همین دلیل جای ذخیره پیکربندی خود را نداشتن یعنی نمیتونستن تنظیماتی که برای شبکه دارنو در خود ذخیره کنن به همین علت آدرسهای خود را که آدرس های MAC و یا به عبارتی آدرس کارت شبکه که حک شده رو به یک سرور RARP میفرستادن و سپس سرور RARP تنظیمات IP هر یک از اونارو براشون میفرستاد . وای مردم تا حالیتون کنم هی ی ی ی ی .

حالا اینم بگم بهتون این RARP  دقیقا پدر DHCP و BOOTP میباشد . آقا خوشحالیم از آشناییتون .

DHCP و BOOTP فقط بدونید که دو پروتکلی هستند که تنظیمات خودکار انجام میدن . بعدا در موردش مفصلا میحرفیم .

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

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


حالا میخام مرحله به مرحله بریم جلو تا بهتون بگم که چی جوری میشه ARP  با آدرس IP که در اختیار داره آدرس سخت افزاری طرفو پیدا میکنه . یک کلاینت تو یک شبکه محلی یا یک کلاینت در سگمنت های دورتر و یا کلاینتی که در شبکه ی اینترنت است به شکل ARP این کارو انجام میده :

  1. IP یکسری اطلاعات از لایه ی انتقال میگیره . و میاد آدرس IP سیستمی که میخاد بهش اطلاعات بده رو در داخل فیلدی میذاره . IP  چندین فیلد داره که یکی از اون فیلدها، فیلدی بنام فیلد آدرس مقصد (Destination IP Address) میباشد و IP آدرس مقصدو داخل این فیلد میزاره .
  2. حالا IP  میاد شناسه ی شبکه خودشو با شناسه ی شبکه ی کامپیوتری که میخاد اطلاعاتو براش بفرسته مقایسه میکنه . اگه شناسه شبکه ها یکی بود این بدان معناست که گره ی مورد نظر در همان سگمنت شکبه ی فرستنده میباشد . اگر شناسه ی شبکه ها متفاوت باشد معلوم است که دو گره در یک سگمنت نیستن  پس بنابراین گره ی فرستنده میتواند مستقیما بدون هیچ مسیریابی اطلاعات را به گره ی گیرنده بفرستد.
  3. الان IP میاد یک درخواست ARP ایجاد میکنه که در فیلدهای آدرس سخت افزاری فرستنده و آدرس پروتکل مقصد آن به ترتیب آدرس سخت افزاری و آدرس شبکه خودشو در این فیلد ها قرار میده . حالا فیلد آدرس پروتکل مقصد حاوی آدرس IP مقصد بعدی میباشد . چرا ؟ چون در مرحله ی 2 گفتم که اگه شناسه ی شبکه یکی بود مستقیم میفرسته اگه نبود باید بفرست به یک مسیریاب چون اون گره در سگمنت خوده فرستنده نیست . دقت کنید . یک فیلد دیگه میمونه بنام فیلد آدرس سخت افزاری مقصد که نداریمش پس این فیلدو خالی رها میکنه .
  4. در اینجا پیغام درخواست ARP به لایه پیوند داده ارسال میشه و لایه ی پیوند داده اونو در قالب یک فریم بسنه بندی میکنه و روی سگمنت خودش برای همه میفرسته .
  5. گره های روی سگمنت این پیغامو دریافت میکنن و فقط توجه به یک فیلد میکنن که اون فیلد ، فیلد آدرس پروتکل مقصد میباشد . اگه محتوای این فیلد با IP آدرس خودشون یکی بود یعنی این پیغام برای اون گره میباشد در غیر این صورت پیغامو دور می اندازن .
  6. (به این قسمت خوب دقت کنید . یادتون نره که باید توی ذهنتون تصویر سازی کنید .) اگر IP درون فیلد آدرس پروتکل مقصد با IP آدرس خودش یکسان بود اون گره میاد یک جواب ARP تولید میکنه و برای اون گره ای که این درخواست رو داشته میفرسته . دقت داشته باشید الان جای گیرنده با جای فرستنده عوض شده . حالا گیرنده شده فرستنده و فرستنده شده گیرنده . این گره میاد دو آدرسی که در فیلد درخواست ARP بود رو کپی میکنه . کدام فیلدها؟ فیلد آدرس سخت افزاری فرستنده و فیلد پروتکل فرستنده را در جواب ARP در فیلدهای آدرس سخت افزاری گیرنده و آدرس پروتکل گیرنده  کپی میکند. سپس فیلد آدرس پروتکل فرستنده را پر میکند یعنی آدرس IP خودشو میذاره داخل این فیلد و در فیلد آدرس سخت افزاری فرستنده هم آدرس سخت افزاری خودشو میزاره . 
  7. در اینجا این گره آدرس سخت افزاری گیرنده را داره و احتیاجی نیست که این جوابو به صورت همگانی پخش کنه و ترافیک شبکه به وجود بیاره بنابراین به صورت تک پخش به گره ی مقصد جوابو میده .
  8. و حالا قسمت آخر این مرحله. گره ای که این درخواست را تولید کرده جواب رو هم دریافت میکنه و در فیلد آدرس سخت افزاری فرستنده آدرس سخت افزاریو بر میداره تا بتونه داده های خودشو به صورت تک پخش به مقصد برسونه .

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

ان شاالله درجلسات آتی در مورد این موضوع بیشتر بحث و گفتگو میکنیم .

IP

IP کارش اینه که یک بسته را از مبدا به مقصدنهایی برسونه . جزییات در بخش بعدی .

ICMP

خب میرسیم به پروتکل Internet Control Message Protocol یا پروتکل کنترل پیغام های اینترنت که از نامش هم پیداست برای کنترل کردن محیط اینترنتی در نظر گرفته شده . مثلا شما مواقعی براتون پیش امده که یه آدرسی رو میدید و اون وب سایت یا وبلاگ یا ... پیدا نمیشه . ICMP باعث میشه که یه پیغام برای ما ظاهر بشه . یا یه مثال دیگه دید که یه موقع میخایم به یه پورت یه وب سایت وصل بشیم . اون سایت به ما اجازه نمیده . اینجا باز هم ICMP باعث میشه که برای من عبارت Port Unreachable ظاهر بشه . یعنی عدم دسترسی به پورت . حالا این یه مثال کوچیک بود . بیاین با هم بریم تو دنیای ICMP .

بچه ها باز تاکید میکنم که تصویر سازی در ذهنو هیچ وقت فراموش نکنید .

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

حالا بیاین ببینیم این کارارو ICMP چی جوری انجام میده .

به طور کلی ، عموما ICMP دو دسته کار انجام میده که عبارتند از:

  1. درخواست ها
  2. خطا ها

خب اگه شما بخاین این مطلبو یاد بگیرید باید ابتدا قالب و فیلد های این پروتکل رو ببینید تا تصویری در ذهن ایجاد کنیم و سپس به موارد دیگه بپردازیم شکل زیر قالب فیلدهای ICMP میباشد (دقت کنید)

 

 زیر این عکس یکسری خارجکی نوشته که کاری نداریم ایشالا با اطلاعاتی که نسبت به پروتکل پیدا کردید بعدا اونارو هم میفهمید .ایشالا .

وظیفه ی  فیلدهای ICMP از قرار زیر است:

  • Type نوع (1 بایت) : در داخل این فیلد یه عدد یا به عبارتی یک کد قرار میگیره . معنی این کد در پروتکل ICMP خیلی حیاتی . این کد کار و وظیفه ی اصلی پیغام رو مشخص میکنه . یه مثال : اگه داخل این فیلد عدد 3 باشد این بدان معناست که پیغام ، پیغام عدم در دسترس بودن است . حالا چه چیز در دسترس نیست کار فیلد Code میباشد . 3 به این معناست که باید پیغام از نوع پیغام عدم در دسترس باشد همین . اگه مثلا در داخل فیلد Type عدد 4 باشه معرف پیغام های کند کننده ی سرعت انتقال مبدا و ............. فقط بدونید که فیلد Type ، وظیفه ی اصلی پیغامو مشخص میکنه .
  • Code کد(1 بایت) : این فیلد هم داخلش عدد یا کد قرار میگیره . یه مثال : اگه فیلد Type ، عدد 3 داخلش باشه یعنی پیغام عدم در دسترس بودن . بعد میاد فیلد Code بررسی میشه که ببینه چی در دسترس نبوده . اگه داخل این فیلد عدد 0 باشه یعنی عدم در دسترس نبودن شبکه اگه عدد 9 باشه یعنی ارتباط با شبکه مقصد توسط مدیر شبکه منع شده است و.........
  • Checksum بررسی مجموع (2 بایت) :  این فیلد حاوی یک بررسی مجموع از کل فیلدهای ICMP میباشد . برای اینکه براتون جا بیفته کارش اینجوریه که میاد یکسری عملیات روی فیلدها انجام میده بعد نتیجه اون عملیات رو داخل این فیلد میزاره و وقتی گیرنده همون عملیاتو بر روی فیلد ICMP انجام داد و به همون نتیجه داخل فید Checksum رسید یعنی این فیلدها رو درست دریافت کرده چرا که اگه یه بیت از اون به مشکل میخورد جواب Checksumها متفاوت بود .
  • Other Message Specific Information : این فیلد میتواند حاوی اطلاعاتی در مورد کار ویژه پیغام باشه . البته کارشو بعدا متوجه میشید .

اگه یادتون باشه گفتم که به طور کلی پیغام های ICMP دو تا کار انجام میدن یکی درخواست ها و دیگری خطاها . ابتدا پیغام های خطا رو مورد بررسی قرار میدهیم .

انواع پیغام های خطای ICMP

 

 

 

 

+ نوشته شده در  یکشنبه پنجم آبان 1387ساعت 14:29  توسط رامشک  |