بحث های تخصصی کامپیوتر (همدان)

شبکه - برنامه نویسی- و غیره(delphi-c- pascal -php -asp-vb,...

بحث های تخصصی کامپیوتر (همدان)

شبکه - برنامه نویسی- و غیره(delphi-c- pascal -php -asp-vb,...

قالب های با پسوند php

صفحاتی با پسوند PHP

کمتر کاربر اینترنت را میتوان یافت که تاکنون با صفحاتی با پسوند PHP برخورد نکرده باشد و البته این پسوند نامی آشنا برای طراحان و برنامهنویسان وب است.                                                                            

   پی اچ پی (PHP) یکی از محبوبترین و رایجترین زبانهای برنامهنویسی برای ایجاد صفحات پویا در وب است و کمتر خواستهای در محیط وب وجود دارد که در PHP قادر به انجام آن نباشیم. از ایجاد یک صفحه ساده برای پردازش اطلاعات فرمها، ارتباط با بانکهای اطلاعات، کار با سوکتهای TCP، پردازش فرمتهای PDFوZIP و حتی تصویر بخشی از توانایی این زبان است.

پی اچ پی چگونه کار میکند؟

   نوشتن یک برنامه پی اچ پی شبیه ایجاد یک صفحه HTML است و تنها با این تفاوت که کدهای این زبان در داخل صفحات و دربین کدهای HTML درج میشود و البته طبیعی است که یک فایل پی اچ پی میتواند تنها شامل کدهای PHP باشد.با توجه به این که PHP یک زبان طرف سرویسدهنده است، و بنابراین برای اجرا، اسکریپتهای آن باید آنها را به کامپیوتر سرویسدهنده وب (مانند سیستم Windows 2000 و نرمافزار IIS) انتقال دهیم و حالا با تایپ نام فایل آن در گردشگر اینترنت میتوانیم آنرا اجرا و خروجی احتمالی را مشاهده کنیم.

طبیعی است که در سمت سرویسگیرنده (کاربر سایت)امکان مشاهده کدها وجود ندارد.

   پس از درخواست برای اجرای یک اسکریپت PHP فایل حاوی کدهای PHP به برنامه مفسر PHP انتقال داده شده(معمولا php.exe) و این برنامه بعد از تفسیر واجرای اسکریپت ،نتیجه را به سمت کاربر میفرستد.

   در زیر نمونهای از یک اسکریت ساده PHP درج شده است. این برنامه پیغام ارسالی توسط کاربر را میگیرد (این پارامتر میتواند توسط یک فرم یا در نوار آدرس گردشگر اینترنت تایپ شود) و آن را در قالب HTML برای کاربر ارسال میکند.

 

کد HTMLنتیجه حاصل که کاربر امکان مشاهد آنرا دارد
http://www.mysite.com/test.php?message=hello

اسکریت PHP که در سمت سرویس دهنده اجرا میشود

<HTML>
<BODY>
hello
</BODY>
</HTML>

<HTML>
<BODY>
<?php
echo $_GET['message'];?>
</BODY>
</HTML>

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

تاریخچه

   پی اچ پی در سال 1994 توسط راسموس لردرف Rasmus Lerdorf و برای استفاده شخصیاش ایجاد شد. او بعدها و در سال 1995 نسخه حرفهایتر از مفسر زبان PHP به نام Version 2 PHP/FI را عرضه کرد، و در سال 97 تعداد سایتهایی که از PHP استفاده میکردند به بیش از 50000 رسید و امروزه نیز میلیونها سایت از آن استفاده میکنند. سایتهای مشهوری چون Alltheweb و mamma از این زبان استفاده میکنند و حتی Yahoo نیز در حال شروع استفاده از این زبان برای توسعه وب سایتهای خود است.

پی اچ پی زبانی برای همه سیستم عاملها

   یکی از برترین مزایای زبان PHP سازگاری آن با اکثر سیستم عاملها و نرمافزارهای وب سرور (مانند IIS و Apache) است. برخی از دیگر زبانها و تکنولوژیها مانند ASP محدود به سیستم عامل windows است و پشتیبانی از آن در دیگر سیستم عاملها بسیار پرهزینه و محدود است، و برخی نیز مانند JSP مشکلاتی با برخی نرمافزارهای وب سرور دارد.

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

   در PHP امکان استفاده از برخی از امکانات خاص سیستم عاملهای مشهور نیز در نظر گرفته است که برای نمونه میتوان از پشتیبانی از تکنولوژی DCOM و یا Windows API نام برد.

نسخههای جدید مفسر PHP سازگار با دیگر تکنولوژیهای خاص وبسرورها مانند ISAPI نیز میباشد.

پی اچ پی رایگان و Open Source

   تهیه برنامه مفسر PHP برای همه سیستم عاملها رایگان است و علاقهمندان میتوانند آخرین نسخه مفسر این زبان را از سایت رسمی PHP بارگذاری (Download) کند.

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

   بسیاری از ویرایشگرهای حرفهای این زبان نیز یا رایگان هستند و یا با هزینه بسیار کم میتوان آنها را تهیه کرد، در حالی که دیگر تکنولوژیها، مثلاً تهیه پلاتفورمهای جاوا هزینه هنگفتی دارد و همچنین کار حرفهای با تکنولوژی .NET نیز نیاز به تهیه Visual Studio.NET و پرداخت هزینه چند صد دلاری است.
 

سرعت بالای تفسیر و اجرای PHP

   پی اچ پی یکی از سریعترین زبانها در نوع خود است. تفسیر و اجرای یک اسکریپ php به طور متوسط تا سه و چهار برابر یک اسکریپ ASP است. (البته باید در نظر داشته باشیم که IIS با Cach اسکریپتهای ASP سرعت اجرای آنها را در دفعات بعد بالا میبرد)

   همچنین در ASP استفاده زیادی از اشیا COM میشود که باعث کاهش سرعت و مصرف منابع سیستم میشود در حالی که در PHP بسیاری از امکانات و حتی برقراری ارتباط با یکی محبوبترین نرمافزار مدیریت بانکهای اطلاعاتی (mySql به صورت توکار نهاده شده است.

   شرکت Zend که تهیه کننده فعلی موتور مفسر و پشتیبانی کننده آن است، محصولات دیگری را نیز در جهت بهینه کردن سرعت اجرای PHP ارائه کرده است این محصولات با افزایش سرعت تفسیر و همچنین ذخیره کردن نتیجه تفسیر (Cash) باعث افزایش چندین برابر اجرای آن میشوند.

ساختار مناسب و امکانات بالا در PHP

   همان طور که در ابتدای مقاله اشاره شد، کمتری نیازی در برنامهنویسی تحت وب وجود دارد که در PHP امکان رفع آن نباشد. پی اچ پی شامل کتابخانهای غنی از توابعی است که امکان پردازش اطلاعات فرمها، کار با بانکهای اطلاعاتی، فایلهای متنی و باینری، فایلهای گرافیکی، PDF ، ZIP و پروتکلهای TCP ، FTP ، DNS ،SMTP و ... را برای برنامهنویس فراهم میکند، این را مقایسه کنید با ASP که به طور مستقل امکان Upload File ،ارسال ایمیل یا کار با فایلهای باینری را ندارد.

   همچنین PHP یکی از بهترین پشتیبانیها را از نرمافزارهای بانک اطلاعات دارد. mySql,Sql Server,mSql,dBase,Oracle,IBM DB2,PostgreSQL,InterBase و بسیاری از نرمافزارهای دیگر در پی اچ پی قابل استفاده هستند و البته امکان کار با ODBC و COM برا ی استفاده از بانکهای Ms Access و دیگرمحصولات نیز هست.

   قدرت زبان پی اچ پی تنها در کتابخانه توابع آن نیست، پشتیبانی بسیار خوب از برنامهنویسی شیءگرا (OOP) و کار آسان و سریع با متغیرها از مزایای دورنی این زبان است.

معایب

حال که از حسن PHP گفتیم، بد نیست اشارهای نیز به برخی معایب آن داشته باشیم.

   نحو (syntax) زبان PHP بسیار شبیه زبان C++ و Perl است. این اگر چه باعث استقبال از این زبان توسط برنامهنویسان C و یا Perl شد، اما این نحو برای بسیاری از طراحان صفحات وب چندان آسان نیست و بسیاری معتقد هستند که تکنولوژی ASP و زبان VBScript آسانتر و قابل درکتر است و همچنین JSP و زبان جاوا نیز به دلیل محبوبیت و ساختار قدرتمند آن مورد توجه است.

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

از کجا شروع کنیم ؟

   تقریبا میتوان گفت اگر دارای هر سیستم عاملی هستید میتوانید استفاده و کار با این زبان را شروع کنید؛ تنها کافی است به سایت رسمی زبان PHP به آدرس http://www.php.net بروید، و نسخه مفسر این زبان را با توجه به سیستم عامل خود بارگذاری (Download) کنید. راهنما و مرجع دستورات و توابع این زبان در همین سایت قراردارد.

   همچنین سایت http://www.IranPHP.net (که به همت آقای هاشمی به زبان فارسی ایجاد شده است) میتواند مکانی مناسب برای حل مشکلات و تماس با دیگر برنامهنویسان PHP باشد.

 

تجهیزات شبکه Network structure

تجهیزات شبکه  Network structure ) :  )

• سرویس دهنده ها 
 ( Servers ) :
1- حافظه های جانبی
HDD
2- حافظه اصلی
RAM
3- کارت شبکه
4- پردازنده

• تجهیزات خاص شبکه :
1- تجهیزات خاص شبکه محلی :
MAU ، Hub ، Switch
2- تجهیزات شبکه راه دور :
Gateway ، Bridge ، ، Router

سرویس دهنده ها : یک سرویس دهنده ، یک کامپیوتر پر قدرت در شبکه می باشد که یک سری از منابع خود را بر روی شبکه به اشتراک گذاشته و یا سرویسی بر روی آن نصب شده و در حال اجرا می باشد . آنچه برای یک سرویس دهنده در شبکه حائز اهمیت می باشد ؛ قابلیت اطمینان ، صحت و پیوستگی سرویسها است ، همچنین کارآیی یک سرویس دهنده از اهمیت ویژه ای برخوردار است . سرویس دهنده ها دارای پردازنده قوی و میزان
RAM آنها دو تا چهار برابر حافظه های اصلی بر روی PCها است و همچنین دارای حافظه جانبی با سرعت و حجم بالا می باشند .

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

( 10Base-2 حالت استاندارد Ethernet ) ساختارهای شبکه جدیدی بوجود آمد که با توپولوژی Star عمل مشابهی را انجام می داد . در این شبکه ها ( 10Base-T ) از دستگاهی به نام Hub استفاده می شود که گذرگاه شبکه را شبیه سازی و قدری از مشکلات روش قبل را حل کرده است .

Hub : سخت افزاری است که اطلاعات را از روی یک پورت خود دریافت نموده و بر روی کلیه پورتهایش در روی شبکه Broad cast یا ارسال می کند . از Hub در شبکه هایی استفاده می شود که دارای توپولوژی شبکه Star باشند ؛ در این شبکه ها امکان برخورد اطلاعات وجود دارد .

Switch : این ابزار در شبکه هایی با توپولوژی Star نصب می شوند و ساختار شبکه ای مشابه با ساختار قبل بوجود می آورند . تفاوتی که Switchها یا در واقع متمرکز کننده های مجهز به سیستم Switching با Hubها دارند این است که در این ابزارها بسته ها را در شبکه Broad cast نمی کنند بلکه کامپیوترهای متصل به هر پورت خود را تشخیص داده و یک بسته دریافتی را از مبدا مستقیما به سوی مقصد هدایت می نمایند . بنابراین در این شبکه ها امکان برخورد اطلاعات تقریبا به صفر رسیده و همچنین می توان شبکه های کوچکتر را به یکدیگر متصل نمود .

MAU ( Multi Access Unit )  : سخت افزاری است که در شبکه های Ring استفاده می شود و یک شبکه حلقه را تبدیل به شبکه ای با توپولوژی Star - مانند آنچه Hub برای شبکه Bus انجام می داد - می نماید .

تجهیزات شبکه WAN :

Bridge : سخت افزاری است که پل ارتباطی دو LAN مختلف می باشد . تفاوت بین یک پل یا Bridge در تکنیک برقراری ارتباط بین دو LAN و Router در این است که Router در هر شبکه ای عمل مسیریابی را انجام می دهد و بر اساس IP مبدا و مقصد اطلاعات را در شبکه انتقال می دهد اما یک Bridge که معمولا در شبکه های مخابراتی و بی سیم بکار می رود ، سخت افزار یا نرم افزاری است که اطلاعات از جنس لایه دوم یک شبکه

( Frame ) را در شبکه دیگر کپی می کند ؛ به عنوان مثال دو LAN می توانند به وسیله خط تلفن به یکدیگر متصل شوند . استفاده از Bridge کارایی شبکه را تا حد زیادی کاهش می دهد و باعث کندی شبکه می شود . پلها اصولا در شبکه هایی استفاده می شوند که از پروتکل های غیر قابل مسیردهی استفاده کنند یعنی آدرس مبدا و مقصد ندارند . این پروتکل ها به راحتی از Bridge عبور می کنند . نمونه ای از این پروتکل ها NetBios ، NetBeui می باشند .

Gateway یا مترجم پروتکل : وسیله ای است که معمولا مانند یک دروازه ورودی/خروجی در شبکه عمل می کند . لفظ Gateway برای هر سخت افزاری بکارمی رود که معمولا دو شبکه غیر همجنس را به هم متصل کند . یک Gateway می تواند یک کامپیوتر ، یک مسیریاب ، یک Firewall ، یک Proxy Server و یا هر چیز دیگری باشد . اما تجهیزاتی که خاص Gateway هستند معمولا در شبکه هایی بکار می روند که براساس پروتکل TCP/IP کار نمی کنند . این تجهیزات وظیفه ترجمه پروتکل بین دو شبکه غیر همجنس را انجام می دهند . به عنوان مثال در شبکه هایی که TCP/IP Base نیستند با استفاده از یک Gateway می توان پروتکل شبکه را به پروتکل TCP/IP و برعکس تبدیل نمود .

Router یا مسیریاب : وسیله ای است که بسته ها را در طول شبکه گسترده هدایت می کند و در واقع ساختار شبکه اینترنت (Back Bone ) در لایه IP از مسیریابها و اتصالات بین آنها تشکیل شده است . مسیریابها در لایه سه کار می کنند ؛ یعنی هر مسیریاب بسته را شناخته و می تواند از روی Header بسته ها مبدا و مقصد را تشخیص دهد . وقتی کامپیوتری در یک شبکه بسته ای را ارسال می کند که مقصد آن در شبکه محلی متصل به آن کامپیوتر موجود نیست آن بسته را تحویل Gateway می دهد تا از شبکه خارج شود . Gatewayها در شبکه معمولا تجهیزاتی هستند که عمل مسیریابی را نیز انجام می دهند . پس Router شبکه یا همان Gateway آدرس مقصد بسته ها را با مسیرهای خود مقایسه می کند تا کوتاهترین و بهترین مسیر را بین مبدا و مقصد انتخاب کنند و در صورت وجود مسیر بسته به خروجی مورد نظر ارسال می شود و در صورت عدم وجود مسیر یا برای مسیریابی Router با مسیریابهای مجاور مشورت می نماید و یا بسته را تحویل مسیریاب بعدی که در واقع Gateway مربوط به این مسیریاب می باشد هدایت می کند . هر Router دارای یک Routing table می باشد که این جدول به صورت پویا نسبت به مسیریابهای همسایه به روز رسانده می شود ( پروتکلهایی مانند RIP و  ( OSPF  به عبارت بهتر مسیریابها همیشه در مورد مسیرهای موجود برروی اینترنت با یکدیگر تبادل نظر می نمایند . مسیریابها همواره به دنبال بهترین مسیر با کمترین هزینه برروی اینترنت می گردند .

 

لایه دسترسی به شبکه در اینترنت  Network Access ) :  )

پایین ترین لایه مدل
TCP/IP یا Network Access که شامل کنترل و مدیریت رسانه فیزیکی و پروتکلهای انتقال فریم می باشد و هیج تعریف مشخصی نداشته و به دلیل تنوع فراوان تجهیزات و پروتکلها در این لایه بسیار انعطاف پذیر می باشد . سخت افزارها یا کانالهای ارائه سرویس در این لایه می توانند خطوط تلفن ، سیم زوج تابیده STP و UDP و کابلهای هم محور کواکسیکال ، فیبرهای نوری ، کانالهای رادیویی و کانالهای ماهواره ای و غیره باشند . تمام این کانالها دارای مفهومی به نام پهنای باند ( Band With ) می باشند . Band With دریک مفهوم ساده و غیر دقیق ؛ پهنای باند هر کانال را می توان توانایی و ظرفیت آن کانال در ارسال اطلاعات با نرخ بیت بر ثانیه ( Bit/s ) تعریف نمود .
بسیاری از کاربران شبکه اینترنت بوسیله مودم و خط تلفن معمولی (
Modem/Dial up ) به اینترنت متصل می شوند . این کاربران برای برقراری ارتباط با اینترنت نیاز به یک تامین کننده ارتباط یا Internet Service Provider ) ) ISP دارند . این تامین کنندگان ارتباط نیز خود به شکلی به اینترنت متصل هستند . در اکثر موارد ارتباط بین کاربران و سرویس دهنده و همچنین ارتباط بین سرویس دهنده بزرگتر ، ارتباطی نقطه به نقطه یا Point to Point می باشد . بنابراین پروتکلهای برقراری ارتباط نقطه به نقطه در استفاده از اینترنت کاربرد فراوانی دارد . در ادامه به بررسی دو پروتکل PPP و SLIP به عنوان نمونه ای از این پروتکلها می پردازیم :

پروتکل
SLIP : یک ایستگاه ارسال اطلاعات را با فرستادن رشته 0XC0 به ایستگاه مقابل اعلام می دارد . همچنین خاتمه ارسال اطلاعات نیز با همین رشته مشخص می شود . در این پروتکل هیچگونه کشف خطایی گنجانده نشده و کشف خطا به لایه بالاتر واگذارشده است . همچنین در فریم مربوط SLIP فقط پروتکل IP (IP بسته )  قرارمی گیرد . از دیگر نقاط ضعف SLIP این است که ایستگاههای کاری باید دارای IP ثابت باشند که معمولا در اینترنت چنین نیست و به دلیل این ساختار در این پروتکل مشکل امنیتی وجود دارد که باعث می شود تا هر ایستگاهی که ارتباط برقرار نماید ماشین معتبر شناخته شود .

پروتکل
PPP : این پروتکل دارای ساختار فریم زیر می باشد :
1 –  
Byte FLAG  1 ( ابتدای فریم )
2 –
Byte ADDRESS  1

3 –  Byte CONTROL 1
4 –
OR 2 Byte PROTOCOL  1
5 –  
Variable Byte PAY LOAD 1
6 –
 Byte 2 OR 4 CHECK SUM1  
7 –
Byte FLAG 1 ( انتهای فریم )
در هنگام اتصال با مودم ابتدا لازم است یک سری پارامترها بین مبدا و مقصد انتقال یابد و پس از انتقال این پارامترهای کنترلی ارسال اطلاعات آغاز می شود . این پارامترهای کنترلی به دو رشته
NCP و LCP تقسیم می شوند :
LCP ها ( Link Control Protocol ) پارامترهای کنترل PPP را بصورت توافقی بین طرفین و تا هنگام قطع ارتباط مشخص می نمایند . پس از تنظیم LCPها ، NCPها

 ( Network Control Protocol ) تنظیم خواهند شد که بوسیله آنها پارامترهای مربوط به لایه بالاتر انتقال داده شده وتنظیم می گردند ؛ به مجموعه این مراحل فاز مذاکره یا Negotiation phase می گویند . پس از این فاز واحدهای دریافتی از لایه بالاتر در قسمت PAY LOAD قرار گرفته و انتقال داده می شود . در هنگام قطع ارتباط نیز یک سری NCP و LCP رد و بدل می شوند و سپس ارتباط قطع می شود . به عنوان مثال در هنگام رد و بدل NCPها یک سرویس دهنده به میزبان خود IP اختصاص می دهد .

لایه اینترنت  لایه
IP یا لایه Network )  ) :


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

 مرحله اول  IP Address : آدرسهای جهانی منحصر بفرد در اینترنت .  
مرحله دوم  : ایجاد ساختار بسته ای است که برای کلیه شبکه ها استاندارد و قابل انتقال باشد ؛ در واقع باید بسته ای در نظر گرفته شود که به راحتی بتواند در طول اینترنت و بر روی شبکه های مختلف به راحتی حرکت کند . در مدل
TCP/IP به واحد اطلاعاتی که درون فیلد داده هر فریم قرار می گیرد بسته IP از شبکه ای به شبکه دیگر به راحتی و با قرار گرفتن در فریمها انتقال داده می شود . در واقع می توان گفت وجه تشابه کلیه کامپیوترهای موجود در اینترنت داشتن یک آدرس منحصر بفرد و پشتیبانی پروتکل TCP/IP می باشد . { مرحله دوم : IP Pocket بسته استاندارد }

پروتکل
IP ( Internet Protocol ) :
پروتکل
IP را می توان به صورت خلاصه و به شکل زیر تشریح نمود ؛

لایه IP یک واحد اطلاعات را از لایه بالاتر تحویل می گیرد . این واحد اطلاعات Data Gram نام دارد اگر طول Data Gram بزرگ باشد لایه IP آن را به واحدهای کوچکتر بنام قطعه تقسیم می نماید ، پس با استفاده از قطعه و اضافه کردن Header یا سربار به آن

( سر‌آیند ) بسته IP را تشکیل می دهد . در هر بسته IP که آدرس مبدا و مقصد در آن موجود می باشد Header بسته توسط مسیریابها پردازش شده وبسته به سمت مقصد هدایت می شود . طول یک بسته IP می تواند حداکثر 64 کیلو بایت باشد ؛ اما معمولا بسته های IP با طولی حدود 1500 بایت تشکیل می شود به دلیل اینکه اکثر استانداردهای شبکه در لایه پایین تر طول فریم در همین حدود دارد و تشکیل بسته IP با این طول باعث می شود حتی الامکان یک بسته IP بین مبدا و مقصد شکسته نشده و به واحدهای کوچکتر تقسیم نشود . در این پروتکل به قطعات ساخته شده از یک دیتاگرام شماره ترتیب تخصیص داده می شود تا در مقصد بسته های IP مجددا به ترتیب چیده شده و قطعه اصلی تشکیل شود . در کنار پروتکل IP پروتکلهای دیگری مانند : ICMP ، ARP ، RARP ، RIP و غیره وجود دارد که پروتکل IP را در عملکرد بهتر ، مسیریابی صحیح ، مدیریت خطاهای احتمالی و مواردی از این قبیل کمک می کند