در کنفرانس سالانه Usenix که ماه گذشته در بوستون برگزار شد ، دو محقق MIT رسما از پروتکل جدید و نرم افزار ریموتی که از آن استفاده می کرد پرده برداری کردند که به طور خاص برای کاربران سیار و اتصالات موقت و کند که نماد شبکه های بی سیم امروزی هستند، طراحی شده بود. این نرم افزار با نام Mosh ، که مخفف Mobile Shell است، عرضه شده است.قصد Mosh ارائه جایگزینی برای SSH است که مدتی طولانیست برای ایجاد اتصالات امن میان سرور و کلاینت ، دسترسی از راه دور به یک سیستم ، اجرای دستوری خاص و دیگر سرویس ها به کار گرفته می شود.
برای پیشرفت این پروژه ، Mosh و پروتکل جدید SSP به صورت رایگان برای لینوکس ، BSD و OS X در ماه آپریل بر روی سایت MIT گذارده شدند. این نرم افزار تاکنون بیش از 70000 بار دانلود شده است.
کیت وین اشتاین ، فارغ التحصیل دانشگاه MIT در رشته کامپیوتر و یکی از پیشگامان Mosh ، می گوید : SSH برای اتصال یک کامپیوتر به کامپیوتر دیگر از طریق یک محیط خط فرمانی و TCP به کار می رود . از SSH معمولا برای دستیابی از راه دور به یک سرور استفاده می شود، اما نسخه هایی از آن را در ویندوز ، OS X و لینوکس هم مشاهده می کنیم. اتکا این پروتکل به TCP که مشکل اصلی را برای ایستگاه های سیار و غیر ثابت ایجاد می کند.
هری بالکریشنن ، استاد دانشگاه و همکار وین اشتاین در نگارش مقاله Usenix می گوید: TCP فرض می کند که دو پایانه ارتباط ثابت هسنتد و بایت ها به همان نحوی که ارسال می شوند ، در سمت مقابل دریافت می شوند. این بدترین رویکرد ممکن برای ایستگاه های سیار است.
وین اشتاین ادامه می دهد ، این اصلا راه حل مناسبی برای ارتباطات بلادرنگ نیست. اگر نقصی در ارتباط وجود داشته باشد ، TCP منتظر می ماند تا بایت ها به ترتیب ارسال شود . اما در ارتباطات بلادرنگ همانند ویدیو کنفرانس ، آنچه شما به آن نیاز دارید ، جدیدترین اخبار و اطلاعات یا عکس ها و تصاویر است و نباید وقفه ای در دریافت و ارسال اطلاعات به وجود آید.
برای مثال وقفه ای 5 ثانیه ای ممکن است سبب شود شما مهم ترین لحظات را از دست بدهید. و مجبور شوید فرآیند ارسال را دوباره آغاز کنید.
زیرلایه های TCP نمی توانند رومینگ یا اتصالات موقت را مدیریت کنند. اگر SSH را در خانه اجرا کرده ، لپ تاپ تان را ببندید ، به شرکت رفته و لپ تاپ تان را به شبکه متصل کنید، خواهید دید که Session شما بسته شده است. به صورت مشابه اگر میان دو شبکه Wi-Fi جا به جا شوید هم اتصال SSH از دست خواهد رفت.
یکی دیگر از مشکلات SSH در شبکه های بی سیم تاخیر آن در ارسال اطلاعات است . وین اشتاین در یوزنیکس به حاضران گفت آن ها تاخیری 40 ثانیه ای را در شبکه LTE شرکت Verizon اندازه گیری کرده اند. این تاخیر به این دلیل بوجود می آید که برای مثال داده ای خاص از سمت کلاینت به سرور ارسال می شود ، در آنجا داده ها تفسیر شده و مجددا برای نمایش به کلاینت ارسال می شوند .
SSP و Mosh برای غلبه بر چنین مشکلاتی طراحی شده اند.
![](/CMSFiles/mainportal/images/news/mosh.png)
به جای استفاده از TCP این بار SSP از UDP ، که پروتکلی بدون اتصال است و برای اغلب کاربردهای بلادرنگ انتخاب ایده آلی محسوب می شود برای انتقال داده ها کمک می گیرد.
علاوه بر این SSP از روش دیگری برای نامگذاری اتصالات بهره می برد. وین اشتاین می گوید که ارتباطات اینترنتی بر اساس آدرس های آی پی و شماره پورت ها و اینکه آدرس ها ثابت اند ، شکل می گیرند. او ادامه می دهد ، به این ترتیب اگر آدرس آی پی تان را تغییر دهید ، ارتباط تان را از دست خواهید داد. اما در یک شبکه موبایل آدرس ها همواره در حال تغییر هستند. به طرز مشابه اگر شبکه بی سیمی که از آن استفاده می کنید ، ناپدید شده و یا لپ تاپ برای سه ساعت در حالت Stand By باشد ، ارتباط از دست خواهد رفت.
اما در مقابل SSP از اعتبارنامه های کدگذاری شده به جای آدرس های IP برای تعیین دو پایانه انتقال اطلاعات استفاده می کند. شما اتصال تان را به روشی مستقل از شبکه نامگذاری می کنید. رمزگذاری اطلاعات از اینکه آن ها به آسانی هک شوند هم جلوگیری می کند.
و در آخر به جای همگام سازی ترتیبی دنباله بایت ها ، SSP به همگام سازی اشیا می پردازد؛ در مورد Mosh این اشیا به متون و دستورات باز می گردد. اشیا از یک API ساده پشتیبانی می کنند تا SSP امکان پرس و جوی اطلاعات و تعیین اطلاعاتی که باید به کلاینت فرستاده شوند را هم داشته باشد و در کل سرعت را هم افزایش دهد.
به طور سنتی ، اطلاعات بسیار کمی میان نرم افزار ها و پروتکل هایی که آن ها استفاده می کنند ، به اشتراک گذارده می شوند. یک نرم افزار داده اش را به یک بسته TCP سپرده و سپس همه چیز را به فراموشی می سپارد . SSP آگاهی بیشتری از داده ارسالی برای نرم افزار مهیا می کند. نرم افزار و پروتکل بر سر استفاده از واژه های یکسانی برای نامگذاری تکه های داده به توافق می رسند و با تغییر شبکه ، نرم افزار از SSP برای کنترل اوضاع کمک گرفته و SSP هم امکان همگام سازی مجدد را فراهم می آورد.
نتیجه سبب بوجود آمدن تغییر فاحشی در رفتار دو طرف ارتباط می شود. در SSP حتی با وجود تغییر مکان هم هنوز دو طرف ارتباط می توانند همدیگر را به آسانی بیابند.
Mosh از یک الگوریتم برای پیش بینی داده های کلیدی استفاده کرده و آن ها را با دقت خوبی پیشگویی می کند. کاراکترهای پیش بینی شده بصورت زیرخط دار به نمایش در می آیند تا سرور نمایش آن ها را تایید کند. دموی نشان داده شده در کنفرانس ، از سرعت ، تعامل و پاسخدهی بالایی برخوردار بود.
Mosh در حال حاضر تنها نرم افزاری است که از SSP استفاده می کند . توسعه دهندگان SSP می گویند این پروتکل هنوز برای به کارگیری در تمامی نرم افزار ها کاملا آماده نشده است. نرم افزارهایی چون Gmail و Skype می توانند بیشترین بهره را از این تکنیک ها بدست آورند.