|
2 | 2 | sidebar_position: 4 |
3 | 3 | --- |
4 | 4 |
|
| 5 | +import YouTube from 'react-youtube' |
| 6 | + |
5 | 7 | # Http2 Mux Grpc |
6 | 8 |
|
7 | | -افزودن پروتکل Http2 به تونل، امکانات و ویژگیهای جدیدی را در اختیار ما قرار میدهد، از جمله قابلیتهای multiplexing (mux) و gRPC. |
| 9 | +افزودن پروتکل Http2 به تونل، امکانات و ویژگیهای جدیدی را در اختیار ما قرار |
| 10 | +میدهد، از جمله قابلیتهای multiplexing (mux) و gRPC. |
| 11 | + |
| 12 | +با بهرهگیری از gRPC، میتوان ارتباط را هم از طریق سرویس Cloudflare عبور داد و |
| 13 | +هم به صورت مستقیم استفاده کرد، بدون تفاوت. |
| 14 | + |
| 15 | +استفاده از mux نیز باعث کاهش تعداد اتصالات (connections) بین سرور داخل ایران و |
| 16 | +خارج میشود و همچنین زمان handshake را به میزان قابل توجهی بهبود میبخشد. |
| 17 | + |
| 18 | +روشهای تونل بدون mux، احتمال بروز اختلال یا حتی فیلتر شدن سرور خارجی شما را |
| 19 | +افزایش میدهند. |
8 | 20 |
|
9 | | -با بهرهگیری از gRPC، میتوان ارتباط را هم از طریق سرویس Cloudflare عبور داد و هم به صورت مستقیم استفاده کرد، بدون تفاوت. |
| 21 | +بنابراین، به ویژه اگر تعداد زیادی کاربر روی یک سرور دارید، اکیداً توصیه میشود |
| 22 | +این قابلیت را در تونلهای خود پیادهسازی کنید. |
10 | 23 |
|
11 | | -استفاده از mux نیز باعث کاهش تعداد اتصالات (connections) بین سرور داخل ایران و خارج میشود و همچنین زمان handshake را به میزان قابل توجهی بهبود میبخشد. |
| 24 | +هنگام استفاده از Http2، دیگر نیازی به preconnect نیست و تأثیر چندانی نخواهد |
| 25 | +داشت. |
12 | 26 |
|
13 | | -روشهای تونل بدون mux، احتمال بروز اختلال یا حتی فیلتر شدن سرور خارجی شما را افزایش میدهند. |
| 27 | +## ویدیو های آموزشی |
14 | 28 |
|
15 | | -بنابراین، به ویژه اگر تعداد زیادی کاربر روی یک سرور دارید، اکیداً توصیه میشود این قابلیت را در تونلهای خود پیادهسازی کنید. |
| 29 | +#### آموزش تانل MUX با هسته ی واتروال |
16 | 30 |
|
17 | | -هنگام استفاده از Http2، دیگر نیازی به preconnect نیست و تأثیر چندانی نخواهد داشت. |
| 31 | +<YouTube videoId="sn0-ABfIcx4" opts={{width: '100%'}} /> |
18 | 32 |
|
19 | 33 | ## پیادهسازی روی Tls tunnel |
20 | 34 |
|
21 | | -در این مثال، آدرس IP سرور خارجی `1.1.1.1` فرض شده است. اگر IP پشت دامنه قرار دارد، میتوانید در بخش `node output`، به جای IP، نام دامنه را وارد کنید. |
| 35 | +در این مثال، آدرس IP سرور خارجی `1.1.1.1` فرض شده است. اگر IP پشت دامنه قرار |
| 36 | +دارد، میتوانید در بخش `node output`، به جای IP، نام دامنه را وارد کنید. |
22 | 37 |
|
23 | 38 | ## فلوچارت |
24 | 39 |
|
@@ -155,20 +170,34 @@ flowchart LR; |
155 | 170 | } |
156 | 171 | ``` |
157 | 172 |
|
158 | | -در این مثال، وجود node ProtoBuf الزامی نیست، اما با قرار دادن آن، ارتباط به عنوان gRPC شناخته میشود و میتواند از طریق CDN عبور کند. |
| 173 | +در این مثال، وجود node ProtoBuf الزامی نیست، اما با قرار دادن آن، ارتباط به |
| 174 | +عنوان gRPC شناخته میشود و میتواند از طریق CDN عبور کند. |
159 | 175 |
|
160 | | -:::info پارامتر concurrency |
161 | | -همانطور که در پیکربندی مشاهده میکنید، در گره Http2Client پارامتری به نام concurrency وجود دارد. |
| 176 | +:::info پارامتر concurrency همانطور که در پیکربندی مشاهده میکنید، در گره |
| 177 | +Http2Client پارامتری به نام concurrency وجود دارد. |
162 | 178 |
|
163 | | -به صورت پیشفرض، مقدار آن 64 تنظیم شده است که بدین معناست به ازای هر 64 اتصال کاربر، یک اتصال به سرور خارجی برقرار میشود. |
| 179 | +به صورت پیشفرض، مقدار آن 64 تنظیم شده است که بدین معناست به ازای هر 64 اتصال |
| 180 | +کاربر، یک اتصال به سرور خارجی برقرار میشود. |
164 | 181 |
|
165 | | -اگر تعداد کاربران شما بسیار زیاد است (مثلاً بیش از 150 یا 200 نفر)، پیشنهاد میشود مقدار concurrency را دو برابر کنید و روی 128 تنظیم نمایید تا احتمال فیلتر شدن بر اساس تعداد اتصالات نیز نصف شود. |
| 182 | +اگر تعداد کاربران شما بسیار زیاد است (مثلاً بیش از 150 یا 200 نفر)، پیشنهاد |
| 183 | +میشود مقدار concurrency را دو برابر کنید و روی 128 تنظیم نمایید تا احتمال فیلتر |
| 184 | +شدن بر اساس تعداد اتصالات نیز نصف شود. |
166 | 185 | ::: |
167 | 186 |
|
168 | 187 | #### دانشنامه Http2 و gRPC در WaterWall |
169 | 188 |
|
170 | | -- Http2: نسخه بهبود یافته پروتکل HTTP که امکاناتی مانند multiplexing، فشردهسازی هدر، و Server Push را ارائه میدهد. استفاده از Http2 در تونلهای WaterWall، کارایی و عملکرد را به میزان چشمگیری افزایش میدهد. |
171 | | -- gRPC: چارچوبی برای ارتباطات بین سرویسها که از Http2 برای انتقال داده بهره میبرد. با استفاده از gRPC در پیکربندی تونل، امکان عبور ارتباط از سرویسهای CDN مانند Cloudflare فراهم میشود. |
172 | | -- Multiplexing (Mux): قابلیت Http2 برای برقراری چندین ارتباط همزمان روی یک اتصال واحد. در WaterWall، mux باعث کاهش تعداد اتصالات بین سرور داخل و خارج ایران شده و زمان handshake را بهبود میبخشد. |
173 | | -- Concurrency: پارامتری در گره Http2Client که تعداد اتصالات کاربر به ازای هر اتصال به سرور خارجی را مشخص میکند. تنظیم مقدار مناسب برای concurrency بسته به تعداد کاربران، از اهمیت بالایی برخوردار است. |
174 | | -- ProtoBuf (Protocol Buffers): فرمت سریالسازی داده توسعه یافته توسط Google که در gRPC به کار میرود. گرههای ProtoBufClient و ProtoBufServer در پیکربندی WaterWall، نقش مهمی در شناسایی ارتباط به عنوان gRPC ایفا میکنند. |
| 189 | +- Http2: نسخه بهبود یافته پروتکل HTTP که امکاناتی مانند multiplexing، فشردهسازی |
| 190 | + هدر، و Server Push را ارائه میدهد. استفاده از Http2 در تونلهای WaterWall، |
| 191 | + کارایی و عملکرد را به میزان چشمگیری افزایش میدهد. |
| 192 | +- gRPC: چارچوبی برای ارتباطات بین سرویسها که از Http2 برای انتقال داده بهره |
| 193 | + میبرد. با استفاده از gRPC در پیکربندی تونل، امکان عبور ارتباط از سرویسهای |
| 194 | + CDN مانند Cloudflare فراهم میشود. |
| 195 | +- Multiplexing (Mux): قابلیت Http2 برای برقراری چندین ارتباط همزمان روی یک اتصال |
| 196 | + واحد. در WaterWall، mux باعث کاهش تعداد اتصالات بین سرور داخل و خارج ایران شده |
| 197 | + و زمان handshake را بهبود میبخشد. |
| 198 | +- Concurrency: پارامتری در گره Http2Client که تعداد اتصالات کاربر به ازای هر |
| 199 | + اتصال به سرور خارجی را مشخص میکند. تنظیم مقدار مناسب برای concurrency بسته به |
| 200 | + تعداد کاربران، از اهمیت بالایی برخوردار است. |
| 201 | +- ProtoBuf (Protocol Buffers): فرمت سریالسازی داده توسعه یافته توسط Google که |
| 202 | + در gRPC به کار میرود. گرههای ProtoBufClient و ProtoBufServer در پیکربندی |
| 203 | + WaterWall، نقش مهمی در شناسایی ارتباط به عنوان gRPC ایفا میکنند. |
0 commit comments