NetBIOS over en VPN: navn, datagram og økt er separate tjenester
Slagordet om rutere er for bredt. Sjekk hvilken av de tre tjenestene applikasjonen din bruker, og om den løser navn via kringkasting eller via en server.
«NetBIOS krysser ikke rutere» gjentas som om det avgjorde designet. Det gjør det ikke. Et navneoppslag via kringkasting holder seg vanligvis innenfor sitt eget kringkastingsdomene, men NetBIOS-tjenester kan også bruke rettet IP-trafikk som rutes helt fint. Det nyttige spørsmålet er ikke om NetBIOS krysser rutere; det er hvilken av de tre tjenestene applikasjonen din bruker.
Et programvaregrensesnitt, ikke én ledningsprotokoll
RFC 1001 beskriver NetBIOS som et grensesnitt som applikasjoner programmerer mot, med flere transportlag under. TCP/UDP-modellen skiller navnetjeneste, datagramfordeling og økttjeneste, og den støtter uttrykkelig drift med eller uten IP-kringkasting.
| Service | What it does | Transport dependence |
|---|---|---|
| Name | Registers and resolves names | Broadcast, point-to-point, or a name server |
| Datagram | Connectionless messages, including broadcast | Broadcast domain or directed delivery |
| Session | Connection-oriented exchange | TCP connection to a named endpoint |
Det er denne tabellen som gjør at slagordet feiler. En økttjeneste mellom to navngitte verter er en IP-samtale; et kringkastingsdatagram er det ikke. Ett VPN-design kan oppfylle det første og ikke det andre, og en test som beviser det første, sier ingenting om det andre.
Nodetyper avgjør hva klienten spør om
RFC 1001s kringkastings-, punkt-til-punkt- og blandede nodemodeller beskriver hvordan en vert løser navn: ved å spørre det lokale nettet, ved å spørre en navneserver direkte, eller ved å prøve det ene og så det andre. Modellen påvirker hvilken trafikk som må tillates, ikke om applikasjonen virker i det hele tatt.
En administrert navneserverordning gir klientene en punkt-til-punkt-vei, men bare til klienter som er konfigurert til å bruke den. Å plassere en server et sted på nettet får ikke en applikasjon til å spørre den, og en klient som blir stående i kringkastingsmodus, vil fortsette å spørre det lokale segmentet og gå til tidsavbrudd. Serverens adresse må nå klientens konfigurasjon, gjennom den administrasjonsveien klienten respekterer.
Noter derfor tre observasjoner for den aktuelle applikasjonen: hvordan den gjør servernavnet om til en adresse, om oppdagelse eller meldinger bruker kringkasting eller et rettet endepunkt, og hvilken adresse og transport den faktiske økten bruker. Dette er uavhengige fakta, og hver har sin egen løsning. Én vellykket navneoppløsning er bare bevis for det første.
NetBIOS over TCP/IP er ikke NetBEUI
De to forveksles fordi begge kalles gamle. NetBIOS over TCP/IP bærer tjenestene sine inne i IP-pakker, som en rutet tunnel allerede transporterer. NetBEUI er en ikke-rutbar protokoll på lag 2, og en IP-tunnel bærer ikke vilkårlige Ethernet-rammer bare fordi den bærer IP.
Å legge til en IP-rute kan ikke gjøre en ikke-IP-ramme om til en IP-applikasjon. Hvis en applikasjon virkelig er avhengig av atferd på lag 2, er valgene en uttrykkelig avgrenset tjeneste på lag 2 eller å erstatte applikasjonen; ingen ruteendring erstatter noen av dem.
Velg den minste endringen som oppfyller oppgaven
En eksisterende SMB-deling som nås via et godkjent DNS-navn og en eksplisitt UNC-bane, trenger ingen Ethernet-utvidelse. Filoppgaven og nettleseropplevelsen er forskjellige krav, og bare det andre avhenger av nabolisten. Å nå delingen ved navn løser oppgaven uten å strekke kringkastingsdomenet gjennom en tunnel.
Det er nettlesingen som vanligvis feiler, og den feiler stille. En maskin kan åpne en deling via bane mens listen over nærliggende datamaskiner blir stående tom, fordi listen fylles av kringkastingsoppdagelse og banen bruker DNS. Å bestemme at du trenger listen, er et annet krav enn å bestemme at du trenger filen. Skriv ned hvilket av dem brukeren faktisk ba om, før du designer noe.
Når en gammel applikasjon virkelig krever kringkasting eller ikke-IP-rammer, vurder en avgrenset tjeneste på lag 2 med en navngitt eier, eller erstatt applikasjonen. En bro utvider det felles feildomenet og policygrensen, og det er en arkitekturbeslutning, ikke en avkrysningsboks merket NetBIOS. Dokumenter de konkrete operasjonene tunnelen må bære, så kan en administrator vurdere forespørselen i stedet for å gjette på «hele Windows-nettverket».