ক্লাউডফ্লেয়ারে গণ্ডগোল: ইন্টারনেট ডাউনের পেছনের কাহিনি
গত ১৮ নভেম্বর দিনভর সারা বিশ্বেই ইন্টারনেটে ঢুকে অদ্ভুত এক ছবি দেখেছে মানুষ। সেই ছবিতে বড় করে লেখা ‘৫০০ ইন্টারনাল সার্ভার এরর’। একটু খেয়াল করলে দেখা যাবে, এর নিচে লেখা আছে ‘ভিজিট ক্লাউডফ্লেয়ার ফর মোর ইনফরমেশন’। সেই সঙ্গে নিচে একটি ছবিতে স্পষ্ট দেখিয়ে দেওয়া হয়েছে, ‘ব্রাউজার’ এবং ‘হোস্ট’ সবুজ বা সক্রিয় হলেও ক্লাউডফ্লেয়ারে লাল বাতি জ্বলছে।
ঘটনা ওটাই—ক্লাউডফ্লেয়ার ডাউন ছিল গতকাল। এ নিয়ে রসিকতা করে মিমও ছড়িয়েছে সামাজিক যোগাযোগ মাধ্যমে। ক্লাউডফ্লেয়ারে কর্মরত ইঞ্জিনিয়ার রিপোর্ট দেখছেন, প্রতি মিনিটে বিলিয়ন ডলারের ব্যবসা লস হচ্ছে বিশ্বজুড়ে; এবং এরপর ‘হুম’ বলে চায়ে চুমুক দিয়ে আবার কি-বোর্ডে চেপে-চুপে দেখছেন, কোনো গতি করা যায় কি না! (এই মিমের সঙ্গে যুক্ত ক্লাউডফ্লেয়ারের ‘লগ’ বা প্রতি মুহূর্তের রেকর্ডটা এখানে আর দিলাম না।)
এরকম সময়ে, অর্থাৎ ক্লাউডফ্লেয়ারের (Cloudflare) মতো সিস্টেমগুলো ডাউন হয়ে গেলে বিশ্বজুড়ে বহু মানুষ টের পান, ইন্টারনেট যেন এক অদৃশ্য সুতার ওপর দাঁড়িয়ে। সেই সুতা কোথাও ছিঁড়ে গেলেই কাজ সেরেছে। অনেকে অবাকও হন, এও কি সম্ভব? বিশাল এই অন্তর্জাল শুধু কয়েকটি সুতায় ভর করে দাঁড়িয়ে আছে? উত্তর, হ্যাঁ। কিন্তু এভাবে এককথায় উত্তর দিলে বিষয়টার কিছুই বোঝা যায় না। এই লেখায় তাই ইন্টারনেটের গঠন-কাঠামোর ভেতরের ‘অদৃশ্য সুতা’গুলো নিয়ে আলোচনা করব আমরা। খতিয়ে দেখব, কেন ক্লাউডফ্লেয়ারের মতো একটি কাঠামোর সমস্যায় থমকে যায় গোটা ইন্টারনেটের দুনিয়া।
ক্লাউডফ্লেয়ারে কর্মরত ইঞ্জিনিয়ার রিপোর্ট দেখছেন, প্রতি মিনিটে বিলিয়ন ডলারের ব্যবসা লস হচ্ছে বিশ্বজুড়ে।
ইন্টারনেটের মূল কাঠামো
ইন্টারনেট নিয়ে আলাপের সময় প্রায়ই আমরা বলি ‘ক্লাউড’। মানে মেঘ। সত্যি সত্যি ইন্টারনেট কিন্তু মেঘ বা আকাশের মধ্য দিয়ে যায় না। বরং মাটির নিচ এবং সমুদ্রের তলদেশ দিয়ে যাওয়া হাজার-লাখ মাইল দীর্ঘ বিশাল সব তার (আসলে, ফাইবার অপটিক কেবল) এবং বিশাল সব ‘এসি রুম’ মিলে গড়ে উঠেছে আমাদের ইন্টারনেট। এই যে ‘এসি রুম’ বললাম, কথাটা শতভাগ সঠিক নয়—এসি রুমের ভেতরে থাকে সার্ভার, ভাবতে পারেন, আপনার বাসার কম্পিউটারের সিপিইউর বড় সংস্করণ। জায়গাটা কল্পনা করার জন্য ভাবতে পারেন, শত শত হার্ড ড্রাইভ, আর ভন ভন করে ঘুরছে ফ্যান। অবশ্য এত ভেঙে বলার প্রয়োজন নেই। বিভিন্ন মুভিতে এ ধরনের সার্ভার রুম আমরা দেখেছি।
ঘটনা হলো, আপনি যখন ব্রাউজারে কোনো একটা ইউআরএল (URL) বা ওয়েব ঠিকানা—যেমন bigganchinta.com—লিখে এন্টার চাপেন, তখন চোখের পলকে ঘটতে থাকে একের পর এক ঘটনা। বিশ্বজুড়ে একসঙ্গে সক্রিয় হয়ে ওঠে অনেক কিছু। এই বিশাল পরিসরের কর্মযজ্ঞ বা খেলার প্রধান খেলোয়াড়েরা হলো:
এক. ক্লায়েন্ট (আপনি): আপনার ডিভাইস, অর্থাৎ মোবাইল বা কম্পিউটার।
দুই. আইএসপি (ISP): আপনার স্থানীয় ইন্টারনেট প্রোভাইডার, যার কাছ থেকে আপনি ইন্টারনেট সংযোগ নিয়েছেন। ক্যাট-৫ বা ক্যাট-৬ কেবলের মাধ্যমে তারা আপনার বাসায় সংযোগ দেয়। মোবাইলে ইন্টারনেট চালালে আইএসপির কাজটা করে টেলিকম অপারেটরগুলো। যেমন গ্রামীণফোন বা বাংলালিংক। ভাবতে পারেন, আপনার বাসা থেকে মূল সড়কে যাওয়ার জন্য ‘সরু গলি’ হিসেবে কাজ করে এরা।
তিন. ব্যাকবোন বা মেরুদণ্ড: এগুলোই মূল অপটিক্যাল ফাইবারের মহাসড়ক। এক নেটওয়ার্কের সঙ্গে অন্য নেটওয়ার্কের সংযোগ সেতু। এর মধ্য দিয়েই পরিবাহিত হয় তথ্য।
চার. দরজা বা গেটওয়ে: প্রতিটি নেটওয়ার্ক থেকে ফাইবার অপটিক কেবলের মধ্য দিয়ে আরেকটি নেটওয়ার্কে তথ্য চাইলেই হুট করে ঢুকে পড়তে পারে না। এ জন্য দরজা লাগে। এই দরজাকে বলা হয় ‘রাউটার’ বা ‘গেটওয়ে’। অর্থাৎ এক নেটওয়ার্ক থেকে আরেক নেটওয়ার্কে তথ্য ঢোকার জন্য যে দরজা, সেটাই গেটওয়ে।
প্রতিটি নেটওয়ার্ক থেকে ফাইবার অপটিক কেবলের মধ্য দিয়ে আরেকটি নেটওয়ার্কে তথ্য চাইলেই হুট করে ঢুকে পড়তে পারে না। এ জন্য দরজা লাগে। এই দরজাকে বলা হয় ‘রাউটার’ বা ‘গেটওয়ে’।
পাঁচ. সিডিএন বা রিভার্স প্রক্সি (যেমন ক্লাউডফ্লেয়ার): সিডিএন মানে কনটেন্ট ডেলিভারি নেটওয়ার্ক। একে বলা যায়, তথ্যের পাহারাদার (আরেকটু সহজে বুঝতে ‘ট্রাফিক পুলিশ’ও ভাবতে পারেন) এবং স্থানীয় গোডাউন। ফেসবুক বা আপনার-আমার সচরাচর ব্যবহৃত বিভিন্ন ওয়েবসাইট কিংবা ইউটিউবের জনপ্রিয় ভিডিও—অর্থাৎ যেসব তথ্য বেশ জনপ্রিয় এবং বহুল ব্যবহৃত, সেগুলো স্থানীয় বা আঞ্চলিক কিছু সার্ভারে জমা করে রাখা হয়। চলতি ভাষায় বলা হয়, ‘ক্যাশ’ করে রাখা হয়। এই আঞ্চলিক সার্ভারগুলোই সিডিএন। ক্লাউডফ্লেয়ার এমনই একটি সিডিএন। (তথ্যের পাহারাদার অংশটা নিয়ে বিস্তারিত আলাপ পরে করছি।)
ছয়. মূল সার্ভার (যেমন এডব্লিউএস): এটাই মূল সার্ভার, যেখানে তথ্যগুলোর মূল কপি জমা থাকে। সিডিএন সার্ভারে না থাকলে আপনি ডিভাইস থেকে যে তথ্য চেয়েছেন, সিডিএন তা মূল সার্ভার থেকে এনে আপনাকে সরবরাহ করে।
এ ছাড়াও বাংলাদেশের মতো দেশগুলোতে আইআইজি আছে, আছে বিটিসিএলের মতো আরও বেশ কিছু অবকাঠামো। সেসব ব্যাপারে এখানে আর বিস্তারিত আলাপে যাব না। বিজ্ঞানচিন্তার সেপ্টেম্বর ২০২৪ সংখ্যাটিতে প্রকাশিত ‘বিশ্বজগৎ হাতের মুঠোয়’ লেখায় এ ব্যাপারে বিস্তারিত লিখেছি (সব খুঁটিনাটি না জানলেও বোঝা যাবে, সে জন্যই এখানে আর কথা বাড়াচ্ছি না। তবু সংক্ষেপে আরেকটু ভালো ধারণা পেতে পড়তে পারেন: ইন্টারনেট আসলে ঠিক কীভাবে কাজ করে?)
বিষয়টা তাহলে সংক্ষেপে দেখে নিই আরেকবার। আপনার ব্রাউজারে কোনো ওয়েব ঠিকানা লিখে এন্টার চাপার পর, সেই রিকোয়েস্ট আপনার আইএসপির মাধ্যমে ফাইবার অপটিক কেবল এবং গেটওয়ে দিয়ে চলে যাচ্ছে সিডিএনে। সেখান থেকেই ফিরতি তথ্য আসছে আপনার ব্রাউজারে (বা অ্যাপে), এবং আপনি সেই তথ্যটা দেখতে পাচ্ছেন। কোনো কারণে সিডিএন সার্ভারে তথ্যটা না থাকলে আপনার রিকোয়েস্ট চলে যাবে মূল সার্ভারে, সেখান থেকে সিডিএন হয়ে, আইএসপি হয়ে তথ্যটা আপনার কাছে আসবে।
এইটুকু যদি বুঝে থাকেন, এবারে মূল আলোচনা।
সিডিএন মানে কনটেন্ট ডেলিভারি নেটওয়ার্ক। একে বলা যায়, তথ্যের পাহারাদার এবং স্থানীয় গোডাউন।
ক্লাউডফ্লেয়ার যেভাবে কাজ করে
প্রথমেই কুইজ-কুইজ। ভেবে দেখুন, আপনি একটা চিঠি লিখলেন, খামে ভরলেন, ডাকবাক্সেও ফেললেন—কিন্তু সেই চিঠি আর কোথাও পৌঁছাল না। কারণটা কী? ঠিক ধরেছেন, কারণ ডাকবিভাগ বা পোস্ট অফিসটাই নাকি হুট করে উধাও হয়ে গেছে! সিডিএনই এখানে সেই ডাকবিভাগের স্থানীয় অফিস।
এবারে আরেকটা প্রশ্ন। আপনার আইএসপির সংযোগ বিচ্ছিন্ন হয়ে গেলে কি আপনার বাসায় ইন্টারনেট সংযোগ চালু থাকে? উত্তরটা তো জানাই। তারমানে, বিশাল সংযোগ লাইনের একটা বিন্দু বিচ্ছিন্ন হয়ে গেলেই আপনার ইন্টারনেট সংযোগ বিচ্ছিন্ন হয়ে যাবে। এবারে আইএসপির বদলে যদি আরেকটু এগিয়ে গেটওয়েগুলোর কোনোটা নষ্ট হয়, বা সিডিএন নষ্ট হয়? ঠিক ধরেছেন, আরও বড় পরিসরে ব্যহত হবে ইন্টারনেট সংযোগ। সেটাই ঘটেছে গতকাল।
এতক্ষণে আপনার মাথায় যে দুটি জরুরি প্রশ্ন আসার কথা, তা হলো: এক. সিডিএন সার্ভারে কপি রেখে ভেজাল করার দরকারটা কী? আর দুই. সিডিএন সার্ভারে তো শুধু তথ্যের কপি রাখা আছে। মূল তথ্য তো মূল সার্ভারে আছেই। তাহলে সিডিএনে সমস্যা হলে ডেটার প্রবাহ ‘বাইপাস’ করে দিলেই তো হয়! তার জন্য আবার ইন্টারনেট ডাউন করে রাখতে হবে কেন?
দ্বিতীয় প্রশ্নের উত্তরের সঙ্গে জড়িত ‘তথ্যের পাহারাদার’ শব্দগুচ্ছ। সেটায় আসার আগে প্রথম প্রশ্নের উত্তরটা বুঝে নেওয়া যাক, চলুন।
সহজ করে বলি। ধরুন, যুক্তরাষ্ট্রের কোনো লাইব্রেরিতে (সার্ভারে) একটা বই আছে। আপনি বাংলাদেশ থেকে সেই বইটা পড়তে চান। এখন প্রতিবার যদি আপনাকে যুক্তরাষ্ট্রে গিয়ে বইটা দেখে আসতে হয়, তবে সময় লাগবে প্রচুর। এই সময় লাগাকে বলা হয় ‘ল্যাটেন্সি’; আর বাড়তি সময় লাগলে আপনার স্ক্রিন জমে যায়—এবং একটা চাকতি ঘুরতে থাকে, অর্থাৎ ‘বাফার’ হয়। ক্লাউডফ্লেয়ার যেটা করে, তারা ওই বইয়ের একটা ফটোকপি বা ক্যাশ (Cache) আপনার বাড়ির পাশের কোনো এক পোস্ট অফিসে (পড়ুন, সিডিএন সার্ভার বা এজ সার্ভার) রেখে দেয়। ফলে আপনি যখনই খোঁজেন, চোখের পলকে সেটা পেয়ে যান।
ক্লাউডফ্লেয়ার যেটা করে, তারা ওই বইয়ের একটা ফটোকপি বা ক্যাশ আপনার বাড়ির পাশের কোনো এক পোস্ট অফিসে অর্থাৎ সিডিএন সার্ভার বা এজ সার্ভারে রেখে দেয়।
ঠিক ধরেছেন, আপনি যে ইউটিউবের এত বড় বড় ভিডিও ক্লিক করলেই লোড হয়ে চলতে থাকে, তার পেছনের কারণ এই সিডিএন সার্ভারগুলো।
এবারে দ্বিতীয় প্রশ্নটি। কেন সিডিএন সার্ভারের মধ্য দিয়েই তথ্য আদান-প্রদান করা হয়। এর মূল কারণ নিরাপত্তা। ইন্টারনেটের জগতে হাজারো হ্যাকার সবসময় ওৎ পেতে থাকেন যেকোনো ওয়েবসাইটে হামলা করার জন্য। প্রতিটি ওয়েবসাইটের সার্ভারের একটা সক্ষমতা আছে। আপনার পড়ার টেবিলটার কথাই ধরুন, ওটায় হয়তো ৫০ কেজি ভার রাখা যায়। যদি ১০ হাজার কেজি ভার চাপিয়ে দেন, তাহলে টেবিলটা ভেঙে পড়বে না? এরকম প্রতিটি সার্ভার নির্দিষ্ট সময়ে (ধরুন, ১ মিলি সেকেন্ড বা সেকেন্ডের ১ হাজার ভাগের এক ভাগ সময়ে) একটা নির্দিষ্ট পরিমাণ ট্রাফিক বা রিকোয়েস্ট গ্রহণে সক্ষম। হ্যাকাররা তাই করে কী, অনেক সময় কোটি কোটি রিকোয়েস্ট পাঠায় সার্ভারে। তখন সার্ভার এই ভার সইতে না পেরে ভেঙে পড়ে, মানে ক্র্যাশ করে।
ক্লাউডফ্লেয়ার তাই কয়েক স্তরে ওয়েবসাইটের মূল সার্ভারকে সুরক্ষা দেয়। প্রথমত এটি প্রতিটি রিকোয়েস্ট চেক করে দেখে, রিকোয়েস্টটা কোনো মানুষ করেছে, নাকি রোবট? কারণ, মানুষ একসঙ্গে (পড়ুন, এক মিলিসেকেন্ডের মধ্যে) অনেকগুলো ক্লিক/রিকোয়েস্ট করতে পারে না। কিন্তু রোবট বা অটোমেটিক সিস্টেম দিয়ে এই কাজ করা যায়।
দ্বিতীয়ত, এটি সার্ভারের মূল ঠিকানাটা লুকিয়ে রাখে। এবং আপনার-আমার রিকোয়েস্টের সঙ্গে সার্ভারের সংযোগ সেতু হিসেবে কাজ করে। এতে সার্ভারের ওপর সরাসরি হামলা করা যায় না। আবার সার্ভারগুলোও আপনার-আমার যে আইপি অ্যাড্রেস (পড়ুন, ইন্টারনেটে আমাদের ঠিকানা) আছে, সেগুলো নিজেদের কাছে সংরক্ষণ করে রাখে না। এই কাজটা সামলায় সিডিএন। তার কাছে তালিকা আছে—ধরুন, ‘০ক = অমুক’, ‘০খ = তমুক’, এরকম।
তাহলে মোট কথা হলো, ‘বাইপাস’ করাটা আসলে সহজ না। আপনার-আমার রিকোয়েস্ট সিডিএন সার্ভারের মধ্য দিয়েই মূল সার্ভারে যেতে হবে (যদি প্রয়োজন হয়)। আর ক্যাশ থেকে তথ্য ফেরত আসলে তো হলোই (যেমন ইউটিউব ভিডিও বা ফেসবুক)।
ক্লাউডফ্লেয়ার তাই কয়েক স্তরে ওয়েবসাইটের মূল সার্ভারকে সুরক্ষা দেয়। প্রথমত এটি প্রতিটি রিকোয়েস্ট চেক করে দেখে, রিকোয়েস্টটা কোনো মানুষ করেছে, নাকি রোবট?
১৮ নভেম্বর তাহলে কী হয়েছিল
আগেই বলেছি, ক্লাউডফ্লেয়ার ডাউন ছিল। তার মানে, আপনার প্রিয় ওয়েবসাইটটি (যেমন বিজ্ঞানচিন্তা বা ফেসবুক) হয়তো ঠিকঠাকই আছে, তার সার্ভারও সচল। কিন্তু আপনি সেখানে পৌঁছাতে পারছেন না। কারণ, মাঝখানের যে ‘সিডিএন সার্ভার’ বা ‘সংযোগ সেতু’—সেটা ভেঙে গেছে। এরকম পরিস্থিতিতে আপনার ব্রাউজার অসহায় হয়ে পড়ে এবং এবং আপনাকে হয় ‘502 Bad Gateway’ বা ‘Error code 500’ দেখায়।
ইন্টারনেটে এরকম কিছু কোড আছে। যেমন ‘404 Not Found’। এটা অনেক বিখ্যাত (বা কুখ্যাত)। আপনি যে তথ্য খুঁজছেন, সেটা সার্ভারে না থাকলে এই কোড দেখায়। ‘৪০৪’ কোডটার অর্থই হলো ‘নট ফাউন্ড’ বা ‘পাওয়া যায়নি’। এরকম ‘৫০২’ কোড দিয়ে বোঝায় ‘ব্যাড গেটওয়ে’—এর মানে তথ্য আসা-যাওয়ার দরজা বা রাস্তায় সমস্যা। অর্থাৎ যাঁরা ‘৫০২’ কোডটা দেখেছেন, তাঁদেরকে বলা হয়েছে, আপনার রিকোয়েস্ট গেট পর্যন্ত গেছে, কিন্তু সার্ভারে ঢোকার রাস্তা পাচ্ছে না। আর ‘৫০০’ কোড দিয়ে বোঝায়, ‘আপনার ইন্টারনেট সংযোগে সমস্যা নেই, সমস্যাটা সার্ভারের ওদিকে’। অর্থাৎ মাঝের সংযোগ সেতু ভেঙে পড়েছে।
স্বাভাবিক। বিশ্বের প্রায় ২০% ওয়েবসাইট যেহেতু ক্লাউডফ্লেয়ার ব্যবহার করে, তাই এই অবকাঠামো ডাউন হলে মনে হয় যেন অনেক জায়গায় ইন্টারনেটই নেই। তাই গতকাল যদি আপনার আইএসপিকে ফোন দিয়ে বকাঝকা করে থাকেন, তাহলে ওদের একপাক সরি বলতে পারেন। দোষটা যে ওদের ছিল না!
