নেটওয়ার্কিং

Android 10 নিম্নলিখিত নেটওয়ার্কিং মডিউলগুলি অন্তর্ভুক্ত করে:

  • নেটওয়ার্কিং কম্পোনেন্ট মডিউল সাধারণ আইপি পরিষেবা, নেটওয়ার্ক সংযোগ পর্যবেক্ষণ, এবং ক্যাপটিভ লগইন পোর্টাল সনাক্তকরণ প্রদান করে।
  • নেটওয়ার্ক স্ট্যাক পারমিশন কনফিগ মডিউল এমন একটি অনুমতি নির্ধারণ করে যা মডিউলগুলিকে নেটওয়ার্ক-সম্পর্কিত কাজ সম্পাদন করতে সক্ষম করে।

নেটওয়ার্কিং উপাদান মডিউল

নেটওয়ার্কিং কম্পোনেন্ট মডিউল নিশ্চিত করে যে অ্যান্ড্রয়েড বিকশিত নেটওয়ার্ক মানগুলির সাথে খাপ খাইয়ে নিতে পারে এবং নতুন বাস্তবায়নের সাথে আন্তঃঅপারেবিলিটির অনুমতি দেয়। উদাহরণস্বরূপ, ক্যাপটিভ পোর্টাল সনাক্তকরণ এবং লগইন কোডের আপডেটগুলি অ্যান্ড্রয়েডকে ক্যাপটিভ পোর্টাল মডেল পরিবর্তনের সাথে আপ টু ডেট থাকার অনুমতি দেয় এবং অ্যাডভান্সড পলিসি ফায়ারওয়াল (APF) এর আপডেটগুলি অ্যান্ড্রয়েডকে Wi-Fi-এ পাওয়ার সঞ্চয় করতে দেয় কারণ নতুন ধরণের প্যাকেট সাধারণ হয়ে যায়৷

Android 10 এ পরিবর্তন

নেটওয়ার্কিং উপাদান মডিউল নিম্নলিখিত উপাদান ধারণ করে.

  • আইপি সেবা। IpClient (পূর্বে IpManager) কম্পোনেন্ট আইপি লেয়ার প্রভিশনিং এবং রক্ষণাবেক্ষণ পরিচালনা করে। অ্যান্ড্রয়েড 9-এ, এটি ব্লুটুথের মতো উপাদানগুলির দ্বারা ক্রস-প্রসেস এবং ওয়াই-ফাই-এর মতো উপাদানগুলির দ্বারা প্রক্রিয়াধীন ব্যবহার করা হয়েছিল। DhcpClient কম্পোনেন্ট DHCP সার্ভার থেকে IP ঠিকানাগুলি পায় যাতে সেগুলি ইন্টারফেসে বরাদ্দ করা যায়।
  • নেটওয়ার্ক মনিটর। নেটওয়ার্ক মনিটর উপাদানটি একটি নতুন নেটওয়ার্কের সাথে সংযোগ করার সময় বা নেটওয়ার্ক ব্যর্থতার সময়, ক্যাপটিভ পোর্টাল সনাক্ত করার সময় এবং নেটওয়ার্কগুলিকে যাচাই করার সময় ইন্টারনেট অ্যাক্সেসযোগ্যতার জন্য পরীক্ষা করে।
  • ক্যাপটিভ পোর্টাল লগইন অ্যাপ। ক্যাপটিভ পোর্টাল লগইন অ্যাপ হল একটি আগে থেকে ইনস্টল করা অ্যাপ যা ক্যাপটিভ পোর্টালে লগইন পরিচালনার দায়িত্বে রয়েছে। এটি অ্যান্ড্রয়েড 5.0 থেকে একটি পৃথক অ্যাপ, তবে এটি সিস্টেমে ব্যবহারকারীর কিছু পছন্দ ফরোয়ার্ড করতে নেটওয়ার্ক মনিটরের সাথে যোগাযোগ করে।

নেটওয়ার্কিং কম্পোনেন্টস মডিউল ব্যবহার করে ডিভাইসগুলিতে, উপরের পরিষেবাগুলি একটি ভিন্ন প্রক্রিয়ায় রিফ্যাক্টর করা হয় এবং একটি স্থিতিশীল AIDL ইন্টারফেস ব্যবহার করে অ্যাক্সেস করা হয়। রিফ্যাক্টর পাথগুলি নিম্নলিখিত টেবিলে দেখানো হয়েছে।

IP পরিষেবা রিফ্যাক্টর পাথ

অ্যান্ড্রয়েড 9 এবং তার নিচের frameworks/base/services/net/java/android/net/ এ :
  • apf
  • dhcp
  • ip
  • netlink
  • util (আংশিক)
Android 10 এবং উচ্চতর packages/modules/NetworkStack

ক্যাপটিভ পোর্টাল লগইন রিফ্যাক্টর পাথ

অ্যান্ড্রয়েড 9 এবং তার নিচের frameworks/base/ এ:
  • core/java/android/net/captiveportal/
  • services/core/java/com/android/server/connectivity/NetworkMonitor.java
  • packages/CaptivePortalLogin/* (যেখানে * = ওয়াইল্ডকার্ড)
Android 10 এবং উচ্চতর packages/modules/CaptivePortalLogin (এবং অন্য কিছু শেয়ার করা অবস্থান)

বিন্যাস এবং নির্ভরতা

নেটওয়ার্কিং কম্পোনেন্ট মডিউল তিনটি APK হিসাবে বিতরণ করা হয়: একটি আইপি পরিষেবার জন্য, একটি ক্যাপটিভ পোর্টাল লগইনের জন্য এবং একটি নেটওয়ার্ক স্ট্যাক পারমিশন কনফিগারেশনের জন্য।

নেটওয়ার্কিং উপাদান মডিউল নিম্নলিখিত উপর নির্ভর করে:

  • সিস্টেম সার্ভারে @hide (উদাহরণস্বরূপ, IConnectivityManager.aidl এ)। এই APIগুলিকে @SystemApi এর সাথে টীকা করা হয়েছে এবং যথাযথভাবে সুরক্ষিত করা হয়েছে যাতে সেগুলি মডিউলে অ্যাক্সেসযোগ্য তবে অন্যান্য সুবিধাপ্রাপ্ত অ্যাপ নয় (উদাহরণস্বরূপ, একটি নতুন স্বাক্ষর অনুমতি ব্যবহার করে)।
  • netd এ সংজ্ঞায়িত নেট-এ INetd.aidl এই ইন্টারফেসটি স্থিতিশীল AIDL-এ রূপান্তরিত করা হয়েছে এবং কনফর্মেন্স পরীক্ষার বিষয়।

নেটওয়ার্ক স্ট্যাক অনুমতি কনফিগার মডিউল

নেটওয়ার্ক স্ট্যাক পারমিশন কনফিগারেশন মডিউলে কোনো কোড নেই কিন্তু এর পরিবর্তে নেটওয়ার্ক স্ট্যাক এবং ক্যাপটিভ পোর্টাল লগইন মডিউল ব্যবহার করার উদ্দেশ্যে একটি অনুমতি সংজ্ঞায়িত করে। সিস্টেমটি মডিউলগুলিকে ডিভাইসে সম্পর্কিত নেটওয়ার্ক কনফিগারেশন কাজগুলি করার জন্য এই অনুমতি প্রদান করে।