احسان امجدی
کارشناس امنیت اطلاعات و ارتباطات

TCP/IP چیست؟ معرفی معماری و پروتکل های معماری TCPIP

TCP/IP برای IP ورژن 4 (IPv4) مجموعه ای از پروتکل های تحت شبکه است که ویندوز بوسیله آن با دیگر کامپیوتر ها در اینترنت ارتباط برقرار میکند. این مجموعه پروتکل با سرویس های نام دهی در ویندوز مانند DNS و تکنولوژی های امنیتی مثل IPSec تعامل خوبی دارد و ارتباط بین دو سیستم را در اینترنت تسهیل میکند.

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

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

TCP/IP چیست و چه معماری دارد؟

پروتکل های TCP/IP در چهار لایه مفهومی جای گرفته اند که به آن مدل دارپا (DARPA) گویند؛ این نام پس از توسعه TCP/IP توسط دولت امریکا بر آن نهاده شده است. چهار لایه مدل ARPA عبارتند از: Application، Transport، Internet و Network Interface. گفتنی است که هر لایه در این مدل با یک یا بیش از یک لایه در مدل هفت لایه ای (Open System Interconnection(OSI تطابق دارد.در زیر معماری پروتکل TCP/IP را شاهد هستیم:

<center>
||http://tosinso.com/files/get/19ff72c7-bdef-4108-9e6f-390a51b8e57b||
<center>
TCP//IP برای IP ورژن 4 (IPv4) مجموعه ای از پروتکل های تحت شبکه است که ویندوز بوسیله آن با دیگر کامپیوتر ها در اینترنت ارتباط برقرار میکند. این مجموعه پروتکل با سرویس های نام دهی در ویندوز مانند DNS و تکنولوژی های امنیتی مثل IPSec تعامل خوبی دارد و ارتباط بین دو سیستم را در اینترنت تسهیل میکند. اگر بخواهیم بصورت ایده‌آل صحبت کنیم باید بگوییم که هر زمان کامپیوترها (با سیستم عامل ویندوز) در شبکه با یکدیگر ارتباط برقرار میکنند، از مجموعه پروتکل TCP//IP استفاده شده است. در این مقاله قصد داریم تا عناصر موجود در مجموعه پروتکل TCP//IP، معماری پروتکل، وظایف TCP//IP، ساختار آدرس دهی و چگونگی مسیر یابی بسته های داده را مورد بررسی قرار دهیم.

!! معماری پروتکل TCP//IP
--
پروتکل های TCP//IP در چهار لایه مفهومی جای گرفته اند که به آن مدل دارپا (DARPA) گویند؛ این نام پس از توسعه TCP//IP توسط دولت امریکا بر آن نهاده شده است. چهار لایه مدل ARPA عبارتند از: Application، Transport، Internet و Network Interface. گفتنی است که هر لایه در این مدل با یک یا بیش از یک لایه در مدل هفت لایه ای (Open System Interconnection(OSI تطابق دارد.در زیر معماری پروتکل TCP//IP را شاهد هستیم:
<center>
||http://tosinso.com/files/get/cd04330b-f015-4b40-a7da-495b5eb2c656||
<center>
*نکته:* این مدل صرفا بنا بر IPv4 تعریف شده است و در مورد IPv6 این مدل فرق دارد.

!! لایه Network Interface
--
این لایه که به لایه Network Access هم شناخته میشود، وظیفه قرار دادن بسته های TCP//IP را بر روی شبکه (رسانه انتقال) دارند و در مقابل بسته های TCP//IP را از شبکه (رسانه انتقال) تحویل میگیرند. TCP//IP طوری طراحی شده است تا بتواند با انواع روش دسترسی به شبکه، فریم و رسانه شبکه کار کند؛ بنابراین TCP//IP را میتوانیم در انواع مختلف شبکه بکاربریم. این فراگیری را میتوان از رسانه مورد استفاده در LAN مانند اترنت و توکن رینگ تا تکنولوژی های WAN مانند X.25 و Frame Relay در نظر گرفت. این قابلیت بالای TCP//IP در همخوانی با هر رسانه خاص شبکه باعث شده است تا با رسانه جدیدی مثل ATM نیز سازگاری داشته باشد.این لایه با لایه های Data Link و Physical در مدل OSI همخوانی دارد. این نکته را نیز باید خاطر نشان کرد که لایه Internet اگر از وجود سرویس های Sequencing و Acknowledgment بهره نبرد، ممکن است به همراه لایه Network Interface بیان شود.

!! لایه Internet
--
لایه اینترنت وظایف آدرس دهی، بسته بندی و مسیر یابی را بر عهده دارد. پر.تکل های اصلی در این لایه عبارتند از: IP، ARP، ICMP و IGMP.

* (Internet Protocol (IP یک پروتکل مسیر یابی است که آدرس دهی IP، مسیریابی و قطعه قطعه کردن (Fragmentation) و سر هم کردن (Reassembly) بسته ها را کنترل میکند.
* (Address Resolution Protocol (ARP تناظر و تبدیل آدرس لایه اینترنت را با آدرس لایه Network Interface مثل آدرس سخت افزاری کنترل میکند.
* (Internet Control Message Protocol (ICMP وظایف رفع خطا و گزارش خطا به هنگام عدم تحویل موفق یک بسته IP را دارد.
* (Internet Group Management Protocol (IGMP مدیریت اعضای گروه IP Multicast را بر عهده دارد.

لایه اینترنت مشابه لایه network در OSI است.

!! لایه Transport
--
این لایه که به لایه Host-to-Host Transport نیز معروف است، سرویس های ارتباطی دیتاگرام و session را برای لایه Application آماده میکند. پروتکل های اصلی در این لایه عبارتند از:  (Transmission Control protocol (TCP و (User Datagram Protocol (UDP.

* TCP یک سرویس یک به یک، Connection-Oriented، با ارتباطات قابل اعتماد را ایجاد میکند. TCP قبل از ارسال اطلاعات از وجود یک خط ارتباطی بین دو طرف را اطمینان حاصل میکند ( مفهوم Connection-Oriented)، ترتیب و تائیدیه های بسته های ارسالی را کنترل و بسته هایی که به هر دلیل در حین انتقال دچار مشکل میشوند را بازیابی میکند.
* UDP یک سرویس یک به یک یا یک به چند، Connectionless با ارتباطات غیرقابل اطمینان را ایجاد میکند. UDP زمانی مورد استفاده قرار میگیرد که مقدار کمی از اطلاعات را میخواهیم منتقل کنیم (مانند داده ای که در یک بسته سیگتال جا گرفته است) و یا آن که اطلاعات ارسالی ارزش چندانی ندارند و به مقصد نرسیدن آن ها اهمیت خاصی ندارد (مثل پخش آنلاین فیلم). همچنین زمانی از UDP استفاده میکنیم که اپلیکیشن ها و یا پروتکل های موجود در لایه بالا دستی، سرویس تحویل قابل اعتمادی دارند.

لایه Transport در TCP//IP مشابه لایه Transport در OSI است.

!! لایه Application
--
این لایه به اپلیکیشن ها این اجازه را میدهد تا به سرویس های موجود در لایه های دیگر دسترسی داشته باشند و بتوانند پروتکل هایی که برای تبادل دیتا استفاده میکنند، تعریف نمایند. پروتکل های زیادی در لایه Application وجود دارند و پروتکل های جدید نیر مرتبا در حال توسعه هستند.اکثر پروتکل های معروف موجود در این لایه آن هایی هستند که در تبادل اطلاعات کاربر نقش دارند:

* (Hyper Text Transfer Protocol (HTTP برای تبادل فایل های سازنده صفحات وب در اینترنت استفاده میشود.
* (File Transfer Protocol (FTP برای انتقال متقابل فایل استفاده میشود.
* (Simple Mail Transfer Protocol (SMTP برای انتقال پیام های ایمیل و فایل های ضمیمه به آن ها استفاده میشود.
* Telnet که یک پروتکل شبیه ساز ترمینال است، برای لاگین به یک سیستم در شبکه از طریق ریموت استفاده میشود.

علاوه بر پروتکل های یاد شده، پر که در تبدیل آدرس IP به نام هاست و بلعکس مورد استفاده قرار میگیرد.

* (Routing Information Protocol (RIP یک پروتکل مسیریابی است که روترها از آن برای تبادل اطلاعات مسیریابی  در یک شبکه داخلی استفاده میکنند.
* (Simple Network Management Protocol (SNMP بین یک کنسول مدیریتی شبکه و یک دیوایس مانند روترها، Bridge ها و هاب های هوشمند برای جمع آوری و تبادل اطلاعات مدیریتی شبکه مورد استفاده قرار میگیرد.

اگر بخواهیم از رابط های کاربری موجود در این لایه که برای اپلیکیشن ها بکار میروند هم نام ببریم میتوانیم Windows Sockets و NetBIOS را معرفی کنیم. Windows Sockets استانداردی را برای (Application Programming Interface (API ایجاد میکند؛ یک API رابط پیاده سازی توسط نرم افزار است که به دیگر برنامه ها اجازه می دهد با آن ارتباط داشته باشند.NetBIOS هم یک رابط کاربری استاندارد و صنعتی برای دسترسی به خدمات پروتکل مثل session ها، دیتاگرام ها و تطابق نام ها و آدرس ها است. در مورد این رابط های کاربری در بخش بعد مفصل توضیح خواهیم داد.لایه Application در مدل TCP//IP مشابه لایه های Session، Presentation و Application در مدل OSI است.

سربلند و مانا باشید. 
*پایان بخش اول *


نویسنده: احسان امجدی 
منبع: |جزیره شبکه و زیرساخت وب سایت توسینسو::https://network.tosinso.com|
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد.

نکته: این مدل صرفا بنا بر IPv4 تعریف شده است و در مورد IPv6 این مدل فرق دارد.

کاربرد لایه Network Interface در مدل TCP/IP چیست؟

این لایه که به لایه Network Access هم شناخته میشود، وظیفه قرار دادن بسته های TCP/IP را بر روی شبکه (رسانه انتقال) دارند و در مقابل بسته های TCP/IP را از شبکه (رسانه انتقال) تحویل میگیرند. TCP/IP طوری طراحی شده است تا بتواند با انواع روش دسترسی به شبکه، فریم و رسانه شبکه کار کند؛ بنابراین TCP/IP را میتوانیم در انواع مختلف شبکه بکاربریم.

این فراگیری را میتوان از رسانه مورد استفاده در LAN مانند اترنت و توکن رینگ تا تکنولوژی های WAN مانند X.25 و Frame Relay در نظر گرفت. این قابلیت بالای TCP/IP در همخوانی با هر رسانه خاص شبکه باعث شده است تا با رسانه جدیدی مثل ATM نیز سازگاری داشته باشد.این لایه با لایه های Data Link و Physical در مدل OSI همخوانی دارد. این نکته را نیز باید خاطر نشان کرد که لایه Internet اگر از وجود سرویس های Sequencing و Acknowledgment بهره نبرد، ممکن است به همراه لایه Network Interface بیان شود.

کاربرد لایه Internet در مدل TCP/IP چیست؟

لایه اینترنت وظایف آدرس دهی، بسته بندی و مسیر یابی را بر عهده دارد. پر.تکل های اصلی در این لایه عبارتند از: IP، ARP، ICMP و IGMP.

  • (Internet Protocol (IP یک پروتکل مسیر یابی است که آدرس دهی IP، مسیریابی و قطعه قطعه کردن (Fragmentation) و سر هم کردن (Reassembly) بسته ها را کنترل میکند.
  • (Address Resolution Protocol (ARP تناظر و تبدیل آدرس لایه اینترنت را با آدرس لایه Network Interface مثل آدرس سخت افزاری کنترل میکند.
  • (Internet Control Message Protocol (ICMP وظایف رفع خطا و گزارش خطا به هنگام عدم تحویل موفق یک بسته IP را دارد.
  • (Internet Group Management Protocol (IGMP مدیریت اعضای گروه IP Multicast را بر عهده دارد.

لایه اینترنت مشابه لایه network در OSI است.

کاربرد لایه Transport در مدل TCP/IP چیست؟

این لایه که به لایه Host-to-Host Transport نیز معروف است، سرویس های ارتباطی دیتاگرام و session را برای لایه Application آماده میکند. پروتکل های اصلی در این لایه عبارتند از: (Transmission Control protocol (TCP و (User Datagram Protocol (UDP.

  • TCP یک سرویس یک به یک، Connection-Oriented، با ارتباطات قابل اعتماد را ایجاد میکند. TCP قبل از ارسال اطلاعات از وجود یک خط ارتباطی بین دو طرف را اطمینان حاصل میکند ( مفهوم Connection-Oriented)، ترتیب و تائیدیه های بسته های ارسالی را کنترل و بسته هایی که به هر دلیل در حین انتقال دچار مشکل میشوند را بازیابی میکند.
  • UDP یک سرویس یک به یک یا یک به چند، Connectionless با ارتباطات غیرقابل اطمینان را ایجاد میکند. UDP زمانی مورد استفاده قرار میگیرد که مقدار کمی از اطلاعات را میخواهیم منتقل کنیم (مانند داده ای که در یک بسته سیگتال جا گرفته است) و یا آن که اطلاعات ارسالی ارزش چندانی ندارند و به مقصد نرسیدن آن ها اهمیت خاصی ندارد (مثل پخش آنلاین فیلم). همچنین زمانی از UDP استفاده میکنیم که اپلیکیشن ها و یا پروتکل های موجود در لایه بالا دستی، سرویس تحویل قابل اعتمادی دارند.

لایه Transport در TCP/IP مشابه لایه Transport در OSI است.

کاربرد لایه Application در مدل TCP/IP چیست؟

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

  • (Hyper Text Transfer Protocol (HTTP برای تبادل فایل های سازنده صفحات وب در اینترنت استفاده میشود.
  • (File Transfer Protocol (FTP برای انتقال متقابل فایل استفاده میشود.
  • (Simple Mail Transfer Protocol (SMTP برای انتقال پیام های ایمیل و فایل های ضمیمه به آن ها استفاده میشود.
  • Telnet که یک پروتکل شبیه ساز ترمینال است، برای لاگین به یک سیستم در شبکه از طریق ریموت استفاده میشود.

علاوه بر پروتکل های یاد شده، پر که در تبدیل آدرس IP به نام هاست و بلعکس مورد استفاده قرار میگیرد.

  • (Routing Information Protocol (RIP یک پروتکل مسیریابی است که روترها از آن برای تبادل اطلاعات مسیریابی در یک شبکه داخلی استفاده میکنند.
  • (Simple Network Management Protocol (SNMP بین یک کنسول مدیریتی شبکه و یک دیوایس مانند روترها، Bridge ها و هاب های هوشمند برای جمع آوری و تبادل اطلاعات مدیریتی شبکه مورد استفاده قرار میگیرد.

اگر بخواهیم از رابط های کاربری موجود در این لایه که برای اپلیکیشن ها بکار میروند هم نام ببریم میتوانیم Windows Sockets و NetBIOS را معرفی کنیم. Windows Sockets استانداردی را برای (Application Programming Interface (API ایجاد میکند؛ یک API رابط پیاده سازی توسط نرم افزار است که به دیگر برنامه ها اجازه می دهد با آن ارتباط داشته باشند.

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

در قسمت پیش از این بحث به معرفی اجمالی مدل مفهومی TCP/IP پرداختیم و در این بخش قصد داریم تا به عنوان ادامه آموزش، به بررسی پروتکل IP از پروتکل های مرکزی TCP/IP بپردازیم. با ما همراه باشید ، مجموعه پروتکل TCP/IP که بر روی سیستم عامل شما نصب شده است، مجموعه ای از پروتکل های بهم پیوسته هستند که پروتکل های مرکزی TCP/IP نامیده میشوند. تمام اپلیکیشن ها و پروتکل های دیگر در مجموعه TCP/IP به نحوی وابسته به سرویس های اصلی ای هستند که این پروتکل ها از خود ارائه میدهند. پروتکل های مرکزی TCP/IP عبارتند از: IP، ARP، ICMP، IGMP، TCP و UDP هستند.

پروتکل IP چیست؟

IP یک پروتکل connectionless و غیرقابل اطمینان است که عمدتا مسئول آدرس دهی و مسیریابی بسته های IP بین هاست ها میباشد. مجددا یادآوری میکنیم که Connectionless به این معنی است که قبل از ارسال دیتا هیچ session ای برقرار نمیشود و غیرقابل اطمینان به این معنی که تحویل بسته به مقصد تضمین نمیگردد.

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

  • نکته: در این لایه به بسته IP یک دیتاگرام IP گفته میشود. بسته IP در هر لایه با توجه به اضافه شدن فیلدهای خاصی به آن، نام مخصوص بخود را دارد.

معرفی بخش های کلیدی در IP Header

سلام به دوستان عزیزITPro ای و علاقه‌مندان به مباحث شبکه. در قسمت پیش از این بحث به معرفی اجمالی مدل مفهومی TCP//IP پرداختیم و در این بخش قصد داریم تا به عنوان ادامه آموزش، به بررسی پروتکل IP از پروتکل های مرکزی TCP//IP بپردازیم. با ما همراه باشید ، مجموعه پروتکل TCP//IP که بر روی سیستم عامل شما نصب شده است، مجموعه ای از پروتکل های بهم پیوسته هستند که پروتکل های مرکزی TCP//IP نامیده میشوند. تمام اپلیکیشن ها و پروتکل های دیگر در مجموعه TCP//IP به نحوی وابسته به سرویس های اصلی ای هستند که این پروتکل ها از خود ارائه میدهند. پروتکل های مرکزی TCP//IP عبارتند از: IP، ARP، ICMP، IGMP، TCP و UDP هستند.

!! IP
--
IP یک پروتکل connectionless و غیرقابل اطمینان است که عمدتا مسئول آدرس دهی و مسیریابی بسته های IP بین هاست ها میباشد. مجددا یادآوری میکنیم که Connectionless به این معنی است که قبل از ارسال دیتا هیچ session ای برقرار نمیشود و غیرقابل اطمینان به این معنی که تحویل بسته به مقصد تضمین نمیگردد. اما این نکته را هم باید گفت که IP همیشه بهترین تلاشش را برای تحویل بسته به مقصد انجام میدهد. یک بسته IP ممکن است گم شود و یا در حالتی که ترتیب آن بهم خورده باشد، تکراری و یا با تاخیر آمده باشد به مقصد تحویل شود. در چنین شرایطی IP هیچ تلاشی برای بازیابی این نوع از خطاها انجام نمیدهد. در چنین موقعیتی تائیدیه بسته ها تحویل شده و بازیابی بسته های گم شده بخشی از مسئولیت پروتکل لایه بالاتر یعنی TCP خواهد بود. IP در RFC 791 تعریف شده است.

* *نکته: *در این لایه به بسته IP یک دیتاگرام IP گفته میشود. بسته IP در هر لایه با توجه به اضافه شدن فیلدهای خاصی به آن، نام مخصوص بخود را دارد.

!! بخش های کلیدی در هدر IP
--
<center>
||http://tosinso.com/files/get/09c21273-fa43-41b3-b760-2a2beca2d7b4||
<center>
* Source Address: آدرس IP فرستنده اصلی و اولیه دیتاگرام است.
* Destination Address:آدرس IPمقصد نهایی دیتاگرام است.
* Identification:در شناسایی یک دیتاگرام IP بخصوص و همچنین شناسایی تمام قطعه های خرد شده (fragmented) یک دیتاگرام IP (اگر عمل خرد شدن انجام شده باشد) استفاده میشود.
* Protocol:در این بخش پروتکل هایی که در بخش داده جا سازی شده اند، مشخص میشوند. (مثل TCP، UDP،ICMP و ..)
* Checksum: یک محاسبه ریاضی که برای تشخیص یکپارچگی هدر IP در سطح بیت بکار میرود. 
* (Time to Live (TTL: تعداد بخش های شبکه را که دیتاگرام قبل از از بین رفتن توسط روتر اجازه دارد از آن ها عبور کند را نشان میدهد. پارامتر TTL توسط مبدا تنظیم میشود و برای جلوگیری از افتادن بسته در یک حلقه بی نهایت استفاده میشود. هنگامی که یک بسته IP ارسال میشود، روتر موظف است به محض رد شدن بسته از آن، یک واحد از مقدار TTL کم کند.

!! Fragmentation (خرد شدن) و Reassembly (سر هم شدن مجدد)
--
اگر روتر بسته ای را دریافت کند که بزرگتر از حد استاندارد برای عبور از شبکه است، پروتکل IP بسته را به قطعات کوچکتر خرد میکند که در مقصد طبق ترتیبی که دارند مجددا سر هم میشوند. نگامی که بسته ها به مقصد نهایی رسیدند، پروتکل IP در سیستم مقصد بسته های خرد شده را طبق ترتیب خاصی سرهم بندی میکنند تا مجددا بسته اصلی تشکیل شود. این فرآیند به fragmentation و reassembly معروف است. عمل Fragmentation میتواند در محیط هایی که ترکیبی از رسانه های مختلف شبکه است رخ دهد؛ برای مثال ترکیبی از اترنت و توکن رینگ.Fragmentation و Reassembly بصورت زیر عمل میکنند:

# هنگامی که یک بسته IP توسط مبداء ارسال میشود، در بخش Identification یک مقدار منحصر بفرد قرار میگیرد.
# روتر بسته IP را دریافت میکند. پروتکل IP در روتر میداند که حداکثر بخش قابل انتقال (Maximum Transmission Unit (MTU)) در شبکه ای که بسته در آن ارسال شده است، کمتر از سایز بسته فعلی است.
# پروتکل IP بسته اصلی را به Fragment های کوچکتر تقسیم میکند. هر قطعه با هدرIP مخصوص بخودش ارسال میشود که شامل:

* بخش اصلی Identification که مشخص میکند تمام قطعه ها متعلق به یک بسته هستند.
* More Fragments flag که نشان دهنده اینست که قطعه های دیگری نیز در راهند. این پارامتر در قطعه آخر قرار نمیگیرد چرا که پس از آن دیگر قطعه ای نخواهد آمد.
* بخش Fragment Offsetکه وضعیت قطعه را در بسته اصلی نشان میدهد.

هنگامی که قطعه ها توسط پروتکل IP در مقصد تحویل شدند، توسط بخش Identification شناسایی میشوند که متعلق به یک بسته هستند. سپس با کمک بخش fragment offset قطعه ها مجددا بازیابی و سرهم بندی میشوند.

سربلند و مانا باشید. 
*پایان بخش دوم*


نویسنده: احسان امجدی 
منبع: |جزیره شبکه و زیرساخت وب سایت توسینسو::https://network.tosinso.com|
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد.
  • Source Address: آدرس IP فرستنده اصلی و اولیه دیتاگرام است.
  • Destination Address:آدرس IPمقصد نهایی دیتاگرام است.
  • Identification:در شناسایی یک دیتاگرام IP بخصوص و همچنین شناسایی تمام قطعه های خرد شده (fragmented) یک دیتاگرام IP (اگر عمل خرد شدن انجام شده باشد) استفاده میشود.
  • Protocol:در این بخش پروتکل هایی که در بخش داده جا سازی شده اند، مشخص میشوند. (مثل TCP، UDP،ICMP و ..)
  • Checksum: یک محاسبه ریاضی که برای تشخیص یکپارچگی هدر IP در سطح بیت بکار میرود.
  • (Time to Live (TTL: تعداد بخش های شبکه را که دیتاگرام قبل از از بین رفتن توسط روتر اجازه دارد از آن ها عبور کند را نشان میدهد. پارامتر TTL توسط مبدا تنظیم میشود و برای جلوگیری از افتادن بسته در یک حلقه بی نهایت استفاده میشود. هنگامی که یک بسته IP ارسال میشود، روتر موظف است به محض رد شدن بسته از آن، یک واحد از مقدار TTL کم کند.

Fragmentation و Reassembly در پروتکل IP چه مفهومی دارند؟

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

این فرآیند به fragmentation و reassembly معروف است. عمل Fragmentation میتواند در محیط هایی که ترکیبی از رسانه های مختلف شبکه است رخ دهد؛ برای مثال ترکیبی از اترنت و توکن رینگ.Fragmentation و Reassembly بصورت زیر عمل میکنند:

  1. هنگامی که یک بسته IP توسط مبداء ارسال میشود، در بخش Identification یک مقدار منحصر بفرد قرار میگیرد.
  2. روتر بسته IP را دریافت میکند. پروتکل IP در روتر میداند که حداکثر بخش قابل انتقال (Maximum Transmission Unit (MTU)) در شبکه ای که بسته در آن ارسال شده است، کمتر از سایز بسته فعلی است.
  3. پروتکل IP بسته اصلی را به Fragment های کوچکتر تقسیم میکند. هر قطعه با هدرIP مخصوص بخودش ارسال میشود که شامل:
  • بخش اصلی Identification که مشخص میکند تمام قطعه ها متعلق به یک بسته هستند.
  • More Fragments flag که نشان دهنده اینست که قطعه های دیگری نیز در راهند. این پارامتر در قطعه آخر قرار نمیگیرد چرا که پس از آن دیگر قطعه ای نخواهد آمد.
  • بخش Fragment Offsetکه وضعیت قطعه را در بسته اصلی نشان میدهد.

هنگامی که قطعه ها توسط پروتکل IP در مقصد تحویل شدند، توسط بخش Identification شناسایی میشوند که متعلق به یک بسته هستند. سپس با کمک بخش fragment offset قطعه ها مجددا بازیابی و سرهم بندی میشوند.

  • TCP/IP چیست؟

    تی سی پی آیپی یا TCPIP یک مجموعه پروتکل یا پشته پروتکل ( Protocol Stack ) است که بصورت مفهومی روند کاری شبکه و انتقال اطلاعات بر روی آن را به ما نشان می دهد.
  • تفاوت TCP/IP و لایه های OSI در چیست؟

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

احسان امجدی
احسان امجدی

کارشناس امنیت اطلاعات و ارتباطات

احسان امجدی ، مشاور امنیت اطلاعات و ارتباطات و تست نفوذ سنجی ، هکر کلاه سفید ، مدرس دوره های تخصصی امنیت اطلاعات و شبکه ، تخصص در حوزه های سرویس های مایکروسافت ، Routing و Switching ، مجازی سازی ، امنیت اطلاعات و تست نفوذ ، کشف جرائم رایانه ای و سیستم عامل لینوکس ، متخصص در حوزه SOC و ...

نظرات