NetBIOS over een VPN: naam, datagram en sessie zijn aparte diensten
De slogan over routers is te breed. Controleer welke van de drie diensten uw toepassing gebruikt, en of die namen via broadcast of via een server oplost.
«NetBIOS gaat niet door routers» wordt herhaald alsof dat het ontwerp beslechtte. Dat doet het niet. Een naamzoekopdracht via broadcast blijft meestal binnen zijn eigen broadcast-domein, maar NetBIOS-diensten kunnen ook gericht IP-verkeer gebruiken dat prima routeert. De nuttige vraag is niet of NetBIOS door routers gaat; ze is welke van zijn drie diensten uw toepassing gebruikt.
Een software-interface, niet één draadprotocol
RFC 1001 beschrijft NetBIOS als een interface waartegen toepassingen programmeren, met verschillende transporten eronder. Het TCP/UDP-model scheidt de naamdienst, de datagramverdeling en de sessiedienst, en het ondersteunt uitdrukkelijk werking met of zonder IP-broadcast.
| 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 |
Die tabel is de reden dat de slogan faalt. Een sessiedienst tussen twee benoemde hosts is een IP-gesprek; een broadcast-datagram is dat niet. Eén VPN-ontwerp kan het eerste wel en het tweede niet vervullen, en een test die het eerste bewijst, zegt niets over het tweede.
Node-typen bepalen wat de client vraagt
De broadcast-, punt-tot-punt- en gemengde nodemodellen van RFC 1001 beschrijven hoe een host namen oplost: door het lokale netwerk te vragen, door rechtstreeks een naamserver te vragen, of door het ene en dan het andere te proberen. Het model beïnvloedt welk verkeer moet worden toegestaan, niet of de toepassing überhaupt werkt.
Een beheerde naamserveropstelling geeft clients een punt-tot-punt-pad, maar alleen aan clients die ervoor zijn geconfigureerd. Een server ergens op het netwerk plaatsen zorgt er niet voor dat een toepassing hem raadpleegt, en een client die in broadcast-modus blijft, blijft het lokale segment vragen en loopt in een time-out. Het adres van de server moet de configuratie van de client bereiken, via welk beheerpad die client dan ook respecteert.
Noteer dus drie waarnemingen voor de betrokken toepassing: hoe ze de servernaam in een adres omzet, of ontdekking of berichten broadcast of een gericht eindpunt gebruiken, en welk adres en transport de werkelijke sessie gebruikt. Dat zijn onafhankelijke feiten, en elk heeft zijn eigen oplossing. Eén geslaagde naamresolutie is alleen bewijs voor het eerste.
NetBIOS over TCP/IP is niet NetBEUI
De twee worden verward omdat beide verouderd worden genoemd. NetBIOS over TCP/IP draagt zijn diensten in IP-pakketten, die een gerouteerde tunnel al vervoert. NetBEUI is een niet-routeerbaar protocol van laag 2, en een IP-tunnel vervoert niet zomaar willekeurige Ethernet-frames omdat hij IP vervoert.
Een IP-route toevoegen kan een niet-IP-frame niet in een IP-toepassing veranderen. Als een toepassing werkelijk afhankelijk is van gedrag van laag 2, zijn de opties een uitdrukkelijk begrensde dienst van laag 2 of het vervangen van de toepassing; geen enkele routeringswijziging vervangt een van beide.
Kies de kleinste wijziging die de taak vervult
Een bestaande SMB-share die via een goedgekeurde DNS-naam en een expliciet UNC-pad wordt bereikt, heeft geen Ethernet-uitbreiding nodig. De bestandsdientaak en de browse-ervaring zijn verschillende vereisten, en alleen de tweede hangt van de naburige lijst af. De share bij naam bereiken lost de taak op zonder het broadcast-domein door een tunnel te trekken.
Het browsen is het deel dat meestal faalt, en het faalt stil. Een machine kan een share via een pad openen terwijl de lijst met nabije computers leeg blijft, omdat de lijst wordt gevuld door broadcast-ontdekking en het pad DNS gebruikt. Besluiten dat u de lijst nodig hebt, is een andere vereiste dan besluiten dat u het bestand nodig hebt. Schrijf op waar de gebruiker werkelijk om vroeg voordat u iets ontwerpt.
Wanneer een oude toepassing echt broadcast of niet-IP-frames vereist, beoordeel dan een begrensde dienst van laag 2 met een benoemde eigenaar, of vervang de toepassing. Een brug verbreedt het gedeelde foutdomein en de beleidsgrens, en dat is een architectuurbeslissing, geen selectievakje met het label NetBIOS. Documenteer de concrete bewerkingen die de tunnel moet dragen, en een beheerder kan het verzoek beoordelen in plaats van te gissen naar «het hele Windows-netwerk».