Sida 4 av 9
Re: Få en "ethernet-enhet" att lyssna till namn och IP-adres
Postat: 6 juni 2011, 15:14:31
av ToPNoTCH
Det jag får det till är att den där Bubba prylen nyttjar UPNP och SSDP.
Slå SSDP på WIKI.
Inget man med lätthet inmplementerar i en MCU stack.
Har faktiskt aldrig sett en sådan tillämpning, men undrens tid är ju inte förbi.
Någon skall ju dessutom vara först

Re: Få en "ethernet-enhet" att lyssna till namn och IP-adres
Postat: 6 juni 2011, 15:25:47
av sodjan
> Jag är inte säker på att söka efter ett datornamn via utforskaren är samma sak som att
> via web-läsaren browsa till en web-server via namn istället för IP-adress?
Det är exakt samma sak. Det spelar ingen som helst roll vilken applikatione du
använder namn/adress översättningen sker i lägre lager "under" applikationerna.
Din PC kan enbart nå andra burkar på nätet via IP-adress (eller igentligen MAC-adress, men
vi glömmer det för tillfället). Om du anger ett hostnamn så måste det först "översättas" till
en IP-adress ! Det kan ske på i grunden två olika sätt:
(1) Din lokala maskin har en lokal namn => adress tabell. Den heter normalt "hosts".
(2) Din lokala maskin känner till en DNS-server som den kan skicka namnet till och få en adress tillbaka.
För att (1) ska fungera måste någon uppdaterad den lokala host filen.
För att (2) ska fungera måste någon/något uppdatera DNS-servern.
Re: Få en "ethernet-enhet" att lyssna till namn och IP-adres
Postat: 6 juni 2011, 15:34:24
av sodjan
> men nu förstår jag. Du vill alltså att din W5100 skall hämta sin IP-adress med hjälp av DHCP.
Så fattade jag det inte alls...
- W5100 enheten har *fast* IP (och ska inte köra DHCP).
- Den ska kunna nås med hostnamn utan att göra någonting.
> ...Om detta [DHCP-klient] redan finns implementerat i W5100...
Jag kollade databladet för W5100 lite snabbt, och jag tror att det är något som
får implementeras i överliggande lager, d.v.s med kod i PIC'processorn i detta fall.
Tror jag i alla fall. Det finns en app-note hos Wiznet kring DNS...
> I samma veva lägger du in rubricerad IP-adress i routerns/DNS-serverns "name table"
> (namnuppslagningstabell) och anger där ett lämpligt namn som du själv väljer.
Väldigt osäkert om det går i de flesta hemma-routers. DNS-delen är en enkel DNS-mirror.
> Är detta svaret på din fråga?
Det är nog inte fel på svaret som sådant, men det är inte svaret inte på frågan som den ställdes...

Re: Få en "ethernet-enhet" att lyssna till namn och IP-adres
Postat: 6 juni 2011, 15:43:02
av labmaster
men nu förstår jag.
Får kanske lägga till
kanske
Om det inte går att lägga till ett entry i name table så blir det genast mera komplicerat. Byt router eller sätt upp en DNS-server på ditt lokala nät.
Re: Få en "ethernet-enhet" att lyssna till namn och IP-adres
Postat: 6 juni 2011, 15:49:26
av H.O
Jösses, skrev svar på sodjans inlägg och när jag ska posta finns det fyra (edit: fem) (edit: sex) (edit: sju) till... Jag hinner inte med....
Det är riktigt sodjan, PIC/W5100 kör med fast adress.
Om "namn-registreringen" per automatik är en del av DHCP så är det kanske på DHCP jag ska lägga krutet. Eller så bygger den automatiken på att DNS ligger "inuti" DHCP, precis som du säger, vilket i så fall betyder att jag måste ha både DHCP och DNS. Alternativt, om jag ska köra med fast IP-adress, "bara" DNS och då göra "namn-registreringen" separat.
ToPNoTCH,
Tackar, jag läser vidare. Notera att hela TCP/IP stacken etc ligger i W5100-kretsen, jag "bara" styr kretsen och skickar/tar emot data från den. Om DNS går över UDP på port 54 så sätter jag upp en socket för UDP på port 54, skriver vad som skall skickas till bufferten i W5100, väntar på svar och läser data ur bufferten. Sen måste såklart JAG analysera vad som står där och agera på lämpligt sätt. Kort och gott, vad ska jag skicka på till DNS-servern för att den ska koppla ihop namnet (säg W5100) med IP-adressen. Jag fick en länk till ett dokument tidigare men jag har inte hunnint läsa ännu då tråden formligen exploderar med inlägg.
labmaster,
DHCP finns inte implementerat i W5100 utan detta måste göras, av mig, i PIC'en i så fall. Men som jag skrev till sodjan ovan så är det kanske på DHCP jag ska titta och inte DNS eller krävs BÅDA? Dina andra enkla lösningar är inte svar på min fråga, men tack i alla fall. Jag vill alltså, återigen, inte behöva editera HOST-filer, DNS-tabeller eller konfigurera routern manuellt.
grottan,
Jag ska titta på Wireshark, tack för tipset!
sodjan igen,
>Det är exakt samma sak.
OK, tack för det. Då kan jag ju egentligen sniffa vilken maskin på nätverket som helst (utom PIC/W5100) då alla har ett namn.
sodjan, ytterligare en gång,
Exakt, just nu körs W5100 med fast IP-adress då DHCP inte är nått som stödjs direkt av W5100 utan måste implementeras i överliggande lager dvs i PIC'en - av mig. Och att det finns en app.note om DNS har jag redan skrivit, tidigt i tråden efter jag fick reda på att det var just DNS jag var ute efter.
Insåg för länge sedan att detta var mer komplicerat än jag först trodde och kanske (uppenbarligen) har jag inte uttryckt mig tillräckligt tydligt genom tråden vilket jag ber om ursäkt för men många (samma) saker har jag nog upprepat 3-4 ggr nu.
Tack än en gång för alla svar, jag drunknar snart i dom.
Re: Få en "ethernet-enhet" att lyssna till namn och IP-adres
Postat: 6 juni 2011, 15:56:27
av sodjan
> ...eller sätt upp en DNS-server på ditt lokala nät.
En komplikation var ju också att det ska fungera på valfritt ("kompisens")
hemma-nät utan andra åtgärder än att "prylen" kopplas in på nätet.
Eller var det fel uppfattat ?
Jag tänkte på det här med Bubba servern...
Att den nås via namn *kan* ha något med NetBIOS eller liknande att göra också (!?)
Det måste inte vara något kopplat till DNS, det finns andra sätt att hitta prular via namn
på ett lokalt nät.
> så är det kanske på DHCP jag ska titta och inte DNS eller krävs BÅDA?
Som jag förstår det så kan DNS-registrering ske i samband med DHCP-anrop.
Men det verker (på andra svar) som att detta även kan ske direkt mot DNS servern.
Frågan kvarstår dock om den rellativt enkla DNS-server ("mirror") som de flesta
hemma-routerns har fixar detta !?
> jag drunknar snart i dom.
Japp, det kan vara lite tufft på "simskolan"...

Re: Få en "ethernet-enhet" att lyssna till namn och IP-adres
Postat: 6 juni 2011, 16:24:32
av labmaster
Det är tufft i simskolan speciellt när solen inte lyser och det är frånlandvind. Iskallt i vattnet med andra ord

. Du kanske söker efter en lösning som är omöjlig. Det vill säga att din nätverksenhet skall identifiera sig och kunna nås via namnuppslagning oavsett var den kopplas in. Saknar det lokala nätet stöd för DNS finns det ingen möjlighet att det skall fungera förutom att lägga in adressen lokalt i lmhosts.
Jag tror dock att du gör det mera komplicerat än vad det är. Skall du producera och sälja produkten är det bara att skriva en instruktion för hur det lokala nätet skall sättas upp för att din enhet skall fungera.
Om det finns DNS på nätet där den skall kopplas in kan du kanske skicka IP-adress och namn till DNS:en. Leta reda på dokumentationen om DNS. Där hittar du vad som krävs och vilken port som är aktuell att använda. Det är dock inte säkert att den lokala DNS:en accepterar uppdatering av name table hur som helst så du kan inte räkna med att hitta en generell funktion som funkar i alla nät.
Re: Få en "ethernet-enhet" att lyssna till namn och IP-adres
Postat: 6 juni 2011, 17:04:23
av maDa
Bubban har högst troligen någon SMB-tjänst med NetBIOS, därav du får namnet.
Dessutom innehåller den en iTunes-server, som automatiskt innebär en mDNS/Zeroconf-tjänst
Läs mitt förra inlägg, där har du alternativen.
Re: Få en "ethernet-enhet" att lyssna till namn och IP-adres
Postat: 6 juni 2011, 17:21:05
av H.O
>Eller var det fel uppfattat ?
Nej, det var helt rätt uppfattat. Vilket, om vi ska dra det till sin spets, egentligen kräver DHCP men...
>Det måste inte vara något kopplat till DNS, det finns andra sätt att hitta prular via namn på ett lokalt nät.
Och det säger du nu...

netBios har iofs nämnts i tidigare tråden men det är inget jag följt upp förrän nu då all fokus legat på DNS eller den envist hänvisade metoden att manuell editera/konfigura. Från Wikipedia:
Ett av de mest praktiska användningsområdena av NetBIOS för den typiska hemanvändaren är möjligheten att kontakta värdnamn över det lokala nätverket, vilket möjliggör för exempelvis 'ping garagedator' (i stället för exempelvis 'ping 192.168.0.10') att fungera utan vidare konfiguration på någon av värddatorerna.
Hmm skulle det betyda att jag måste koda en "netBios-applikation" som kontinuerligt snurrar i PIC'en eller skickar jag "bara" info till en netBios applikation som redan finns på "alla" windows-burkar? Mer att läsa....
Då datorn jag skriver detta på och den tidigare nämnda bubba-servern (som svarar på
http://bubba) är anslutna till samma switch i nätet kanske jag ska testa att koppla bort den switchen från routnern. Om bubba-servern då använder DNS och DNS-servern finns på min router borde den inte längre svara på
http://bubba utan bara på dess IP-adress. Om det iställer är netBios den använder borde det fortfarande fungera att nå den via namn.
Här är ett intressant kort baserat på en PIC18F6627, RTL8019 och en modifierad version av Microchips TCP/IP stack. Deras stack stödjer iofs, enligt deras datablad, DNS men dom använder tydligen netBios för "namnuppslag". Jag ska titta vidare på det och se om jag kan lista ut hur det fungerar med deras firmware. Som sagt, mer att läsa....
>Du kanske söker efter en lösning som är omöjlig.
Njae, omöjligt kan det knappast vara, (se kortet ovan t.ex) men det är klart det finns undantag där någon omständighet gör att det inte fungerar. Sen hurvida det är värt besväret är en annan sak men det vill jag inte ta ställning till riktigt ännu
>Saknar det lokala nätet stöd för DNS finns det ingen möjlighet att det skall fungera förutom att lägga in adressen lokalt i lmhosts
Nej det är klart, och i så fall är det naturligtvis kört. Om det nu inte är så att netBios visar sig vara en lämpligare lösning.
Det är ingen produkt jag har för avsikt att producera. Jag labbar och skriver kod för att det är kul och för att jag vill lära mig hur det fungerar.
>Läs mitt förra inlägg, där har du alternativen.
Tack Mada, ska titta på det igen.
Re: Få en "ethernet-enhet" att lyssna till namn och IP-adres
Postat: 6 juni 2011, 17:28:45
av TomasL
H.O skrev:ThomasL,
Ha, där fick jag lite att bita i

Men allvarligt, det finns ju redan något på mitt nätverk som har koll på namnet på min lilla
bubba-server (fast jag har v1). Den var som sagt bara att plugga i, starta upp och browsa till
http://bubba Jag har inte installerat eller konfigurerat nånting, inte angett några IP-adresser eller lösenord eller nått annat manuellt. Och jag har bytt router en gång men det var återigne bara att stoppa i sladden, inget editerande, ingen "handpåläggning". Och mig veterligen kör inte DEN någon DNS server - men där kan jag ha fel.
Jo din router kör en cashande "DNS-Server" eller vad man nu skall kalla det och DHCP server , troligen ipmasq, vilket rätt konfigurerat kan fungera som DHCP-server och DNS-server med inbyggd DDNS för mycket små lokala nätverk, därför kan du nå "bubba-servern" via dess värd-namn.
Om så är fallet, (försök ssha in dig i routern och kika vilka processer som är igång) borde det funka under förutsättning att du implementerar en riktig dhcp-klient i din PIC, kikade lite på din ethernetkontrollers hemsida, och det verkar som de har en app-note för dhcp.
Icecap,
Jag är inte säker på att söka efter ett datornamn via utforskaren är samma sak som att via web-läsaren browsa till en web-server via namn istället för IP-adress?
Nej det är inte samma sak, Windows använder smb mfl protokoll för att få reda på datorerna i nätet (neighbourhood discovery), dvs det du ser i utforskaren under "nätverk"
labmaster,
Rikitigt, W5100 innehåller TCP/IP stack med 4 sockets som var och stödjer kommuikation över TCP, UDP, ICMP, IPv4, ARP, IGMP, PPPoE (taget från databladet).
En sak till, det kan vara så att W5100 annonserar sitt namn och IP-adress till routern där det går en DNS-server genom att den broadcastar ut detta på en specifik port som jag inte minns numret på just nu. Då behöver du inte göra något mera än att skriva namnet i webläsaren på den dator du använder.
Det gör den inte men det är exakt
det jag vill åstadkomma. För närvarande svarar den på ping och jag kan browsa till den genom dess IP-nummer varpå den serverar mig den lilla web-sidan jag lagrat i PIC'en.
Detta sker genom DHCP-Discovery, där man kan sätta en option-flagga och inkludera värdnamnet, det är det enda sättet att få värdnamnet automatiskt uppdaterat vi DHCP och DDNS
sodjan,
Japp, bubba-servern får sin IP-adress via DHCP så SÅ kan det mycket väl vara.
DHCP är en nödvändighet för att få det automatiskt uppdaterat.
Re: Få en "ethernet-enhet" att lyssna till namn och IP-adres
Postat: 6 juni 2011, 17:36:07
av blueint
Använd DHCP/DDNS eller ZeroConf betydligt större chans att andra enheter stöder det eftersom dom kan slå upp namnet med ren DNS (port 53) förfrågan.
NetBIOS är väldigt microsoft specifikt.
Re: Få en "ethernet-enhet" att lyssna till namn och IP-adres
Postat: 6 juni 2011, 17:39:15
av TomasL
Beträffande netBios, så är det i nuläget helt ute och finns bara kvar så riktigt gamla applikationer kan fungera.
netbios används dessutom inte vid HTTP och liknande.
Zeroconf, är väl i sin linda med ett antal olika mer eller mindre okompatibla implementeringar.
Så, implementera en riktig DHCP-klient i din PIC.
SKll du använda det i andra nät, se till att det finns en DNS/DHCP server som kan hantera DDNS, som exempelvis BIND/DHCPd eller ipmasq.
Re: Få en "ethernet-enhet" att lyssna till namn och IP-adres
Postat: 6 juni 2011, 17:41:19
av labmaster
Min kommentar angående att du kanske söker en lösning som är omöjlig utgår från att du vill använda W5100 inget annat. Vad din bubba använder för att registrera sig på nätet måste väl vara oväsentligt med avseende på funktionaliteten i W5100. Men är du osäker på om din router innehåller DHCP och DNS så kan du kolla vad som står i nätverksinställningarna i din PC. Där framgår det om TCP/IP-stacken använder DHCP. Öppnar du ett kommandofönster så kan di skriva ipconfig /all så får du veta var IP-adressen är hämtad.
Men gör det inte krångligare än vad det är. Fokusera istället på enhetens huvuduppgift som den skall lösa, vad det nu är.
Re: Få en "ethernet-enhet" att lyssna till namn och IP-adres
Postat: 6 juni 2011, 17:49:20
av blueint
Testa hurvida DHCP-DDNS och ZeroConf är stödda. Dvs skriv två små program.
grottan, Att mäta är att veta (TM)
Apropå att mäta. Vad slags Op-amp skulle klara att förstärka en Ethernet signal 10/100base-T så att man kan linjelyssna utan att överlasta källan?
Re: Få en "ethernet-enhet" att lyssna till namn och IP-adres
Postat: 6 juni 2011, 18:39:20
av Icecap
blueint: en sådan grej kallas "en hub"