«NetBIOS ei ylitä reitittimiä» toistuu ikään kuin se olisi ratkaissut suunnittelun. Ei ole. Lähetyspohjainen nimihaku pysyy yleensä omassa lähetysverkkotunnuksessaan, mutta NetBIOS-palvelut voivat käyttää myös osoitettua IP-liikennettä, joka reitittyy aivan hyvin. Hyödyllinen kysymys ei ole, ylittääkö NetBIOS reitittimiä; vaan se, mitä sen kolmesta palvelusta sovelluksesi käyttää.

Ohjelmistorajapinta, ei yksi johtoprotokolla

RFC 1001 kuvaa NetBIOSin rajapinnaksi, jota vasten sovellukset ohjelmoidaan, ja sen alla on useita kuljetuksia. Sen TCP/UDP-malli erottaa nimipalvelun, datagrammien jakelun ja istuntopalvelun, ja se tukee nimenomaisesti toimintaa IP-lähetyksen kanssa tai ilman.

ServiceWhat it doesTransport dependence
NameRegisters and resolves namesBroadcast, point-to-point, or a name server
DatagramConnectionless messages, including broadcastBroadcast domain or directed delivery
SessionConnection-oriented exchangeTCP connection to a named endpoint

Juuri tämä taulukko osoittaa, miksi iskulause epäonnistuu. Istuntopalvelu kahden nimetyn isännän välillä on IP-keskustelu; lähetysdatagrammi ei ole. Yksi VPN-suunnittelu voi täyttää ensimmäisen eikä toista, ja testi, joka todistaa ensimmäisen, ei kerro toisesta mitään.

Solmutyypit päättävät, mitä asiakas pyytää

RFC 1001:n lähetys-, piste-piste- ja sekasolmumallit kuvaavat, miten isäntä ratkaisee nimet: kysymällä paikallisverkolta, kysymällä suoraan nimipalvelimelta tai kokeilemalla ensin toista ja sitten toista. Malli vaikuttaa siihen, mikä liikenne on sallittava, ei siihen, toimiiko sovellus ylipäätään.

Hallittu nimipalvelinjärjestely antaa asiakkaille piste-pisteyhteyden, mutta vain asiakkaille, jotka on määritetty käyttämään sitä. Palvelimen sijoittaminen jonnekin verkkoon ei saa sovellusta kysymään siltä, ja lähetystilaan jätetty asiakas jatkaa paikallisen segmentin kysymistä ja päätyy aikakatkaisuun. Palvelimen osoitteen on päästävä asiakkaan määritykseen sitä hallintapolkua pitkin, jota kyseinen asiakas kunnioittaa.

Kirjaa siis kolme havaintoa kyseisestä sovelluksesta: miten se muuntaa palvelimen nimen osoitteeksi, käyttääkö löytäminen tai viestintä lähetystä vai osoitettua päätepistettä, ja mitä osoitetta ja kuljetusta varsinainen istunto käyttää. Nämä ovat toisistaan riippumattomia tosiasioita, ja kullakin on oma korjauksensa. Yksi onnistunut nimiratkaisu on todiste vain ensimmäisestä.

NetBIOS TCP/IP:n yli ei ole NetBEUI

Kaksi sekoitetaan, koska molempia kutsutaan vanhoiksi. NetBIOS TCP/IP:n yli kuljettaa palvelunsa IP-paketeissa, joita reititetty tunneli jo välittää. NetBEUI on ei-reititettävä kerroksen 2 protokolla, eikä IP-tunneli välitä mielivaltaisia Ethernet-kehyksiä vain siksi, että se välittää IP:tä.

IP-reitin lisääminen ei voi muuttaa ei-IP-kehystä IP-sovellukseksi. Jos sovellus todella riippuu kerroksen 2 käyttäytymisestä, vaihtoehdot ovat nimenomaisesti rajattu kerroksen 2 palvelu tai sovelluksen korvaaminen; mikään reititysmuutos ei korvaa kumpaakaan.

Valitse pienin muutos, joka täyttää tehtävän

Nykyinen SMB-jako, johon päästään hyväksytyllä DNS-nimellä ja nimenomaisella UNC-polulla, ei tarvitse Ethernet-laajennusta. Tiedostopalvelun tehtävä ja selailukokemus ovat eri vaatimuksia, ja vain jälkimmäinen riippuu naapuriluettelosta. Jakoon pääseminen nimellä ratkaisee tehtävän venyttämättä lähetysverkkotunnusta tunnelin yli.

Selailu on se osa, joka yleensä epäonnistuu, ja se epäonnistuu hiljaa. Kone voi avata jaon polulla, kun lähellä olevien tietokoneiden luettelo pysyy tyhjänä, koska luettelo täytetään lähetyspohjaisella löytämisellä ja polku käyttää DNS:ää. Päätös, että tarvitset luettelon, on eri vaatimus kuin päätös, että tarvitset tiedoston. Kirjoita ylös, kumpaa käyttäjä todella pyysi, ennen kuin suunnittelet mitään.

Kun vanha sovellus todella vaatii lähetystä tai ei-IP-kehyksiä, arvioi rajattu kerroksen 2 palvelu, jolla on nimetty omistaja, tai korvaa sovellus. Silta laajentaa yhteistä vikavyöhykettä ja käytäntörajaa, ja se on arkkitehtuuripäätös, ei NetBIOS-nimetty valintaruutu. Dokumentoi ne konkreettiset toiminnot, jotka tunnelin on välitettävä, niin ylläpitäjä voi arvioida pyynnön sen sijaan, että arvailisi «koko Windows-verkkoa».

Aiheeseen liittyvät artikkelit