Netwerken met MS LAN Manager

> OS/2 net index <

Microsoft LAN Manager

Microsoft LAN Manager Client for OS/2 op VPC

Microsoft LAN Manager

> Top <

Uit de tijd dat Microsoft vooral DOS op IBM compatibele computers verkocht stamt Microsofts OS/2 LAN manager. Het is op IBM's NetBIOS Enhanced User Interface (NetBEUI, 1985) gebaseerde software waarmee DOS en OS/2 clients zich met OS/2 LAN servers konden verbinden.

In de jaren 80 domineerde Novell's NetWare de PC LAN markt. Het voor het SMB protocol kenmerkende peer-to-peer (evenknie) ethernetwerk was nog niet in zwang. Het client-server systeem overheerste. Logisch, want de PC's konden nog niet zoveel. Om die reden werden meerdere "werkstations" met centrale Novell, Banyan Vines of UNIX LAN servers verbonden. Om het Local Area Network (LAN) verder uit te breiden konden ze met bridges (hardware bruggen) en/of gateway software worden uitgerust (middleware= protocol vertalende software). Hierdoor ontstonden Wide Area Networks (WANs)

Het NetBIOS.

Het Network Basic Input Output System is net als Novells IPX een programmeerinterface (API). Het is een hogere programmeertaal voor LAN adapters (LANA) die door software aangesproken kan worden. De NetBIOS interface had als doel om de LAN software van de heterogene LAN hardware (Token Ring, Ethernet en ARCNET) te scheiden (Net Bios Programmer's Reference). Tegenwoordig doen de netwerkinterfaces van het besturingssysteem dit.

Het eerste NetBIOS werd in 1984 door Sytek Inc. ontwikkeld als een op de ethernetkaart aanwezige uitbreiding van het PC BIOS (INT 5C - NetBIOS INTERFACE) voor het IBM PC netwerk. Dit eerste PC netwerk was een Local Area Network (LAN) dat via gateways met andere netwerken kon worden verbonden. Omdat een ROM BIOS relatief traag is werden latere versies in de sessie- en transportlaag van de netwerksoftware geïmplementeerd (NetBIOS Specification). Zowel de vanuit de applicatielaag aanwezige programma's die via interrupt 5c het NetBIOS ROM direct aanspreken als de op de sessielaag opererende NetBIOS stuurbestanden maken gebruik van het Network Control Block (NCB) protocol om hun doelen (groepen en hosts) te bereiken.

Met dit NetBIOS kan ook een gewone PC als SMB server dienen. Maar Microsofts PC besturingssysteem DOS was door al zijn beperkingen geen geschikte kandidaat om wat op het netwerk te doen. De later ontworpen PC besturingssystemen OS/2, Windows NT en Linux (SaMBa) waren dat wel.

De NetBIOS programmeerinterface gaf niet aan in welk formaat (frames) de netwerkaart de gegevens moest verzenden. De verschillende NetBIOS software implementaties (ieder regelde het op zijn eigen manier) waren onderling dan ook niet bijster snel. Dit werd pas met een uitbreiding van het NEtBIOS, IBM's NetBIOS Enhanced User Interface (NetBEUI) geregeld. OS/2 Warps "NetBIOS" maakt hier gebruik van. Wat Microsoft NetBEUI en TCPBEUI noemt zijn overigens geen echte uitbreidingen van het NetBIOS, maar verzamelingen Server Message Block protocol implementaties die onder iedere Windows versie op een andere manier werken (Slashdot | Jeremy Allison Answers Samba Questions). Microsoft verbetert standaarden altijd op zijn eigen manier.

Net als het Internet Protocol (IP) biedt de NetBIOS programmeerinterface twee manieren van communicatie. Sessie en datagram.

  1. De sessie modus regelt de host-to-host conversatie tussen twee computers. Hierbij wordt een een-op-een verbinding gemaakt waarbij door NetBIOS' foutdetectie en -correctie ook grote berichten probleemloos kunnen worden verzonden. Dit levert dus net als TCP/IP een correct werkende datatransmissie op, maar omdat de foutcontrole grotendeels door de hardware geregeld wordt, gaat de overdracht van gegevens binnen een werkgroep aanzienlijk sneller.

  2. De datagram modus is daarentegen verbindingsloos. Ieder bericht wordt gewoon verzonden. Of het op de bestemming aankomt wordt niet door het NetBIOS gecontroleerd. Deze met IP's UDP protocol te vergelijken "broadcast" berichten worden vooral ingezet om computers op het LAN aan te melden. De server en ontvangende software regelen de overdracht.

Bij het routerbare TCPBEUI verloopt de sessie modus van NetBIOS via het op fouten controlerende TCP/IP en de "hallo, hier ben ik" datagram modus via UDP. IP zorgt voor de routing.

Omdat NETBIOS namen van de IP hostnamen afwijken kunnen, beschikken OS/2 en Windows over twee hostbestanden:

Voor de NetBIOS namen maakt OS/2 gebruik van de via MPTS in te stellen \IBMCOM\RFCNAMES.LST. U kunt hier bij een NetBIOS naam een IP adres opgeven of een via de DNS oplosbare hostnaam.

Onder Microsoft Windows is dit het bestand Windows\LMhost of het later diep in het Windows NT systeem verborgen LAN Manager hosts bestand WINNT\SYSTEM32\DRIVERS\ETC\LMHOSTS.

Het voor IP bestemde hostbestand zit in \MPTN\ETC\HOSTS, maar een DNS zal natuurlijk ook voldoen.

OS/2 beschikt tevens over een aparte verzendlijst voor broadcast berichten: IBMCOM\RFCBCST.LST. Het gaat om een lijst van IP adressen of NetBIOS namen van computers aan wie de verbindingsloze netwerkberichten worden verstuurd. Hiermee kan het netwerkverkeer worden beperkt en wordt voorkomen dat OS/2 TCPBEUI servers zich spontaan op het internet bekend maken.

Om met Novell te kunnen concurreren bracht Microsoft in 1985 op het UNIX besturingssysteem XENIX (1980) een SMB server uit onder de naam MS-NET. Maar omdat Microsoft geen ruzie met het machtige IBM wilde hebben, werd dit high-end netwerkbesturingssysteem later aan aan 3Com doorverkocht die het in 1987 uitbracht als de 3 + Open-LAN-Manager.

Vanaf 1985 werkten IBM en Microsoft aan de opvolger van DOS, het protected mode PC besturingssysteem OS/2. OS/2 moest de universele netwerk client worden. In april 1987 kwam de eerste versie van dit Operating System/2 uit. Datzelfde jaar introduceerde Microsoft de in samenwerking met 3COM ontworpen OS/2 Lan Manager versie 1.0, een op OS/2 gebaseerd netwerkbesturingssysteem dat de concurrentie met Novell's NetWare aan moest gaan.

De netwerksoftware van Microsoft LAN Manager 1 was een verbeterde versie van IBM's primitieve NetBIOS besturingssysteem PCNet. LAN Manager moest real DOS, OS/2 en ook protected mode Windows 2.0 via het niet routerbare NetBIOS Enhanced User Interface (NetBEUI) bedienen. De verbindingen met computers buiten het ethernet domein (in MS termen werkgroep) zouden in IBM's visie door IBM's gateways worden verzorgd.

De MS LAN Manager 1.0 client software gebruikte veel geheugen. Zoveel dat er nauwelijks geheugen voor DOS programma's overbleef. Microsoft en IBM gingen er echter van uit dat hier door de opkomst van OS/2 spoedig een einde aan zou komen (2). Maar door de vele vertragingen die de ontwikkeling van OS/2 opliep, bleef Novell's Netware netwerkbesturingssysteem aan de top.

NetBIOS Frames Protocol, NBF

Microsoft LAN Manager Client for OS/2 op VPC

> Top <



Ik draaide al jaren geen Warp 3 meer, maar onder Virtual PC kon ik het niet laten. De installatie onder leverde geen probleem (Zie OS/2 Warp 3 onder Virtual PC). Al eerste zette ik er het laatste Nederlandse Fixpack 38 op. Hiermee is Warp 3 een stabiel OS. Maar ik miste het netwerk.

Dat was voor mij een reden om Jacco's OS/2 page op te zoeken. Met name de stukken over FreeTCP: FreeTCP: allows use of an Ethernet card with Warp non-Connect en Using the free LAN Manager Client for OS/2. Oftewel : hoe u kunt (ether)netwerken met Warp 3. Warp 3 beschikt namelijk wel over een optioneel te installeren TCP/IP stack (Bonuspack) waarmee u met een modem het internet op kunt, maar niet over ondersteuning van netwerkkaarten. Daar was OS/2 Warp 3 Connect voor bedoeld.

Veel informatie over het gebruik van MS LAN Manager onder OS/2 vindt u op Using the free LAN Manager Client for OS/2 van Jacco de Leeuw.

Het gebruik van de MS LAN Manager client voor OS/2 heeft alleen zin als u zich met een Warp 3 (niet Connect) systeem via een netwerkaart met de buitenwereld wilt verbinden. Beschikt u al over een OS/2 netwerk, dan hebt u de sterk verouderde (1993, 1994) OS/2 drivers van deze Microsoft LAN Manager client niet nodig. Ze bieden slechts client ondersteuning voor NetBEUI en TCPBEUI zodat u zich met OS/2, Windows en Samba servers kunt verbinden. Maar de bij deze drivers geleverde TCP/IP stack is niet met de overige OS/2 programma's te gebruiken. Ook kunt u er geen bestanden mee delen (wel zo veilig trouwens trouwens).

Maar voor een OS/2 versie 2.1 of een Warp 3 client op Virtual PC is het een prima oplossing om de mappen van de gast te delen.

Ik gebruikte een Nederlandse Warp 3 client met Fixpack 38. Door de Warp 3 Virtuele PC de schijf van een ander besturingssysteem te laten delen kon ik de bestanden gemakkelijke over brengen.

Installatie

De OS/2 client for LAN Manager bestanden zijn op ftp://ftp.microsoft.com/BusSys/Clients/LANMAN.OS2/ te vinden. Het gaat om vier zelfuitpakkende pkzip bestanden die u met de -d(irectory) optie moet uitpakken. Dus DSK3-1.EXE -d etc. U kunt de vier pakketten naar dezelfde map kopieren of ze op diskettes zetten.

Het programma wordt met een setup.exe gedraaid. Het is een VIO OS/2 programma, dat vreemd genoeg alleen maar in het volledige scherm draait. Helaas ondersteunt de setup bij de installatie alleen maar de door Microsoft geleverde drivers. En geen daarvan voldeed onder VPC. Ik kreeg aldoor trap errors.

Om dat te voorkomen moet u niet zomaar setup draaien. Jacco de Leeuw heeft het op Using the free LAN Manager Client for OS/2 op een rijtje gezet.

  1. Zorg voor een reddingssysteem.

  2. Pas de LIBPATH, DPATH en PATH in de CONFIG.SYS aan.

  3. Pas OS2VER aan.

  4. Reboot

  5. Draai setup met een willekeurige netwerkkaart.

  6. Plaat de netwerkaartdriver (en NIF bestanden) in LANMAN\DRIVERS

  7. Draai \LANMAN\SETUP.EXE, verwijder de oude netwerkaart en installeer de Intel 2104x/2114x 10/100 mbps Ethernet Controller.

  8. Reboot.

Het verborgen \OS2VER versiebestand moet de volgende ingangen bevatten. De eerste drie zijn er door mij aan toegevoegd.

20=setup.exe
20=netwksta.sys
20=netvdd.sys
20=netbios.os2
20=nwifs.ifs
20=netwksta.200
20=nwreq.sys
20=netbios.sys
20=ipx.sys

Hiermee vertelt OS/2 Warp 3 LANMAN dat het door IBM en Microsoft uitgebrachte OS/2 versie 2.0 is. Zonder die instelling wil het stuurbestand \LANMAN\NETPROG\NETWKSTA.SYS niet laden:

MS OS/2 LAN Manager Protocol Manager v2.0  
          
Intel 2104x/2114x 10/100 mbps Ethernet Controller  v3.00
Copyright (c) 1998 Intel Corporation. All rights reserved.        
Working with Intel 21140 based 10/100 mpbs Ethernet Controller    
PCI SLOT: 01     IRQ: 0B         
Selected media: Autosense        
Microsoft OS/2 TCP/IP Driver  1.0
Copyright (c) Microsoft Corporation, 1991.  All rights reserved.  
Copyright (c) Hewlett-Packard Corporation, 1985-1991.  All rights reserved.    
Copyright (c) 3Com Corporation, 1985-1991.  All rights reserved.  
   TCPNB 1.0  successfully loaded.         
   NMDRV 1.0 loaded successfully.
   SOCKETS 2.3  successfully loaded.       
Copyright (c) Microsoft Corporation, 1991.  All rights reserved.  
Copyright (c) Hewlett-Packard Corporation, 1985-1991.  All rights reserved.    
Copyright (c) 3Com Corporation, 1985-1991.  All rights reserved.  
Microsoft OS/2 NetBEUI 2.1       
SYS1719: Het bestand E:\LANMAN\NETPROG\NETWKSTA.SYS, opgegeven in de opdracht  
IFS       
op regel 89 van CONFIG.SYS, bevat geen geldig stuurprogramma      
voor een apparaat of een bestandssysteem. Regel 89 wordt genegeerd.            
          
Druk op Enter om door te gaan... 

En na de Enter kwam er een klassieke trap fout.

Een programma in deze sessie is afgebroken als gevolg   
van een fout.       
          
c0000005  
P1=00000000  P2=ffffffff  P3=XXXXXXXX  P4=XXXXXXXX  
EAX=00000001  EBX=00005338  ECX=00000000  EDX=00000000
ESI=0000001d  EDI=ff3b0000
DS=12d8  DSACC=00f3  DSLIM=00000323
ES=0130  ESACC=00f3  ESLIM=00005337
FS=0000  FSACC=****  FSLIM=********
GS=0000  GSACC=****  GSLIM=********
CS:EIP=12d3:00000372  CSACC=009f  CSLIM=00000437
SS:ESP=0017:00000f70  SSACC=00f3  SSLIM=00000fff
EBP=00000f76  FLG=00213203

Onder OS/2 2.1 bleef VPC met deze foutmelding hangen

Microsoft OS/2 NetBEUI 2.1
Installing NETWKSTA.SYS Version 2.2.14  (May 11, 1994)

Om die reden is het handig om een kopie van uw Warp 3 installatie te maken en die als 2e harddisk de oorspronkelijke de eerste heeft. U kunt het natuurlijk ook wederzijds doen. Pas echter op met het in een keer toepassen van fixpacks op beide Warp partities...

Vervelend aan de MS LAN Manager setup.exe is dat u nieuwe netwerkkaarten niet in een keer kunt installeren. U kunt de drivers en de nif bestanden aan de setup (met meerdere netwerkaarten) toevoegen, maar ze komen niet in beeld. En alleen de driver die u tijdens het setup programma installeerde wordt naar de C:\LANMAN map gekopieerd. Als u de submap Nd2_300.zip\MSLANMAN.OS2\DRIVERS daarna naar C:\LANMAN\DRIVERS kopieert worden ze wel herkend.

De voor Virtual PC benodigde NDIS2 MAC drivers for DOS, OS/2, WfW 3.1, WfW3.11 staan in ftp://download.intel.com/design/network/drivers/Nd2_300.zip. U kunt de drivers uit MSLANMAN.OS na de installatie naar de betreffende paden in [bootdrive]:\LANMAN map kopieren. Tijdens de installatie zoekt u naar de Intel 2104x/2114x 10/100 mbps Ethernet Controller.

OS2VER

20=setup.exe
20=netwksta.sys
20=netvdd.sys
20=netbios.os2
20=nwifs.ifs
20=netwksta.200
20=nwreq.sys
20=netbios.sys
20=ipx.sys

CONFIG.SYS

Plaats voordat u setup draait \LANMAN\NETLIB in het PATH, LIBPATH en DPATH en reboot. Zonder deze instellingen zal setup.exe niet lopen.

LIBPATH=E:\LANMAN\NETLIB;.;E:\OS2\DLL;E:\OS2\MDOS;E:\;E:\OS2\APPS\DLL;E:\MMOS2\DLL;
SET PATH=E:\LANMAN\NETPROG;E:\OS2;E:\OS2\SYSTEM;E:\OS2\INSTALL;E:\;E:\OS2\MDOS;E:\OS2\APPS;E:\MMOS2;
SET DPATH=E:\LANMAN\NETPROG;E:\OS2;E:\OS2\SYSTEM;E:\OS2\INSTALL;E:\;E:\OS2\BITMAP;E:\OS2\MDOS;E:\OS2\APPS;E:\MMOS2;E:\MMOS2\INSTALL

Deze ingangen gelden voor de door VPC benodigde Intel 2104x/2114x 10/100 mbps Ethernet Controller. Vergeet het DC21X4.OS2 stuurbestand niet naar de juiste plaats te kopieren!

REM ==== LANMAN 2.2a == DO NOT MODIFY BETWEEN THESE LINES == LANMAN 2.2a ====
DEVICE=E:\LANMAN\DRIVERS\PROTMAN\PROTMAN.OS2 /i:E:\LANMAN
DEVICE=E:\LANMAN\DRIVERS\ETHERNET\DC21X4\DC21X4.OS2
RUN=E:\LANMAN\DRIVERS\PROTOCOL\tcpip\starttcp.exe
RUN=E:\LANMAN\DRIVERS\PROTOCOL\tcpip\startnb.exe
DEVICE=E:\LANMAN\DRIVERS\PROTOCOL\tcpip\tcpdrv.os2
DEVICE=E:\LANMAN\DRIVERS\PROTOCOL\tcpip\nbdrv.os2
DEVICE=E:\LANMAN\DRIVERS\PROTOCOL\tcpip\nmdrv.os2
DEVICE=E:\LANMAN\arpa\sockdrv.os2
DEVICE=E:\LANMAN\DRIVERS\PROTOCOL\NETBEUI\NETBEUI.OS2
DEVICE=E:\LANMAN\NETPROG\RDRHELP.SYS
IFS=E:\LANMAN\NETPROG\NETWKSTA.SYS /i:E:\LANMAN
DEVICE=E:\LANMAN\NETPROG\NETVDD.SYS
REM ==== LANMAN 2.2a == DO NOT MODIFY BETWEEN THESE LINES == LANMAN 2.2a ====

STARTUP.CMD

NET START WORKSTATION 
NET LOGON  *
net use i: \\ecs\bin
net use j: \\ecs\data
net use s: \\zolder\samba
net use t: \\zolder\homes
exit

LANMAN\PROTOCOL.INI

[PROTMAN]
  DRIVERNAME = PROTMAN$

[TCPIP_XIF]

  DRIVERNAME      = TCPIP$
  IPADDRESS0 = 192 168 1 3
  SUBNETMASK0 = 255 255 255 0
  DEFAULTGATEWAY0 = 192 168 1 1
    ; the following two parameters added after documentation was completed
  TCPSEGMENTSIZE  = 1450
  TCPWINDOWSIZE   = 4350
  NBSESSIONS = 40
  NUMNCBS         = 85
  BINDINGS = "DC21X4_NIF"

[NETBEUI_XIF]
  Drivername = netbeui$
  SESSIONS = 40
  NCBS = 85
  BINDINGS = "DC21X4_NIF"

[DC21X4_NIF]
 DriverName = DC21X4$

;; Range: 16-26.
;; Usage: "Slot=nn"
;------------------
; Slot = 16

;; Options: AutoSense, _10Base2_(BNC), _10Base5_(AUI),
;;          _10BaseT, _10BaseT_FD, _10BaseT_No_Link_Test,
;;          _100BaseTx, _100BaseTx_FD, _100BaseT4
;; Usage: "ConnectionType=xxx"
;-----------------------------
  ConnectionType = AutoSense

LANMAN\LANMAN.INI

;*****************************************************************;
;**            Microsoft LAN Manager                            **;
;**        Copyright(c) Microsoft Corp., 1993                   **;
;*****************************************************************; 

;  LAN Manager initialization file, for workstation configuration.

[networks]
; This info is read by redir at device init time.  It is available to
; apps via NetBiosEnum.
  net1 = tcpnb$,0
  net2 = netbeui$,0


[workstation]
  computername = warp3lan
  domain = thuis
  othdomains = 

  wrkservices = messenger,netpopup
  wrknets = net1,net2

[messenger]

[netshell]
  refresh = 15
  remote =
  username = 

[version]
  lan_manager = 2.2c.0

[tcpip_node]
  Hub = 
  HubIPAddr = 
  Domains = 
  DoUAS = yes
  DoView = yes
  DoLogon = yes
  DoWho = no
  DoSend = no
  DoRepl = yes
  DoUser1 = no
  DoUser2 = no
  DoUser3 = no
  UserMailSlot1 = 
  UserMailSlot2 = 
  UserMailSlot3 = 

[services]
; Correlates name of service to pathname of service program.
; The pathname must be either
;       1) an absolute path (including the drive specification)
;                       OR
;       2) a path relative to the LanMan root

  workstation = services\wksta.exe
  tcpip_node = services\node.exe
  messenger = services\msrvinit.exe
  netpopup = services\netpopup.exe



Historische Entwicklung von Windows NT und Windows 2000

Jennifer Edstrom en Marlin Eller: De barbaren van Bill Gates. Achter de schermen van Microsoft (Ooievaar, 1999)

Network glossary: Citaat: "Microsoft Networking - Microsoft - Peer-to-Peer - NetBEUI (now also TCP/IP) - This is an "enhanced" version of IBM's old PCNet (you didn't really think Microsoft came up with something original, did you?). It runs on various varieties of Windows (WFW, Win95/98, Windows NT, Windows 2000, and DOS (in client mode ony)). Microsoft's attempts to make it incompatible with OS/2 networking have been largely unsuccessful." Andrew Grygus is geen MS fan (zie ook zijn: History).

ComputerWoche Heft Archiv : Het doorzoekbare Computer Woche archief (1974 - heden) is online te raadplegen en bevat een schat aan historische informatie.

Connecting to Microsoft Networks slide show

Where did NT Come From, Daddy?

What is Windows NT??

David P. Both A Short History of OS/2.

NetBIOS Overview

Microsoft Knowledge Base

>Top<