Panoramix schreef:
Ik ben al zover dat ik op andere fora over iets als de ARP tabel heb gevonden. Poorten worden blijkbaar geforward naar een apparaatnaam (in dit geval SERVER) en via de ARP tabel weet de SpeedTouch dat hierbij (in mijn geval) het IP adres 192.168.1.72 hoort. Hoewel ik in de SpeedTouch via de configuratie van het apparaat SERVER bij DHCP het vinkje bij Gebruik altijd hetzelfde IP adres heb aangezet, blijkt toch dat deze koppeling na uitschakelen van de SERVER verloren gaat. Dat zie je bijvoorbeeld aan de meldingen in het Gebeurtenislogboek. Eerst wordt het packet wel naar het IP adres doorgegeven. Later niet meer.
Hmm, bijna... een ARP tabel vertaalt de MAC-adressen naar IP-adressen. Een MAC-adres is als het ware het huisnummer van een netwerkkaart. Een netwerkkaart reageert doorgaans enkel op pakketen naar zijn eigen MAC-adres of het broadcast adres. Deze ARP tabel wordt automatisch bijgehouden aan de hand van informatie die automatisch vergaard wordt. Als een PC een andere PC op zijn eigen netwerk nodig heeft en hij heeft enkel een IP-adres dan stuurt hij een bericht naar alle aangesloten apparaten: "Wie kent dit IP-adres!" Dat gebeurd op basis van een broadcast naar het broadcast MAC-adres. De TCP-IP software krijgt dat bericht binnen en kijkt of het zijn eigen IP-adres is. Zo ja dan stuurt het een broadcast bericht terug: "Ja ik ben <MAC-ADRES> en ik heb IP adres <IP-ADRES>". Alle PC's die die conversatie hebben meegekregen werken hun ARP-tabel bij zodat ze niet opnieuw hoeven te vragen op welk MAC-adres ze een bepaald IP-adres terug kunnen vinden. Maar omdat een PC een ander IP-adres kan krijgen of dat een IP-adres van machine wisselt, worden deze regels in de ARP-tabel gewist als die de PC al enige tijd geen 'Ja ik ben ..." bericht heeft ontvangen.
Het port-forwarden gebeurd in een normale router op basis van het IP-adres. Maar de EB deelt de IP adressen uit en laat die verlopen. Helaas kan ik vanwege een router die achter de EB zit niet zien hoe lang die adressen geldig blijven. Maar als een adres eenmaal verlopen is mag dat adres niet meer gebruikt worden. Het zal opnieuw aangevraagd moeten worden. En adressen die de EB niet kent, daar wil hij ook niets naar forwarden. Als de bewuste machine weer online komt, dan krijgt hij aan de hand van zijn MAC-adres weer zijn -in de EB vastgezette- IP adres, wordt hij weer opgenomen in de ARP tabel en werkt de forwarding weer... eventjes.
Om WOL aan te steken zal de router altijd moeten weten wat het MAC-adres van de bewuste machine is. Daartoe moet een regel statisch in de ARP-tabel van de router toegevoegd worden. Zonder die regel is de machine gewoonweg onvindbaar. Het heeft geen IP-adres (die kan verlopen zijn en wordt tijdens sleep niet vernieuwd), reageert niet op ARP verzoeken (er is immers geen IP-adres), MAC-adres is onbekend, kortweg... die machine bestaat voor de router even niet.
Dat het bij jouw thuis wel werkt is omdat de PC die het magic-packet verstuurt het MAC-adres van de ontvangende PC kent. (Technisch gesproken is een magic-packet een packet waarin 3x het mac-adres van de ontvangende PC voorkomt). Daar wordt dus niet gezocht naar een IP-adres; het wordt gewoon blind op de lijn gedonderd.
Overigens, een beetje zichzelf respecterende router heeft een mogelijkheid om vanuit de routerinterface een magic-packet te sturen.