كاربرد پورتها در شبكه
پورت به محلی گفته می شود بر ای ورود و خروج داده ها، که پورت ها در شبکه به دو دسته نرم افزاری و سخت افزاری تقسیم می شوند. پورت های سخت افزاری در زیر به نمایش داده شده است. اما پورت های نرم افزاری یک سری اعداد هستند از 1 تا 65535 .
پورت های سخت افزاری
پورت USB
پورتUSB) Universal Serial Bus) در نتيجه نياز كاربران به پورتهايي سريعتر در كامپيوترها ابداع شد. در سالهاي اخير پيشرفتهاي قابل توجهاي در زمينه كامپيوتر و تجهيزات مربوط به آن به دست آمده است. مثلاً سرعت هارد ديسكها (Hard Disks) به ميزان قابل توجهاي افرايش يافته، ديسكهائي با ظرفيتهاي GByte120 و بالاتر به بازار آمده است. سرعت پردازندهها به بيش از GHz4 رسيده است و حافظههاي RAM با ظرفيتهاي GByte1 رايج ميباشند. اما در ميان تمام تجهيزات اصلي كامپيوتر و تجهيزات جانبي آن به نظر ميرسيد كه رشد پورتهاي ورودي ـ خروجي (I/O Ports) متوقف شده و در اين زمينه بهبود چنداني حاصل نگرديده است. پورتهاي وروديـخروجي كه مهمترين آنها پورت سري (Serial Port) و پورت موازي (Parallel Port) ميباشند، دروازه ارتباط كامپيوتر با ساير كامپيوترها و تجهيزات جانبي هستند و به همين دليل به پورتهاي كامپيوتر، درگاه نيز گفته ميشود (درگاه سري ـ درگاه موازي). چون از اين پورتها براي ورود اطلاعات به كامپيوتر و خروج اطلاعات از كامپيوتر استفاده ميگردد، به آنها پورتهاي ورودي ـ خروجي ميگويند. پورتهاي سري و موازي در موارد مختلفي به كار ميروند. شما براي اتصال ماوس (Mouse)، مودم اكسترنال (External Modem)، ارتباط دو كامپيوتر از طريق برنامه NC (Norton Commander)، اتصال پرينتر و اسكنر و پلاتر (Plotter) به كامپيوتر و كاربردهاي ديگرل، از پورتهايي كه در پشت كامپيوتر قرار دارند استفاده ميكنيد. بيش از بيست سال اين پورتها نياز بسياري از كاربران را به خوبي برآورده كردند ولي همراه با ساير تجهيرات كامپيوتري پيشرفت نداشتند.
كاربران حرفهاي يا كاربران عادي كامپيوترها ملاحظه ميكردند كه هر از چند گاه مدلهاي جديد CPU، Main Board، Hard Disk و. .. به بازار عرضه ميشود ولي مدل جديدي از پورتهاي سري يا پورتهاي موازي به بازار نميآيد. كمكم اين موضوع به يك مشكل تبديل شد زيرا سرعت كند ارسال اطلاعات، تنظيمات نسبتاً پيچيده پورت سريال، تعداد اندك پورتها بر روي هر كامپيوتر (معمولاً در پورت سري و يك پورت موازي) باعث شد كه پورتها بهعنوان گلوگاه كامپيوتر (Computer Bottleneck) شناخته شود كه اين گلوگاه يا گذرگاه تنگ، باعث كندي بخشي از عملكرد كامپيوتر ميشد. بنابراين لازم بود كه تحول بزرگي در زمينه پورت كامپيوترها بوقوع بپيوندد و اين تحول بزرگ ابداع پورتهاي USB (Universal Serial Bus) بود. در طراحي پورت USB، اهدافي مانند كاربرد آسان، سرعت زياد، قيمت مناسب، ساختار تا حد ممكن ساده و چندين هدف ديگر در نظر گرفته شد كه مهمترين آنها عبارت بودند از: اتصال دستگاههاي جانبي مانند پرينتر، مودم، ماوس و. .. به اين پورت آسان باشد و برخلاف پورتهاي سري و موازي موجود، احتياج به تنظيمات IRQ يا تنظيمات شماره پورت I/O نداشته باشد.
• سرعت انتقال اطلاعات در اين پورت Mbps (Mega Bit Per Second)12 باشد و در عين حال هزينه آن نيز پايين باشد به طوري كه قيمت يك مادربرد كه بر روي آن پورت USB وجود دارد با يك مادربرد بدون پورت USB تفاوت خيلي زيادي نداشته باشد.
• بتواند در انواع مدلهاي مختلف كامپيوتر از جمله كامپيوترهاي Laptop (كامپيوترهاي كيفي) و كامپيوترهاي Desktop (همين كامپيوترهايي كه اكثر كاربران از آن استفاده ميكنند) نصب شود.
• ساختار خيلي پيچيدهاي نداشته باشد تا اينكه سازندگان دستگاههاي جانبي (مانند ماوس، پرينتر و. ..) تمايل داشته باشند كه اين پورت را به تجهيزات جانبي اضافه كنند.
به اين ترتيب پورت USB توسط مهندسين ابداع گرديد و نمونههاي جديد اين پورت پس از تكميل و رفع اشكالات نمونههاي قبلي تكميل گرديد. نمايندگان هفت شركت بزرگ نرم افزاري و سخت افراري جهان نشستهاي مشتركي تشكيل دادند تا ساختار (و استانداردهاي) اين پورت جديد را تعيين نمايند.
اين هفت شركت عبارت بودند از:
Compaq، Hewlett Packard، Intel، Lucent، Microsoft، NEC و Philips. اطلاعات مربوط به تصميمات اين گروه و آخرين تغييرات اين استاندارد را در سايت (www.usb.org) ميتوانيد ملاحظه نمايد.
در سال 1996 اولين نسخه استاندارد USB (استاندارد USB شامل اطلاعاتي درباره روش طراحي، نحوه استفاده و ويژگيهاي پورت USB بود) بنام USB1.0 به دنياي كامپيوتر ارايه شد.
در سال 1998نسخه دوم اين ستاندارد با رفع اشكالات نسخه قبل و افزودن ويژگيهاي جديد، بهنام استاندارد USB1.1 معرفي شد. سال 2000، زمان ارايه جديدترين و سريع ترين استاندارد USB، يعني استاندارد USB2.0 بود. اين نسخه از استاندارد اشكالات كمتري دارد و سرعت آن از استانداردهاي قبلي بيشتر است (40 برابر سرعت USB1.1). البته اين استاندارد با نسخه قبلي (استاندارد USB1.0 و استاندارد USB2.0) سازگار است. امروزه دستگاهاي جانبي بسياري داراي پورت USB هستند و هر روز بر تعداد و تنوع اين دستگاهها افزوده ميشود. از ميان دستگاههاي جانبي كه در حال حاضر داراي پورت USB هستند به اين موارد ميتوان اشاره كرد:
پرينتر، اسكنر، ماوس، Joystick، دوربينهاي ديجيتالي، دوربينهاي ديجيتالي مخصوص اينترنت (Webcam)، مودم، بلندگو Zip Drive، (Speaker)، Flash Disks.
پورت USB چگونه كار ميكند ؟
راز كيفيت پورت USB اين است كه در طراحي اين استاندارد از تجربيات موجود در طراحي ساير استانداردها و تجهيزات كامپيوتري استفاده شده است. در طراحي استاندارد USB ويژگيهاي طراحي شبكه با توپولوژي Star، دسترسي به كانال مشترك و. .. را ملاحظه ميكنيم.
در اين قسمت با بررسي ساختار داخلي پورت USB، خواهيم دانست كه چگونه پورت USB ويژگيهاي بيان شده در قسمت قبل را به دست آورده است. در اين بررسي چند سوال اساسي را پاسخ خواهيم داد:
• سرعت زياد پورت USB از كجا ناشي ميشود و چرا در پورت سري يا پورت موازي نميتوان به اين سرعت دست يافت ؟
• چرا اتصال ابزارهاي جانبي به پورت USB، تنظيم خاصي نميخواهد، در حالي كه در اتصال ابزارهاي جانبي به پورتهاي سري يا موازي (مانند مودم به پورت سري) تنظيمات IRQ يا تنظيمات شماره پورت بايد انجام شود ؟
• استفاده از چه تكنيكي باعث شده تا بتوان ابزارهاي جانبي كه داراي پورت USB هستند را بدنبال يكديگر به كامپيوتر متصل نمود ؟
معماري پورت USB بسيار شبيه به توپولوژي Star در شبكههاي كامپيوتري است. در اين شبكه كامپيوتري، روش كابل كشي بين كامپيوترها را توپولوژي (Topology)، ميگويند. يكي از متداولترين توپولوژيهايي كه امروزه در دنيا به كار ميرود، توپولوژي Star (ستاره) است. در اين توپولوژي، همه كامپيوترهاي شبكه توسط يك دستگاه مركزي به يكديگر متصل ميشوند. به اين دستگاه مركزي Hub (هاب) ميگويند. اگر تعداد زيادي كامپيوتر به يكديگر متصل شوند، ميتوان از چندين Hub استفاده كرد و يك شبكه بزرگ را تشكيل داد. انتقال اطلاعات ابزارهاي جانبي به كامپيوتر، توسط Host Controller مديريت و كنترل ميشود. در واقع Host Controller رابط بين وسايل جانبي و كامپيوتر است. Host Controller در داخل كامپيوتر قرار دارد. اگر تعداد وسايل جانبي زياد باشد، براي اتصال آنها به كامپيوتر از تعداد بيشتري Hub استفاده ميگردد.
استفاده از توپولوژي Star موجب شده است كه تعداد زيادي ابزار جانبي در استاندارد بتوانند به يكديگر متصل شوند. در استاندارد USB با اين روش ميتوان تا 127 ابزار جانبي را به كامپيوتر متصل نمود. در هر كامپيوتر معمولاً Host Controller2 و Hub 2 وجود دارد. اگر به قسمت Device Manager كامپيوتر خود مراجعه كنيد ميتوانيد اين موضوع را تحقيق كنيد. همچنين در اين قسمت ميتوانيد اطلاعات جالب ديگري درباره پورت USB كامپيوتر خود بدست آوريد. بعضي از وسايل جانبي مانند كيبرد يا مانيتور، در داخل خود داراي Hub هستند و به اين ترتيب امكان اتصال ابزارهاي جانبي ديگر را به كامپيوتر فراهم ميكنند. ارتباط هر كامپيوتر با Hub توسط كابل USB برقرار ميشود.
جهت حركت به سمت بالاي هرم را Upstream و جهت حركت به سمت پايين هرم را Downstream مي گويند.
به انتهاي كابل USB كه در جهت بالاي هرم (Upstream) متصل مي شود، كانكتور نوع (A Connector) A ميگويند و انتهاي كابل USB كه در جهت پايين هرم (Downstream) متصل مي شود، كانكتور نوع (B Connector) B ميگويند.
چون شكل ظاهري كانكتور A و كانكتور B با يكديگر فرق مي كند، كاربرد در اتصال اين كابل دچار مشكل نخواهد شد. در اين كابل چهار سيم وجود دارد. دو سيم براي انتقال ولتاژ ? ولت و دو سيم براي انتقال داده بكار مي رود. از ولتاژ ? ولت مي توان به عنوان منبع تغذيه ابزار هاي جانب استفاده كرد. به همين دليل بعضي ابزارهاي جانبي كابل برق ندارند و فقط با اتصال كابل USB كار مي كنند.
البته اگر ابزار جانبي مصرف برق زيادي داشته باشد، كابل USB نمي تواند جريان الكتريكي لازم را براي اين ابزار جانبي تأمين كند و لازم است دستگاه جانبي، منبع تغذيه الكتريكي جداگانه اي داشته باشد (Hub كامپيوتر مي تواند حداكثر 500ميلي آمپر در هر پورت USB به ابزارهاي جانبي جريان بدهد ولي هر Hub ديگر به غير از Hub كامپيوتر در هر پورت خود مي تواند حداكثر تا 100ميلي آمپر به ابزارهاي جانبي جريان تحويل بدهد. بنابراين اگر يك ابزار جانبي بيش از100 ميلي آمپر جريان مصرف مي كند، بهتر است از منبع تغذيه كابل USB استفاده نكند).
براي انتقال داده ها در كابل USB از دو سيم كه به دور يكديگر پيچيده شده اند، استفاده شده است. استفاده از دو سيم كه به دور يكديگر پيچيده شده اند، باعث ميشود كه سرعت انتقال اطلاعات به مقدار زيادي افزايش بيابد.
اين تكنيك در شبكههاي با توپولوژي Star به كار رفته است و به وسيله همين روش سرعتهايي بالاي Mpbs100 به دست آمده است. سرعت انتقال اطلاعات در استاندارد USB1.0 و استاندارد USB1.1 از Mbps5/1 تا Mbps12 ميرسد، يعني 40 برابر سرعت نسخه قبلي.
البته استاندارد USB2.0 مي تواند با سرعتهاي Mbps5/1 و Mbps12 نيز دادهها را منتقل كند و اين كار براي سازگاري استاندارد USB2.0 با استاندارد USB1.0 و USB1.1 است. سرعتهاي متفاوت، براي ابزارهاي جانبي متفاوت كاربرد دارد. سرعت انتقال Mbps5/1 براي ابزارهايي مانند كيبرد و ماوس مناسب است و سرعت Mbps480 براي دريافت اطلاعات از ابزارهاي با سرعت انتقال زياد مانند دوربين هاي ويديويي به كار مي رود.
سرعت انتقال اطلاعات در استاندارد USB2.0 400 برابر سرعت انتقال اطلاعات در پورت سري و 160 برابر سرعت انتقال اطلاعات در پورت موازي است. به USB2.0 گاهي اوقات High Speed USB نيز گفته مي شود.
اما چرا اتصال ابزارهاي جانبي به پورت USB آسان است و احتياج به تنظيمات خاصي ندارد؟
وقتي يك ابزار جانبي به پورت Hub متصل ميشود، Hub از اين موضوع مطلع شده و آن را به Hub بالايي (Upstream) اطلاع ميدهد تا اين كه خبر به Host Controller برسد. روش شناسايي اين موضوع با اندازهگيري مقاومت الكتريكي است. با اتصال هر Hub يا هر ابزار جانبي به پورت USB، مقاومت الكتريكي آن تغيير ميكند و به اين ترتيب Host Controller متوجه مي شود كه يك دستگاه جديد به شكبه اتصالات USB وصل شده است. سپس Host Controller از ابزار جانبي درخواست ميكند كه خود را بيشتر معرفي كند. ابزار جانبي اطلاعاتي در مورد هويت خود (در مورد اينكه ابزار جانبي يك ماوس است يا مانيتور يا. ..) ارسال ميكند. سپس Hub حداكثر سرعتي را كه ابزار جانبي با آن كار ميكند به دست آورده و اين اطلاعات را براي Host Controller ميفرستد. در صورتي كه براي كار كردن با ابزار جانبي به درايو خاصي احتياج باشد، سيستم عامل از كاربر درخواست ميكند كه ديسك حاوي درايور را در CD ROM يا FloppyDrive قرار دهد. اتصال ابزارهاي جانبي يا Hub به پورتهاي USB ميتواند وقتي كه كامپيوتر روشن است، نيز انجام شود. در اصطلاح ميگويند پورت USB داراي خاصيت Hot Plug يا Hot Swappable است و قطع كردن يا متصل كردن يك ابزار جانبي به پورت USB احتياج به Restart كردن كامپيوتر ندارد. به مجموع اين مراحل شناسايي در اصطلاح Enumeration ميگويند.
مشكلات استفاده از پورت USB:
هر تكنولوژي جديد مزاياي جديدي را براي كاربران به ارمغان ميآورد و البته مشكلات جديدي را نيز ايجاد ميكند كه اين مشكلات نيز در تكنولوژيهاي بعدي به ترتيب برطرف خواهد شد. اين موضوع درباره پورت USB نيز صادق است. يكي از مشكلات پورت USB اين است كه اگر به هر Host بيش از يك ابزار جانبي با حجم تبادل داده بالا متصل شود، اين ابزارها نميتوانند همزمان با يكديگر به تبادل داده بپردازند. مثلاً اگر يك پرينتر و يك اسكنر به يك Host Controller كامپيوتر متصل شوند، و شما در يك زمان بخواهيد يك فايل بزرگ براي پرينتر بفرستيد و همزمان يك تصوير بزرگ را نيز اسكن كنيد، اين كار همزمان امكان پذير نيست و يكي از ابزارها مثلاً پرينتر بايد منتظر بماند تا كار اسكنر تمام شود. يكي ديگر از مشكلات پورت USB طول كابل آن است. طول كابل پورت USB حداكثر ميتواند تا 5/4 متر باشد و اگر بخواهيم با كمك اتصال چند Hub طول كابل را افزايش دهيم، حداكثر اين مسافت 24 متر خواهد بود.
چند نمونه از پورت های نرم افزاری
پورت 13:
نام دیگر اون daytime است و کارش هم اینه که زمان و تاریخ رو در اون کامپیوتر به ما میده. این پورت اصولا خیلی سر راسته. فقط کافیه که بهش وصل شیم تا اطلاعاتشون بیرون بریزه. البته این پورت رو خیلی از کامپیوترها بسته است. (یادتون باشه که وقتی میتوان با یه پورت کار کرد که باز باشد).
حالا میخوایم با پورت 13 از ip شماره 194.225.184.13 صحبت کنم. یکی از این دو دستور را مینویسم:
13 194.225.184.13 telnet
البته در آن دستورات به جای عدد 13 میتوان معادلش را نوشت که daytime است.
و جواب میشنوم:
AM 11:35:33 10/5/2002
بله، با این پورت ارتباط برقرار کردیم و اطلاعاتش رو دریافت کردیم. این اطلاعات معمولا به درد این میخورد که مکان جغرافیایی اون کامپیوتر را حدس بزنیم (البته اگر زمان اون کامپیوتر صحیح باشد). به عنوان مثال این کامپیوتر خاص در ایران است چون ساعتش همزمان با ایران است.
پورت 25:
برای ارسال E-mail بهکار میرود. این پورت از پروتکل SMTP برای این کار استفاده میکند. نکته مهم آن است که این پروتکل توانایی خواندن E-mail را ندارد و فقط میتواند E-mail بفرستد.
حالا سوالی که پیش میآید که چه برنامههایی روی سرور پورت 25 را باز میکند؟
همانطور که گفتم، SMTP فقط یک پروتکل است (نه یک برنامه) و از نظر لغوی مخفف عبارت Simple Mail Transfer Protocol است. برنامهای که پورت 25 را باز میکند تا بتوان از طریق آن E-mail ارسال کنیم، SMTP Server میگویند. SMTP Server یک عبارت کلی است، برای این نوع برنامهها. حالا خود SMTP Server انواع مختلف دارد که مشهورترینهایشان، SMail، SendMail، ESMTP MAIL Service و ... هستند. نکته مهم این است که تفاوت زیادی نیست که سرور مورد نظر ما از کدامیک از این نرمافزارها استفاده میکند، زیرا اصول کار با آنها یکی است.
برای صحبت کردن با پورت 25 اول باید یک Server پیدا کنیم که پورت 25 در آن باز باشد (اگرچه در اکثر سرورها پورت 25 باز است). بعد باید طبق معمول از telnet یا nc برای ارتباط استفاده کنیم
21:
این پورت برای فایل های به اشتراک گذاشته شده است.
شما توسط این پورت میتونید به فایل های به اشتراک گذاشته شده به صورت زیر دسترسی پیدا کنید
ftp://xxx.xxx.xxx.xxx
شما باید به جای x ای پی را وارد کنید
البته اگه ویندوز زیر 2000 باشه کامپیوتر دیگه تو دست شماست
البته شما سعی کنید هیچ وقت فایلی رو در ویندوز زیرxp به اشتراک نزارید(share)
پورت 80
پورت 80 یکی از مهمترین پورتهاست. دنیای وب (صفحات اینترنتی) بر اساس همین پورت کار میکنه. توضیح اینکه وقتی به یه سایت وصل میشیم و صفحه وب را درخواست میکنیم، در واقع مرورگر اینترنتی به پورت 80 اون کامپیوتر وصل میشه و اطلاعات رو میگیره (البته بعد از گرفتن اطلاعات اون رو تفسیر میکنه و به صورت یه صفحه نشون میده - دقت کنید که اطلاعات در واقع به صورت یک سری تگ HTML است ). حالا ما میخواهیم با پورت 80 یک کامپیوتر صحبت کنیم ولی به کمک telnet و nc.
اول باید یه connection (اتصال) با پورت 80 برقرار کنیم (مثلا برای سایت hotmail.com باید بنویسم):
80 http://www.hotmail.com/ telnet
80 http://www.hotmail.com/ nc -v
پس اول باید یکی از دستورات بالا را استفاده کنیم. من همیشه توصیهام استفاده از nc بوده و خواهد بود.
حالا باید شروع به صحبت با پورت 80 کنیم. من فعلا دو تا جمله براتون میگم و بقیهاش بمونه واسه بعد. دقت کنید که موقع کار با پورت 80 با تلنت (نه nc) دستوراتی که ما مینویسیم، نمایش داده نمیشود ولی کار میکنه.
1- اولین جمله اینه: GET / HTTP/1.0 و بعدش دوتا Enter
به فاصلهها دقت کنید. دو طرف / ی که بعد از GET است، فاصله وجود دارد. این جمله به پورت 80 میگه که هرچی در header داره، نشون بده. و جواب میشنوم:
Http/ 1.0302 Moved Temporarily
Server : Microsoft-IIS/5.0
Date: Thu, 5 Dec 2002 12:02:51 GMT
Location: http://lc2.law5.hotmail.passport.com/cgi-bin/login
MISS from cache5.neda.net.ir X-Cache:
Connection: close
2- دومین جمله اینه: GET / what/ever و بعدش دوتا Enter
به فاصلهها دقت کنید. این دستور باعث میشه که هر چی داره، رو کنه.
البته توجه کنید که ما مسیر را مشخص نکردیم. بعدها در مورد این مسیر مشخص کردن صحبت خواهم کرد. این حالت که بدون مسیر است خیلی وقتها کار نمیکنه (مثل همین مثال !!)
گاهی پیش میآد که یک سری دستورات خاص را همیشه باید پشت سرهم به یه پورت خاص بفرستیم و بخواهیم در وقت صرفهجویی کنیم. مثلا همین جمله GET / HTTP/1.0 و دو Enter پشت سرهم که همیشه استفاده میکنیم. در این موارد میتوان این دستورات را در یک فایل تایپ کرد (همراه با Enter ها که باید موقع نوشتن حتما بزنید) و بعد مثلا با نام yahoo.txt ذخیره کنید و بعد یکی از دستورات زیر را بنویسیم:
80http://www.yahoo.com/ yahoo.txt>nc-v
