উইন্ডোজে কীভাবে বিশ্বব্যাপী সম্প্রচারের ঠিকানা (255.255.255.255) আচরণ পরিবর্তন করতে হয়?


10

পছন্দসই আচরণ

যখন কোনও অ্যাপ্লিকেশন গ্লোবাল ব্রডকাস্ট আইপি ঠিকানায় একটি প্যাকেট প্রেরণ করে 255.255.255.255, আমি চাই যে প্যাকেটটি ff:ff:ff:ff:ff:ffসমস্ত ইন্টারফেসে ইথারনেট গ্লোবাল ব্রডকাস্ট ঠিকানায় ( ) পাঠানো হবে।

লিনাক্স এবং সম্ভবত অন্যান্য ওএসেও এটি কার্যকর বলে মনে হচ্ছে। উইন্ডোজ এক্সপি এবং উইন্ডোজ 7 এ সম্পর্কে বিভিন্ন আচরণের প্রদর্শন করে এবং উভয়ই আচরণ আমার পরিস্থিতির জন্য কাম্য নয়।

উইন্ডোজ এক্সপি আচরণ

প্যাকেটটি প্রথম নেটওয়ার্ক ইন্টারফেসে সঠিকভাবে প্রেরণ করা হবে (ইন্টারফেস অর্ডার "নেটওয়ার্ক সংযোগ / উন্নত / উন্নত সেটিংস" এ নির্দিষ্ট করা হয়েছে)। এটি অন্যান্য ইন্টারফেসেও প্রেরণ করা হবে।

এখন পর্যন্ত সবকিছু ঠিক আছে। সমস্যাটি হ'ল, অন্য ইন্টারফেসগুলিতে প্রেরণের সময়, সম্প্রচারের প্যাকেটের উত্স ঠিকানাটি প্রথম ইন্টারফেসের আইপি ঠিকানা। উদাহরণস্বরূপ, এই নেটওয়ার্ক কনফিগারেশনটি কল্পনা করুন (ক্রমটি গুরুত্বপূর্ণ):

  • অ্যাডাপ্টার 1: আইপি ঠিকানা 192.168.0.1
  • অ্যাডাপ্টার 2: আইপি ঠিকানা 10.0.0.1
  • অ্যাডাপ্টার 3: আইপি ঠিকানা 172.17.0.1

এখন আমি যদি একটি সম্প্রচার প্যাকেট প্রেরণ করি তবে নিম্নলিখিত প্যাকেটগুলি পাঠানো হবে (উত্স এবং গন্তব্য আইপি ঠিকানা সহ):

  • অ্যাডাপ্টারে 1: 192.168.0.1=>255.255.255.255
  • অ্যাডাপ্টারে 2: 192.168.0.1=>255.255.255.255
  • অ্যাডাপ্টারে 3: 192.168.0.1=>255.255.255.255

    অনুশীলনে, ব্রডকাস্ট প্যাকেটগুলি ব্যবহার করে অ্যাপ্লিকেশনগুলি অ্যাডাপ্টার 1 ব্যতীত অন্য কোনও ইন্টারফেসে কাজ করবে না my আমার মতে, এটি উইন্ডোজ এক্সপির টিসিপি / আইপি স্ট্যাকের একটি স্পষ্ট বাগ।

উইন্ডোজ 7 আচরণ

নেটওয়ার্ক ইন্টারফেস অর্ডার পরিবর্তন করে উইন্ডোজ on-এ কোনও প্রভাব ফেলবে বলে মনে হয় না Instead পরিবর্তে, ব্রডকাস্টটি আইপি রুট টেবিলের দ্বারা নিয়ন্ত্রিত বলে মনে হচ্ছে।

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0   10.202.254.254       10.202.1.2    286
          0.0.0.0          0.0.0.0      192.168.0.1      192.168.0.3     10
       10.202.0.0      255.255.0.0         On-link        10.202.1.2    286
       10.202.1.2  255.255.255.255         On-link        10.202.1.2    286
   10.202.255.255  255.255.255.255         On-link        10.202.1.2    286
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306
      192.168.0.0    255.255.255.0         On-link       192.168.0.3    266
      192.168.0.3  255.255.255.255         On-link       192.168.0.3    266
    192.168.0.255  255.255.255.255         On-link       192.168.0.3    266
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link       192.168.0.3    266
        224.0.0.0        240.0.0.0         On-link        10.202.1.2    286
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  255.255.255.255  255.255.255.255         On-link       192.168.0.3    266
  255.255.255.255  255.255.255.255         On-link        10.202.1.2    286
===========================================================================

255.255.255.255রুটগুলি দেখুন ? হ্যাঁ, তারা ব্রডকাস্ট প্যাকেটগুলি নিয়ন্ত্রণ করে। এই পরিস্থিতিতে, সম্প্রচারিত প্যাকেটগুলির মাধ্যমে প্রেরণ করা হবে 192.168.0.3কারণ এতে কম মেট্রিক রয়েছে ... তবে অন্যান্য ইন্টারফেসে নয় not

আপনি এমন ইন্টারফেসটি পরিবর্তন করতে পারেন যার মাধ্যমে বৈশ্বিক সম্প্রচারের প্যাকেটগুলি খুব সহজেই প্রেরণ করা হবে (কেবলমাত্র 255.255.255.255একটি কম মেট্রিক সহ একটি অবিরাম রুট যুক্ত করুন )। তবে আপনি যতই চেষ্টা করুন না কেন, ব্রডকাস্ট প্যাকেটগুলি কেবলমাত্র একটি ইন্টারফেসে প্রেরণ করা হবে, তাদের সমস্তেরই এটি পছন্দ করতে চাই না।

উপসংহার

  • উইন্ডোজ 7 কেবল একটি ইন্টারফেসে ব্রডকাস্ট প্যাকেট প্রেরণ করে। আপনি কোনটি বেছে নিতে পারেন তবে এটি এখানে মূল বিষয় নয়।
  • উইন্ডোজ এক্সপি সমস্ত ইন্টারফেসে ব্রডকাস্ট প্যাকেট প্রেরণ করে, তবে এটি কেবলমাত্র একটি ইন্টারফেসে প্রত্যাশিত হিসাবে প্রেরণ করে, যা বাস্তবে উইন্ডোজ 7 আচরণের সমতুল্য।

লক্ষ

আমি এই গ্লোবাল আইপি সম্প্রচারের সমর্থনটি উইন্ডোজে (বেশিরভাগ উইন্ডোজ)) একবার এবং সবার জন্য পরিবর্তন করতে চাই। অবশ্যই আরও ভাল উপায়টি হ'ল এক ধরণের সমর্থিত কনফিগারেশন পরিবর্তন (রেজিস্ট্রি হ্যাক বা অনুরূপ), তবে আমি সমস্ত পরামর্শের জন্য উন্মুক্ত।

কোন ধারনা?


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

আপনি কি কোনও আরএফসি বা অন্যান্য দস্তাবেজ উল্লেখ করতে পারেন যা আপনার বর্ণিত সঠিক আচরণটি নির্দেশ করে? আমি এটির পছন্দসই আচরণের সাথে একমত হওয়ার পরেও, এটিকে সঠিক আচরণ বলার জন্য একটি নির্দিষ্ট উল্লেখ করা উচিত যা সঠিকটি সংজ্ঞায়িত করে। এটি কি এমন হতে পারে যে নির্দিষ্ট রাউটিং বাস্তবায়নটি সরবরাহকারী (এই ক্ষেত্রে মাইক্রোসফ্ট) এর উপরে ছেড়ে যায়?
জেসন আর। কমস 13

স্কট লুন্ডবার্গ: অনেক অ্যাপ্লিকেশন (বিশেষত গেমস) বিশ্ব সম্প্রচার পাঠাবে send নেটকাট ব্যবহার করে আপনি কিছু তৈরি করতে পারেন: উদাহরণস্বরূপ "এনসি -ভি-ইউ 255.255.255.255 5000"।
এটিয়েন ডেকহ্যাম্পস

জেসন আর। কমসস: সত্যই, আমার কাছে শব্দগুলির পছন্দ খুব খারাপ ছিল। আমার "পছন্দসই আচরণ" ব্যবহার করা উচিত ছিল। আমি মনে করি না এর জন্য কোনও আরএফসি আছে তবে আমি ভুল হতে পারি।
এটিয়েন ডেকহ্যাম্পস

আপনি কি টিসিপি বা ইউডিপি প্যাকেট প্রেরণ করছেন? এটি অনুসারে সামাজিক . msdn.microsoft.com/forums/en/peertopeer/thread/… গুরুত্বপূর্ণ ।
নিসান ফ্যান 16 ই

উত্তর:


6

আমি মাইক্রোসফ্টকে রক্ষা করার ব্যবসায়ের সাথে জড়িত নই, তবে নিম্নলিখিত আরএফসিগুলি পড়ে যেগুলি সম্প্রচার কীভাবে কাজ করে তা সংজ্ঞায়িত করার চেষ্টা করে, আমি মনে করি না যে মাইক্রোসফ্ট অগত্যা কোনও আরএফসি লঙ্ঘন করছে। আইএমও সমস্যাটি অ্যাপ্লিকেশন পর্যায়ে স্থির করা উচিত (অর্থাত্ নির্দেশিত সম্প্রচারগুলি, বিশ্বব্যাপী নয়) যা রাউটিং টেবিলের উপযুক্ত রুটগুলিকে আঘাত করবে এবং কেবলমাত্র সেই আইপি নেটওয়ার্কের জন্য সঠিক ইন্টারফেস থেকে প্রেরণ করা হবে।

তারা উভয়ই জানিয়েছে যে সম্প্রচারের জন্য কোনও মান নির্ধারিত নেই। এটি 919 তেও উল্লেখ করেছে যে সম্প্রচারের জন্য একটি নির্দিষ্ট শারীরিক ইন্টারফেস নির্বাচন করা উচিত। মাল্টি-হোমড, মাল্টি-এনআইসি মেশিন সম্প্রচারটি তৈরি করার ক্ষেত্রে, আমি মনে করি না যে এটি কী হবে তা স্পষ্টভাবে বলা হয়েছে। ব্রডকাস্টগুলি কখনই একটি ইন্টারফেস থেকে অন্য ইন্টারফেসের রাউটারগুলির মধ্য দিয়ে যাওয়ার কথা নয়, তাই উইন্ডোজ মেশিনটি কি এই ক্ষেত্রে রাউটার কিনা?
যদি এটি রাউটার হিসাবে কাজ করে , তবে সেই নেটওয়ার্কের জন্য ভুল আইপি ঠিকানার সাথে সম্প্রচারকে প্রতিক্রিয়া জানানো কোনও হোস্টকে (আপনার উদাহরণে অ্যাডাপ্টার 2 এবং 3) অ্যাডাপ্টারের প্রতিক্রিয়া হিসাবে প্যাকেটটি অ্যাডাপ্টার 2 এবং 3 এর ইথারনেট ঠিকানায় ফেরত পাঠানো উচিত 1 এর আইপি ঠিকানা এবং উইন্ডোজ হোস্টের এটি যথাযথ ইন্টারফেসে রূট করা উচিত।
এটি বিভ্রান্তিকর শোনায় ... তবে এটিকে উচ্চারণের আরও ভাল উপায়ের কথা ভাবতে পারে না

এবং পরিশেষে, আরএফসি 919 বিশেষত আরএফসি 919 থেকে বলেছেন

যেহেতু আমরা ধরে নিই যে ডেটা লিঙ্ক স্তরটিতে সমস্যাটি ইতিমধ্যে সমাধান হয়ে গেছে, তাই কোনও
স্থানীয় সম্প্রচার বা নির্দেশিত সম্প্রচার পাঠাতে ইচ্ছুক একটি আইপি হোস্টের
উপযুক্ত গন্তব্য ঠিকানা নির্দিষ্ট করতে হবে এবং
যথারীতি ডেটাগ্রাম প্রেরণ করতে হবে । যে কোনও পরিশীলিত অ্যালগরিদম কেবল গেটওয়েতে থাকা দরকার।

এমন পড়া যা সূত্রের আইপি ঠিকানাটি সম্প্রচারের জন্য অপ্রাসঙ্গিক।


যেহেতু প্রতিটি অ্যাপ্লিকেশন ব্রডকাস্টগুলি আলাদাভাবে পরিচালনা করে বলে মনে হয়, আমি মনে করি যে সেখানেই দায়বদ্ধতা রয়েছে। উদাহরণ স্বরূপ. nbtstatমাল্টি-এনআইকেড মেশিনগুলিতে নির্দেশিত সম্প্রচারগুলি প্রেরণ করে, যেখানে গেমগুলি বিশ্বব্যাপী সম্প্রচার ব্যবহার করতে পারে।
সংক্ষেপে, আবেদনটি ঠিক করা উচিত, এই ক্ষেত্রে ওএস নয় ...

সম্পাদনা: এখানে একই পরিস্থিতিতে লিঙ্ক , তবে লিনাক্সে। লিনাক্স কার্নেল কেবলমাত্র একটি প্যাকেট ডিফল্ট ইন্টারফেসের বাইরে পাঠিয়ে এটি পরিচালনা করে (এই উদাহরণে এনআইসি এ)। তারা সুপারিশ করে যে আবেদনটি এনআইসিগুলিকে গণনা করবে এবং প্রতিটি এনআইসিকে একটি নির্দেশিত সম্প্রচার প্রেরণ করবে। লিংক


2
আরএফসি 919 এবং উত্সের ঠিকানা থেকে আপনি যে অনুচ্ছেদে উদ্ধৃতি দিচ্ছেন তার মধ্যে সম্পর্কটি বুঝতে পারবেন না। আমার কাছে এটা স্পষ্ট বলে মনে হয় যে প্যাকেটের সম্প্রচার / ইউনিকাস্ট প্রকৃতি নির্বিশেষে অন্য একটি ইন্টারফেসের উত্স ঠিকানা সহ একটি ইন্টারফেসে আইপি প্যাকেট প্রেরণ করা সর্বদা ভুল। আমি বলতে চাইছি আপনি যুক্তিসঙ্গতভাবে বলতে পারবেন না "উত্সের আইপি ঠিকানাটি একটি সম্প্রচারের জন্য অপ্রাসঙ্গিক", অবশ্যই এটি! অ্যাপ্লিকেশনগুলি কীভাবে সম্প্রচারটি পাঠিয়েছে তা জানতে হবে?
এটিয়েন ডেকহ্যাম্পস

1
"এটি 919 তেও উল্লেখ করেছে যে সম্প্রচারের জন্য একটি নির্দিষ্ট শারীরিক ইন্টারফেস নির্বাচন করা উচিত।" কোথায়? "ঠিকানা 255.255.255.255 স্থানীয় হার্ডওয়্যার নেটওয়ার্কে একটি সম্প্রচার বোঝায়" (আরএফসি 919 7.)? সেক্ষেত্রে আমি শ্রদ্ধার সাথে একমত নই। আমরা নেটওয়ার্ক স্তরে নয়, হোস্ট স্তরে সম্প্রচারগুলি নিয়ে কী করব তা নিয়ে আলোচনা করছি। তদতিরিক্ত, এটি ঠিক নীচে বলা হয়েছে যে কোনও হোস্ট "255.255.255.255 ব্যবহার করে তার আশেপাশের সমস্ত প্রতিবেশী সম্প্রচার করতে পারে"। এর সমস্ত নিকটবর্তী প্রতিবেশী। "একটি নির্দিষ্ট নেটওয়ার্ক ইন্টারফেসের সমস্ত প্রতিবেশী" নয়।
এটিয়েন ডেকহ্যাম্পস

1
"অ্যাপ্লিকেশনগুলি কোন ইন্টারফেসটি সম্প্রচারটি প্রেরণ করে সেদিকে খেয়াল রাখে না just হু ... তাদের সম্প্রচারও প্রেরণ করা দরকার, কেবল তাদের প্রতিক্রিয়া নয়। ল্যান গেমসভার ব্রাউজারের ক্ষেত্রে বিবেচনা করুন। এটি নেটওয়ার্কে গেম সার্ভারগুলি আবিষ্কার করতে সম্প্রচারের প্যাকেটগুলি প্রেরণ করে। ব্রডকাস্ট প্যাকেটগুলি যদি সমস্ত ইন্টারফেসে না প্রেরণ করা হয় তবে গেমসভার ব্রাউজারটি এই ইন্টারফেসগুলির মাধ্যমে গেম সার্ভারগুলি অ্যাক্সেসযোগ্য show অন্য কথায়, মহাকাব্য ব্যর্থ হয়।
এটিয়েন ডেকহ্যাম্পস

1
"আমি নিশ্চিত নই, তবে আমি মনে করি যে ওএস 255.255.255.255 অনুরোধটি দেখছে এবং বলেছে যে এটি সমস্ত ইন্টারফেসে (সমস্ত আশেপাশের প্রতিবেশীদের সন্ধানের জন্য) প্রেরণ করা দরকার, তবে একটি নির্দিষ্ট অ্যাপ্লিকেশন থেকে অনুরোধ করা হয়েছিল, একটি আবদ্ধ নির্দিষ্ট আইপি (মেট্রিকের ভিত্তিতে ডিফল্ট হতে পারে) " আমি রাজী. এর অর্থ এই নয় যে এটি করার সঠিক জিনিস। আমার মতে এটি অ্যাপ্লিকেশন বিকাশকারীর দৃষ্টিকোণ থেকে অন্তত বিস্ময়ের নীতিটিকে সম্পূর্ণ লঙ্ঘন করে, যিনি সকল ইন্টারফেসে প্যাকেট প্রত্যেককে প্রেরণ করার প্রত্যাশা করেন।
এটিয়েন ডেকহ্যাম্পস

4
সদৃশ দ্বারা আপনি কী বোঝাতে চাইছেন তা নিশ্চিত নয়। আরএফসিগুলি বিশেষত সম্প্রচারিত প্যাকেটগুলি প্রেরণ নিষিদ্ধ করে। কেবলমাত্র একটি প্যাকেট প্রেরণ করা উচিত যা আমি মনে করি এটি আমাদের আলোচনার পুরো ক্রোকস। ওএস যদি আপনি যেমনটি বলে থাকেন, এটি আসলে 9 টি মোট প্যাকেট তৈরি করতে হবে (প্রতিটি ইন্টারফেসের জন্য 3) কারণ আইপি স্তরটি পৃথক উত্স আইপি (লেয়ার 3 এ প্রতিটি এনআইসির জন্য একটি) এবং তারপরে তিনটি প্যাকেট তৈরি করতে হবে এবং তারপরে প্রতিটি এনআইসিকে তাদের ইথারনেটে পাঠানো হবে (স্তর 2)। যদি নেটওয়ার্কগুলির মধ্যে কোনও রুট থাকে তবে আপনি 3 টি প্রতিক্রিয়া ফিরে পাবেন! কোনটি ঠিক?
স্কট লন্ডবার্গ

4

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

এটি একটি আকর্ষণীয় সত্য ব্যবহার করে কাজ করে: লুপব্যাকের ঠিকানা (127.0.0.1) শুনলে স্থানীয়ভাবে উত্পাদিত বৈশ্বিক সম্প্রচারের প্যাকেটগুলি পাওয়া সম্ভব। উইনিআইপিড্রোডকাস্ট সমস্ত ব্রডকাস্টের জন্য র সকেট ব্যবহার করে লোকাল ঠিকানায় শোনে, তারপরে প্রতিটি ব্রডকাস্ট প্যাকেটের জন্য, এটি পছন্দের ব্যতীত অন্য সমস্ত ইন্টারফেসের সাথে সম্পর্কিত করে।


উইন্ডোজ স্ট্যাকটি বিএসডি স্ট্যাকের কাঁটাচামচ, বিএসডি একই আচরণ প্রদর্শন করে কিনা তা জানতে আগ্রহী।
x0n

আপনার সফ্টওয়্যারটি কাজ করে না। The program can't start becuase api-ms-win-core-rtlsupport-l1-2-0.dll is missing from your computer..dllগুগলে এটি সন্ধানের জন্য শুভকামনা ।
অ্যালেক্স জি

@ অ্যালেক্সজি: এটি অদ্ভুত, আমি ভেবেছিলাম github.com/dechamps/WINIPBroadcast/commit/… এর মাধ্যমে আমি এই সমস্যাটি সমাধান করেছি । আপনি কি নিশ্চিত যে আপনি শেষ সংস্করণটি চালাচ্ছেন (1.6)? Github.com/dechamps/WinIPBroadcast/issues এ একটি বাগ ফাইল করতে দ্বিধা বোধ করুন এবং আমি একবার দেখে নিই
এটিয়েন ডেকহ্যাম্পস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.