مقاله ای جامع درباره شبکه های کامپیوتری *Computer Network*

نویسنده Zohreh Gholami, بعد از ظهر 19:23:12 - 10/04/11

« مبانی چاپ و چاپخانه | php چیست؟ و php چه کارهایی می تواند انجام دهد؟ »

0 اعضا و 2 کاربران مهمان درحال دیدن موضوع.

Zohreh Gholami

پروتکل (User Datagram Protocol) یا *UDP*

پروتکل داده‌نگار کاربر (به انگلیسی: UDP یا User Datagram Protocol) یکی از اجزاء اصلی مجموعه پروتکل اینترنت، مجموعه‌ای از پروتکل‌های شبکه که در اینترنت مورد استفاده قرار می‌گیرند، می‌باشد. رایانه‌ها با استفاده از UDP قادر به ارسال پیغام، که در این مورد آن را داده‌نگار یا Datagram می‌نامیم، به دیگر میزبان‌های موجود در پروتکل اینترنت (IP) می‌باشند. این پروتکل توانایی این را دارد که این کار را بدون برقراری ارتباط قبلی و یا ایجاد کانالها یا مسیرهای انتقال داده ویژه انجام دهد. پروتکل مزبور در سال 1980 توسط دیوید پی. رید ابداع گردیده و به طور رسمی در استاندارد RFC 768 تعریف شد.

UDP از مدل انتقال ساده بدون استفاده از تکنیک دست تکانی صریح که برای ایجاد قابلیت اطمینان (Reliability)، مرتب سازی و یکپارچه سازی داده‌ها بکار می‌رود، بهره می‌جوید. بنابراین، UDP سرویس غیرمطمئنی را ارائه می‌دهد و ممکن است داده‌نگارها نامرتب، تکراری بوده و یا بدون اطلاع قبلی از دست بروند. UDP تشخیص می‌دهد که بررسی خطا و تصحیح آن با توجه به نوع کاربردی که دارد لازم نبوده و یا نباید اجرا شود، بنابراین چنین بار اضافی پردازشی را بر شبکه تحمیل نمی‌کند. برنامه‌های که نسبت به زمان حساس هستند از UDP استفاده می‌کنند، زیرا از دست دادن بسته‌ها بهتر از منتظر ماندن برای بسته هاست. بنابراین پروتکل UDP بهترین گزینه برای سیستم‌های بلادرنگ به حساب می‌آید. اگر برنامه‌ای نیاز به امکانات تصحیح خطا در سطح واسط شبکه داشته باشد، می‌تواند از پروتکل کنترل انتقال (به انگلیسی: TCP یا Transmission Control Protocol) و یا پروتکل انتقال کنترل جریان (به انگلیسی: SCTP یا Stream Control Transmission Protocol) استفاده کند که به طور خاص برای این منظور طراحی شده‌اند.

طبیعت [پروتکل‌های بدون حالت|بدون حالت} UDP می‌تواند برای سرورهایی که به پرس و جوهای کوچک حجم زیادی از کلاینت‌ها پاسخ می‌دهند نیز مفید واقع شود. UDP بر خلاف TCP، با شبکه‌های پخشی (انتشار بسته در کل شبکه محلی) و شبکه‌های چندپخشی (ارسال بسته به بخشی از شبکه) سازگاری کامل دارد.



برنامه‌های معمول شبکه که از UDP استفاده می‌کنند عبارتند از:
سامانه نام دامنه (به انگلیسی: DNS یا Domain Name System)، برنامه‌هایی که از پخش زنده یا رسانه جویباری (Streaming Media) استفاده می‌کنند نظیر تلویزیون پروتکل اینترنت یا IPTV، صدا روی پروتکل اینترنت یا VoIP، پروتکل ساده انتقال فایل (به انگلیسی: TFTP یا Trivial File Transfer Protocol) و بسیاری از بازی‌های برخط.



پورت‌های مورد استفاده
برنامه‌های UDP از سوکت داده‌نگار برای برقراری ارتباطات میزبان-به-میزبان استفاده می‌کنند. برنامه یک سوکت را در انتهای بسته انتقال داده اش می‌چسباند، که ترکیبی از آدرس آی‌پی و شماره پورت سرویس است. پورت یک ساختار نرم افزاری است که با یک عدد 16 بیتی به نام شماره پورت شناسایی می‌شود. شماره پورت عددی بین 0 تا 65,535 است. پورت 0 رزرو شده‌است، اما اگر پردازش ارسال کننده انتظار دریافت پیام را نداشته باشید مجاز است که از این پورت استفاده کند.

آیانا یا انجمن شماره‌های تخصیص یافته اینترنتی شماره پورتها را به سه دسته تقسیم کرده‌است. پورت‌های بین 0 تا 1023 برای سرویس‌های شناخته شده و عمومی آزادند. پورت های بین 1024 و 49,151 پورت‌های ثبت شده هستند و برای سرویس‌های مخصوص IANA در نظر گرفته شده‌اند. پورتهای بین 49,152 تا 65,535 پورت‌های داینامیکی هستند که به طور رسمی برای سرویس خاصی در نظر گرفته نشده‌اند و می توان برای هر منظوری استفاده کرد.



ساختار بسته UDP
UDP کمینه ترین پروتکل مبتنی بر پیغام لایه انتقال است که جزئیات آن در RFC 768 آورده شده‌است.

UDP هیچ گونه تضمینی برای تحویل پیام به پروتکل لایه بالاتر را نمی‌دهد و پروتکل‌هایی هم که از UDP استفاده می‌کنند هیچ حالتی از پیغامی را می‌فرستند نگه نمی‌دارند. به همین دلیل، UDP را پروتکل داده‌نگار غیر مطمئن می‌نامند.

UDP تسهیم‌سازی برنامه (از طریق شماره پورت) و بررسی یکپارچگی (با استفاده از چک‌سام) سرایند و بخش داده‌ای را فراهم می‌آورد. اگر مطمئن بودن انتقال موردنظر باشد، بایستی این امکان در برنامه کاربر تعبیه شود.




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

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

سرایند UDP دارای 4 ستون، طول هر کدام 2 بایت (16 بیت) و استفاده از دو تای آنها در IPv4 اختیاری است. (فیلدهایی که با رنگ صورتی مشخص شده‌اند). در IPv6 تنها استفاده از شماره پورت مبداً اختیاری می باشد. (جدول پایین)

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

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

طول
فیلدی که طول کل داده‌نگار را بر حسب بایت نشان می‌دهد. حداقل طول 8 بایت است که متعلق به طول سرآیند می‌باشد. اندازه فیلد به طور تئوریک 65,535 بایت (8 بایت برای سرآیند + 65,527 بایت برای داده) برای داده‌نگار UDP است. اما حداکثر اندازه عملی برای IPv4 عبارت است از 65,507 بایت. (65,535 - 8 بایت برای سرآیند یو دی پی - 20 بایت برای سرآیند IP). عدم استفاده از این فیلد نوعی سهل انگاری است مگر اینکه کیفیت داده ها چندان مهم نباشد. (مثلاً در مورد صدای دیجیتال)

چک‌سام
فیلد چک‌سام برای بررسی خطای سرایند و داده استفاده می‌شود. اگر هیچ چک‌سامی توسط فرستنده تولید نشود، این فیلد با صفر پر می‌شود. فیلد مزبور در IPv6 اختیاری نیست.



محاسبه چک‌سام
روشی که برای محاسبه چک‌سام مورد استفاده قرار می گیرد در RFC 768 تعریف شده است:

این کد حاصل جمع سرآیند، داده‌ها و یک «شبه فرآیند فرضی» (Pseudoheader) است. قالب شبه سرآیند فرضی در جدول پایین آمده است. برای محاسبه این کد ابتدا فید چک‌سام صفر فرض می شود و در صورت فرد بودن تعداد بایتها، تعدادی صفر زائد به انتهای داده‌ها اضافه می گردد تا تعداد بایتها زوج شود. الگوریتم محاسبه چک‌سام بسیار ساده است: مجموعه بایتها به صورت کلمات 16 بیتی (یعنی دو بایت دو بایت) با هم جمع شده و حاصل جمع به صورت «متمم 1» (One's Complement) منفی می شود و درون فید چک‌سام قرار می گیرد. نتیجتاً وقتی در گیرنده این محاسبه بر روی کل قطعه (شامل فیلد چک‌سام) انجام می شود نتیجه آن باید صفر باشد. در غیر اینصورت داده‌ها قابل اطمینان و سالم نیستند.

تفاوت IPv4 و IPv6 در محاسبه چک‌سام در میزان داده های محاسباتی آنها می باشد.



شبه سرآیند فرضی در IPv4
چک سام در قالب UDP IPv4 با استفاده از یک شبه سرآیند فرضی محاسبه می شود و شباهت زیادی به سرآیند واقعی یک IP دارد. این سرآیند فرضی یک سرآیند واقعی IP نمی باشد که در ارسال بسته IP دخالت دارد. جدول زیر ساختار کامل شبه سرآیند فرضی که تنها برای محاسبه چک‌سام مورد استفاده قرار می گیرد را مشخص می نماید.





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



شبه سرآیند فرضی در IPv6
زمانی که پروتکل UDP در سیستم IPv6 مورد استفاده قرار می گیرد، محاسبه آن اجباری است. روشی که برای محاسبه چک‌سام در IPv6 انجام می شود در RFC 2460 تعریف شده است. همانند IPv4 شبه سرآیند فرضی در محاسبه چک سام استفاده می شود.





قابلیت اطمینان و راه‌حل‌هایی برای کنترل ازدحام
فقدان قابلیت اطمینان بدین معناست که برنامه‌هایی که از UDP استفاده می‌کنند کلاً می‌توانند مقداری خطا یا افزونگی را بپذیرند. برخی پروتکل ها نظیر TFTP می‌توانند مکانیزم‌های ابتدایی برای برقراری قابلیت اطمینان را در لایه کاربرد به کار گیرند. در اغلب اوقات برنامه‌هایی که از UDP استفاده می‌کنند از مکانیزم‌های برقراری قابلیت اطمینان استفاده نمی‌کنند و حتی مانع از اجرای آنها می‌شوند. رسانه‌های جویباری، بازی‌های چندبازیکنه بلادرنگ و VoIP مثال هایی از برنامه‌هایی هستند که از UDP بهره می‌برند. در این برنامه‌های خاص از دست دادن بسته‌ها معمولاً مشکل حادی نیست. اگر برنامه‌ای احتیاج به برقراری قابلیت اطمینان بالا داشته باشد، باید از پروتکلی نظیر TCP استفاده کند.

در مورد UDP بر خلاف TCP مورد مهم و قابل توجهی وجود دارد که برنامه‌های مبتنی بر این پروتکل قابلیت جلوگیری از ازدحام و مکانیزم کنترلی خوبی نیستند. برنامه‌های UDP ای که به مسأله ازدحام توجهی نمی‌کنند و میزان قابل توجهی از پهنای باند را نیز اشغال می‌کنند، می‌توانند ثبات اینترنت را به مخاطره بیاندازند. مکانیزم‌های مبتنی بر شبکه‌ای وجود دارد که برای به حداقل رساندن تأثیرات مخرب، ترافیک‌های کنترل نشده UDP ارائه شده‌اند. اجزاء مبتنی بر شبکه نظیر روترها که از تکنیک‌های صف بندی و حذف بسته‌ها استفاده می‌کنند، تنها ابزار موجود برای کاهش دادن ترافیک حجیم برنامه‌های مبتنی بر UDP می‌باشند. پروتکل کنترل ازدحام داده‌نگار (به انگلیسی: DCCP یا Datagram Congestion Control Protocol) راه حلی نسبی برای حل این مشکل بالقوه‌است. این پروتکل با افزودن رفتار کنترلی مشابه TCP در سیستم میزبان، جریان‌های شدید UDP را کنترل می‌کند.



کاربردها
برنامه‌های اینترنتی متعددی از UDP بهره می‌برند:
سامانه نام دامنه (DNS): در این سیستم پرس و جوهای صورت گرفته بایستی سریع و تنها شامل یک درخواست باشند، و پاسخ آنها نیز تنها یک بسته ساده‌است.
پروتکل ساده مدیریت شبکه (SNMP): از این پروتکل برای مدیریت تجهیزات شبکه استفاده می‌شود.
پروتکل اطلاعات مسیریابی (RIP)
پروتکل پیکربندی پویای میزبان (DHCP)

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



مقایسه UDP و TCP
پروتکل کنترل انتقال (TCP) یک پروتکل اتصال گرا (Connection-Oriented) می‌باشد، بدین معنا که برای برقراری ارتباط بین دو میزبان احتیاج به تکنیک «دست تکانی» یا Handshaking دارد. به محض اینکه ارتباط برقرار شد داده‌های کاربر می‌تواند به صورت دوطرفه ارسال و دریافت شود.


از جمله خصوصیات پروتکل (TCP) می‌توان به موارد زیر اشاره کرد:
قابل اطمینان - TCP تصدیق پیغام، ارسال دوباره و زمان انقضاء را مدیریت می‌کند. اگر پیغامی به مقصد نرسید این امکان را دارد که برای چندین بار این کار را انجام دهد. اگر بسته‌ای در وسط راه از دست رفت، سرور می‌تواند درخواست ارسال دوباره بسته مفقوده را اعلام کند. در TCP، از دست رفتن داده معنایی ندارد و در مواردی که زمان انقضاء (Timeout) افزایش یابد، ارتباط قطع خواهد شد.

دارای ترتیب - اگر دو پیغام بر روی یک خط ارتباطی به ترتیب فرستاده شوند، پیغام اول، اول خواهد رسید. زمانیکه قطعات داده‌ای در ترتیب اشتباه دریافت شوند، TCP تمام بسته‌های خارج از ترتیب را بافر می‌کند تا اینکه تمام بسته‌ها به طور کامل دریافت شوند، سپس تمام آنها را مرتب کرده و تحویل برنامه کاربردی می‌دهد.

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

جریانی - داده‌ها به صورت جریانی از بایت‌ها خوانده می‌شوند.


UDP یک پروتکل بی اتصال (Connectionless) مبتنی بر پیغام ساده‌است. پروتکل‌های بی اتصال نیازی به برقراری ارتباط اختصاصی ندارند. ارتباط به صورت یک طرفه و در یک مسیر ار مبدأ به مقصد و بدون در نظر گرفتن حالت یا وضعیت گیرنده برقرار می‌شود.


از جمله خصوصیات پروتکل (UDP) می‌توان به موارد زیر اشاره کرد:
غیر مطمئن - زمانی که پیغامی ارسال می‌شود، نمی‌توان فهمید که آیا این پیغام به مقصد رسیده‌است یا خیر؛ ممکن است پیغام مورد نظر در میانه راه از دست رفته باشد. در این نوع پروتکل مفهومی به نام «تصدیق» یا Acknowledgement، ارسال دوباره یا زمان انقضاء وجود ندارد.

بدون ترتیب - اگر دو پیغام به یک گیرنده فرستاده شود، ترتیب دریافت پیغام‌ها به هیچوجه مشخص نخواهد بود.

سبک - در این پروتکل هیچگونه ترتیب پیغام، ردگیری ارتباط و غیره وجود ندارد. بنابراین بار پردازشی خاصی نیز بر شبکه تحمیل نمی‌کند.

داده‌نگار - بسته‌ها به صورت تکی ارسال شده و تنها زمانیکه به مقصد برسند از نظر یکپارچگی مورد بررسی قرار می‌گیرند. بسته‌ها دارای حد صریح و روشنی هستند که برای گیرنده کاملاً مشخص است.

عدم وجود کنترل ازدحام - UDP به خودی خود از ازدحام جلوگیری نمی‌کند و این احتمال وجود دارد برنامه‌هایی که پهنای باند زیادی مصرف می‌کنند باعث بروز ازدحام شوند، مگر اینکه در لایه کاربردی تمهیداتی برای کنترل ازدحام در نظر گرفته شده باشد.

Zohreh Gholami

پروتکل IP

پروتکل اینترنت مهمترین قراردادی است که برای مبادله اطلاعات در شبکه های اینترنتی وجود دارد. این قرارداد بنیادی‌ترین قرارداد شکل‌دهنده اینترنت می‌باشد و وظیفه مسیردهی بسته‌های اطلاعاتی را در گذر از مرزهای شبکه‌ها به عهده دارد. پروتکل اینترنت یک پروتکل لایه‌ای است که در نرم‌افزار داخلی استفاده می‌شود و در لایه ارتباط (Link) قرار می‌گیرد. آی‌پی در شرایط پروتکل لایه‌ای پایین می‌تواند خدمات جهانی دسترسی را بین کامپیوترها ارائه کند.






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



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



اعتبار
عدم اعتبار آی‌پی، اجازهٔ وقوع هر یک از اشتباهات زیر را می‌دهد:
تخریب داده‌ها
بسته‌های دادهٔ گم‌شده
تحویل نامنظم بسته‌ها
ورود دوگانه

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

اگر پروتکل لایهٔ فوقانی نتواند اندازهٔ دقیق را در ۲ واحد انتقال ماکزیمم توصیف کند، ارسال لایه‌ای فراوان خواهد شد و آی‌پی عامل تخریب داده‌های اصلی به داده‌های کوچک‌تر خواهد بود. آی‌پی می‌تواند نظم را دوباره برقرار کند، در این شرایط اندازه، کوچک‌تر از MTU تنظیم می‌شود. UDP و ICMP نمونه‌هایی از پروتکل‌هایی هستند که می‌توانند اندازه MTU را کاهش دهند. دلیل اصلی عدم وجود اعتبارپذیری کاهش پیچیدگی ردیاب است. این می‌تواند دسته‌های خاص از بسته‌ها را تولید کند که بهترین بازده را ارائه می‌نمایند، اگر چه هیچ نوع تضمینی وجود ندارد. تلاش بهتر در ساخت شبکه‌ها عامل دسترسی به تجربه کاربر خواهد بود. این مربوط به کنترل کار، در پایان خط ارتباطات است.



نشانی آی‌پی و مسیریابی
شاید پیچیده‌ترین ویژگی آی‌پی شامل نشانی و مسیریابی باشد. نشانی می‌تواند توصیفی از انتقال آی‌پی و طراحی زیرشبکه‌های میزبان باشد. مسیریابی نیز توسط تمام میزبان‌ها عملی است ولی باید از مسیریاب درون‌شبکه‌ای استفاده شود که IGP و EGP در آن مهم است. داده گرام آی‌پی تصمیمات را به شبکه می‌فرستد.



تاریخچه نسخه‌ها
آی‌پی رایج‌ترین عنصر در اینترنت است. پروتکل لایه‌ای شبکه‌ای که امروزه استفاده می‌شود، IPv۴ (آی‌پی نسخهٔ ۴) می‌باشد. IPv۴ در RFC-۷۹۱ (در ۱۹۸۱ میلادی) توصیف شده است.

IPv۶ جانشین IPv۴ است. برجسته‌ترین اصلاح در نسخهٔ ۶، در سامانهٔ نشانی‌دهی (addressing system) آن است. IPv۴ از نشانی ۳۲ بیتی (حدود ۴ میلیارد یا ۱۰۹ × ۴٫۳ نشانی) استفاده می‌کند. ولی IPv۶ از نشانی ۱۲۸ بیتی (۱۰۳۸ × ۳٫۴ نشانی!) استفاده خواهد کرد. پذیرش IPv۶ چندان گسترده نبوده است، اما از سال ۲۰۰۸ تمام سیستم‌های دولت آمریکا پشتیبان آن بوده‌اند.

نسخه‌های آی‌پی صفر تا ۳ نیز با توجه به نسخه فوق، بین سال‌های ۱۹۷۷ تا ۱۹۷۹ طراحی شدند. نسخه ۵ توسط IST استفاده می‌شود که یک پروتکل آزمایشی است. نسخه‌های ۶ تا ۹ نیز برای طراحی جایگزینی در نظر هستند مانند SIPP، TP/SX، PIP و TUBA، که در بین آنها فقط IPv۶ هنوز قابلیت استفاده دارد.

Zohreh Gholami

پروتکل IPv4

پروتکل اینترنت نسخه 4 (به انگلیسی: Internet Protocol version 4) یا به اختصار IPv4، چهارمین بازبینی پروتکل اینترنت (IP) و اولین نسخه ایست که به گستردگی به کارگرفته شد. IPv4 به همراه IPv6 در هسته روشهای شبکه بندی بر پایه استانداردها در اینترنت هستند.IPv4 هنوز با تفاوت بسیاری پراستفاده‌ترین پروتکل لایه اینترنت است. از تاریخ ۲۰۱۰، به کار گیری نسخه ششم پروتکل اینترنت (IPv6) در مراحل آغازین است.

IPv4 در "RFC 791" ازانتشارات گروه ویژه مهندسی اینترنت (IETF) در سپتامبر 1981 - که جایگزین تعریف قدیمی تر آن در سال 1980 در "RFC 760" شد- تشریح شده است.

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


     
نشانی دهی
IPv4 از نشانی‌های 32 بیتی (4 بایتی) استفاده می کند.در نتیجه فضای نشانی را به 4,294,967,296 (232) نشانی یکتای ممکن محدود می سازد. اما فسمتی از این نشانی‌ها برای مقاصد خاصی مانند شبکه‌های خصوصی (تقریباً 18 میلیون نشانی) وچند پخشی(تقریبا 270 میلیون نشانی) رزرو شده است و شمار نشانی‌های قابل استفاده برای مسیریابی روی شبکه عمومی اینترنت کمتر می شود. همچنانکه نشانی‌های بیشتری به کاربران تخصیص می یابد به اتمام آدرس های IP نزدیک تر می شویم، هرچند که طراحی‌های مجدد ساختار نشانی دهی شبکه از راه شبکه‌های باکلاس(Classful network)، مسیریابی میان دامنه بدون کلاس (CIDR) و ترجمه نشانی شبکه (NAT) از عواملی هستند که این امر را به تعویق انداختند.

محدودیت IPv4 در شمار نشانی‌ها انگیزه ای برای ایجاد IPv6 شد که هنوز در مراحل اولیه به کارگیری قرار داردو تنها راه حل بلند مدت برای کمبود نشانی هاست.



نمایش نشانی
نشانی‌های پروتکل اینترنت نسخه 4 به شکل دهدهی نقطه دار نمایش داده می شوند. هر نشانی از چهار هشت تایی (octet) تشکیل می‌شود که در مبنای ده نوشته و با نقطه از هم جدا می شوند.





بیشتر این قالب های نمایش را همه مرورگرهای اینترنت می فهمند. علاوه بر آن اگر از نمایش نقطه دار استفاده شود، هر هشت تایی را می توان در مبنایی متفاوت نوشت. مثلا نشانی فوق را می توان به شکل 192.0x00.0002.235 نیز نشان داد.



تخصیص
نشانی دهی باکلاس (Classful Addressing)
درسیستم نشانی دهی اولیه یک نشانی آی پی به دوقسمت تقسیم می شد، شناسه شبکه که توسط باارزش‌ترین هشت تایی (بالاترین مرتبه) نشانی مشخص می گردید و شناسه میزبان که توسط 3 هشت تایی باقیمانده مشخص می گردید و ازاین رو به "فیلد باقیمانده" مشهور بود. این روش امکان نشانی دهی تا حداکثر 256 شبکه را فراهم می کرد که به زودی معلوم شد که این تعداد ناکافی است.

برای غلبه بر این محدودیت، در سیستمی که بعدها به نام شبکه بندی باکلاس خوانده شد، باارزشترین هشت تایی در تعریفی جدید به کلاسهایی از شبکه‌ها تقسیم شد.این سیستم پنج کلاس نشانی تعریف می کند:A,B,C,D و E. کلاسهای A,B,C تعداد بیت های متفاوتی برای مشخص کردن شبکه دارندو باقی نشانی مانند قبل برای مشخص کردن یک میزبان درون شبکه به کار می رود. بدین ترتیب کلاس های شبکه ظرفیت های متفاوتی برای نشانی دهی به میزبان ها دارند. کلاس D برای نشانی‌های چندپخشی و کلاس E برای کاربردهای آینده رزرو شدند.



نشانی دهی بدون کلاس (Classless Addressing)
زیرشبکه بندی
در سال 1985 زیرشبکه‌ها معرفی شدند که امکان تقسیم شبکه‌های باکلاس را ایجاد کرد.

پوشش زیرشبکه با طول متغیر(Variable Length Subnet Mask)
در سال 1987 پوشش زیرشبکه با طول متغیر(VLSM) معرفی شد که برای ایجاد زیر شبکه هایی با اندازه‌های متفاوت به کار می رود.

مسیریابی میان دامنه ای بدون کلاس (CIDR) و ابرشبکه بندی (Supernetting)
درحوالی سال 1993 مسیریابی میان دامنه بدون کلاس(Classless Inter-Domain Routing) معرفی شد. CIDR برای پیاده سازی ابرشبکه بندی به کار می رود. ابر شبکه بندی انبوهش مسیر را ممکن می سازد. CIDR نشان گذاری پیشوندی را معرفی کرد که به نام نشان گذاری سی آی دی آر (CIDR) نیز شناخته می شود. این نشان گذاری اکنون در هر سه مورد نشانی دهی بدون کلاس به کار می رود : زیرشبکه بندی (subnetting)، پوشش زیرشبکه با طول متغیر(VLSM)و ابرشبکه بندی supernetting

CIDR جانشین سیستم ابتدایی کلاس های آی پی شد و سیستم قدیم به دلیل طراحی مبتنی بر کلاس، در مقابله با واژه (بدون کلاس)Classless به نام (باکلاس)classful خوانده شد. مزیت اصلی استفاده از CIDR این است که می توان هر فضای نشانی را تقسیم نمود تا امکان تخصیص بلوک های کوچکتر یا بزرگتر به کاربران بوجود آید.

ساختار سلسله مراتبی CIDR تحت نظارت سازمان مرجع شماره‌های تخصیص داده شده( Internet Assigned Numbers Authority یا IANA) و دفاتر ثبت منطقه ای اینترنت (Regional Internet Registry یا RIR) تخصیص نشانی‌ها در جهان را مدیریت می کند. هر RIR یک پایگاه داده WHOIS دارد که برای جستجوی عموم در دسترس است و حاوی اطلاعات مربوط به تخصیص آی پی هاست. اطلاعات این پایگاه داده در بسیاری از ابزارهایی که مکان جغرافیایی یک نشانی آی پی را مشخص می کنند نقش مرکزی دارد.



نشانی‌های ویژه





شبکه‌های خصوصی

از تقریباً 4 میلیارد نشانی آی پی، سه دامنه از آن برای شبکه بندی خصوصی رزرو شده اند. این دامنه نشانی‌ها خارج از شبکه‌های خصوصی قابل مسیر یابی نیستند و ماشین های خصوصی نمی توانند مستقیماً با شبکه‌های عمومی ارتباط داشته باشند، اما می توانند از طریق ترجمه نشانی شبکه (NAT) این کار را انجام دهند.

دامنه‌های زیر سه دامنه ای هستند که برای شبکه‌های خصوصی رزرو شده اند.





بسته هایی که نشانی خصوصی داشته باشند، عمدا توسط مسیریابها نادیده گرفته می شوند. بنابراین برقراری ارتباط بین دو شبکه خصوصی بدون داشتن امکانات اضافی امکانپذیر نیست. برای انجام این کار می توان از شبکه خصوصی مجازی (VPN) استفاده کرد.

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

به صورت اختیاری می توان بسته‌های کپسول شده (پوشش داده شده) را برای حفظ امنیت داده درهنگام عبور از شبکه عمومی، رمزگذاری نمود.



نشانی دهی پیوند-محلی Link-Local Addressing
RFC 5735 یک بلوک نشانی - 169.254.0.0/16 - برای استفاده ویژه در نشانی دهی پیوند-محلی تعریف می کند. این نشانی‌ها تنها در پیوند(مثل یک قطعه شبکه محلی ویا ارتباط نقطه به نقطه) معتبر هستند. این نشانی‌ها قابل مسیر یابی نیستند و نمی توانند نشانی مبدا یا مقصد بسته ای باشند که از اینترنت عبور می کند. نشانی‌های پیوند-محلی برای پیکربندی خودکار(Autoconfiguration) میزبان هایی که قادر نیستند از طریق DHCP و یا تنظیمات داخلی خود، نشانی بگیرند.

وقتی که این بلوک نشانی رزرو شد، هیچ ساز وکار استانداردی برای پیکربندی خودکارنشانی وجود نداشت. برای پر کردن این خلا مایکروسافت یک پیاده سازی از آن با عنوان نشانی دهی آی پی خصوصی خودکار(Automatic Private IP Addressing یا APIPA). به دلیل قدرت مایکروسافت در بازار، APIPA در میلیون ها ماشین به کار رفت و تبدیل به یک استاندارد عملی (غیر رسمی) شد. چندین سال بعد IETF یک استاندارد رسمی برای این کارکرد بانام پیکربندی پویای نشانی‌های آی پی پیوند-محلی به وجود آورد.



میزبان خانگی (Localhost)
دامنه نشانی 127.0.0.1 تا 127.255.255.255 (127.0.0.1/8) برای ارتباط میزبان خانگی نشانی‌های درون این دامنه هرگز خارج از رایانه میزبان ظاهر نمی شوند و بسته هایی که به این نشانی فرستاده شوند به همان دستگاه مجازی شبکه بازمی گردند.



نشانی هایی که به 0 یا 255 ختم می شوند
این تنهایک اشتباه عمومی است که گمان می رود هرگز نمی توان نشانی هایی که به 0 یا 255 ختم می شوند را به ماشینی تخصیص داد. این موضوع تنها در صورتی که پوشش زیرشبکه 24 بیت و یا بیشتر باشد صادق است. - شبکه‌های کلاس C و یا مطابق نمادگذاری CIDR پوشش‌های زیرشبکه 24/ تا 32/ (255.255.255.0 تا 255.255.255.255)

در نشانی دهی با کلاس تنها سه پوشش زیر شبکه (Subnet Mask) ممکن است : کلاس A - 255.0.0.0، کلاس B - 255.255.0.0 و کلاس C - 255.255.255.0 مثلاً در زیرشبک192.168.5.0/255.255.255.0 شناسه 192.168.5.0 به کل زیرشبکه اشاره می‌کند و نمی تواند به یک ماشین تنها در آن زیر شبکه تخصیص داده شود.

یک نشانی پخشی (broadcast address) به نشانی گفته می‌شود که اجازه می دهد اطلاعات به تمام ماشینهای یک زیر شبکه فرستاده شود. آدرس پخشی یک زیر شبکه طی یک عملیات "یا" ی بیتی بین مکمل بیتی پوشش زیر شبکه و شناسه شبکه به دست می آید. در مورد مثال بالا نشانی پخشی 192.168.5.255 خواهد بود. برای جلوگیری از اشتباه این نشانی نیز قابل تخصیص دادن به ماشینها نمی باشد. در یک شبکه کلاس A یا B یا C نشانی پخشی همیشه به 255 ختم می شود.

با اختراع CIDR آدرس های پخشی الزاما به 255 ختم نمی شوند.

به طور کلی اولین آدرس هر زیرشبکه، نشانی شبکه و آخرین آدرس نشانی پخشی آن شبکه هستند و بقیه نشانی‌ها را می توان برای ماشین های شبکه استفاده کرد.



ترجمه نشانی
میزبان های روی اینترنت معمولاً به جای نشانی آی پی با نام دامنه شناخته می شوند (مانند fa.wikipedia.com ، iran.ir ، google.com) اما مسیریابی در اینترنت بر اساس نام نیست و با استفاده از نشانی آی پی که به این نام‌های دامنه تعلق می گیرد، بسته‌ها مسیریابی می شوند. پس لازم است که نام‌های دامنه به نشانی‌های آی پی ترجمه شوند.

سامانه نام دامنه (DNS) کار تبدیل نام‌ها به نشانی‌ها و نشانی‌ها به نامها را انجام می دهد. DNS ساختار سلسله مراتبی دارد و می تواند ترجمه یک فضای نام را به کارساز(سرور)‌های DNS دیگر بسپارد.

سامانه نام دامنه قابل قیاس با راهنمای تلفن است که نامها را به شماره تلفن تبدیل می کند.



پایان یافتن نشانی‌ها
به دلیل رشد سریع اینترنت نشانی‌های تخصیص نیافته پروتکل اینترنت رو به اتمام است. عوامل زیر باعث سرعت بخشیدن به اتمام نشانی هاست:
دستگاه های موبایل - مانند لپ تاپ و دستیار شخصی دیجیتال(PDA)
دستگاه های همیشه روشن - مانند مودم ADSL و مودم کابلی
افزایش شمار کاربران اینترنت

راه حل استاندارد مهاجرت به پروتکل اینترنت نسخه 6 است. اما روش های زیر نیز باعث کندترشدن اتمام نشانی هاست:
ترجمه نشانی شبکه (NAT)
استفاده از شبکه‌های خصوصی
میزبانی مجازی بر پایه نام

از تاریخ آوریل ۲۰۰۸ پیش بینی‌ها حاکی از این است که نشانیهای تخصیص نیافته بین فوریه 2010 و مه 2011 تمام خواهد شد.



ترجمه نشانی شبکه (NAT)
کمبود نشانی‌های آی پی از دهه 1990 باعث پیدایش روشهای استفاده کارآمد تر از نشانی‌ها شد. یکی از این روش‌ها ترجمه نشانی شبکه است. دستگاه های NAT کل شبکه خصوصی را پشت یک نشانی آی پی عمومی پنهان می کنند. بسیاری از ارائه دهندگان اینترنت از این روش استفاده می کنند.



ساختار بسته
یک بسته آی پی از دو بخش سرآیند و داده تشکیل می شود



سرآیند
سرآیند بسته آی پی نسخه 4 از 13 فیلد تشکیل می‌شود که 12 تای آنها اجباری هستند. فیلد سیزدهم اختیاری است. این فیلدها به گونه ای در سرآیند بسته بندی می شوند که پرارزش‌ترین بایت در ابتدا بیاید.





نسخه:
اولین فیلد در سرآیند یک بسته آی پی، فیلد 4 بیتی نسخه است. مقدار این فیلد برای بسته آی پی نسخه چهار، 4 می باشد.

اندازه سرآیند (IHL): این فیلد طول سرآیند بسته را بر حسب تعداد کلمه های 32 بیتی (Word) مشخص می کند. از آنجا که در یک بسته آی پی نسخه 4 طول فیلد اختیاری ثابت نیست، اندازه سرآیند در این فیلد ذخیره می‌شود (که برابر با محل شروع فیلد داده نیز هست). کمترین مقدار مجاز برای این فیلد 5 است (RFC 791) که برابر با 160=32×5 بیت می باشد. و از آنجا که این فیلد 4 بیتی است بیشترین مقدار آن 15 کلمه یا 480=32×15 بیت است.

سرویس های متمایز: در ابتدا این فیلد به عنوان نوع سرویس (TOS) تعریف شد. اکنون این فیلد در RFC 2474 برای سرویس های متمایز (DiffServ) و در RFC 3168 برای هشدارصریح ازدحام (Explicit Congestion Notification یا ECN) تعریف می شود. فناوری های جدیدی در حال پدید آمدن هستند که نیاز به جریان بی درنگ داده‌ها دارند و از این فیلد استفاده می کنند. نمونه این فناوری ها صدا روی پروتکل اینترنت (VoIP) است که برای مبادله داده‌های صوتی دو طرفه به کار می رود.

هدف اولیه از فیلد نوع سرویس (TOS) این بود که فرستنده بسته ترجیح خود را در مورد نوع برخورد بابسته در اینترنت مشخص کند. مثلاً فرستنده می تواند با قرار دادن مقادیری در این فیلد ترجیح خودرا برای تاخیر کمتر و یا قابلیت اطمینان بیشتر اعلام کند. اما در عمل این فیلد زیاد که کارگرفته نشد و توسط اکثر مسیریاب های تجاری نادیده گرفته می شد. در نتیجه پژوهش‌ها و آزمایش‌ها برای ایجاد کاربردی برای این فیلد، تعریف فیلد سرویس های متمایز (DS) برای آن ارائه شد.

بنا به تعریف RFC 791 این فیلد از 8 بیت برای مشخص کردن نوع سرویس به شرح زیر استفاده می کند:
بیتهای 0 تا 2 : تقدم
بیت 3 : 0= تاخیر معمولی 1=تاخیر کم
بیت 4 : 0=عملکرد معمولی 1=عملکرد بالا
بیت 5 : 0= قابلیت اطمینان معمولی 1=قابلیت اطمینان بالا
بیت 6 : 0=هزینه معمولی 1=کمینه کردن هزینه‌های مالی (تعریف شده در RFC 1349)
بیت 7 : هرگز تعریف نشده است

اندازه کل بسته: این فیلد 16 بیتی اندازه کل بسته شامل سرآیند + داده را بر حسب بایت مشخص می کند. کمترین اندازه بسته 20 بایت است (20بایت سرآیند + 0 بایت داده). اندازه بیشینه بسته 65535 (مقدار بیشینه یک کلمه16 بیتی) بایت می باشد. هر میزبان لازم است که بسته‌های با طول حداقل 576 بایت را پردازش کند اگرچه میزبان های امروزی بسته‌های بسیاز بزرگتر را پردازش می کنند. در برخی از شبکه‌ها محدودیت هایی برای اندازه بسته‌ها گذاشته می‌شود که در این مورد باید بسته‌ها چندپاره (fragment) شوند.

شناسایی: این فیلد یک فیلد شناسایی است و برای شناسه گذاری یکتا بر روی قطعات مختلف یک بسته چند پاره شده بکار می روند.

پرچم‌ها: یک فیلد 3 بیتی است که برای کنترل وشناسایی قطعات یک بسته چندپاره شده به کار می رود:
بیت 0 : رزرو شده.باید همیشه 0 باشد[note ۱]
بیت 1 : چندپاره نکن (DF)
بیت 2 : قطعات بیشتر (MF)
اگر بیت DF یک (روشن) باشد و برای مسیریابی بسته نیاز به چندپاره کردن آن باشد، به ناچار بسته حذف می شود.
وقتی که یک بسته پند پاره می‌شود همه قطعات آن به استثنای قطعه آخر باید پرچم MF را مقدار 1 (روشن) بدهند.

افست قطعه: فیلدی 13 بیتی است که شماره یک قطعه را بر حسب واحدهای 8 بایتی، تسبت به نقطه شروع بسته اولیه چندپاره نشده نشان می دهد. افست اولین قطعه صفر است.

عمر باقیمانده بسته (TTL): این فیلد 8 بیتی از باقی ماندن بسته‌های سرگردان آی پی در شبکه جلوگیری می کند. مقدار این بسته توسط پیش فرض سیستم تعیین می‌شود و پس از عبور از هر مسیریاب یک شماره از این فیلد کم کی شود. اگر این مقدار صفر شود مسیریاب بسته را حذف می‌کند و یک پیام ICMP به فرستنده بسته می فرستد و فرستنده متوجه می‌شود که عمر بسته پایان یافته است. برنامه‌های traceroute بر اساس همین پیام ICMP کار می کنند.

مجموع مقابله ای سرآیند (Header Checksum): این فیلد 16 بیتی برای کشف خطا به کار می رود. در هر جهش (hop) باید مجموع مقابله ای سرآیند محاسبه و با مقدار این فیلد مقایسه شود. اگر این دو مقدار برابر نباشند به معنی بروز خطای انتقال است و بسته حذف می شود. این شیوه تنها برای کشف خطا در سرآیند است و در مورد خطای داده‌ها پروتکلی که در بسته آی پی بسته بندی (encapsulate) شده (پروتکل لایه بالاتر) مسئول است. هر دو پروتکل UDP و TCP نیز فیلد مجموع مقابله ای دارند.

پروتکل: این فیلد پروتکلی را که در بخش داده بسته استفاده شده معرفی می کند. IANA لیستی از پروتکلها وشماره آنها را ارائه می دهد که ابتدا در RFC 790 تعریف شد. از آنجا که در هر جهش (hop) فیلد TTL تغییر کرده و کاهش می یابد و ممکن است چندپارگی (fragmentation) نیز انجام شود باید در هر جهش (مثلا در هر مسیریاب) مجموع مقابله ای سرآیند از نو محاسبه شود. روش محاسبه مجموع مقابله ای در RFC 1071 بیان شده است.

نشانی مبدا: هر نشانی IPv4 از چهار بایت تشکیل شده. در این فیلد مقدار باینری هر هشت تایی (octet) از نشانی در بایت مربوطه قرار می گیرد. این نشانی فرستنده بسته است. اگر از ترجمه نشانی شبکه (NAT) استفاده شده باشد در این صورت این فیلد نشانی واقعی مبدا را مشخص نمی کند. بلکه ماشینی که عمل NAT را انجام می دهد آدرس خود را در این فیلد می گذارد و پاسخ بسته نیز به ماشین NAT فرستاده می‌شود که در آنجا به نشانی واقعی میزبان ترجمه می گردد.

نشانی مقصد: مشابه فیلد قبلی است با این تفاوت که نشانی گیرنده بسته را مشخص می کند.

انتخاب ها: این فیلد اختیاری است و غالباً مورد استفاده قرار نمی گیرد. در صورت استفاده از این فیلد، فیلد IHL باید به گونه ای مقداردهی شود که اندازه انتخابهای اضافه شده را نیز شامل شود. اگر پایان این انتخاب ها الزاماً بر پایان سرآیند منطبق نباشد می توان از نشان EOL (پایان لیست انتخابها) برای مشخص نمودن پایان انتخاب ها استفاده نمود. مقادیری که می توانند در این فیلد قرار بگیرند عبارتند از:




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



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



برخی از مهم ترین پروتکل ها به همراه شماره پروتکل به قرار زیر است:
1: پروتکل پیام کنترلی اینترنت (ICMP)
2: پروتکل مدیریت گروه اینترنت]] (IGMP)
6: پروتکل کنترل انتقال (TCP)
17: پروتکل داده نگار کاربر (UDP)
89: نخست کوتاه‌ترین مسیر باز (OSPF)
132: پروتکل انتقال کنترل جریان (SCTP)




پروتکل های کمکی
آی پی پروتکلی است که میان شبکه بندی را در لایه اینترنت امکانپذیر می‌کند و از این رو اینترنت را می سازد. آی پی از یک سیستم نشانی دهی منطقی استفاده می کند. نشانی‌های آی پی به سخت افزار گره نخورده اند و یک واسط شبکه می تواند چندین نشانی آی پی داشته باشد. میزبانها و مسیریابها نیاز دارند که ارتباط بین واسط های دستگاه و نشانه‌های آی پی را بفهمند تا بتوانند به درستی یک بسته آی پی را روی لینک به مقصد تحویل دهند. پروتکل ترجمه نشانی (ARP) ترجمه ازنشانی‌های آی پی به نشانی‌های فیزیکی (MAC Address) را انجام می دهد. پروتکل پیکربندی پویای میزبان (DHCP) برای تخصیص خودکار نشانی به میزبان ها به کار می رود.

Zohreh Gholami

امنیت پروتکل IPv6
مسلما IPv6 یکی از بزرگترین و فراگیرترین تغییراتی بود که بر روی ساختارهای پایه‌ای اینترنت اعمال شد. تغییری که در طول 20 سال گذشته بی سابقه بوده است. در حقیقت نسخه 1 تا 3 پروتکل IP هیچگاه به کار برده نشد، همین اتفاق برای نسخه پنجم نیز افتاد. IPv4 تا زمانی که تمامی پروتکل‌ها به درستی وظایف خود را انجام می‌دانند یک چیز واقعاً مفید بود، به خصوص که طراحی آن به سال 1970 باز می گشت و امتحان خود را پس داده بود. اما این مجموعه یک سری مشکلات داشت هر کامپیوتر بر روی شبکه احتیاج به آدرس اینترنتی مخصوص خود داشت و IPv4 فقط 32 بیت داشت. چون 30 سال قبل به علت مسائل تکنیکی تعداد کل وسائل مربوط به شبکه از 32^2 یا 4,294,967,296 کمتر بود – چیزی نزدیک به 4 میلیارد – که مشکل بزرگی به نظر نمی‌رسید.

اما امروزه با وجود صدها میلیون استفاده کننده اینترنت و در حالیکه آدرس‌های اینترنتی بر روی تلفن‌های همراهی که از جستجوگرهای اینترنتی کوچک استفاده می‌کنند و وسائل بازی و خانگی مانند یخچال و تلویزیون و... که به زودی و برای راحتی و کارایی بیشتر قرار است به اینترنت وصل شوند به کار برده شود کاملا مشخص می‌شود که چرا این 32 بیت آدرس به زودی تمام خواهد شد. بنابراین لزوم استفاده از IPv6 مطرح شد. در این راستا مهمترین تغییر چهار برابر شدن فضای آدرس دهی از 32 به 128 بیت درنسخه جدید IP یعنی IPv6 بود .در عمل از فضای آدرس دهی جدید به خوبی استفاده نخواهد شد، با این وجود هیچ گاه مشکل کمبود آدرس به وجود نخواهد آمد. به طور خلاصه برای هر کدام از ما 60 هزار میلیارد آدرس IP فراهم خواهد شد. گسترش IPv6 احتیاج به بازنگری در سیستمهای شبکه‌ای و تغییر پیکر بندی صدها میلیون کامپیوتر در سراسر جهان خواهد داشت. مساله امنیت نیز یکی از مهمترین مسایل در این نسخه می‌باشد که بایستی بصورت وسیع به آن پرداخته شود.



امکانات و ویژگی‌های جدید IPv6
شاید نیاز به توسعه تعداد آدرس‌های IP با توجه به وضعیت بحرانی موجود به عنوان یکی از اهداف مهم طراحی و پیاده سازی IPv6 ذکر شود ولی تمام داستان به اینجا ختم نمی‌شود و دلایل متعدد دیگری نیز در این زمینه مطرح می‌باشد IPv6. بگونه‌ای طراحی شده است تا ضمن ایجاد یک محیط همگرا زمینه استفاده از صوت، تصویر و سرویس‌های داده را بر روی شبکه‌ای با زیرساخت IP فراهم نماید. بدین منظور، امکانات و پتانسیل‌های پیشرفته‌ای در IPv6 پیش بینی شده است:


افزایش فضای آدرس دهی: یکی از مهم ترین مزایای IPv6، افزایش تعداد فضای آدرس دهی است. فضای آدرس دهی IPv6 به اندازه‌ای زیاد است که شاید نتوان آن را با فضای آدرس دهی IPv4 مقایسه نمود. در IPv4، تعداد 4,294,967,296 فضای آدرس دهی وجود دارد (256 به توان 4 معادل با 2 به توان 32 آدرس) در حالی که این عدد در IPv6 به رقم 340,282,366,920,938,463,463,374,607,431,768,211,456 می‌رسد (256 به توان 16 معادل با 2 به توان 128 آدرس). افزایش آدرس‌های سراسری قابل روت به سازمان‌ها این اجازه را خواهد داد که مسیر خود را از آدرس‌های IP غیرقابل روت ارائه شده توسط NAT جدا نموده و برنامه‌های مورد نیاز خود را در یک محیط واقعی end-to-end استفاده نمایند.

پیکربندی اتوماتیک stateless: پیکربندی اتوماتیک IP در IPv4 از طریق سرویس دهنده DHCP انجام می‌شود. در IPv6 این کار توسط DHCPv6 انجام خواهد شد. در IPv6 این وضعیت توسعه و به پیکربندی اتوماتیک stateless تعمیم یافته است. با استفاده از پیکربندی اتوماتیک stateless به دستگاه‌ها اجازه داده می‌شود که پیکربندی آدرس‌های IPv6 خود را از طریق ارتباط با یک روتر مجاور انجام دهند .با این که پیکربندی اتوماتیک stateless برای اکثر محیط‌ها دارای مزایائی است، ولی در شبکه هائی که دارای تعداد زیادی از دستگاه‌ها با قابلیت محدود مدیریتی می‌باشند، مسائلی را به دنبال خواهد داشت. یک شبکه مبتنی بر تعداد زیادی سنسور که ممکن است شامل میلیون‌ها دستگاه بی سیم راه دور باشد که صرفا" بر روی شبکه قابل دسترس می‌باشند، نمونه‌ای در این زمینه است.

پیکربندی اتوماتیک به سازمان‌ها کمک خواهد کرد که هزینه نگهداری و مدیریت شبکه خود را کاهش دهند .با این که پیکربندی اتوماتیک آدرس دهی خصوصی موسوم به APIPA برگرفته از Automatic Private IP Addressing، دارای خصایص مشابهی در خصوص پیکربندی است ولی ماهیت آن با پیکربندی اتوماتیک stateless کاملا" متفاوت است APIPA از یک محدوده خاص فضای آدرس دهی) IPاز محدوده IP:169.254.0.1 تا (IP:169.254.255.254 در مواردی که یک سرویس دهنده DHCP در شبکه موجود نباشد و یا سرویس گیرنده قادر به برقراری ارتباط با آن نباشد، استفاده می نماید. از پروتکل ARP برگرفته از Address Resolution) (Protocol به منظور بررسی منحصربفرد بودن آدرس IP بر روی یک شبکه محلی (LAN ) استفاده می‌گردد. زمانی که یک سرویس دهنده DHCP در دسترس قرار بگیرد، آدرس‌های IP سرویس گیرندگان به صورت اتوماتیک بهنگام خواهند شد.

extension header با این که هدر IPv6 در مقام مقایسه با IPv4 بسیار ساده تر شده است، ولی امکان ارائه قابلیت‌های پیشرفته در سطح هدر و بسته اطلاعاتی IP پیش بینی شده است. با اضافه کردن هدر به هدر پایه IPv6 قابلیت‌های چشمگیری به آن اضافه شده است. بدین ترتیب، هدر پایه ثابت خواهد ماند و در صورت ضرورت می‌توان قابلیت‌های جدید را از طریق extension header به آن اضافه نمود.

امنیت اجباری: با این که در IPv4 امکان استفاده از IPsec برگرفته از( Internet Protocol security ) وجود دارد، ولی توجه داشته باشید که ویژگی فوق به عنوان یک قابلیت جدید به پروتکل فوق اضافه می‌گردد تا از آن در مواردی نظیر tunneling، رمزنگاری شبکه به منظور دستیابی راه دور VPNs برگرفته از ( Virtual Private Networks ) و ارتباط با سایت‌ها استفاده گردد. تعداد زیادی از سازمان‌ها از پروتکل IPsec در موارد خاصی استفاده می نمایند ولی وجود موانعی نظیر NAT، می‌تواند زمینه بکارگیری آن را با مشکل مواجه نماید .در IPv6، پروتکل IPsec به عنوان بخشی الزامی در پیاده سازی مطرح شده است تا به کمک آن یک زیرساخت امنیتی مناسب به منظور ارائه سرویس‌های امنتیی نظیر تائید، یکپارچگی و اعتمادپذیری فراهم گردد . ظرفیت عملیاتی IPsec به گونه‌ای است که سازمان‌ها به کمک آن می‌توانند وضعیت مدل امنیتی خود را بهبود و سیاست‌های امنیتی خود را توسعه دهند.



فواید IPv6
ویژگی‌های جدید IPv6 فواید زیادی را برای کسب و کارهای مختلف به ارمغان می‌آورد:

•کاهش هزینه‌های مدیریت شبکه: ویژگی‌های auto-configuration و آدرس‌دهی سلسله مراتبی مدیریت شبکه IPv6 را آسان می‌کند.

•بهینه سازی برای شبکه‌های نسل آینده(NGN): رها شدن از NAT مدل Peer-To-Peer را مجدداً فعال می‌کند و به پیاده سازی application ها، ارتباطات و راه‌حل‌های متحرک جدید مثل VOIP کمک می‌کند.

•محافظت از دارایی‌های شرکت: IPSec مجتمع، IPv6 را ذاتاً امن می‌کند و امکان داشتن یک استراتژی متحد برای کل شبکه را فراهم می‌کند.

•محافظت از سرمایه‌گذاری: امکان گذر و انتقال آسان و برنامه‌ریزی شده از IPV4 به IPV6. امکان حضور هر دو پروتکل در فاز انتقال وجود دارد.



بررسی مشکلات امنیتی IPv6
شاید بزرگترین مناقشه بر سر موضوع امنیت بود. همه بر این اصل که امنیت لازم است اشتراک نظر داشتند. دعوا بر سر چگونگی رسیدن به امنیت و محل پرداختن به آن بود. اولین محل پرداختن به امنیت لایه شبکه است. استدلال موافقین مبنی بر آن بود که پیاده سازی امنیت در لایه شبکه، سرویسی استاندارد را فراهم می‌آورد که تمام برنامه‌های کاربردی بدون هیچگونه برنامه ریزی قبلی می‌توانند از آن بهره بگیرند. استدلال مخالفین نیز آن بود که برنامه‌های کاربردی امن، عموماً به هیچ مکانیزمی کمتر از End-to-End Encryption احتیاج ندارند، به نحوی که پروسه مبداخودش داده‌های ارسالی خود را رمز کرده و پروسه مقصد آنها را از رمز خارج کند.

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



امنیت در IPv6
امنیت یکی از مشخصات داخلی پروتکل IPv6 است که دارای هر دو مشخصه تصدیق (Authentication) و رمزنگاری (Encryption) در لایه IP پروتکل جدید است. IETF سازمانی است که به گروه کاری امنیت در IP معروف است. این سازمان وظیفه دارد که مکانیزم های امنیتی مورد نیاز در لایه‌های مختلف IP را هم در IPv6 و هم در IPv4 جهت گسترش و بهبود استانداردهای مورد نیاز بر عهده گیرد.

همچنین این گروه وظیفه دارد پروتکل‌های مدیریتی کلید عمومی(Key Management Protocols) را جهت استفاده بیشتر در شبکه جهانی اینترنت توسعه و گسترش دهد. تصدیق (Authentication) این قابلیت را به گیرنده بسته می‌دهد که مطمئن شود آدرس مبدا معتبر بوده و بسته در طول زمان انتقال دچار تغییر و دستکاری نخواهد شد. رمز نگاری(Encryption) اطمینان می بخشد که تنها گیرنده اصلی بسته می‌تواند به محتویات آن دست یابد. به عبارت دیگر رمز نگاری باعث می‌شود که تنها گیرنده‌ای که بسته به نام او ارسال شده است، می‌تواند به محتویات آن دسترسی داشته باشد. برای بررسی و تحلیل این مزایا یک سیستم کلیدی بکار گرفته می‌شود که به موجب آن فرستنده‌ها و گیرنده‌ها بر روی یک مقدار کلیدی که مورد استفاده قرار می‌گیرد با هم به توافق می‌رسند. سیستم مدیریت کلید عمومی که توسط طراحان IPv6 پذیرفته شده است، مکانیزم ISAKMP می‌باشد، که با ایجاد و تولید کلید رمز سر و کار دارد و روشهای اجرای عمومی پروتکل مدیریت کلید را تامین می‌کند. پیغامهای ISAKMP با استفاده از پروتکل UDP رد و بدل می‌شوند و از شماره پورت 500 استفاده می‌کند.

IPv6 لزوم IPSEC را اجباری می‌کند و درنتیجه یک قالب امنیتی یک پارچه برای ارتباطات اینترنتی ایجادمی‌کند. IPSEC برای پیاده‌سازی رمزنگاری و نیز تصدیق استفاده می‌شود. در بسیاری از پیاده‌سازی‌های IPv4 امکان فعال سازی IPSEC نمی‌باشد و در نتیجه سطح امنیت کاهش می‌یابد.



پروتکل امنیت در لایه شبکه IPSec
همانگونه که ذکر شد، بحث امنیت داده‌ها و اطلاعات در IPv6 از اهمیت بالایی برخوردارست. با گسترش حملات کامپیوتری، اصالت، جامعیت، هویت‌شناسی و محرمانگی اطلاعات خصوصاَ اطلاعات حیاتی افراد و سازمانها در معرض خطر قرار خواهد گرفت. از این رو استفاده از پروتکل IPSec، باعث ایمن سازی فضای اطلاعات خواهد شد. پروتکل IPSec یکی از استانداردهای VPN است که با استفاده از مکانیزم های هویت‌شناسی و رمزنگاری مانع از گوش دادن به داده‌ها یا دستکاری و خراب کاری آنها می‌شود. قابل توجه‌ترین موارد استفاده از آن به صورت شبکه به شبکه و نیز دسترسی از راه دور(کامپیوتر به شبکه) می‌باشند. در واقع امنیت شبکه‌های خصوصی مجازی VPN از چندین روش امکانپذیر می‌باشد که عبارتند از دیوار آتش, IPSec , AAA Server و کپسوله سازی. اما روش IPSec به علت امن بودن، پایداری بالا، ارزان بودن، انعطاف پذیر بودن و مدیریت بالا مورد توجه قرار گرفته است.

مطابق با تعریف IETF پروتکل IPSec به این شکل تعریف می‌شود: "یک پروتکل امنیتی در لایه شبکه که خدمات رمزنگاری را تامین می‌کند. خدماتی که بصورت منعطف به پشتیبانی ترکیبی از تایید هویت، جامعیت، کنترل دسترسی و محرمانگی می‌پردازد" . پروتکل IPSec از IKE به عنوان مدیریت کلید استفاده می‌کند. این پروتکل مخصوصا برای بسته‌های پروتکل IP طراحی شده و بر خلاف PPTP امنیت را برای سایر پروتکل‌ها فراهم نمی‌آورد. بعلاوه شامل دو مد رمزنگاری است که transport و tunnel نام دارند و هر یک سطحی از امنیت را فراهم می‌آورند. امروزه این پروتکل یکی از مورد توجه‌ترین پروتکل‌های امنیتی محسوب می‌شود و از جمله اینکه هر دو شرکت بزرگ Cisco و Microsoft در محصولات خود پشتیبانی از IPSec را گنجانده اند.



پروتکل IPSec از دیدگاه شبکهIPSec
این پروتکل در لایه ٣ عمل می‌کند و شامل پروتکل‌های AH و ESP می‌باشد. IPSec از AH به منظور هویت‌شناسی و جامعیت مبدا بدون استفاده از رمزنگاری بهره می‌گیرد، درحالی که ESP هویت‌شناسی و جامعیت مبدا را به کمک رمزنگاری فراهم می‌آورد. پروتکل IPSec دارای دو مد عملیاتی انتقال و تونل است. در مد انتقال مکانیزم رمز نگاری روی قسمت داده‌ای بسته IP اعمال می‌شود و سرآیند بسته IP تغییر نخواهد کرد. بنابراین مبدا و مقصد نهایی بسته ممکن است توسط افراد غیر مجاز مشاهده شود، اما چون در این مد سرآیند لایه ٤ رمزنگاری شده است، اطلاع دقیق از نوع و کیفیت بسته ارسالی برای کابران غیر مجاز امکانپذیر نخواهد بود. معمولاَ از این مد زمانی استفاده می‌شود که هم مبدا و هم مقصد پروتکل IPSec را پشتیبانی نماید. در مد تونل، تمامی بسته IP رمزنگاری می‌شود و سپس یک سرآیند جدید به بسته رمزنگاری شده الحاق می‌گردد. از این مد زمانی استفاده می‌شود که یک یا هر دو طرف اتصال IPSec دروازه‌های امنیتی باشند که از این پروتکل حمایت می‌کنند، در حالی که مبدا و مقصد اصلی که در پشت این دروازه‌ها قرار دارند پروتکل IPSec را پشتیبانی نمی‌کنند. در این حالت مبدا و مقصد اصلی بسته‌ها از دید کاربران غیر مجاز پنهان خواهد ماند.



پروتکل های IPSec
خانواده پروتکل IPSec شامل دو پروتکل است. یعنی سرآیند احراز هویت یا AH (Authentication Header) و ESP هر دوی این پروتکل‌ها از IPSec مستقل خواهد بود.



پروتکل AH
به طور خلاصه پروتکل AH در واقع تأمین کنندة سرویس های امنیتی زیر خواهد بود:
1. تمامیت داده ارسالی
2. احراز هویت مبدا داده ارسالی
3. رد بسته‌های دوباره ارسال شده

این پروتکل برای تمامیت داده ارسالی از HMAC استفاده می‌کند و برای انجام این کار مبنای کارش را مبتنی بر کلید سری قرار می‌دهد که payload پکت و بخش هایی تغییر ناپذیر سرآیند IP شبیه IP آدرس خواهد بود. بعد از اینکار این پروتکل سرآیند خودش را به آن اضافه می‌کند در شکل زیرسرآیندها و فیلدهای AH نمایش داده شده است.


سرآیند AH،24 بایت طول دارد. حال به توضیح فیلدهای این پروتکل می پردازیم.
اولین فیلد همان Next Header می باشد. این فیلد پروتکلهای بعدی را تعیین می‌کند. در حالت Tunnel یک دیتاگرام کامل IP کپسوله می‌شود بنابراین مقدار این فیلد برابر 4 است. وقتی که کپسوله کردن یک دیتا گرام TCP در حالت انتقال mode) (Transport باشد، مقدار این فیلد برابر 6 خواهد شد
فیلد payload length همانطوریکه از نامش پیداست طول payload را تعیین می‌کند.
فیلد Reserved از دو بایت تشکیل شده است.برای آینده در نظر گرفته شده است.
فیلد security parameter Index یا SPI از 32 بیت تشکیل شده است. این فیلد از SA تشکیل شده که جهت باز کردن پکت‌های کپسوله شده بکار می‌رود. نهایتاً 96 بیت نیز جهت نگهداری احراز هویت پیام Hash یا (HMAC) بکار می‌رود.
HMAC حفاظت تمامیت دادهٔ ارسالی را برعهده دارد. زیرا فقط نقاط نظیر به نظیر از کلید سری اطلاع دارند که توسط HMAC بوجود آمده و توسط همان چک می‌شود.

چون پروتکل HA حفاظت دیتاگرام IP شامل بخشهای تغییر ناپذیری مثل IP آدرس ها نیز هست، پروتکل AH اجازه ترجمه آدرس شبکه را نمی‌دهد. NAT یا ترجمه آدرس شبکه در فیلد IP آدرس دیگری (که معمولاً IP آدرس بعداً می‌باشد) قرار می‌گیرد. و به این جهت تغییر بعدی HMAC معتبر نخواهد بود. در شکل زیر حالتهای انتقال و تونل در پروتکل AH به نمایش در آمده است.همان طور که می بینید این پروتکل در این دو حالت ارتباط امن بین دو نقطه انتهائی که در دو شبکه مجزا قرار دارند را فراهم می‌آورد، همچنین ارتباط امن بین دو نقطه در یک شبکه داخلی و یک نقطه انتهائی و یک مسیر یاب یا حفاظ دیواره آتش(Firewall) را ممکن می سازد.



پروتکل (Encapsulation Security Payload(ESP
پروتکل ESP سرویس های امنیتی زیر را ارائه می‌کند:
محرمانگی
احراز هویت مبدا داده ارسالی
رد بسته‌های دوباره ارسال شده

در واقع پروتکل ESP هم امنیت تمامیت داده (سلامت داده‌های ارسالی) پکت هایی که از HMAC استفاده می‌کنند را تامین کنید و هم محرمانگی از طریق اصول رمزنگاری (Encryption principle) بکار گرفته شده .بعد از رمزنگاری پکت و محاسبات مربوط به HMAC، سرآیند ESP محاسبه و به پکت اضافه می‌شود. سرآیند ESP شامل دو بخش است که مطابق شکل زیر نمایش داده شده است.

اولین 32 بیت سرآیند ESP همان SPI است که در SA بکار گرفته شده و جهت بازگشایی پکت کپسوله شده ESP بکار می‌رود.
دومین فیلد همان شماره توالی یا Sequence Number می‌باشد که به جهت حفاظت از تهاجمات داده‌های بازگشتی استفاده می‌شود.
سومین فیلد همان بردار مقدار اولیه یا Initialization Vector (IV) می‌باشد. این فیلد نیز برای پردازش رمزنگاری بکار می‌رود. الگوریتم های رمزنگاری متقارن اگر از IV استفاده نکنند، مورد تهاجم متوالی روی پکت قرار می‌گیرد. IV این اطمینان را می‌دهد تا دو مشخصه Payload روی دو Payload رمز شده مختلف قرار گیرد. پردازش رمزنگاری در IPSec در دو بلوک رمز (Cipher) بکار می‌رود. بنابراین اگر طول Payload‌ ها تک تک باشند. Payload , IPSec‌ها را به شکل لایه لایه قرار می‌دهد. و از اینرو طول این لایه‌ها همواره در حال اضافه شدن است. طول لایه (Pad length) 2 بایت است.
فیلد بعدی که همان Next header می‌باشد، سرآیند بعدی را مشخص می‌کند.

این پروتکل HMAC است که مانند پروتکل HA از تمامیت و سلامت داده‌های ارسالی حفاظت می‌کند. فقط این سرآیند است که می‌تواند به Payload اعتبار دهد. سرآیند IP شامل پروسه محاسبه نمی‌باشد.

NAT هیچ ارتباطی به کار ESP ندارد و این بخش هنوز هم ممکن است بخشی از IPSec باشد و با آن ترکیب گردد. NAT پیمایشی (NAT-Traversal) راه حلی است در کپسوله کردن پکت‌های ESP به همراه پکت‌های UDP. در شکل زیر حالت های انتقال و تونل در پروتکل ESP به نمایش در آمده است.

همان طور که می بینید این پروتکل در این دو حالت ارتباط امن بین دو نقطه انتهائی که در دو شبکه مجزا قرار دارند را فراهم می‌آورد، همچنین ارتباط امن بین دو نقطه در یک شبکه داخلی و یک نقطه انتهائی و یک مسیر یاب یا حفاظ دیواره آتش(Firewall) را ممکن می سازد.



پروتکل IKE
IKE پروتکلی است که چندین مسئله مهم در ارتباط امن را تنظیم می‌کند. احراز هویت نقاط نظیر و کلید تبادلی متقارن. این پروتکل مجمع امنیت (SA) را ایجاد کرده و در SAD یا پایگاه مجمع امنیت (Security Association data base ) قرار می‌دهد. IKE پروتکلی است که عموماً نیازمند فضای کاربر فوق العاده‌ای است و روی سیستم‌های عامل پیاده سازی نمی‌شود. پروتکل IKE، از پورت شماره UDP/500 استفاده می‌کنند. IKE از دو مرحله تشکیل شده است. اولین مرحله همان تشکیل مجمع امنیت مدیریت کلید (Internet Security Association and key) یا (ISAKMP SA) می‌باشد. در مرحله دوم ISAKMPSA، برای مذاکره و تنظیم IPSec , SA بکار می‌رود. احراز هویت مرحله اول نقاط نظیر معمولاً بر مبنای کلیدهای پیش اشتراک شده (Per shared Keys )، کلیدهای RSA و گواهینامه X509 بوجود می‌آید. مرحله اول از دوحالت پشتیبانی مینماید. حالت اصلی (main mode) و حالت تهاجمی (aggressive mode) این دو حالت نقاط نظیر را احراز هویت کرده و ISAKMP SA را تنظیم می نمایند. در حالت تهاجمی تنها نصف تعداد پیامها در این مورد تحت پوشش قرار می‌گیرد.

به هر حال این خود یک اشکال محسوب می‌شود، زیرا این حالت نمی‌تواند از هویت نقاط نظیر پشتیبانی حفاظت نماید و از این جهت است که این حالت با داشتن کلید پیش اشتراکی (PSK) مستعد حملات میان راهی (man-in-the-middle) خواهد بود. از طرف دیگر تنها منظور از حالت تهاجمی همین است. در حالت اصلی نه تنهااز کلید پیش شرط مختلف نمی‌تواند پشتیبانی نمایدبلکه نقاط نظیر به نظیر را نیز نمی‌شناسد. در حالت تهاجمی که از حفاظت هویت افراد / نقاط حمایت نمی‌کند و هویت کاربران انتهایی را چنین شفاف انتقال می‌دهد. بنابراین نقاط نظیر هر چیز را خواهد دانست پیش از آنکه احراز هویتی در مورد جا و کلیدهای پیش شرط بتواند بکار برد. در مرحله دوم پروتکل IKE که SA‌ های پیشنهادی تبادل می‌شوند و توافقاتی بر پایه ISAKMP SA برای SA انجام خواهد شد. ISAKMP SA احراز هویت برای حفاظت از تهاجمات میان راهی را تهیه می بیند. دومین مرحله از حالت سریع استفاده می‌کند. معمولاً دو نقطه نظیر روی SAKMP SA با هم مذاکره و توافق می‌کنند که هر دو طرف معمولاً روی چندین مذاکره (حداقل 2 تا) بطور غیر مستقیم توافق کنند.



مفاهیم اساسی
با استفاده از پروتکل IPsec شما می‌توانید پنهان کردن داده‌ها، صحت داده ها، اعتبار یا سندیت و Anti Reply Protection را برای ترافیک شبکه به صورت زیر ایجاد کنید:

-ایجاد امنیت انتها به انتها از کاربر به کارگزار، از کارگزار به کارگزار و از کاربر به کاربر در مد انتقال IPSec

-ایجاد دسترسی راه دور امن از کاربر به دروازه بر روی اینترنت با استفاده از پروتکل تونل سازی لایه ٢ (L2TP) امن شده بوسیله IPSec .

- IPSec یک ااتصال دروازه به دروازه امن را روی WAN اختصاصی یا یک اتصال تحت اینترنت با استفاده از تونل L2TP/IPSec یا مد تونل IPSec فراهم می‌کند. (مد تونل IPSec برای کار با VPN دسترسی راه دور طراحی نشده است. ) سیستم‌عامل WIN2000 پیکربندی و مدیریت امنیت شبکه را بوسیله IP Security آسان کرده است.



SSL چیست؟
(SSL یا Secure Socket Layer) راه‌حلی جهت برقراری ارتباطات ایمن میان یک سرویس‌دهنده و یک سرویس‌گیرنده است که توسط شرکت Netscape ارایه شده است. در واقع SSL پروتکلی است که پایین‌تر از لایه کاربرد (لایه 4 از مدل TCP/IP) و بالاتر از لایه انتقال (لایه سوم از مدل TCP/IP) قرار می‌گیرد. (شکل زیر) مزیت استفاده از این پروتکل بهره‌گیری از موارد امنیتی تعبیه شده آن برای امن کردن پروتکل‌های غیرامن لایه کاربردی نظیرHTTP ،LDAP ،IMAP و... می‌باشد که براساس آن الگوریتم‌های رمزنگاری بر روی داده‌های خام (plain text) که قرار است از یک کانال ارتباطی غیرامن مثل اینترنت عبور کنند، اعمال می‌شود و محرمانه ماندن داده‌ها را در طول کانال انتقال تضمین می‌کند. به بیان دیگر شرکتی که صلاحیت صدور و اعطاء گواهی‌های دیجیتال SSL را دارد برای هر کدام از دو طرفی که قرار است ارتباطات میان شبکه‌ای امن داشته باشند، گواهی‌های مخصوص سرویس‌دهنده و سرویس‌گیرنده را صادر می‌کند و با مکانیزم‌های احراز هویت خاص خود، هویت هر کدام از طرفین را برای طرف مقابل تأیید می‌کند، البته غیر از این‌کار می‌بایست تضمین کند که اگر اطلاعات حین انتقال مورد سرقت قرار گرفت، برای رباینده قابل درک و استفاده نباشد که این‌کار را با کمک الگوریتم‌های رمزنگاری و کلیدهای رمزنگاری نامتقارن و متقارن انجام می‌دهد.



ملزومات یک ارتباط مبتنی بر پروتکل امنیتی SSL
برای داشتن ارتباطات امن مبتنی بر SSL عموماً به دو نوع گواهی دیجیتال SSL یکی برای سرویس‌دهنده و دیگری برای سرویس‌گیرنده و یک مرکز صدور و اعطای گواهینامه دیجیتال یا CA نیاز می‌باشد. وظیفه CA این است که هویت طرفین ارتباط، نشانی‌ها، حساب‌های بانکی و تاریخ انقضای گواهینامه را بداند و براساس آن‌ها هویت‌ها را تعیین نماید.



اجزای پروتکل SSL
پروتکل SSL دارای دو زیر پروتکل تحت عناوین زیر می‌باشد.
SSL Record Protocol که نوع قالب‌بندی داده‌های ارسالی را تعیین می‌کند.
SSL Handshake Protocol که براساس قالب تعیین شده در پروتکل قبلی، مقدمات ارسال داده‌ها میان سرویس‌دهنده‌ها و سرویس‌گیرنده‌های مبتنی بر SSL را تهیه می‌کند.


بخش‌بندی پروتکل SSL به دو زیر پروتکل دارای مزایای چندی است. ازجمله:

اول: در ابتدای کار و طی مراحل اولیه ارتباط (Handshake) هویت سرویس‌دهنده برای سرویس‌گیرنده مشخص می‌گردد.

دوم: در همان ابتدای شروع مبادلات، سرویس‌دهنده و گیرنده بر سر نوع الگوریتم رمزنگاری تبادلی توافق می‌کنند.

سوم: در صورت لزوم، هویت سرویس گیرنده نیز برای سرویس‌دهنده احراز می‌گردد.

چهارم: در صورت استفاده از تکنیک‌های رمزنگاری مبتنی بر کلید عمومی، می‌توانند کلیدهای اشتراکی مخفی را ایجاد نمایند.

پنجم: ارتباطات بر مبنای SSL رمزنگاری می‌شوند.الگوریتم‌های رمزنگاری پشتیبانی شده در SSL در استاندارد SSL، از اغلب الگورتیم‌های عمومی رمزنگاری و مبادلات کلید (Key Exchcenge Algorithm) نظیر DES ،DSA ،KEA ، MD5، RC2،RC4، RSA و RSA Key Exchauge ،SHA-1 ،Skipjack و 3DES پشتیبانی می‌شود و بسته به این‌که نرم‌افزارهای سمت سرویس‌دهنده و سرویس‌دهنده نیز از موارد مذکور پشتیبانی نمایید، ارتباطاتSSL می‌تواند براساس هر کدام این از الگوریتم‌ها صورت پذیرد. البته بسته به طول کلید مورد استفاده در الگوریتم و قدرت ذاتی الگوریتم می‌توان آن‌ها را در رده‌های مختلفی قرار دارد که توصیه می‌شود با توجه به سناریوهای موردنظر، از الگوریتم‌های قوی‌تر نظیر 3DES با طول کلید 168 بیت برای رمزنگاری داده‌ها و همچنین الگوریتم 1-SHA برای مکانیزم‌های تأیید پیغام 5 MD استفاده شود و یا این‌که اگر امنیت در این حد موردنیاز نبود، می‌توان در مواردی خاص از الگوریتم رمزنگاری 4 RC با طول کلید 40 بیت و الگوریتم تأیید پیغام 5 MD استفاده نمود. (شکل زیر)



نحوه عملکرد داخلی پروتکلSSL
همان‌طور که می‌دانید SSL می‌تواند از ترکیب رمزنگاری متقارن و نامتقارن استفاده کند. رمزنگاری کلید متقارن سریع‌تر از رمزنگاری کلیدعمومی است و از طرف دیگر رمزنگاری کلید عمومی تکنیک‌های احراز هویت قوی‌تری را ارایه می‌کند. یک جلسه SSL Session) SSL) با یک تبادل پیغام ساده تحت عنوان SSL Handshake شروع می‌شود. این پیغام اولیه به سرویس‌دهنده این امکان را می‌دهد تا خودش را به سرویس‌دهنده دارای کلید عمومی معرفی نماید و سپس به سرویس‌گیرنده و سرویس‌دهنده این اجازه را می‌دهد که یک کلید متقارن را ایجاد نمایند که برای رمزنگاری‌ها و رمزگشایی سریع‌تر در جریان ادامه مبادلات مورد استفاده قرار می‌گیرد.


گام‌هایی که قبل از برگزاری این جلسه انجام می‌شوند براساس الگوریتم RSA Key Exchange عبارتند از:

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

- سرویس‌دهنده نیز در پاسخ نسخه SSL مورد استفاده خود، تنظیمات رمزگذاری و داده تصادفی تولید شده توسط خود را به سرویس‌گیرنده می‌فرستد و همچنین سرویس‌دهنده گواهینامه خود را نیز برای سرویس‌گیرنده ارسال می‌کند و اگر سرویس‌گیرنده از سرویس‌دهنده، درخواستی داشت که نیازمند احراز هویت سرویس‌گیرنده بود، آن را نیز از سرویس‌گیرنده درخواست می‌کند.

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

- سرویس‌گیرنده یک مقدار به نام Secret Premaster را برای شروع جلسه ایجاد می‌کند و آن را با استفاده از کلید عمومی (که اطلاعات آن معمولاً در سرویس‌دهنده موجود است) رمزنگاری می‌کند و این مقدار رمز شده را به سرویس‌دهنده ارسال می‌کند.

- اگر سرویس‌دهنده به گواهینامه سرویس‌گیرنده نیاز داشت می‌بایست در این گام برای سرویس‌دهنده ارسال شود و اگر سرویس‌گیرنده نتواند هویت خود را به سرویس‌دهنده اثبات کند، ارتباط در همین‌جا قطع می‌شود.

- به محض این‌که هویت سرویس‌گیرنده برای سرویس‌دهنده احراز شد، سرویس‌دهنده با استفاده از کلید اختصاصی خودش مقدار Premaster Secret را رمزگشایی می‌کند و سپس اقدام به تهیه مقداری به نام Master Secret می‌نماید. - هم سرویس‌دهنده و هم سرویس‌گیرنده با استفاده از مقدار master Secret کلید جلسه (Session Key) را تولید می‌کنند که در واقع کلید متقارن مورد استفاده در عمل رمزنگاری و رمزگشایی داده‌ها حین انتقال اطلاعات است و در این مرحله به نوعی جامعیت دادها بررسی می‌شود.

- سرویس‌گیرنده پیغامی را به سرویس‌دهنده می‌فرستد تا به او اطلاع دهد، داده بعدی که توسط سرویس‌گیرنده ارسال می‌شود به وسیله کلید جلسه رمزنگاری خواهد شد و در ادامه، پیغام رمز شده نیز ارسال می‌شود تا سرویس‌دهنده از پایان یافتن Handshake سمت سرویس‌گیرنده مطلع شود.

- سرویس‌دهنده پیغامی را به سرویس‌گیرنده ارسال می‌کند تا او را از پایان Handshake سمت سرویس‌دهنده آگاه نماید و همچنین این که داده بعدی که ارسال خواهد شد توسط کلید جلسه رمز می‌شود.

- در این مرحله SSL Handshake تمام می‌شود و از این به بعد جلسه SSL شروع می‌شود و هر دو عضو سرویس‌دهنده و گیرنده شروع به رمزنگاری و رمزگشایی و ارسال داده‌ها می‌کنند. (همانند شکل فوق)



حملات تأثیرگذار برSSL
SSL نیز از حملات و نفوذهای مختلف در امان نیست. بعضی از حملات متداولی که براین پروتکل واقع می‌شود عبارتند ازTraffic Analysis : یا تحلیل ترافیک، حملات Certification Injection و حملات از نوع Man in the middle.



SSH چیست؟
به عنوان یک تعریف بسیار ساده می‌توان SSH را این گونه بیان کرد : SSH یک روش قدرتمند و پر استفاده و البته نرم‌افزاری است که برای دستیابی به امنیت شبکه طراحی شده است. هربار که داده‌ای از طرف کامپیوتر به شبکه فرستاده می‌شود، به صورت خودکار توسط SSH کدگذاری می‌شود. هنگامی که داده به مقصد خود می‌رسد به صورت خودکار کدگشایی می‌شود. نتیجه‌ای که خواهد داشت کدگذاری نامرئی خواهد بود. بدین صورت کاربران نهایی درگیر پروسه کدگذاری و کدگشایی نخواهند شد و از ارتباط امن خود می‌توانند به خوبی استفاده کنند. امنیت سیستم کدگذاری SSH با استفاده از الگوریتم‌های پیچیده و مدرن تضمین می‌شود. تا آنجا که امروزه در سیستم‌های حیاتی و بسیار حساس از این سیستم استفاده می‌شود. به صورت معمول محصولاتی که از SSH استفاده می‌کنند از دو بخش خادم و مخدوم ( Client/Server ) تشکیل می‌شوند. Client‌ها با استفاده از تنظیمات سرور مربوطه به آن وصل می‌شوند و سرور وظیفه تایید هویت و قبول و یا رد ارتباط را به عهده دارد. نکته : باید توجه داشته باشید تشابه نام Secure Shell با محیط هایی مانند Bourne shell و یا C Shell نشان دهنده این نیست که SSH نیز محیطی است که وظیفه تفسیر فرامین برای سیستم‌عامل را بر عهده دارد. با اینکه SSH تمامی مشکلات را حل نخواهد کرد، اما در مورد بسیاری از موارد می‌تواند راه حل مناسبی باشد. برخی از این موارد عبارتند از:
یک پروتکل خادم/مخدوم امن برای کدگذاری و انتقال داده‌ها در شبکه.
تعیین هویت کاربران به وسیله کلمه عبور ، host ، public key و یا استفاده از Kerberos،PGP و یا PAM
قابلیت امن کردن برنامه‌های ناامن شبکه مانند Telnet ، FTP و در کل هر برنامه‌ای که بر اساس پروتکل TCP/IP بنا شده است.
بدون هیچ تغییر در استفاده کاربر نهایی ( End User ) پیاده شده و قابلیت پیاده سازی بر روی بیشتر سیستم‌عامل‌ها را دارد.

Zohreh Gholami

پروتکل (Internet Control Message Protocol) یا *ICMP


پروتکل کنترل پیام‌های اینترنتی (ICMP) یکی از پروتکل‌های اصلی بستهٔ پروتکل‌های اینترنت می باشد. مورد اصلی استفاده از آن در سیستم عامل های کامپیوترهای متصل به شبکه، برای ارسال پیام‌های خطا، برای مثال، سرویس مورد درخواست در دسترس نمی باشد و یا اینکه میزبان یا روتر غیرفعال، است. از آی‌سی‌ام‌پی می توان برای رله کردن دستورها استفاده نیز کرد.

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

آی‌سی‌ام‌پی برای پروتکل اینترنت نسخه ۴ (IPv4) به عنوان ICMPv4 نیز شناخته می شود. پروتکل اینترنت نسخه ۶ نیز از سیستم نامگذاری مشابه استفاده می‌کند: ICMPv6.


مشخصات فنی
پروتکل کنترل پیام های اینترنتی بخشی از پروتکل اینترنت می‌باشد، همانطور که در ریکوست فور کامنتس (آر‌اف‌سی) ۷۹۲ تعریف شده است. پیام های آرسی‌ام‌پی برای یافتن ایرادها در شکل‌ داده‌های پروتکل اینترنت (همانطور که در آراف‌سی ۱۱۲۲ مشخص سده است.) یا تشخیص یا مسیریابی در اینترنت ایجاد می‌شوند. خرابی‌ها و اشکالات به منبع اصلی انتشاردهنده داده بازمی‌گردد.

مثالی از آی‌سی‌ام‌پی پیام طول عمر بیشتر از حد مجاز شد، است. هر دستگاه حاضر در شبکه (مثلاً یک روتر) که داده‌های اینترنتی را منتقل می‌کند، باید به اندازه یک واحد از طول عمر داده‌ ارسال شده تحت پروتکل اینترنت کم کند. در صورتی که طول عمر (تی‌تی‌ال) به ۰ رسید، پیامی مبنی بر پایان یافتن طول عمر در حین انتقال از طریق آی‌سی‌ام‌پی برای دستگاه مبدا ارسال می شود.

با توجه به اینکه هر پیام آی‌سی‌ام‌پی به صورت مستقیم در داده‌ی پروتکل اینترنت بسته‌بندی می‌شود، مانند یو‌دی‌پی پروتکلی نامطمئن است.

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

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



ساختار بخشی آی‌سی‌ام‌پی
سربرگ
سربرگ آی‌سی‌ام‌پی بعد از سربرگ آی‌پی۴ شروع می‌شود. تمامی بسته های اطلاعاتی آی‌سی‌ام‌پی دارای یک سربرگ ۸ بایتی و قسمت دادهٔ متغیر می باشند. ۴ بایت اول سربرگ برای همهٔ بسته‌ها یکسان است. اولین بایت برای نوع آی‌سی‌ام‌پی‌ می‌باشد. بایت دوم برای کد آی‌سی‌ام‌پی است. بایت های ۳ و ۴ برای کنترل سلامت آی‌سی‌ام‌پی می‌باشد. ۴ بایت بعدی بر اساس نوع وکد آی‌سی‌ام‌پی متفاوت است.

خطاهای آی‌سی‌ام‌پی دارای قسمتی برای داده‌ها هستند که شامل کل سربرگ آی‌پی و ۸ بایت اول بسته‌ای که برای آن حطا ایجاد شده است. در این حالت بستهٔ آی‌سی‌ام‌پی در یک دادهٔ دیگر پروتکل اینترنت قرار می‌گیرد.


نوع -- نوع آی‌سی‌ام‌پی
کد -- مشخصات بیشتر از نوع آی‌سی‌ام‌پی
کنترل -- در اینجا داده ای که برای کنترل خطا قرار گرفته است از سربرگ و دادهٔ آی‌سی‌ام‌پی محاسبه می شود. الگوریتم با سیستم کنترل سلامت بسته‌های آی‌پی‌ نسخه ۴ یکی می باشد.
بقیه سربرگ -- این 8 بایت براساس نوع و کد آی‌سی‌ام‌پی متفاوت هستند.



توسعه دادن اطلاعات
توسعه داده‌های قرار گرفته در بسته آی‌سی‌ام‌پی به صورت زیر صورت می گیرید:
پینگ در لینوکس ۵۶ بایت به ۸ بایت سربرگ آی‌سی‌ام‌پی اضافه می کند.
ping.exe ویندوز ۳۲ بایت به ۸ بایت سربرگ می‌افزاید.



لیستی از پیام ها کنترلی قابل استفاده







Zohreh Gholami

پروتکل (Internet Group Message Protocol) یا *IGMP*

پروتکل گروه اینترنت (به انگلیسی: Internet Group Message Protocol، به اختصار IGMP) نام پروتکلی است که در لایهٔ دوم مدل TCP/IP استفاده می‌شود. این پروتکل مدیریت لیست اعضا برای IP Multicasting، در یک شبکه TCP/IP را بر عهده دارد. IP Multicasting، فرآیندی است که بر اساس آن یک پیام برای گروهی انتخاب شده از گیرندگان که گروه multicat نامیده می‌شوند، ارسال می‌گردد. IGMP لیست اعضا را نگهداری می‌نماید.

Zohreh Gholami

پروتکل (Internet Protocol security) یا IPsec

IPsec یا همان Internet Protocol security عبارت است از مجموعه‌ای از چندین پروتکل که برای ایمن سازی پروتکل اینترنت در ارتباطات بوسیله احراز هویت و رمز گذاری در هر بسته (packet) در یک سیر داده به کار می‌رود. این پروتکل محصول مشترک مایکروسافت و سیسکو سیستمز می‌باشد که در نوع خود جالب توجه است.


مزایا
IPsec بر خلاف دیگر پروتکلهای امنیتی نظیر SSL, TSL, SSH که در لایه انتقال (لایه ۴) به بالا قرار دارند در لایه شبکه یا همان لایه ۳ مدل مرجع OSI کار می‌کند یعنی لایه که آی پی در آن قرار دارد که باعث انعطاف بیشتر این پروتکل می‌شود به طوری که می‌تواند از پروتکل‌های لایه ۴ نظیر تی سی پی و یو دی پی محافظت کند.
مزیت بعدی IPsec به نسبت بقیه پروتکلهای امنیتی نظیر اس اس ال این است که : نیازی نیست که برنامه بر طبق این پروتکل طراحی شود.


ساختار
خانواده پروتکل IPSec شامل دو پروتکل است. یعنی سرآیند احراز هویت یا AH یا همان authentication header و ESP هر دوی این پروتکل‌ها از IPSec مستقل خواهد بود.



پروتکل AH
بطور خلاصه پروتکل AH در واقع تأمین کننده سرویس های امنیتی زیر خواهد بود:
۱. تمامیت داده ارسالی
۲. تصدیق هویت مبدا داده ارسالی
۳. رد بسته‌های دوباره ارسال شده

این پروتکل برای تمامیت داده ارسالی از HMAC استفاده می‌کند و برای انجام این کار مبنای کارش را مبتنی بر کلید سری قرار می‌دهد که payload پکت و بخشهایی تغییر ناپذیر سرآیند IP شبیه IP آدرس خواهد بود. بعد از اینکار این پروتکل سرآیند خودش را به آن اضافه می‌کند در شکل زیرسرآیندها و فیلدهای AH نمایش داده شده است.


سرآیند AH،24 بایت طول دارد. حال به توضیح فیلدهای این پروتکل می پردازیم.
1.اولین فیلد همان Next Header می‌باشد. این فیلد پروتکلهای بعدی را تعیین می‌کند. در حالت Tunnel یک دیتاگرام کامل IP کپسوله می‌شود بنابراین مقدار این فیلد برابر 4 است. وقتی که کپسوله کردن یک دیتا گرام TCP در حالت انتقال (transport mode ) باشد، مقدار این فیلد برابر 6 خواهد شد
2. فیلد payload length همانطوری که از نامش پیداست طول payload را تعیین می‌کند.
3. فیلد Reserved از دو بایت تشکیل شده است.برای آینده در نظر گرفته شده است.
4. فیلد security parameter Index یا SPI از 32 بیت تشکیل شده است. این فیلد از SA تشکیل شده که جهت باز کردن پکت‌های کپسوله شده بکار می‌رود. نهایتاً 96 بیت نیز جهت نگهداری احراز هویت پیام Hash یا (HMAC) بکار می‌رود.
5.HMAC حفاظت تمامیت دادهٔ ارسالی را برعهده دارد. زیرا فقط نقاط نظیر به نظیر از کلید سری اطلاع دارند که توسط HMAC بوجود آمده و توسط همان چک می‌شود. چون پروتکل HA حفاظت دیتاگرام IP شامل بخشهای تغییر ناپذیری مثل IP آدرس ها نیز هست، پروتکل AH اجازه ترجمه آدرس شبکه را نمی‌دهد. NAT یا ترجمه آدرس شبکه در فیلد IP آدرس دیگری (که معمولاً IP آدرس بعداً می‌باشد) قرار می‌گیرد. وبه این جهت تغییر بعدی HMAC معتبر نخواهد بود. در شکل زیر حالتهای انتقال و تونل در پروتکل AH به نمایش در آمده است.همان طور که می بینید این پروتکل در این دو حالت ارتباط امن بین دو نقطه انتهائی که در دو شبکه مجزا قرار دارند را فراهم می‌آورد، همچنین ارتباط امن بین دو نقطه در یک شبکه داخلی و یک نقطه انتهائی و یک مسیر یاب یا حفاظ دیواره آتش (Firewall) را ممکن می سازد.

azade1992

سلام. بسیار عالی بود و ممنونم بابت توضیحات ارزشمندتون. من قصد خرید فورتی نت دارم. دوستان با شرکت متصاکو و خدماتشون آشنایی دارید؟

Amir Shahbazzadeh

سلام خوش آمدید برای درج آگهی رایگان می توانید به آدرس زیر بروید و تبلیغ خود را درج نمایید.


Tags:

Share via facebook Share via linkedin Share via telegram Share via twitter Share via whatsapp

https://www.meta4u.com/forum/Themes/Comet/images/post/xx.png
مقاله ای جامع درباره حسابداري دولتي

نویسنده Zohreh Gholami در مقالات حسابداری, Accounting Articles

1 ارسال
11513 مشاهده
آخرین ارسال: قبل از ظهر 07:57:13 - 11/02/11
توسط
Zohreh Gholami
https://www.meta4u.com/forum/Themes/Comet/images/post/xx.png
مقاله ای جامع و کامل درباره هنر گرافیک

نویسنده Zohreh Gholami در مقالات هنر, Art Articles

3 ارسال
5754 مشاهده
آخرین ارسال: بعد از ظهر 20:16:14 - 11/05/11
توسط
Zohreh Gholami
https://www.meta4u.com/forum/Themes/Comet/images/post/xx.png
مدیریت شبکه های کامپیوتری*SNMP*

نویسنده Amir Shahbazzadeh در شبکه و امنیت شبکه, Network

0 ارسال
2459 مشاهده
آخرین ارسال: قبل از ظهر 10:37:46 - 06/22/11
توسط
Amir Shahbazzadeh
https://www.meta4u.com/forum/Themes/Comet/images/post/xx.png
جامع ترین مقاله درباره الگوریتم ژنتیک (Genetic Algorithm - GA)

نویسنده Zohreh Gholami در مقالات کامپیوتر, Computer Articles

6 ارسال
17589 مشاهده
آخرین ارسال: بعد از ظهر 14:04:20 - 10/30/11
توسط
Zohreh Gholami
https://www.meta4u.com/forum/Themes/Comet/images/post/xx.png
مقاله ای کوتاه و جامع درباره RAM یا Random Access Memory

نویسنده Zohreh Gholami در مقالات کامپیوتر, Computer Articles

0 ارسال
3100 مشاهده
آخرین ارسال: قبل از ظهر 08:13:16 - 11/09/11
توسط
Zohreh Gholami
https://www.meta4u.com/forum/Themes/Comet/images/post/xx.png
مقاله ای جامع درباره پایگاه داده ها "Data base"

نویسنده Zohreh Gholami در مقالات کامپیوتر, Computer Articles

2 ارسال
9354 مشاهده
آخرین ارسال: بعد از ظهر 14:41:30 - 10/25/11
توسط
Zohreh Gholami
https://www.meta4u.com/forum/Themes/Comet/images/post/clip.png
آیکونهای شبکه های اجتماعی - Social Network Icon

نویسنده Hooman Ghayouri در آیکون, Icon

3 ارسال
3105 مشاهده
آخرین ارسال: بعد از ظهر 13:52:58 - 08/23/11
توسط
Hooman Ghayouri