بایگانی برچسب: s

جادی تی وی ۰۱۹ – هک دوستانه سنگ کاغذ قیچی کلاینت ساید از طریق شنود و بازسازی ارتباطات

توی این جادی.تی وی یک هک می کنیم (: دوستان خوب دلیون اجازه دادن که با تمرکز روی بازی کلاینت سایدی که طراحی کرده بودن، یک شکل از هک رو آموزش بدم: شنود ارتباطات با ابزارهای مرد میانی و دستکاری اونها به شکلی که لازم داریم تا بتونیم صبحانه مجانی بخوریم (:

مثل همیشه عضویت شما در کانال یوتیوب جادی تی وی انرژی بخشه. شایدم اگر چیزی یاد گرفتین و می تونستین، دونیت کردنتون (:

معرفی شبکه‌های مبتنی بر نرم‌افزار (Software Defined Networking)

دوست خوبم همایون عزآبادی یک ایمیل زده که فکر کنم قسمت آخرش به طور مستقیم به درد همه می‌خوره و من با ادیت خیلی کم براتون میارمش.

[….]
هدفم از این ایمیل معرفی یک سوژه برای رادیو و یا وبلاگت هست. فکر میکنم یه زمینه خوب کاری هست برای شروع استارت آپ های جهانی برای برنامه نویسها و مخابراتی ها.

سوژه در مورد Software-Defined Networking (SDN) هست و قابلیتهایی که برای کار در یه کشور در حال توسعه داره. به طور خاص مورد نظرم ONF (openflow network foundation) هست که یک ارگانیزیشن هست متشکل از بزرگان صنعت مخابرات (سیسکو و اچ بی – اریکسون – نوکیا – گوگل و … که داره استاندارد هارو برای SDN مشخص میکنه.

خلاصه اگه بخوام بگم سیستم های سوییچینگ و روترها برای سرویس پروایدر ها دیگه جواب نمیدن و توجیه افتصادی هم ندارن. این معماری جدید میاد سخت افزار پردازش پکت هارو از لایه تصمیم گیری که پکت رو برا کی و کجا بفرسته جدا میکنه.

یه ایده ای هست تو شرکت های نرمافزاری مونترال که اعتقاد دارن که همیشه سخت افزار از نرم افزار جلوتره و همیشه کلی سخت افزار با فابلیت و رانندمان بهتر هست که طول میکشه کسی براش سیتم عامل و یا درایور به درد بخور بنویسه. پس همیشه اگه برای سخت افزار امروز روز شروع کنی به برنامه ساختن از همه جلوتری.

حداقل الان تو زمینه پردازشگرهای شبکه که اینطوریه. پردازشگرهای شبکه به سرعت در حال پیشرفتن و شرکت های کمی هستند که تونستن بخشی از ظرقیت اونها روو استفاده کنن.

شرکتی که من توش کار میکنم یه استارتآپ موفقه که همین کار رو میکنه. ۲۰۱۲ چهار نقر دانشجو شروع کردن به کار روی سوییچ های بر مبنای SDN به عنوان پروژه دانشجویی و الان اوضاع مرتبی دارن. همچنان ۶- ۷ نفر برنامه نویس داره شرکت و داره خوب پیش میره. البته به ازای این تیم کوچیک یه تیم ۴ نقره مدیریت با سابقه و چند سرمایه گذار عالی هم هستند که عملا همه موقیت استارتاپ به مدیریت اونها و بازاریابی و جذب سرمایه ای که انجام دادن وابستس.

خیلی نمی خوام حاشیه برم. شرکت ما یه شرکت نرم اقزاریه که سوییچ هایی با ظرقیت بالا میسازه که سوییجینگ و روتینگ روی لایه ها ی ۲ تا ۷ انحام میده. مثلا روی پورت ۴۰ گیگ میتونی برا اساس ترکیبی از mac , IP, TCP port و حتی دیتای تو ی پکت روتینگ رو مشخص کنی (مثلا اگه دیتای تو پکت aaaa باشه میفرسته به پرت ۱ و اگه bbb باشه میفرسته به پورت ۲).

سوییچ میتونه با سرعت ۲۶۰ GBPS هر پکت رو با حداکثر ۳ میلیون دستور روتینگ (flow entry) مقایسه بکنه و پکت رو فوروارد کنه به پورت مورد نظر یا بهش لایه اضافه کنه (مثلا vlan یا mpls) یا کم کنه و بعد بفرسته به هر جا.

اما سوییج برای تصمیم گیری برای روتینگ هیج کاری انجام نمیده و کل این کار رو یک یا چند سرور دیگه controller انجام میدن. درواقع این کنترل هست که میگه کی کحا بره. اینطوری میشه یه کنترلر که به چندتا سوییچ در مکانهای مختلف وصله کلی سرویس اختصاصی رو که الان راه انندازییش پر هزینه و محدوده رو راه بندازه و کل نتورک رو با هم مدیریت کنه. اما یه امکان دیگه هم داره که خیلی به درد میخوره Scale-Out Router عملا میتونی یک روتر داشته باشی که پورت ۱ تا ۲۰ تو تهران باشه ۲۱ تا ۳۰ تو شیراز و هر زمان نیاز شد ۳۱ تا ۴۰ رو تو یه شهر دیگه داشته باشی.

اما چرا فک میکنم که این جریان به درد استارتاپ تو ایران میخوره:

۱- کل این قابلیت ها که سوییج میتونه انجام بده مدیون سخت اقزار(تراشه) خوبیه که شرکت EZCHIP و Broadcom میسازن و در دست رس همه هست. سیسکو هم در یه سری از سوییچ هاش از ezchip استفاده میکنه. شرکت ما تراشه نت ورک رو از ezchip میگیره به pc با i7 و ۸ مگ رم میزاره کنارش با یه سری اینترفیس میده یه شرکت سخت افزاری که براش لحیم کاری ها رو انحام بدن و میشه سخت افزار ما. با فرض برداشته شدن تحریم ها تو ایران هم در دست رس هست.
۲- تمامی پرتکل هاش اوپن سورس هستن و در دست رس همه OpenFlow
۳- به جز سوییچ بخش کنترلر هم هست که یه پرداکت کاملا جداس که کاملا ترم افزاریه و خیلی جای کار داره. شرکت های بزرگی دارن روش کار مکنن اما خیلی کار داره هنوز.
کلی پروژه اوپن سورس هست مثل ryu و faucet که گوگل داره روش کار میکنه. پروژه ryu با پایتون کد شده و میشه باهاش کلی کنترلر با سرویس ها ی جداب و سفارشی درست کرد. پروژه http://openvswitch.org هم هست که میشه باهاش بدون اینکه سوییچ های گرون قبمت داشت کنترلر رو توسعه داد و تست کرد.

کلا اکثر موارد مربوط به SDN با عبارت open شروع میشن. که دروازه ورود بهش linux هست و python. اگر هم کسی هست که دنبال یادگیریه شبکه و لینوکس و پایتون با همه این بهانه خوبیه برا سرگرمی. بازم ممنون بابت رادیو و آموزش لینوکس. و شرمندگی بابت پریشانی متن و غلظ های املایی انشایی زیاد.

پیروزی بی طرفی شبکه به کمک همه، از تکنولوژیست‌ها تا پورن استارها

net

بالاخره رای حساس داده شد و دولت آمریکا اعلام کرد که در کشورش، اینترنت باید در زمره «سرویس‌های مخابراتی تایتل ۲» طبقه بندی بشه،‌ یعنی چیزی شبیه تلفن.

این رای به این معنی است که از این به بعد ISPهای آمریکایی اجازه ندارن هیچ محتوایی رو فیلتر کنن یا به صلاحدید خودشون حذف کنن، اجازه ندارن به عمد سرعت یا کیفیت سرویسی خاص رو پایین بیارن یا به یک دستگاه یا شرکت خاص سرویسی بهتر بدن فقط چون محتوا چیز خاصی است (مثلا بگن ویدئویی که از گوگل می گیرین کیفتی بهتر از ویدئوی vimeo داره یا مثلا فلان چیز چون توی امریکا هاست شده، دسترسی بهش باید راحتتر باشه و چیزهایی که بیرون آمریکا هستن باید کندتر بشن).

در واقع این رای بسیار مهم باعث می شه اینترنت در همه آمریکا دقیقا چیزی باشه که توی ایران نیست: بی طرف. اینترنت باید مثل یک لوله باشه که مستقل از اینکه کی چی می خواد توش انتقال بده، اونو انتقال بده. طرفداران بستن اینترنت آزاد و شرکت های تجاری که می خواستن از طریق سریعتر کردن بعضی سرویس ها، از صاحبانشون پول بگیرن یا مثلا اینترنتی بفروشن که ویدئو نداشته باشه و بعد برای ویدئو پول جدا بگیرن اصلی ترین نیروهای فشار به سمت عدم تصویب این قانون بودن.

در مقابل موافق‌ها شامل طیف بسیار گسترده ای از فعالان اینترنت، تکنولوژیست‌ها، متخصصین شبکه و کاربران بودن.. حتی پورن استارهایی که در یک ویدئو با حدود بیننده، سعی کردن از هیجان مرتبط با شغلشون استفاده کنن تا به رای دهنده بگن که معنی «بی طرفی شبکه» چیه و چرا مهمه و باید ازش دفاع کنیم

مرتبط

سوال: چرا وقتی برنامه‌ها آپدیت می شن من باید کل حجم اون برنامه رو مجددا دانلود کنم؟

من یه سوال فنی دارم، چرا وقتی به اپلیکیشن مثل وایبر رو میخوایم اپدیت کنیم حجمی معادل حجم اپلیکیشن رو دانلود کنیم؟ مگه فقط مقدار کمی از کدها و برنامه تغییر نمیکنن؟

اینجا دو نکته هست. اول اینکه وقتی برنامه نویس، نوشتن برنامه اش به زبان قابل فهم برای انسان‌ها (مثلا سی) رو تموم می کنه، اون رو کمپایل می کنه که برابر تبدیل متن قابل خوندن توسط انسان، به متن قابل خوندن توسط ماشین است. این برنامه کمپایل شده اون چیزی است که ما دانلود و اجراش می کنیم. حالا ممکنه یک تغییر بسیار ریز در متن برنامه باعث تغییرات بزرگی در برنامه کمپایل شده بشه. در نتیجه اون تغییر ریز، تغییرات بزرگی رو در برنامه اجرایی ایجاد کرده که ما مجبور دانلودشون کنیم.

اما حرف تو هم صحیحه! به هرحال بخش‌هایی از این برنامه مثل قبل است و احتمالا فایل اجرایی نهایی هم مشابهت‌هایی با فایل قبلی خواهد داشت. همینجاست که برنامه هایی درست شدن برای تشخیص این اختلاف و دادن تفاوت‌ها به کاربر برای دانلود اما در این حالت نیازمند برنامه ای هستیم که روی کامپیوتر ما این تفاوت ها رو به فایل اصلی که از قبل داشتیم اعمال کنه و اینکار پیچیده است. در لینوکس به این برنامه diff گفته می‌شه.

برای روشن‌تر شدن بهتره به یک کتاب فکر کنی. نسخه اول کتاب رو داری و ناشر تغییراتی توی اون می ده! حالا دو تا راه حل داریم: فرستادن کتاب جدید برای تو یا فرستادن یک لیست از تغییرات و اینکه تو بشینی پاراگراف‌های تغییر کرده رو پیدا کنی و با متن های جدید (که شاید طولشون با طول متن قبلی فرق کنه) جایگزین کنی و مثلا اگر جایی کلی متن اضافه شده باشه مجبور بشی صفحات سفیدی لای کتاب بچسبونی و متن جدید رو روشون بنویسی و بعد شماره صفحه‌های توی فهرست رو اصلاح کنی و ….

می بینی که روش دوم کمی دردسر داره و با توجه به این دردسر و بخصوص سرعت خیلی زیاد اینترنت در جهان، توسعه دهنده ‌ها ترجیح می دن به جای رفتن سراغ پیدا کردن تفاوت‌ها و مقایسه اون با نسخه ای که تو داری و تغییر دادن متن برنامه‌ها، یکضرب فایل جدید رو به تو بدن تا مطمئن باشن که همه چیز به درستی کار می کنه.

بی طرفی شبکه – کاریکاتور

net

در شماره ۷ رادیو گیک از بی طرفی شبکه حرف زدیم و گفته ایم:

هلند یک قانون مهم رو تصویب کرد که دیوار دفاعی محکمیه برای حفظ آزادی های مردم: بی طرفی شبکه. بی طرفی شبکه یعنی ارائه دهنده اینترنت نباید در ترافیک شبکه من دست ببره. ارائه دهنده اینترنت باید مثل ارائه دهنده سیم برق باشه که سیم رو به خونه من می رسه و بعد من هر دستگاهی رو می خوام باهاش روشن می کنم. این کاملا مخالف با این ایده است که به یک نفر سیم برق بدین ولی بگین فقط وسایل ال جی رو می تونه با این روشن کنه یا حق نداره هیچ سیستم گرمایشی رو باهاش راه بندازه. اگر شبکه بی طرف نباشه ممکنه مثلا فیسبوک رو خیلی راحت تر از یوتوب لود کنه تا شما رو سوق بده به سمت استفاده از ویدئوهای روی فیسبوک به عنوان یک مثال دیگه ممکنه در یک شبکه غیربی طرف سایت های طرفدار فلان سیستم خیلی سریع و راحت لود بشن و در مقابل کسی که دوست نداره مردم خبرهای واقعی رو بخونن دستش رو بذاره رو حلق هر سایتی که به شکل مستقل خبر منتشر می کنه و اونها رو کند و کند و کندتر کنه. هلندی ها همچنین بر اساس این قانون حفاظت شدن در برابر شنود و ابزارهای شنودی که ممکنه سرویس دهنده های اینترنت سر مسیر ارتباطی اونها نصب کنن و در ضمن تاکید شده که به خاطر اهمیت اینترنت، قطع کردن اینترنت یک انسان فقط و فقط در شرایط بسیار خاص قابل توجیه است و شرکت ها حق ندارن اینترنت کسی رو قطع کنن.

مطالعه بیشتر:

سوتی سریال ۲۴ – آی پی چهار عدد ۰ تا ۲۵۵ است که با نقطه از هم جدا شدن

نوید برامون این اسکرین شات بانمک حاوی سوتی از سریال ۲۴ رو فرستاده:

24

طرف داره به آی پی ای وصل می شه که وجود نداره چون ما می دونیم که آی پی های نسخه چهار، اجزایی دارن از صفر تا دویست و پنجاه و پنج که با نقطه از هم جدا شدن. البته معلومه که می شه ادعا کرد که طرف هاستی به این اسم داره یا اصلا این یک پیام مستقل از آی پی است ولی ما که می دونیم! ۲۴ سوتی داده.

آپدیت دوشنبه سی تیر: دوستان می گن که سوتی نیست و عمدا آی پی ای می زنن که ولید نباشه و اینجا هم عدد e استفاده شده (: به نظرم بهتره آپی وب سروری رو بزنن که تبلیغ و حواشی فیلم روشه که اگر هم کسی تست کرد باحالتر باشه ولی خب به هرحال عدد e خیلی باحال بود (:

آپدیت دوم: اشتباه نوشته بودم صفر تا دویست و پنجاه و شش که الان اصلاح کردم