View Full Version : سوال: امکان استفاده از تمامی پورت های شبکه
hamidhws
سه شنبه 29 اسفند 1391, 23:22 عصر
سلام دوستان
عیدتون مبارک
همانطور که میدونید به تعداد 65536 تا پورت شبکه داریم که انتقال دیتا از طریق شبکه رو میسر میکنه. از این تعداد بیش از 60 هزار تای اون معمولا بلا استفاده هست . من میخواستم از کل پورت های سیستم استفاده کنم . میخواستم ببینم این کار امکان پذیره؟ میشه همزمان همه پورت های سیستم رو باز کرد ؟ هم برای listen هم برای کانکت شدن
Mask
چهارشنبه 30 اسفند 1391, 09:18 صبح
عجب سوال بی منطقی.
پورت رو باز کنید برای چی.؟
ببینید مشکل شما اینه که پروتکل ها رو درک نکردید. یه سری به کتابهای tcp-ip بزنید تا رفع ابهام بشید.
و در کل:
هر برنامه تحت شبکه ای برای کار با شبکه ، پورتی رو باز میکنه و با اون انتقال اطلاعات انجام میده. حالا با در نظر گرفتن این موضوع ، میتونید بفهمید که سوالتون غیر منطقیه.
hamidhws
چهارشنبه 30 اسفند 1391, 16:52 عصر
دوست عزیز شما چون سوال رو درک نکردید به نظرتون بی منطق میاد! واسه سرگرمی که نمیخوام باز کنم حتما احتیاج دارم که از همه پورت ها استفاده کنم .
پورتی رو باز میکنه و با اون انتقال اطلاعات انجام میده
به تعداد 65536 تا پورت شبکه داریم که انتقال دیتا از طریق شبکه رو میسر میکنه
واقعا فکر میکنید خودم این چیزا رو نمیدونم؟!
-----------------------
در کل بیخیال این رو پای نفهمیدن سوال میذارم که شاید اشتباه من باشه.
سوال رو بهتر مطرح میکنم . ببینید من برای یک پروژه شخصی احتیاج به باز کردن تمامی پورت های خالی سیستم رو دارم (من برای اطمینان 60000 تا در نظر گرفتم ) . یعنی 60000 تا روی سیستم کلاینت و 60000 تا روی سرور . و اینکه برای سرگرمی باز نمیکنم و قصد انتقال دیتا رو دارم . جهت اطلاعتون روی یه پتنت بین المللی کار میکنم که بعد از ثبت قصد پیاده سازی عملی اون رو دارم .
قصد زیاده گویی ندارم اما برای اینکه باز سوء تفاهم پیش نیاد عرض میکنم . شاید شما بگید چه کاریه از 10 تا پورت استفاده کن و با همون 10 تا از تمام پهنای باند شبکه استفاده کن! اما دوست عزیز من نمیتونم زیاد مسئله رو باز کنم فقط اینو بدونید که مجبورم بنا به دلایلی روی هر پورت از پهنای باند خیلی پایینی استفاده کنم ( به فرض 100 bps) . و چون این سرعت برام کافی نیست مجبورم از تمامی پورت ها استفاده کنم تا به کل پهنای باند شبکه دست پیدا کنم. امیدوارم تا اینجاش منظورمو رسونده باشم.
اما مشکلم در حال حاضر اینه : یه نرم افزار کلاینت سرور نوشتم برای تست و بدون مشکل 60000 تا پورت سمت سرور و همچنین 60000 تا سمت کلاینت باز کردم . تا اینجاش مشکلی نبود و حتی بدون مشکل تونستم به کل پورت ها کانکت بشم .
اما مشکلم در زمان accept کردن کانکشن ها بود . در این صورت فقط 3000 تا از کانکشن هام تونستن کانکت بشن! میخواستم بدون ایا محدودیتی برای استفاده از تعداد پورت ها توی شبکه وجود داره یا خیر. و اگه محدودیتی وجود نداره کسی میدونه این مشکل بخاطر چیه؟
با تشکر
silverfox
چهارشنبه 30 اسفند 1391, 22:59 عصر
اینو ببین (http://www.kegel.com/c10k.html)
توی لینوکس ها یه جا واسه لیمیت کردن تعداد پورت ها داره ویندوز رو نمی دونم در کل گوگل سرچ کن خیلی مطلب پیدا می کنی تو stackoverflow خیلی بحث شده
manvaputra
یک شنبه 04 فروردین 1392, 00:16 صبح
مجبورم بنا به دلایلی روی هر پورت از پهنای باند خیلی پایینی استفاده کنم ( به فرض 100 bps) . و چون این سرعت برام کافی نیست مجبورم از تمامی پورت ها استفاده کنم تا به کل پهنای باند شبکه دست پیدا کنم.
روی گزینه های دیگه هم برای مدیریت پهنای باندت فکر کن ، البته چون صورت مساله واضح نیست قطعا نظر دادن در این رابطه هم راحت نیست، فقط چون فرمودید روی پتنت بین المللی دارید کار می کنید گفتم بد نیست یه یادآوری در زمینه امنیت هم کرده باشم ، یا باز کردن این همه پورت قیامت به پا میشه :)
joker
یک شنبه 04 فروردین 1392, 10:54 صبح
قصد زیاده گویی ندارم اما برای اینکه باز سوء تفاهم پیش نیاد عرض میکنم . شاید شما بگید چه کاریه از 10 تا پورت استفاده کن و با همون 10 تا از تمام پهنای باند شبکه استفاده کن! اما دوست عزیز من نمیتونم زیاد مسئله رو باز کنم فقط اینو بدونید که مجبورم بنا به دلایلی روی هر پورت از پهنای باند خیلی پایینی استفاده کنم ( به فرض 100 bps) . و چون این سرعت برام کافی نیست مجبورم از تمامی پورت ها استفاده کنم تا به کل پهنای باند شبکه دست پیدا کنم. امیدوارم تا اینجاش منظورمو رسونده باشم.
دسترسي به كل پهناي باند شبكه كاري به تعداد پورت ها نداره
اين محدوديت يه جورايي ذاتي هست ، يعني سايز پكتها كه در لايه دو ( سخت افزار سيستم ) قراره رد و بدل بشه
از يه مقداري كم تر باشه ( حدود 1 كيلو بايت ) عملا پرت حساب ميشه و براي اعتبار سنجي رسيدن پكت ( در حالت Tcp ) عملا بار بيشتري روي سيستم اعمال ميشه
و از يه مقداري بيشتر باشه ( بين 2 الي 8 كيلو بايت بسته به مسريابهاي بين مبدا و مقصدا) يا پكت رد نميشه يا شكسته ميشه يه دو يا چند قسمت ديگه كه باز هم حالت بالا را پيش مياره.
در هر حال من فكر ميكنم راهي كه براي هدفت انتخاب كردي زياد درست نباشه يه كم بيشتر روش فكر كن.
در حالت تئوري مشكلي نداري ، ولي در عمل محدوديتهاي سيستم عامل را داري مثلا در مورد اكسپت شدن كانكشن ها ، يك ويندوز 32 بيتي معمولي در حالت عادي حداكثر 2-3 هزارتا thread را ميتونه پشتيباني كنه ، شايد مشكل از اين مورد بوده كه بيشتر بهت اجازه نداده
hamidhws
دوشنبه 09 اردیبهشت 1392, 12:38 عصر
دسترسي به كل پهناي باند شبكه كاري به تعداد پورت ها نداره
اين محدوديت يه جورايي ذاتي هست ، يعني سايز پكتها كه در لايه دو ( سخت افزار سيستم ) قراره رد و بدل بشه
از يه مقداري كم تر باشه ( حدود 1 كيلو بايت ) عملا پرت حساب ميشه و براي اعتبار سنجي رسيدن پكت ( در حالت Tcp ) عملا بار بيشتري روي سيستم اعمال ميشه
و از يه مقداري بيشتر باشه ( بين 2 الي 8 كيلو بايت بسته به مسريابهاي بين مبدا و مقصدا) يا پكت رد نميشه يا شكسته ميشه يه دو يا چند قسمت ديگه كه باز هم حالت بالا را پيش مياره.
در هر حال من فكر ميكنم راهي كه براي هدفت انتخاب كردي زياد درست نباشه يه كم بيشتر روش فكر كن.
در حالت تئوري مشكلي نداري ، ولي در عمل محدوديتهاي سيستم عامل را داري مثلا در مورد اكسپت شدن كانكشن ها ، يك ويندوز 32 بيتي معمولي در حالت عادي حداكثر 2-3 هزارتا thread را ميتونه پشتيباني كنه ، شايد مشكل از اين مورد بوده كه بيشتر بهت اجازه نداده
ممنون دوست عزیز , توضیحاتتون جواب خیلی از سوالامو داد . من میدونم برای کانکشن ساختن پهنای باندی صرف میشه (همون مسیربابی و ...) اما نمیدونم بعد از کانکشن ساختن و در زمان ارسال چه مقدار بار اضافه ارسال میشه؟ مثلا اگر قرار باشه 1 بایت بفرستم چقدر میشه؟
بازم ممنون از توضیحات خوبتون
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.