معماری واسط مجازی کیست؟ توضیح بده.
معماری واسط مجازی یک مدل انتزاعی از شبکه رایانه‌ای بدون کپی سطح کاربر است و از اساس و پایه اینفینی‌باند، iWARP و RoCE به‌شمار می‌رود. VIA اورجینال که توسط مایکروسافت، اینتل و کامپک ساخته شده، به دنبال استانداردسازی رابط و واسط فناوری‌های شبکه سطح بالا که به نام شبکه‌های سیستمی (SANs) شناخته می‌شوند، بود. (منظور از SANs شبکه‌های سیستمی است و متفاوت با شبکه ذخیره‌سازی می‌باشند)شبکه‌ها یک منبع مشترک هستند. با استفاده از واسط‌های قدیمی و سنتی شبکه مانند سوکت‌های برکلی، هسته (سیستم‌عامل) در هر ارتباط شبکه‌ای دخیل است. این موضوع باعث ایجاد یک مانع و گلوگاه جهت عملکرد فوق‌العاده می‌شود زمانی که تأخیر (مهندسی) اهمیت دارد.یکی از پیشرفت‌های کلاسیک در سیستم‌های محاسباتی، حافظه مجازی است که ترکیبی از سخت‌افزار و نرم‌افزار به‌شمار می‌رود که توهم و تصور حافظه خصوصی را برای هر فرایند ایجاد می‌کند. در همین راستا، یک رابط شبکه مجازی که در میان مرزهای فرایند محافظت شده است، در سطح کاربر قابل دسترسی است. با استفاده از این فناوری، «مصرف‌کننده» بافر خود، و علاوه بر آن برنامه زمانبندی ارتباط خود را، در موقعی که «ارائه‌دهنده» مسئول محافظت است، مدیریت می‌کند.بنابراین، کارت شبکه (NIC) یک شبکه خصوصی برای یک فرایند فراهم می‌کند، و به‌طور معمول به یک فرایند اجازه داده می‌شود که چندین تا از این شبکه‌ها را داشته باشد. رابط مجازی (VI) در VIA به این شبکه اشاره می‌کند و صرفاً مقصد درخواست‌های ارتباطی کاربر به حساب می‌آید. ارتباط از طریق یک جفت رابط مجازی صورت می‌گیرد، که هریک از گره‌های پردازنده در فرآیندهای انتقال درگیر می‌باشد. در ارتباط «حذف هسته»، کاربر بافرهای خود را مدیریت می‌کند.یکی از جنبه‌های دیگر شبکه‌های سنتی و قدیمی این است که داده‌های وارد شده در یک بافر از پیش تخصیص داده شده قرار می‌گیرند و سپس به مقصد نهایی مشخص‌شده توسط کاربر کپی می‌شود. کپی کردن پیام‌های بزرگ ممکن است زمان زیادی طول بکشد و به همین دلیل حذف این مرحله مفید می‌باشد. یک پیشرفت کلاسیک دیگر در سیستم‌های محاسباتی، دستیابی مستقیم به حافظه (DMA) است که در آن یک دستگاه می‌تواند به‌طور مستقیم به حافظه اصلی دسترسی داشته باشد در حالی که واحد پردازش مرکزی (CPU) آزاد است تا وظایف دیگری را انجام دهد.در یک شبکه با دسترسی مستقیم حافظه از راه دور (RDMA), NIC فرستنده از DMA برای خواندن داده‌ها از بافر مشخص شده توسط کاربر استفاده می‌کند و آنها را به عنوان یک پیام مستقل از طریق شبکه ارسال می‌کند. سپس NIC دریافت‌کننده از DMA برای قرار دادن داده‌ها در بافر مشخص شده توسط کاربر استفاده می‌کند. در مراحل میانی هیچ فرایند کپی کردنی وجود ندارد و تمام این عملیات‌ها بدون دخالت واحدهای پردازش مرکزی انجام می‌شود که این امر باعث کاهش استفاده از CPU می‌شود.برای NIC جهت صورت بخشیدن دسترسی به داده‌ها از طریق DMA، صفحه کاربر باید در حافظه باشد. در VIA، کاربر می‌بایست پیش از فرایند انتقال بافرهای خود را به اصطلاح پین یا سنجاق کند تا قادر باشد که از فرایند مبادله و تعویض صفحه به دیسک توسط سیستم عامل جلوگیری کند. این عملیات—یکی از عملیات‌های معدود است که باعث درگیری هسته می‌شود—که صفحه را به حافظه فیزیکی متصل می‌کند. برای اطمینان از اینکه فقط فرآیندی که حافظه ثبت شده را در اختیار دارد می‌تواند به آن دسترسی داشته باشد، NICهای VIA در حین ارتباط به کلیدهای مجوز که به عنوان برچسب‌های حفاظت شناخته می‌شوند، نیاز دارند.بنابراین به‌طور ضروری، VIA یک استاندارد است که دسترسی به هسته و RDMA را در یک شبکه تعریف می‌کند. همچنین یک کتابخانه برنامه‌نویسی به نام "VIPL" را نیز تعریف می‌نماید. این استاندارد به ویژه در cLAN برگرفته از Giganet (Emulex کنونی) پیاده‌سازی شده است. اما غالباً، مشارکت اصلی و عمدهٔ VIA در فراهم کردن پایه برای استانداردهای اینفینی‌باند، iWARP و RoCE بوده است.