Come posso verificare se il mio router blocca il traffico multicast?


5

Sto provando un programma multicast c # mittente e destinatario sul mio computer. Come posso verificare se il mio router blocca il multicast? ovvero se i membri del gruppo ricevono pacchetti da 224.0.0.1.


2
La marca e il numero di modello sono un buon inizio.
Synetech

Fare riferimento alla documentazione di supporto per il router oppure [testarlo] [1]. [1]: serverfault.com/questions/211482/…
Zoredache

1
Il test non ti dirà se è disabilitato, bloccato o non supportato affatto.
Synetech

@ user494461 Suppongo che la tua applicazione non funzioni. Ottieni Wireshark e assicurati che il tuo computer riceva i pacchetti. Ho avuto una situazione simile: Wireshark ha visto il mio computer ricevere i pacchetti, ma non sono arrivati ​​alla mia applicazione. L'unico modo per aggirare il problema era disabilitare il servizio Motore di filtro di base . Non Non disattivare tale servizio su una rete pubblica, ma è possibile provarlo a casa per vedere se questa è la causa. Inoltre, sei sicuro di voler trasmettere all'intera rete e non solo alla tua sottorete (e invece usi qualcosa come 192.168.1.255 come indirizzo di trasmissione)?
Breakthrough

@Synetech, un po 'dipende da come hai definito bloccato. Se hai definito bloccato come esplicitamente vietato tramite acl / rule, il test non sarà di aiuto. Se si definisce bloccato come semplicemente non funzionante, un test dimostrerà se funziona o meno. Sono d'accordo che non ti dirà nulla sulle funzionalità del router.
Zoredache,

Risposte:


3

I router IPv4 sono tenuti a non inoltrare i multicast a 224.0.0.1. Questo è l'indirizzo multicast "tutti gli host". Tale indirizzo non è un indirizzo multicast instradabile. Vedere RFC 3171, "Linee guida IANA per assegnazioni di indirizzi multicast IPv4" . Non è consentito dalla rete di data-link-layer (layer 2) corrente. Altrimenti, quando esegui il ping, dovresti letteralmente eseguire il ping di ogni ultimo host abilitato per IPv4 su tutta Internet e istantaneamente DDOS te stesso con tutte le risposte del ping. :-)

Durante lo sviluppo dell'applicazione, penso che probabilmente vorrai utilizzare gli indirizzi "Multicast IP con ambito amministrativo" (239/8). Vedi RFC 2365 . avvertenza: non sono certo un esperto del routing multicast IPv4.

Se stessi usando i termini laici invece di un gergo di rete preciso e il dispositivo di rete che stavi chiamando "router" è in realtà solo un bridge / switch Ethernet e non un router IPv4, allora lo inoltrerebbe effettivamente tra le porte, perché questo è ciò che Ethernet ponti / interruttori sono tenuti a fare. Perché a livello Ethernet, l'indirizzo MAC di destinazione dovrebbe avere il bit multicast impostato.

Se hai a che fare con 802.11 (Wi-Fi), nota che 802.11 è un protocollo di livello di collegamento dati, in pratica Ethernet wireless. Un dispositivo che collega una Ethernet wireless a una Ethernet cablata è tecnicamente chiamato "Access Point" o AP. Un AP può essere un semplice bridge a livello di collegamento tra Ethernet cablata e wireless. Quindi alcuni dispositivi a cui la gente si riferisce in parole povere come "router wireless" possono, a seconda di come è stato impostato, essere solo un AP ponte e non un router.

Ma se hai un "router wireless" configurato per fungere da gateway NAT IPv4, allora va bene pensarlo come un router, perché un gateway NAT fa praticamente tutto ciò che farebbe un semplice router IPv4, inoltre impiega un i livelli aiutano a rendere il traffico proveniente dagli host di sottorete privata lato LAN come se provenisse effettivamente dall'indirizzo IP del lato WAN del gateway, instradabile pubblicamente. Ma anche se si tratta di un gateway NAT, non dovrebbe inoltrare i pacchetti per 224.0.0.1 da LAN a WAN o da WAN a LAN.


2

Preoccupazioni hardware :

Controllare la marca, il modello e la documentazione per assicurarsi che l'hardware supporti il ​​multicast. Supponendo che non si tratti di un problema hardware, controlla la configurazione del punto di accesso / switch / gateway / "scatola lampeggiante di passaggio del traffico" ...

Diagnosi:

Come utente C # potresti dover tradurre il mio comando Mac / Unix / le risposte in Windows Land ...

Quando corro: > ifconfigda casa mia ottengo:

... en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 ...

il che ha senso, perché uso zeroconf, mDNS, servizi Bonjour, ecc. a casa tramite la mia connessione wireless. Quando eseguo la stessa cosa in uno spazio di coworking, dove nessuna delle cose di zeroconf funziona, ho anche notato che il ifconfigcomando esclude il flag multicast.

... en1: flags=963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX> mtu 1500 ....

Per gli amministratori del gateway

Accedi all'Access Point e prova ad abilitare il multicast. Per riferimento se si utilizza un "router" orientato al consumatore, potrebbe essere necessario scavare in schede avanzate (esempio PDF da Time Warner. Assicurarsi di cercare "mulitcast")

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.