**نتسوکوکو** یک سیستم مسیریابی آزمایشی (همتا به همتا) است که توسط فریک نت مدیا لب در سال ۲۰۰۵ توسعه یافت. این سیستم برای ایجاد یک شبکه توزیع شده، ناشناس، بدون سانسور، کاملاً مستقل بدون پشتیبانی هیچ ISP و سرور مرکزی ایجاد شده‌است.

نتسوکوکو برای مدیریت {\displaystyle 2^{128}} گره بدون هیچ سرور یا سیستم مرکزی توسعه یافته‌است، همین‌طور این سیستم با حداقل منابع واحد پردازش مرکزی و حافظه طراحی شده‌است. این شبکه مش می‌تواند با استفاده از زیرساخت‌های فعلی موجود نظیر وای-فای ساخته شود و محدودیتی از این نظر ندارد.

این پروژه از سال ۲۰۰۵ بصورت آرام و آهسته در حال توسعه بوده‌است و تا به حال در مقیاس بزرگ تست نشده‌است.

نحوه کارکرد
-----------

از دسامبر سال ۲۰۱۱، آخرین کار تئوری در مورد پروژه نتسوکوکو را می‌توان در پایان‌نامه کارشناسی ارشد Scalable Mesh Networks and the Address Space Balancing problem (شبکه‌های مش مقیاس پذیر و مسئله تعادل فضای آدرس) یافت. شرح زیر فقط مفاهیم اساسی را در بر می‌گیرد و برای مطالعه بیشتر می‌توانید به پایان‌نامه مراجعه کنید.

نتسوکوکو از یک پروتکل مسیریابی سفارشی به نام QSPN (کوانتوم کوتاه‌ترین مسیر نتسوکوکو) استفاده می‌کند. این پروتکل تلاش می‌کند کارآمد باشد و بر قابلیت‌های محاسباتی هر گره تأثیری نداشته باشد. نسخه فعلی این پروتکل QSPNv2 است. این پروتکل یک ساختار سلسله مراتبی دارد. ۲۵۶ گره در داخل یک gnod، سپس ۲۵۶ تا gnode در یک ggnode سپس ۲۵۶ تا ggnode در یک gggnode و به همین صورت پیش می‌رود.

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

در این سیستم به جای استفاده از سامانه نام دامنه از یک سیستم غیرمتمرکز و توزیع شده به نام ANDNA (Abnormal Netsukuku Domain Name Anarchy) استفاده می‌شود و به عبارتی جایگزین سامانه نام دامنه می‌باشد و برای مدیریت نام‌ها استفاده می‌شود. پایگاه داده ANDNA در سیستم نتسوکوکو گنجانده شده‌است، بنابراین هر گره شامل چنین پایگاه داده‌ای (ANDNA) است که حداکثر ۳۵۵ کیلوبایت حافظه را اشغال می‌کند.

با صرف نظر از پیچیدگی‌های ANDNA، می‌توان بصورت زیر آنرا توضیح داد.

برای حل مشکل فهمیدن نام دامنه‌ها، میزبان یک تابع hash را از طرف خود اعمال می‌کند سپس تابع hash مقداری را برمی‌گرداند (عبارتی مشابه با ip) و میزبان با آن تماس می‌گیرد و عبارت داده شده به هش را از آن می‌خواهد. گره مورد نظر پس از دریافت درخواست، آدرس مرتبط با نام را در پایگاه داده ANDNA خود جستجو می‌کند و آن را به میزبان برمی‌گرداند.

به دلیل ساختار این پروتکل تکرار و افزونگی در پایگاه داده ایجاد شده‌است تا پروتکل را در برابر خرابی مقاوم کند و همچنین انتقال پایگاه داده را در صورت تغییر توپولوژی شبکه فراهم می‌کند.

پروتکل امکان لغو یک نام دامنه را فراهم نمی‌کند. پس از مدت معینی از عدم فعالیت (در حال حاضر ۳ روز) به سادگی از پایگاه داده حذف می‌شود.

منابع
-----



1. ↑  «FreakNet.org». *www.freaknet.org*. دریافت‌شده در ۲۰۲۲-۰۵-۰۶.
2. ↑  "Peer-to-peer". *Wikipedia* (به انگلیسی). 2022-04-16.
3. ↑  «Netsukuku - P2P mesh routing». *netsukuku.freaknet.org*. دریافت‌شده در ۲۰۲۲-۰۵-۰۶.
4. ↑  "Netsukuku". *Wikipedia* (به انگلیسی). 2021-09-14.
5. ↑  «NTSKK - codice segreto rivoluzione». *web.archive.org*. ۲۰۱۰-۰۳-۲۶. بایگانی‌شده از اصلی در ۲۶ مارس ۲۰۱۰. دریافت‌شده در ۲۰۲۲-۰۵-۰۶.
6. ↑  «NTSKK - codice segreto rivoluzione». *web.archive.org*. ۲۰۱۰-۰۳-۲۶. بایگانی‌شده از اصلی در ۲۶ مارس ۲۰۱۰. دریافت‌شده در ۲۰۲۲-۰۵-۰۶.