computer networking project - ip messenger

5

Click here to load reader

Upload: amir-saman-memaripour

Post on 25-Jul-2015

41 views

Category:

Documents


2 download

DESCRIPTION

Specification of a simple IP messenger as the computer assignment of the computer networking course.

TRANSCRIPT

Page 1: Computer Networking Project - IP Messenger

Shahid Beheshti University - ECE Department

Computer Networking

»1پروژه ي شماره ي «

توصيف پروژه

نرم افزار مذكور، پس از .پيام مي باشدجهت ارسال فايل و 1اين پروژه طراحي و پياده سازي نرم افزار پيام رسان هدف

براي اين . مي پردازد ،اي كه در آن اجرا مي شود 2موجود در زيرشبكه رسان هاي پياماجرا به معرفي خود به تمامي

ساختار اين .ارسال مي كند 1367 شماره ي بر روي پورت UDPبا استفاده از پروتكل broadcast منظور، يك پيغام

.پيغام در شكل زير نمايش داده شده است

1 byte 4 bytes 255 bytes

Request Reply TCP Listen Port Computer Name

م كامپيوتر، در اين قسمت، به جاي نا. است كه نرم افزار بر روي آن اجرا مي شود 3قسمت اول اين پيغام، نام كامپيوتري

.را مورد استفاده قرار دهيدمي توانيد نام كاربر

                                                            1 Messenger 2 Subnet 3 Computer Name 

Page 2: Computer Networking Project - IP Messenger

مورد استفاده قرار مي ها ت پيامبه منظور درياف TCP4قسمت دوم، شماره ي پورتي است كه براي پذيرش ارتباط هاي

از ساير پيام رسان TCP هاي پذيرش ارتباط جهتدر حقيقت، اين عدد شماره ي پورتي است كه شما بر روي آن .گيرد

.هاي موجود در زيرشبكه شروع به گوش كردن مي كنيد

صورت نياز به ارسال پاسخ، يك در . قسمت سوم مشخص مي كند با دريافت اين پيام، پاسخي بايد ارسال شود يا خير

.پيام مشابه ايجاد و به سمت فرستنده ي پيام اوليه ارسال مي شود

.، تمامي گيرنده ها به آن پاسخ مي دهند5بودن بايت مربوط به درخواست پاسخ 1با توجه به پس از دريافت اين پيغام،

ي قبلي بر روي زيرشبكه مطلع شده و خود را نيز به همه بدين ترتيب، نرم افزار تازه وارد از كليه ي نمونه هاي اجرا شده

.ي آنها معرفي مي كند

با اين تفاوت كه . ثانيه يك پيام ديگر با همين قالب ارسال مي شود 10عالوه بر پيغام ارسالي در زمان شروع به كار، هر

با . به پيام دريافتي ارسال نخواهد شدلذا هيچ پاسخي . تنظيم مي شود 0بايت مربوط به درخواست پاسخ در پيام ارسالي

چنين بسته اي دريافت نشود، به معني خاتمه ي اجراي آن تلقي ثانيه، در صورتي كه از هريك از همسايگان 30گذشت

.خواهد شدشده و از ليست مقصد هاي ارسال پيغام حذف

از همسايگان در زيرشبكه اي كه در آن اجرا ليستي به روزبا توجه به مطالب بيان شده، نرم افزار مي بايستي مجهز به

.ارسال پيام مورد استفاده قرار مي گيرد) هاي(مقصد اين ليست جهت انتخاب .مي شود باشد

يك پيام .در مرحله ي بعد، مي بايستي قادر باشيم به هريك از مقصد ها و يا به چند مقصد پيام خود را ارسال كنيم

، تمام 7طبيعي است نرم افزار بايد قادر باشد با انتخاب يك پوشه. مي باشد 6ل باينريحاوي يك متن به همراه چند فاي

.فايل هاي داخل پوشه را ارسال و در مقصد پس از ايجاد پوشه هاي مورد نياز، هر فايل را در مكان مناسب قرار دهد

                                                            4 Accept TCP connections 5 Request reply 6 Binary File 7 Folder 

Page 3: Computer Networking Project - IP Messenger

.بر روي صفحه ي نمايش ظاهر خواهد شدبراي ارسال پيام، كاربر همواره مي تواند متني وارد نمايد كه در سمت گيرنده

همچنين مي تواند به انتخاب فايل يا . ارسال نمايد و بدون انتخاب فايل يا پوشه سپس مي تواند همين پيام را به تنهايي

توجه داشته باشيد بخش مربوط به متن پيام، مي تواند . پوشه پرداخته و عالوه بر پيام، اين اطالعات را نيز ارسال نمايد

.خالي باشد

0 \t Message ¶

0 \t Message ¶

File or folder name¶

File or folder name¶

ميان TCPرا به گيرنده ارسال كرده و در نهايت ارتباط TCPبراي ارسال پيام، ابتدا فرستنده درخواست برقراري ارتباط

متن پيام و نام فايل ها و پوشه هاي ارسالي به حاوي پيغاميپس از برقراري ارتباط، .فرستنده و گيرنده برقرار مي شود

در صورتي كه هيچ داده اي افزون بر .ساختار اين پيام در شكل فوق نمايش داده شده است .سمت گيرنده ارسال مي شود

ت گيرنده مي صورت، منتظر ارسال بسته اي از سمدر غير اين. خاتمه مي دهدمتن پيام موجود نباشد، فرستنده ارتباط را

پذيرش .ساختار اين پيام در شكل زير نمايش داده شده است .شود كه پذيرش و يا رد درخواست ارسال فايل را دربردارد

در صورت رد درخواست، ارتباط توسط فرستنده خاتمه .يا رد دريافت فايل در سمت گيرنده از كاربر پرسيده مي شود

شروع به ارسال اطالعات كرده و در پايان عمليات ارسال، ارتباط را خاتمه مي در غير اينصورت، فرستنده . خواهد يافت

.توجه داشته باشيد، كه در هر صورت، ارتباط توسط فرستنده خاتمه مي يابد. دهد

1 \t User response (0: reject | 1: accept) ¶

:ميان گيرنده و فرستنده در سه حالت و توسط فرستنده خاتمه داده مي شود TCPارتباط

 .پس از ارسال اولين پيام توسط فرستنده در صورتي كه هيچ فايل يا پوشه اي براي ارسال انتخاب نشده باشد .1

 پس از دريافت پيام از گيرنده مبني بر رد درخواست ارسال فايل توسط كاربر .2

 ها توسط فرستنده پس از اتمام ارسال فايل .3

Page 4: Computer Networking Project - IP Messenger

به ازاي هر فايل، يك پيام ارسال مي شود كه حاوي . جهت ارسال فايل ها، از پيام هاي مجزا با قالب زير استفاده مي شود

مسير نسبي فايل در شرايطي كه فايل داخل پوشه قرار نداشته .فايل و نام فايل مي باشد 8اطالعاتي نظير مسير نسبي

در غير اينصورت، مسير نسبي شامل نام كليه ي پوشه هايي . مي باشد "/ "، رشته ي )شود به صورت مجزا ارسال(باشد

كه در آدرس testفرض كنيد پوشه اي با نام . است كه فايل ارسالي در آن قرار دارد

C:\Users\Guest\Documents\ در اين پوشه فايلي با نام . قرار دارد ارسال مي شودtext.txt در . قرار دارد

همچنين در قسمت نام فايل، رشته ي . قرار دارد ”test/“رشته ي فايل مربوط به اينقسمت مسير نسبي پيام ارسالي

“text.txt” قرار دارد.

2 \t File name ¶

Relative path ¶

Content length (bytes) ¶

Binary data (base 64 encoding)

فرستنده نيز مي بايستي . به صورت همزمان اطالعات را دريافت نمايد گيرنده مي بايستي قادر باشد از چندين فرستنده

همچنين، پيش از اتمام ارسال اطالعات، فرستنده مي بايستي قادر به ارسال . قادر به ارسال يك پيام به چند مقصد باشد

جداگانه Threadك با توجه به مطالب فوق، براي هر ارتباط ارسال و يا دريافت مي بايستي از ي .پيام جديد باشد

.استفاده نماييد

تحويل دادني ها

 Javaنرم افزار به زبان 9كد منبع •

o نمره 25(كاركرد صحيح نرم افزار( 

o نمره 5(عملكرد بدون خطا( 

o نمره 5( 10واسط گرافيكي( 

                                                            8 Relative path 9 Source code 

Page 5: Computer Networking Project - IP Messenger

o نمره 5(پيام هاي ارسالي 11رمزنگاري( 

o نمره 5(فشرده سازي پيام هاي ارسالي( 

 )نمره 5(فرستنده و گيرنده 12ماشين حالت •

نمره داشته و تنها يكي از فعاليت هاي طراحي واسط گرافيكي كاربر، رمزنگاري و فشرده سازي پيام ها 50اين پروژه

.دو فعاليت ديگر اختياري بوده و نمره ي آنها تنها در صورت عملكرد صحيح نرم افزار محاسبه مي شود .اجباري مي باشد

.در روز تحويل پروژه ارائه شوند Hard Copyده و گيرنده نيز مي بايستي به صورت ماشين حالت فرستن

نحوه ي تحويل

 Student]كه به صورت Zipتمامي موارد فوق مي بايستي در يك فايل ID]‐[8802].zip شده است تا نام گذاري

به ازاي هر روز تاخير در . ارسال شوند [email protected]به آدرس 23/1/1389مورخ 24ساعت

تاريخ تحويل حضوري حداكثر يك هفته پس از ارسال پروژه . از نمره ي كسب شده در پروژه كسر مي شود% 10ارسال،

.تعيين خواهد شد

به يكديگر متصل باشند LANافزار بر روي دو سيستم مجزا كه از طريق در صورتي كه امكان اجراي نرمدر زمان تحويل،

ارائه ي اجرا و طبيعي است فراهم كردن بستر مناسب جهت . استفاده نماييد 13ميسر نباشد، مي بايستي از ماشين مجازي

.نرم افزار بر عهده ي شما مي باشد

                                                                                                                                                                                                10 Graphical User Interface 11 Encryption 12 State Machine 13 Virtual Machine