IWARP

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

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

## تاریخ
در سال ۲۰۰۷، IETF پنج درخواست برای نظرات (RFC) را منتشر کرد که iWARP را تعریف می‌کنند:
# RFC 5040 *مشخصات پروتکل دسترسی مستقیم به حافظه از راه دور* روی پروتکل قرار دادن داده مستقیم (DDP) لایه بندی شده است. این تعریف می‌کند که چگونه عملیات ارسال، خواندن و نوشتن RDMA با استفاده از DDP در هدرهای شبکه کدگذاری می‌شوند.
# RFC 5041 *مستقیم قرار دادن داده‌ها از طریق حمل و نقل قابل اعتماد* بر روی MPA/TCP یا SCTP قرار می‌گیرد. این تعریف می‌کند که چگونه داده‌های دریافتی را می‌توان مستقیماً در پروتکل‌های لایه بالایی قرار داد، بافر دریافتی بدون بافرهای میانی.
# پروتکل RFC 5042 *Direct Placement Data (DDP) / پروتکل دسترسی مستقیم به حافظه از راه دور (RDMAP) امنیت* مسائل امنیتی مربوط به لایه‌های پروتکل iWARP DDP و RDMAP را تجزیه و تحلیل می‌کند.
# RFC 5043 *Stream Control Transmission Protocol (SCTP) Direct Data Placement (DDP) Adaptation* یک لایه انطباق را تعریف می‌کند که DDP را روی SCTP فعال می‌کند.
# RFC 5044 *Marker PDU Aligned Framing for TCP Specification* یک لایه انطباق را تعریف می‌کند که حفظ مرزهای رکورد پروتکل در سطح DDP لایه لایه روی جریان بایت متصل قابل اعتماد TCP را امکان‌پذیر می‌کند.

این RFCها بر اساس مشخصات کنسرسیوم RDMA برای RDMA از طریق TCP هستند. مشخصات کنسرسیوم RDMA تحت تأثیر استانداردهای قبلی RDMA، از جمله معماری رابط مجازی (VIA) و InfiniBand (IB) قرار دارد.

از سال ۲۰۰۷، IETF سه RFC اضافی منتشر کرده است که iWARP را حفظ و گسترش می‌دهد:
# RFC 6580 *IANA Registries for the Remote Direct Placement Data Placement (RDDP) Protocols* منتشر شده در سال ۲۰۱۲، ثبت IANA را برای کدهای خطا، کدهای عملیاتی و کدهای عملکردی Remote Direct Placement Data Placement (RDDP) تعریف می‌کند.
# RFC 6581 *ارتقا یافته دسترسی به حافظه مستقیم از راه دور (RDMA) که* در سال ۲۰۱۱ منتشر شد، کاستی‌های راه‌اندازی اتصال iWARP را برطرف می‌کند.
# برنامه افزودنی پروتکل RFC 7306 *Remote Direct Memory Access (RDMA)* منتشر شده در سال ۲۰۱۴، [rfc:5040 RFC 5040 را] با عملیات اتمی و RDMA Write با داده‌های فوری را گسترش می‌دهد.

## پروتکل
جزء اصلی در پروتکل iWARP، پروتکل قرار دادن داده مستقیم (DDP) است که امکان انتقال واقعی صفر کپی را فراهم می‌کند. DDP خود انتقال را انجام نمی‌دهد. پروتکل اصلی (TCP یا SCTP) انجام می‌دهد.

با این حال، TCP به مرزهای پیام احترام نمی‌گذارد. داده‌ها را به صورت دنباله ای از بایت‌ها بدون توجه به واحدهای داده پروتکل (PDU) ارسال می‌کند. در این راستا، خود DDP ممکن است برای SCTP مناسب تر باشد، و در واقع IETF یک RDMA استاندارد را بر روی SCTP پیشنهاد کرده است. برای اجرای DDP از طریق TCP، نیاز به تغییری دارد که به عنوان کادربندی نشانگر PDU aligned (MPA) شناخته می‌شود تا مرزهای پیام‌ها را تضمین کند.

علاوه بر این، DDP برای دسترسی مستقیم در نظر گرفته نشده است. در عوض، یک پروتکل RDMA جداگانه (RDMAP) خدمات خواندن و نوشتن داده‌ها را فراهم می‌کند؛ بنابراین، کل مشخصات RDMA روی TCP واقعاً RDMAP روی DDP بر روی MPA/TCP یا SCTP است. تمامی این پروتکل‌ها در سخت‌افزار قابل پیاده‌سازی هستند.

برخلاف IB, iWARP فقط ارتباطات متصل قابل اعتمادی دارد، زیرا این تنها سرویسی است که TCP و SCTP ارائه می‌کنند. مشخصات iWARP سایر ویژگی‌های IB مانند Send with Immediate Data را حذف می‌کند. با RFC 7306، IETF در تلاش است تا این حذفیات را کاهش دهد.

## پیاده‌سازی
از آنجا که اجرای هسته از پشته TCP می‌تواند به عنوان یک گلوگاه دیده شود، این پروتکل معمولاً در کنترلرهای رابط شبکه RDMA سخت‌افزاری (rNIC) پیاده‌سازی می‌شود. از آنجایی که از دست دادن داده‌های ساده در محیط‌های شبکه به ندرت اتفاق می‌افتد، مکانیسم‌های تصحیح خطا TCP ممکن است توسط نرم‌افزار انجام شود، در حالی که ارتباطاتی که اغلب انجام می‌شوند کاملاً توسط منطق تعبیه‌شده در rNIC مدیریت می‌شوند. به‌طور مشابه، اتصالات اغلب به‌طور کامل توسط نرم‌افزار برقرار می‌شوند و سپس به سخت‌افزار واگذار می‌شوند. علاوه بر این، مدیریت جزئیات پروتکل خاص iWARP معمولاً از پیاده‌سازی TCP جدا می‌شود و به rNICها اجازه می‌دهد هم برای تخلیه RDMA و هم برای تخلیه TCP (در پشتیبانی از برنامه‌های کاربردی TCP/IP مبتنی بر سوکت‌های سنتی) استفاده شوند. بخشی از پیاده‌سازی سخت‌افزاری که برای پیاده‌سازی پروتکل TCP استفاده می‌شود به عنوان موتور تخلیه بار TCP (TOE) شناخته می‌شود.

خود TOE از کپی در سمت گیرنده جلوگیری نمی‌کند و باید با سخت‌افزار RDMA ترکیب شود تا نتایج کپی صفر شود. مشخصات RDMA / TCP مجموعه‌ای از پروتکل‌های سیمی مختلف است که برای پیاده‌سازی در سخت‌افزار در نظر گرفته شده است (اگرچه به نظر می‌رسد شبیه‌سازی آن در نرم‌افزار برای سازگاری اما بدون مزایای عملکردی امکان‌پذیر است).

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

چندین رابط برنامه‌نویسی پیشنهاد شده است، از جمله OpenFabrics Verbs, Network Direct, uDAPL, kDAPL, IT-API و RNICPI. پیاده‌سازی برخی از این رابط‌ها برای پلتفرم‌های مختلف از جمله ویندوز و لینوکس در دسترس است.

## خدمات موجود
سرویس‌های شبکه‌ای که بر روی iWARP پیاده‌سازی می‌شوند شامل مواردی است که در OpenFabrics Enterprise Distribution (OFED) توسط OpenFabrics Alliance برای سیستم‌های عامل لینوکس و توسط Microsoft Windows از طریق Network Direct ارائه می‌شوند.
* NVMe روی پارچه (NVMEoF)
* برنامه‌های افزودنی ISCSI برای RDMA (iSER)
* بلاک مستقیم پیام سرور (SMB Direct)
* پروتکل سوکت مستقیم (SDP)
* پروتکل SCSI RDMA (SRP)
* سیستم فایل شبکه روی RDMA (NFS روی RDMA)
* GPUDirect

## فروشندگان
فروشندگان محبوب تجهیزات دارای iWarp عبارتند از:
* چلسیو
* مارول
* بلومباس

## جستارهای وابسته
RDMA از طریق اترنت همگرا

## منابع

## پیوند به بیرون
* اتحاد OpenFabrics در دانشگاه نیوهمپشایر، آزمایشگاه قابلیت همکاری مشترک - آزمایش بر روی دستگاه‌های iWARP
* منشور قرار دادن داده‌های مستقیم از راه دور (IETF)
* MPI-SCTP: استفاده از پروتکل انتقال کنترل جریان برای برنامه‌های موازی نوشته شده با استفاده از رابط ارسال پیام   (۰۱-۰۹-۲۰۰۸)
* پروتکل انتقال SMB2 دسترسی مستقیم به حافظه از راه دور (RDMA) (01-06-2017)
رده:ابررایانه‌ها
رده:شبکه‌های رایانه‌ای