موضوع مقاله: مشت زدن سوراخ تی سی پی | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # مشت زدن سوراخ تی سی پی | مقدمه: این سناریو به خصوص در مورد مهم است نظیر به نظیر ارتباطات، مانند صدا از طریق IP (VoIP) به اشتراک گذاری فایل، راه دور، سیستم‌های چت و برنامه‌های مشابه. | ## بخش 1: مشت زدن سوراخ تی سی پی | سوراخ کردن سوراخ تی سی پی (TCP) یک روش پیمایش NAT است که برای ایجاد اتصال TCP بین دو همتا در اینترنت در پشت دستگاه‌های NAT مورد استفاده قرار گرفته‌است. واژه‌شناسی در ادامه، اصطلاحات میزبان، مشتری و همکار تقریباً به جای هم استفاده می‌شوند. نقطه پایانی محلی، نقطه پایانی داخلی IP محلی: پورتی که توسط میزبان و قسمت داخلی NAT به صورت محلی مشاهده می‌شود. نقطه پایان عمومی، نقطه پایان خارجی IP خارجی: پورتی که توسط NAT مشخص شده‌است، همان‌طور که توسط شبکه و قسمت خارجی NAT دیده می‌شود. نقطه پایان از راه دور IP: پورت همتای دیگر که توسط شبکه یا قسمتهای خارجی هر دو NAT دیده می‌شود. شرح عبور از طریق NAT، از طریق سوراخ سوراخ، با استفاده از NAT، اتصالات دو طرفه تی سی پی (TCP) را بین میزبانهای اینترنت در شبکه‌های خصوصی برقرار می‌کند. هنگامی که دو میزبان در تی سی پی (TCP) به یکدیگر متصل می‌شوند، هر دو از طریق اتصالات خروجی، آنها در حالت "همزمان بازکردن تی سی پی (TCP)" نمودار ماشین حالت تی سی پی (TCP) هستند. چیزی که آنها کاملاً باید بدانند «مکان» همکار دیگر یا نقطه انتهایی از راه دور است. نقطه پایانی از راه دور داده‌های آدرس IP و پورتی است که همکار به آن متصل می‌شود؛ بنابراین وقتی دو همتا، A و B، به ترتیب با اتصال به پورت‌های محلی Pa و Pb، اتصال تی سی پی (TCP) را آغاز می‌کنند، برای برقراری اتصال باید پورت نقطه انتهایی از راه دور را به عنوان نقشه‌برداری شده توسط NAT بدانند. هنگامی که هر دو همتا پشت NAT هستند، نحوه کشف نقطه پایانی از راه دور عمومی همتای دیگر مشکلی به نام پیش‌بینی پورت NAT است. | ## بخش 2: مشت زدن سوراخ تی سی پی | تمام روشهای پیمایش و سوراخکاری تی سی پی (TCP) NAT باید مشکل پیش‌بینی پورت را حل کنند. تخصیص درگاه NAT می‌تواند یکی از این دو باشد: قابل پیش‌بینی دروازه از یک الگوریتم ساده برای ترسیم پورت محلی به پورت NAT استفاده می‌کند. بیشتر اوقات یک NAT از حفظ پورت استفاده می‌کند، به این معنی که پورت محلی به همان پورت NAT نگاشت می‌شود. غیرقابل پیش‌بینی دروازه‌ها از الگوریتمی استفاده می‌کنند که تصادفی است یا برای پیش‌بینی خیلی غیر عملی است. بسته به اینکه NATها یک رفتار قابل پیش‌بینی یا غیرقابل پیش‌بینی از خود نشان دهند، انجام اتصال تی سی پی (TCP) از طریق تی سی پی (TCP) به صورت همزمان امکان‌پذیر است یا نه، همان‌طور که در زیر توسط ماتریس اتصال نشان دهنده موارد مختلف و تأثیر آنها در انتها به ارتباطات پایان: تکنیک روش‌های پیش‌بینی بندر (با NATهای قابل پیش‌بینی) در اینجا برخی از روش‌های استفاده شده توسط NATs برای همگام سازی‌ها برای انجام پیش‌بینی بندر وجود دارد: NAT به پورت‌های داخلی متوالی پورت‌های خارجی متوالی اختصاص می‌دهد. اگر همتا از راه دور اطلاعات یک نقشه‌برداری را داشته باشد، می‌تواند ارزش نگاشت‌های بعدی را حدس بزند. اتصال TCP در دو مرحله اتفاق می‌افتد، در ابتدا همتایان با شخص ثالث ارتباط برقرار می‌کنند و نقشه‌برداری آنها را می‌آموزند. برای مرحله دوم، هر دو همکار می‌توانند حدس بزنند که برای همه اتصالات بعدی نگاشت درگاه NAT چگونه خواهد بود که پیش‌بینی پورت را حل می‌کند. این روش نیاز به ایجاد حداقل دو اتصال متوالی برای هر همتا دارد و نیاز به استفاده از شخص ثالث دارد. این روش در صورت وجود Carrier-grade NAT با تعداد زیادی مشترک در پشت هر آدرس IP به درستی کار نمی‌کند، زیرا فقط مقدار محدودی پورت در دسترس است و اختصاص پورت‌های متوالی به یک میزبان داخلی ممکن است غیر عملی یا غیرممکن باشد. | ## بخش 3: مشت زدن سوراخ تی سی پی | NAT از طرح تخصیص حفظ پورت استفاده می‌کند: NAT پورت منبع همتا داخلی را به همان پورت عمومی ترسیم می‌کند. در این حالت، پیش‌بینی پورت پیش پا افتاده‌است و همکاران به راحتی باید پورتی را که به آن متصل هستند از طریق کانال ارتباطی دیگری (مانند UDP یا DHT) قبل از بازکردن همزمان اتصالات خروجی TCP، مبادله کنند. این روش فقط به یک اتصال در هر کاربر نیاز دارد و برای پیش‌بینی پورت به شخص ثالث نیاز ندارد. NAT از «نگاشت مستقل نقطه پایان» استفاده می‌کند: دو اتصال تی سی پی (TCP) پی در پی که از همان نقطه پایانی داخلی می‌آیند به همان نقطه پایانی عمومی ترسیم می‌شوند. با استفاده از این راه حل، همتا ابتدا به یک سرور شخص ثالث متصل می‌شوند که ارزش نگاشت درگاه آنها را ذخیره می‌کند و به هر دو همتا ارزش نگاشت پورت همکار دیگر را می‌دهد. در مرحله دوم، هر دو همتا از نقطه پایانی محلی یکسان استفاده می‌کنند تا همزمان یک باز تی سی پی (TCP) را با یکدیگر انجام دهند. فقط درصورتی که برنامه بتواند از خود در برابر تخریب این داده‌ها محافظت کند، باید استفاده شود. جزئیات نمونه اولیه اتصال تی سی پی (TCP) با سوراخ سوراخ تی سی پی (TCP) ما در اینجا فرض می‌کنیم که پیش‌بینی پورت قبلاً از طریق یکی از روش‌های توضیح داده شده در بالا صورت گرفته‌است و هر همتا نقطه پایانی همکار را از راه دور می‌داند. CGN همچنین می‌تواند از یک رفتار اضافه بار درگاه استفاده کند، به این معنی که نقاط انتهایی داخلی مشخص با همان مقدار پورت را می‌توان در همان نقطه پایانی عمومی ترسیم کرد. حفظ پورت تی سی پی (TCP) همچنین می‌تواند منجر به مواردی شود که پورت‌های CGN بیش از حد بارگیری می‌شوند و مسئله ای برای سالم بودن پروتکل نیست. | ## جمع‌بندی | اضافه بار پورت برای تی سی پی (TCP) به CGN این امکان را می‌دهد تا با حفظ ضمانت‌های ارتباطی تی سی پی (TCP) از انتها به پایان، میزبان بیشتری را در داخل جا دهد.