Få en "ethernet-enhet" att lyssna till namn och IP-adress.

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
ToPNoTCH
Inlägg: 5144
Blev medlem: 21 december 2009, 17:59:48

Re: Få en "ethernet-enhet" att lyssna till namn och IP-adres

Inlägg 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 :drool:
sodjan
EF Sponsor
Inlägg: 43249
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Få en "ethernet-enhet" att lyssna till namn och IP-adres

Inlägg 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.
sodjan
EF Sponsor
Inlägg: 43249
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Få en "ethernet-enhet" att lyssna till namn och IP-adres

Inlägg 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... :-)
labmaster
Inlägg: 2919
Blev medlem: 5 april 2011, 01:10:25

Re: Få en "ethernet-enhet" att lyssna till namn och IP-adres

Inlägg av labmaster »

men nu förstår jag.
Får kanske lägga till kanske :D

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.
H.O
Inlägg: 5914
Blev medlem: 19 mars 2007, 10:11:27
Ort: Ronneby

Re: Få en "ethernet-enhet" att lyssna till namn och IP-adres

Inlägg 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.
sodjan
EF Sponsor
Inlägg: 43249
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Få en "ethernet-enhet" att lyssna till namn och IP-adres

Inlägg 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"... :-) :-)
labmaster
Inlägg: 2919
Blev medlem: 5 april 2011, 01:10:25

Re: Få en "ethernet-enhet" att lyssna till namn och IP-adres

Inlägg av labmaster »

Det är tufft i simskolan speciellt när solen inte lyser och det är frånlandvind. Iskallt i vattnet med andra ord 8). 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.
Användarvisningsbild
maDa
Inlägg: 4080
Blev medlem: 11 november 2005, 22:13:16
Ort: Malmö
Kontakt:

Re: Få en "ethernet-enhet" att lyssna till namn och IP-adres

Inlägg 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.
H.O
Inlägg: 5914
Blev medlem: 19 mars 2007, 10:11:27
Ort: Ronneby

Re: Få en "ethernet-enhet" att lyssna till namn och IP-adres

Inlägg 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.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46949
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Få en "ethernet-enhet" att lyssna till namn och IP-adres

Inlägg 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.
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: Få en "ethernet-enhet" att lyssna till namn och IP-adres

Inlägg 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.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46949
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Få en "ethernet-enhet" att lyssna till namn och IP-adres

Inlägg 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.
labmaster
Inlägg: 2919
Blev medlem: 5 april 2011, 01:10:25

Re: Få en "ethernet-enhet" att lyssna till namn och IP-adres

Inlägg 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.
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: Få en "ethernet-enhet" att lyssna till namn och IP-adres

Inlägg av blueint »

Testa hurvida DHCP-DDNS och ZeroConf är stödda. Dvs skriv två små program.

grottan, Att mäta är att veta (TM) :D


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?
Användarvisningsbild
Icecap
Inlägg: 26636
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Få en "ethernet-enhet" att lyssna till namn och IP-adres

Inlägg av Icecap »

blueint: en sådan grej kallas "en hub"
Skriv svar