সহজ স্তরে আপনি বলতে পারেন যে একটি সাধারণ যোগাযোগ প্রোটোকলের তিনটি স্তর রয়েছে: শারীরিক, পরিবহন এবং অ্যাপ্লিকেশন। (এমন আরও কয়েকটি মডেল রয়েছে যেমন OS এর সাথে ওএসআই বা ৪ টি সহ টিসিপি / আইপি রয়েছে) এই প্রশ্নের প্রসঙ্গে স্তরগুলির সংখ্যা মারাত্মকভাবে গুরুত্বপূর্ণ নয়)
অ্যাপ্লিকেশন স্তর হ'ল স্তর যা আপনার কোডে সরাসরি মোকাবেলা করে এবং প্রশ্নের কেন্দ্রবিন্দু। ট্রান্সপোর্ট লেয়ারটি যতদূর যায়, সেন্ড_ডেটায় আপনি যে বাইটটি দিয়েছিলেন তা কেবল একটি বাইনারি প্যাটার্ন তবে এটি আপনি আপনার অ্যাপ্লিকেশন কোডটিতে 'এ' অক্ষর হিসাবে ব্যাখ্যা করতে পারেন। আপনি বাইটটিকে 'এ,' 0x41, বা 0 বি01000001 হিসাবে বিবেচনা না করেই সিআরসি বা চেকসাম গণনা সমান হবে।
ট্রান্সপোর্ট লেয়ারটি হ'ল প্যাকেট স্তর, যেখানে আপনার বার্তা শিরোনাম রয়েছে এবং ত্রুটি যাচাই করে তা সিআরসি হোক বা বেসিক চেকসাম হোক। ফার্মওয়্যার প্রসঙ্গে আপনার সেন্ড_ডাটা এর মতো একটি ফাংশন থাকতে পারে যেখানে আপনি এটি বাইট পাঠাতে পাঠান pass এই ফাংশনের অভ্যন্তরে এটি একটি প্যাকেটে রাখে যা বলে যে "আরে এটি একটি সাধারণ বার্তা, একটি স্বীকৃতি প্রয়োজন, এবং চেকসাম 0x47, বর্তমান সময় এক্স X" এই প্যাকেটটি রিসিভিং নোডে শারীরিক স্তরের উপরে প্রেরণ করা হয়।
বৈদ্যুতিন স্তর এবং ইন্টারফেসটিকে সংজ্ঞায়িত করা হয়: সংযোগকারী, ভোল্টেজের মাত্রা, সময় ইত্যাদি etc. বাস্তবায়ন করতে পারেন ।
রিসিভিং নোডে, প্যাকেটটি শারীরিক স্তরে আসে, ট্রান্সপোর্ট লেয়ারে আনপ্যাক করা হয় এবং তারপরে আপনার বাইনারি প্যাটার্নটি অ্যাপ্লিকেশন স্তরে পাওয়া যায়। সেই প্যাটার্নটিকে 'এ,' 0x41, বা 0 বি01000001 হিসাবে ব্যাখ্যা করা উচিত এবং এটি দিয়ে কী করা উচিত তা জানা নোড অ্যাপ্লিকেশন স্তরটি নির্ভর করে।
উপসংহারে, যদি অ্যাপ্লিকেশনটির প্রয়োজন হয় তবে এটি ASCII অক্ষরগুলি প্রেরণে বেশ সর্বদা গ্রহণযোগ্য। গুরুত্বপূর্ণ বিষয়টি হল আপনার যোগাযোগের স্কিমটি বোঝা, এবং একটি ত্রুটি পরীক্ষার ব্যবস্থা অন্তর্ভুক্ত করা উচিত।