Nebula-гийн punchy тохиргоо: аль нь таны NAT-ыг засдаг
punch одоо байгаа NAT-ийн зураглалыг амьд байлгадаг; respond эсрэг чиглэлд гар барилтыг оролддог. Аль нь ч шууд зам баталгаажуулахгүй, хоцролтын тохиргоо зөвхөн цагийг өөрчилдөг.
Хоёр peer гэрэлт цамхагаар дамжуулан бие биеэ олж, дараа нь шууд зам байгуулж чадахгүй, эхний зөн совин нь бүх punchy сонголтыг асаах. Тэр зөн совин гурван өөрчлөлт бүхий тохиргоог бий болгодог бөгөөд аль нь чухал байсныг мэдэхгүй. Тохиргоонууд өөр өөр асуултад хариулдаг: нэг нь аль хэдийн байгаа зураглалыг хадгалдаг, нөгөө нь эсрэг чиглэлд гар барилтыг оролддог. Аль нэгэнд нь хүрэхээс өмнө өөрийн асуулт аль болохыг шийд.
Цагаас өмнө төгсгөлийн цэгийг баталгаажуул
Хүлээгдэж буй хаяг дээр хэзээ ч гарч ирдэггүй peer-ийг punch тохируулга аварч чадахгүй. Гэрэлт цамхаг peer-ийн талаар юу мэддэг, peer-ийн өөрийн тохиргоо юу зарлаж байгааг шалга, учир нь хуучирсан bootstrap хаяг эсвэл алдаанаас нийтлэгдсэн хувийн хаяг бүх дамжих аргыг унагадаг. Гэрчилгээ нь итгэмжлэгдсэн эсэхийг ч баталгаажуул, учир нь итгэмжлэгдээгүй таних тэмдэг NAT чухал болохоос хамаагүй өмнө яриаг зогсоодог. Дараа нь UDP гэрэлт цамхагт хүрч байгаа эсэхийг шалга. Цагийн утгууд хамгийн түрүүнд биш, хамгийн сүүлд харах зүйл юм.
Туршиж буй төгсгөлийн цэгийн хосыг бичиж аваарай, дараагийн харьцуулалтууд өөр хоёр машин биш ижил peer-үүдийг ашиглахын тулд.
punch зураглалыг хадгална, respond чиглэл нээнэ
punch сонголт нь аль хэдийн туннельтай peer-ийн доод давхаргын хаяг руу үе үе хоосон пакет илгээдэг. Зорилго нь гайхалтай биш: төлөвтэй NAT эсвэл галт хана шууд зам хамаарах зураглалыг хугацаа дуусгахыг зөвшөөрдөггүй. respond сонголт нь гэрэлт цамхгийн мэдэгдэл дээр юу болохыг өөрчилж, хост өөрт нь хүрэхийг оролдож буй peer рүү буцаж гар барилт хийхийг албаддаг. Эдгээр нь өөр өөр бүтэлгүйтлийн горимтой өөр өөр механизмууд юм.
Шууд зам ажиллаад дараа нь суларвал punch-ыг сонго. Зам нэг чиглэлд хэзээ ч үүсэхгүй бол respond-ыг сонго. Хоёуланг асаагаад найдах нь таван минутын засварыг долоо хоногийн тохируулга болгох арга юм.
Хоцролт хэзээ гэдгийг шийднэ, болох эсэхийг биш
Хоцролтын утгууд цагийг зөөдөг: нэг нь мэдэгдлийн дараа илгээсэн пакетэд, нөгөө нь эсрэг гар барилтын оролдлогод хамаарна. Аль нь ч хаагдсан чиглэлийг ажиллуулдаггүй. Хоёуланг зэрэг өөрчлөх нь таны хийх гэж байсан харьцуулалтыг устгадаг.
Механизм зөв болтол тэдгээрийг орхи. Дараа нь нэгийг тохируулж, хуучин утгыг бичиж хадгал.
Реле нь шударга хариулт болох үед
Зарим NAT хослол цагийг хэрхэн зохицуулсан ч шууд замыг дэмжиж чадахгүй. Хоёр талд тэгш хэмт NAT, эсвэл хүсээгүй орж ирэх трафикийг бүрэн хаядаг галт хана нь цоолох зүйл үлдээдэггүй.
Хүрч болох хаягтай реле зангилаа тэдгээр peer-үүдэд дамжилтын амжилтаас хамааралгүй зам өгдөг. Тэр зангилаагаар дамжуулах зурвасын өргөнийг зарцуулдаг тул энэ нь тойрч гарах биш, багтаамжийн шийдвэр юм. Релег санаатайгаар тохируул бөгөөд peer-үүд түүнд хүрч чадах эсэхийг шалга, учир нь өөрөө хүнд NAT-ын ард байгаа реле юу ч өөрчлөхгүй. Дараа нь тэр хосын punch тохиргоог тохируулахаа болиул, учир нь шууд зам хэзээ ч гарах ёсгүй байсан.
Бүтэлгүйтсэн хосыг сул зогссоны дараа шалга
Эвдэрсэн нөхцөлийг дахин үүсгэ: хосыг ижил завсарлагаанд сул байлга, эсвэл урьд нь бүтэлгүйтдэг гар барилтын дарааллыг давт. Дараа нь гэрэлт цамхагт хүсэлт биш, тэр хоёр peer-ийн хооронд аппликейшнийг ажиллуул. Гэрэлт цамхгийн хариу нь хяналтын замыг баталж, өгөгдлийн замын талаар юу ч хэлэхгүй.
Аль тохиргоо өөрчлөгдсөн, цаг, шууд зам гарсан эсвэл трафик реле дээр үлдсэн эсэхийг бич. Үлдсэн бол хариу нь реле ба багтаамжийн тэмдэглэл бөгөөд энэ нь огт муу үр дүн биш. Гарсан бол дараагийн асуулт нь нэг цаг сул зогсолтыг тэсэх эсэх, учир нь сулардаг зураглал бол punch байгаа шалтгаан болсон асуудал юм.