আইপি মাল্টিকাস্ট সক্ষম হয়েছে কিনা তা আমি কীভাবে জানতে পারি


19

আমার কাছে এমন স্ক্রিপ্ট রয়েছে যা আইপি মাল্টিকাস্ট পরীক্ষা চালায়; তবে, আমার স্ক্রিপ্টগুলি একটি নির্দিষ্ট লিনাক্স মেশিনে ব্যর্থ হচ্ছে।

আমি জানি যে CONFIG_IP_MULTICASTকার্নেলটি এটির সাথে সংকলিত হয়েছে কিনা তা নির্ধারণ করতে আমি কার্নেল কনফিগারেশন ফাইলটিতে দেখতে পারি। তবে, আমি যদি দেখতে /procবা sysctlউত্তর পেতে পারি তবে আমার স্ক্রিপ্টে হারিয়ে যাওয়া প্রয়োজনীয়তাগুলিকে পতাকাঙ্কিত করা আরও সহজ হবে ।

আইপি মাল্টিকাস্ট না তাকিয়ে কার্নেলের মধ্যে সংকলিত হয়েছিল কিনা তা দেখার কোনও উপায় আছে CONFIG_IP_MULTICAST?

উত্তর:


18

দেখে মনে হচ্ছে সর্বাধিক কার্নেলগুলি (ভি 1 পোস্টের পরে) মাল্টিকাস্ট ডিফল্টরূপে সমর্থন করে বা সংকলনের সময় CONFIG_IP_MULTICAST সক্ষম করেছে। সংকলিত এবং চলমান কার্নেল কোনও মাল্টিকাস্ট গ্রুপে সাবস্ক্রাইব করেছে কিনা তা পরীক্ষা করতে আমি ব্যবহার করব netstat -g

এটি মনে হয় সর্বাধিক কার্নেল (পোস্ট ভি 1) ডিফল্টরূপে মাল্টিকাস্ট সমর্থন করে।

[root@centos module]# grep CONFIG_IP_MULTICAST /usr/src/kernels/2.6.18-274.7.1.el5-i686/.config 
CONFIG_IP_MULTICAST=y
[root@centos module]# netstat -g
IPv6/IPv4 Group Memberships
Interface       RefCnt Group
--------------- ------ ---------------------
lo              1      all-systems.mcast.net
eth0            1      224.0.0.251
eth0            1      all-systems.mcast.net

আমি দেখতে পাচ্ছি যে আমার হোস্টের eth0 ইন্টারফেসটি তার সাবস্ক্রাইব করা 224.0.0.251 বেসিক ম্যাসক্ট গ্রুপটি মনে করে। এছাড়াও বিকল্পভাবে, যদি আমি গ্রুপ বা নেটওয়ার্কটিকে পিং করে এবং তারপরে সমস্ত পরিচিত মাল্টিকাস্ট সক্ষম সক্ষম হোস্ট নেটওয়ার্কগুলি আমার কাছে ফিরে আসে তবে আমি বলব যে মাল্টিকাস্ট হোস্টে কাজ করছে। আপনি চেষ্টা করতে পারেন netstat -gবা cat /proc/net/igmpদেখতে পারেন এটি আপনার হোস্টের কোনও গ্রুপকে ফেরত দেয় কিনা?


1
তবে আপনি কীভাবে নির্ধারণ করবেন, যদি রাউটারটি সেই বাক্সটি মাল্টিকাস্ট সমর্থন করে?
নিলস

1
মাল্টিকাস্টিং - প্রেরক তার ইউনিকাস্ট ঠিকানা থেকে একটি একক ডেটাগ্রাম পাঠিয়ে মাল্টিকাস্ট গ্রুপের ঠিকানায় পাঠায় এবং মধ্যবর্তী রাউটারগুলি অনুলিপি তৈরি এবং সংশ্লিষ্ট মাল্টিকাস্ট গ্রুপে যোগদানকারী সমস্ত রিসিভারকে প্রেরণে যত্ন নেয়।
নিখিল মুলি

3
যদি হ্যাঁ, রাউটারের তখন মাল্টিকাস্টিং সমর্থন করা দরকার। তবে প্রেরক / গ্রহণকারীদের জন্য এটি আইজিএমপিতে এবং রাউটারগুলির জন্য, এর প্রোটোকল ইন্ডিপেন্ডেন্ট মাল্টিকাস্ট (পিআইএম) কাজ করে। রাউটার যা পিআইএম সমর্থন করে, সাধারণত সক্ষম, এবং মাল্টিকাস্ট গ্রুপ - 224.0.0.0/4। অন্য প্রান্তে গ্রুপে অন্য পিসি শোনাবার চেষ্টা করুন এবং মাল্টিকাস্ট গ্রুপে ডেটা প্রেরণ করুন এবং অন্যের রিসিভারটি ডেটা পেয়েছে কিনা তা পরীক্ষা করে দেখুন Iএই কথা, রাউটার নেটওয়ার্কটি মাল্টিকাস্টিংকে সমর্থন করে online নতুন সরঞ্জামগুলি অনলাইনে: imj.ucsb.edu/mcast_detective (উইন্ডোজ)
নিখিল মুলি

20

আপনার লিনাক্স বাক্সে: ip maddr show দেয়:

@4Gtest ~]$ ip maddr show
1:      lo
        inet  224.0.0.1
        inet6 ff02::1
2:      p3p1
        link  01:00:5e:00:00:01
        link  33:33:00:00:00:01
        link  33:33:ff:bd:7e:0f
        link  01:00:5e:00:00:fb
        link  01:00:5e:7f:ff:05
        inet  224.127.255.5
        inet  224.0.0.251
        inet  224.0.0.1
        inet6 ff02::1:ffbd:7e0f
        inet6 ff02::1

1
একটি ইন্টারফেসে মিউটিকাস্ট গ্রুপটি কীভাবে যুক্ত করবেন?
এআর

8
# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:0C:29:F1:FF:EA  
inet addr:78.46.74.27  Bcast:78.46.74.31  Mask:255.255.255.224
inet6 addr: fe80::20c:29ff:fef1:ffea/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500  Metric:1
RX packets:5339836 errors:0 dropped:0 overruns:0 frame:0
TX packets:5486444 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:820300389 (782.2 MiB)  TX bytes:1929979381 (1.7 GiB)
Base address:0x1400 Memory:e8820000-e8840000

মাল্টিকাস্ট অক্ষম করুন:

ifconfig eth0 -multicast

ফলাফল:

# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:0C:29:F1:FF:EA  
inet addr:78.46.74.27  Bcast:78.46.74.31  Mask:255.255.255.224
inet6 addr: fe80::20c:29ff:fef1:ffea/64 Scope:Link
UP BROADCAST MTU:1500  Metric:1
RX packets:5339836 errors:0 dropped:0 overruns:0 frame:0
TX packets:5486444 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:820300389 (782.2 MiB)  TX bytes:1929979381 (1.7 GiB)
Base address:0x1400 Memory:e8820000-e8840000

ইন্টারফেসে কোনও মাল্টিকাস্ট উপস্থিত নেই

মাল্টিকাস্ট সক্ষম করুন:

ifconfig eth0 multicast

8
এটি উল্লেখ করা উচিত যে ifconfigএখন লিনাক্সে অবচয় হয় ... আমাদের iproute2ইউটিলিটিগুলি ব্যবহার করা উচিত ।
মাইক পেনিংটন

7
এটি 2 বছর হয়েছে এবং আমরা এখনও ব্যবহার করছিifconfig
Askar

1
@scar কিন্তু এর অর্থ এই নয় যে এটি করা ভাল ipএবং iproute2 এর অন্যান্য ইউটিলিটিগুলি লিনাক্স কার্নেল নেটওয়ার্কিং কোডের (সাম্প্রতিক) পরিবর্তিত সাম্প্রতিক পরিবর্তনগুলি প্রতিফলিত করছে ifconfig
পেভিক

6

ipকমান্ডটি ব্যবহার করে একটি এটি পরীক্ষা করতে পারে যে কোনও ইন্টারফেস মাল্টিকাস্ট দ্বারা সক্ষম:

ip link show eth0 | grep MULTICAST

মাল্টিকাস্ট সক্ষম বা অক্ষম করতে আপনি ব্যবহার করতে পারেন:

sudo ip link set dev eth0 multicast [on|off] 
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.