شبکهی خصوصی مجازی که به اختصار VPN نامیده میشود، امکانی برای انتقال ترافیک خصوصی بر روی یک شبکه عمومی است. یک شبکهی خصوصی مجازی، شبکهای اختصاصی بوده که از بستر یک شبکهی عمومی (در اکثر مواقع اینترنت)، برای ارتباط با سایتهای از راه دور و ارتباط کاربران با یکدیگر استفاده مینماید.
منظور از یک شبکهی اختصاصی یا خصوصی شبکهای است که بطور آزاد در اختیار و دسترس عموم نمیباشد. شبکهی خصوصی مجازی را به این دلیل مجازی مینامند از نظر دو نقطهی متصل به شبکه، تنها یک ارتباط و یک شبکه خصوصی بین آنها برقرار است، اما در واقع در بستر یک شبکهی عمومی این ارتباط صورت میگیرد.
پیادهسازی یک شبکهی خصوصی مجازی معمولا توسط اتصال دو یا چند شبکهی خصوصی از طریق یک تونل رمزشده انجام میشود. در واقع به این وسیله اطلاعات در حال تبادل بر روی شبکهی عمومی از دید سایر کاربران محفوظ میماند. شبکهی خصوصی مجازی را میتوان با توجه به شیوهی پیادهسازی و اهداف آن به انواع مختلفی تقسیم کرد.
دسته بندی براساس رمزنگاری
شبکهی خصوصی مجازی را میتوان با توجه به استفاده یا عدم استفاده از رمزنگاری به دو گروه اصلی تقسیم کرد:
Encryted VPN: شبکههای خصوصی مجازی رمز شده از انواع مکانیزمهای رمزنگاری برای انتقال امن اطلاعات بر روی شبکهی عمومی استفاده میکنند. یک نمونهی خوب از این شبکهها، شبکههای خصوصی مجازی اجرا شده به کمک پروتکل IPSec هستند.
Unencrypted VPN: این نوع از VPN برای اتصال دو یا چند شبکهی خصوصی با هدف استفاده از منابع شبکهی یکدیگر ایجاد میشود. امنیت اطلاعات در حال تبادل مهم نبوده یا این که این امنیت با روش دیگری غیر از رمزنگاری تامین میشود. یکی از این روشها تفکیک مسیریابی است. منظور از تفکیک مسیریابی آن است که تنها اطلاعات در حال تبادل بین دو شبکهی خصوصی به هر یک از آنها مسیردهی میشوند (MPLS VPN). در این مواقع میتوان در لایههای بالاتر از رمزنگاری مانند SSL استفاده کرد.
دسته بندی براساس لایه پیاده سازی
VPNها بر اساس لایهای از مدل OSI که در آن پیادهسازی شدهاند، نیز قابل دستهبندی هستند. این موضوع از اهمیت خاصی برخوردار است. مثلا در VPNهای رمز شده، لایهای که در آن رمزنگاری انجام میشود در حجم ترافیک رمز شده تاثیر دارد. همچنین سطح شفافیت VPN برای کاربران آن نیز با توجه به لایهی پیادهسازی تایین میشود.
VPNهای لایه پیوند داده: با استفاده از VPNهای لایهی پیوند داده میتوان دو گره را در لایهی دو مدل OSI با استفاده از پروتکلهایی مانند ATM یا Frame Relay به هم متصل کرد. با وجودی که این مکانیزم راه حل مناسبی به نظر میرسد اما معمولا روش ارزانی نیست چون نیاز به یک مسیر اختصاصی لایهی دو دارد. از طرف دیگر پروتکلهای Frame Relay و ATM مکانیزمهای رمزنگاری را تامین نمیکنند. آنها فقط به ترافیک اجازه میدهند تا بسته به آن که به کدام اتصال لایهی دو تعلق دارد، تفکیک شود. بنابراین اگر به امنیت بیشتری نیاز دارید باید مکانیزمهای رمزنگاری مناسبی را به کار بگیرید.
VPNهای لایهی شبکه: این سری از VPNها از tunneling لایهی سه و یا دیگر شیوههای رمزنگاری استفاده میکنند. برای مثال میتوان به IPSec Tunneling و پروتکل رمزنگاری برای ایجاد VPN اشاره کرد. مثالهای دیگر پروتکلهای GRE و L2TP هستند. جالب است اشاره کنیم که L2TP در ترافیک لایهی دو تونل میزند اما از لایهی سه برای این کار استفاده میکند. بنابراین در VPNهای لایه شبکه قرار میگیرد. این لایه برای انجام رمزنگاری نیز بسیار مناسب است.
VPNهای لایهی کاربرد: این VPNها برای کار با برنامههای کاربردی خاص ایجاد شدهاند. VPNهای مبتنی بر SSL از مثالهای خوب برای این نوع از VPN هستند. SSL رمزنگاری را بین مرورگر وب و سروری که SSL را اجرا میکند، تامین میکند. SSH مثال دیگری برای این نوع از VPNها است. SSH به عنوان یک مکانیزم امن و رمز شده برای login به اجزای مختلف شبکه شناخته میشود. مشکل VPNها در این لایه آن است که هرچه خدمات و برنامههای جدیدی اضافه میشوند، پشتیبانی آنها در VPN نیز باید اضافه شود.