[HN Gopher] The vagaries of 1990s 32-bit Windows networking
___________________________________________________________________
The vagaries of 1990s 32-bit Windows networking
Author : lproven
Score : 53 points
Date : 2021-12-12 12:07 UTC (1 days ago)
(HTM) web link (liam-on-linux.livejournal.com)
(TXT) w3m dump (liam-on-linux.livejournal.com)
| tzs wrote:
| One I remember was a thing we hit with Netscape Navigator. One of
| our products was a web proxy that ran on localhost. You set your
| web browser to go through the proxy, and the proxy would cache
| and prefetch to try to make your browsing experience nicer.
|
| We found that with Navigator network performance through the
| proxy was completely terrible--unless you were waving the mouse
| around. If you were waving the mouse around then it was fine.
|
| I don't remember all the details, but I think it turned out that
| this only was the case when Navigator was going through a proxy
| on 127.0.0.1. If we changed it to use the host's external IP
| address then it worked fine regardless of what you were doing
| with the mouse.
|
| Internet Explorer did not have this issue. We had another thing
| we were working on that involved an email proxy, and no email
| clients we tried had any oddities with 127.0.0.1 proxies.
|
| Later, we switched away from explicitly configuring browsers to
| use the proxy. Instead we switched to an LSP [1]. 127.0.0.1 then
| worked fine on Navigator, so whatever the issue was it only
| happened when Navigator knew it was talking to 127.0.0.1.
|
| [1] https://en.wikipedia.org/wiki/Layered_Service_Provider
| verelo wrote:
| I don't have a source for this but i recall the story being
| that the mouse was a source of random data used by various
| cryptography libraries. If the recorded randomness was
| exhausted some functions were delayed until more was provided
| eg the mouse was moved.
|
| Can anyone confirm / debunk this?
| pjc50 wrote:
| Under some circumstances, this can be true on Linux:
| https://pthree.org/2014/07/21/the-linux-random-number-
| genera... (see "input pool")
| jcims wrote:
| Over the past ~30 years of internetting, I've developed a
| reflexive habit of wagging the mouse over the screen of
| anything that has stalled progress, particularly in web
| browsers. It clearly has some kind of impact at times and is
| always with a shot. I'm guessing it pings the application in
| some kind of ui event loop.
| pjc50 wrote:
| It absolutely does - the app gets a bunch of Windows
| messages, and the Windows scheduler boosts the priority of
| whatever the foreground interactive process is.
| https://docs.microsoft.com/en-
| us/windows/win32/procthread/pr...
|
| "Fair" scheduling in these situations is a nightmare that I
| think I've only seen BeOS and the research OS Nemesis handle
| correctly.
| sumtechguy wrote:
| Your guess seems better than mine. I was thinking they
| wrote the code wrong and somehow attached itself to the
| message pump in the processing path. Hmm, that could still
| be it and they were using a timer to tickle it here and
| there. But that is all speculation. But waving the mouse
| around to make run faster _really_ sounds like a message
| pump issue. Or maybe they used getmessage instead of
| peekmessage?
| pjc50 wrote:
| > The NT network stack is cleanly layered, supported multiple
| adaptor types and protocols and clients all in one, and was so
| complicated that up to NT 4, when you finished making changes to
| the networking configuration and clicked "OK", a tiny embedded
| Prolog interpreter fired up and ran a single embedded Prolog
| program, the only one in all of the DOS, OS/2 and Windows
| codebase that I'm aware of -- possibly the only one in any
| commercial OS anywhere. This Prolog code parsed your desired
| config, worked out how to interconnect all the layers of the NT
| network stack, and wrote the configuration file(s) and registry
| settings in order to give you what you wanted.
|
| Aargh. I don't think even the more advanced Linux distros have
| reached that level of complexity yet. Although I suppose Prolog
| is a natural solution for constraint solving .. why do you need a
| constraint solver anyway?
|
| (Linked deep dive
| https://web.archive.org/web/20040603192757/research.microsof... )
| p_l wrote:
| Said prolog interpreter is also why Microsoft could easily
| boast that NT is much easier to configure networking on than
| UNIX systems of the day.
|
| There was more prolog hidden underneath network operating
| systems than people think, too.
| pjc50 wrote:
| Well, they may have _claimed_ that, but that wasn 't really
| my experience at the time!
| p_l wrote:
| Probably depended heavily on what kind of options you
| needed.
|
| WinNT network config covers a lot more than people are
| aware even if you keep just to TCP/IP - how many people are
| aware that all WinNT >=5.0 systems are OSFPv2 routers?
| There's also of course optional RIP listener, or the part
| where WinNT >=6.0 is IPv6-first.
|
| When the claim was made, you could end up working with few
| major network protocol families, and while vendors failure
| was leading to ending GOSIP it was still unclear if TCP/IP
| would be winner (I think TUBA - aka IPv9 - was still in the
| running when the prolog part of network configuration was
| done), you had huge installed base of IPX/SPX (that didn't
| really go away till early 2000s), you had NetBEUI support
| for dealing with LanManager variants, there was Banyan
| VINES you might have to cooperate with (especially if you
| tried to sell to USMC, iirc), there was X.25, FrameRelay
| and other WAN specific protocols you might need to support,
| there was AppleTalk, there was ATM (not just IP over ATM),
| there was support for dealing with IBM Mainframe
| networks...
|
| All of the above also had presence in the Unix market, and
| given 1993 release date, all of that was present in some
| ways - and Microsoft could capitalize on "we can easily
| support all of that".
| smackeyacky wrote:
| Plus DECnet, XNS and the short lived OSI stack too.
|
| Most unices of the time barely supported anything else
| other than tcp plus whatever vendor specific stack they
| might need.
| p_l wrote:
| OSI falls under GOSIP - which was government (or at least
| DoD?) mandated attempt at OSI stack. DECnet Phase V is
| also OSI based, but yes, DECnet Phase IV might have
| windows options, so could XNS. Windows could also easily
| adapt to new physical layers.
|
| Windows networking stack was easily extensible, something
| that to this day Berkeley-derived ones have issues with
| (Sockets, being "temporary hack", lacked features to
| handle multi-stack well). A non-trivial reason I heard
| for popularity of Solaris in certain telcos was that it
| offered XTI interface, meaning much easier access to
| ISO/OSI related protocols present in many areas of telco
| gear.
| MisterTea wrote:
| > Aargh. I don't think even the more advanced Linux distros
| have reached that level of complexity yet.
|
| No, but they do have parallel config utilities fighting each
| other in the case of Linux mint. Took me a few hours to figure
| out why I was unable to switch from a static IP to DHCP.
| jedberg wrote:
| This article doesn't even touch on the best part of Windows
| networking -- until around 1997, the best networking stacks were
| made by 3rd party vendors. While Win95 technically had it built
| in, if you actually wanted a robust network stack, you installed
| a 3rd party stack, most likely Trumpet Winsock.
|
| Microsoft published the Winsock Spec/API up until 1997, when
| their stack finally got good enough to make the other apps
| obsolete. I think they still use the Winsock API to this day.
| SkeuomorphicBee wrote:
| On a sightly off-topic note, the last paragraph says:
|
| > Anyway: that was the sole significant improvement in networking
| in Win98 that I am aware of. The other thing 98 could do was
| drive multiple monitors, if you had the right -- that is, from an
| extremely limited selection -- graphics cards. Otherwise, it was
| just 95B with more drivers and the odious Active Desktop built
| in.
|
| Looking back I now see that the Windows 98's "Active Desktop" was
| the first "builtin bloat" to the Windows Family. That was the
| first step that started the long march to current hated things
| like Cortana.
| lproven wrote:
| [Blog post author here]
|
| I agree. Um, perhaps I should have used a less obscure word
| than "odious"? :-)
|
| "arousing or deserving hatred or repugnance; hateful; an odious
| crime; a false and odious comparison."
|
| This does neglect the reason, which was well-known at the time
| and may be forgotten by now. MS was subject to a monopoly
| lawsuit by the US Department of Justice back then, and was
| trying to show that IE was an inextricable part of the Windows
| OS.
|
| If IE were just a web browser, you could remove it and the OS
| would still function just fine; but if it's also the desktop,
| you can't uninstall it without crippling the OS -- therefore,
| it's part of the OS and MS couldn't be told to remove it.
|
| And that's the only real reason.
|
| The slight side-note being that "Active Desktop" was
| multithreaded, like the MacOS 8 Finder.
|
| In Win95 or MacOS 7, if you started a file copy (for example),
| the whole desktop froze until the copy was done. You couldn't
| do anything else except sit there and watch the progress bar.
|
| In MacOS 8, the Finder (the program that drew the desktop) got
| multi-threading along with lots of other improvements (desktop
| drawers, an easily-customisable Apple menu, and more). Start a
| big file operation and you could go do something else while it
| sat there working away in the background.
|
| IE4's Active Desktop brought this to Win95 OSR3, Win98, and NT
| 4 if you installed IE4. But it was the only improvement. The
| rest was, as you say, bloat.
| Sesse__ wrote:
| > In Win95 or MacOS 7, if you started a file copy (for
| example), the whole desktop froze until the copy was done.
| You couldn't do anything else except sit there and watch the
| progress bar.
|
| In Win95, the copy happened on the destination folder's
| thread. You could still open other windows and keep browsing
| around, but that specific window would be unresponsive.
| lproven wrote:
| That is not how I remember it, from *extensive* use at the
| time, but I would have to spin up a VM to try it. I don't
| _think_ you 're right.
|
| The OS was still running; you could switch to an app and
| keep working, for instance. But Explorer had only 1 thread,
| AFAICR, and a large file operation visibly locked that
| thread.
| mnl wrote:
| I honestly can't remember about such details, but with
| IDE drives and 95A you were limited to PIO. You could
| enable DMA in 95B, it wasn't by default. It was in W98.
| That should make a drastic difference.
| lproven wrote:
| I think it depended on the disk controller, no?
| https://www.philscomputerlab.com/windows-98-dma-mode.html
|
| I wrote about this in PC Pro in about 1995-1996. Because
| it had a true pre-emptive kernel, it could do other stuff
| while waiting for disk I/O, and on NT, enabling DMA made
| a big difference. As I recall, on 98, it just made disk
| access a bit quicker, that was all.
| lmm wrote:
| Active Desktop was great. Wallpapers are bloat, having
| something you actually want to glance at occasionally like
| news headlines on the desktop was wonderful. I still miss it.
| lproven wrote:
| Good heavens.
|
| So there _was_ someone. How about that?
|
| BTW & FWIW, I'd say "bloat" means something that you don't
| need that adds complexity, memory overhead, and attack
| surface to a product, and probably makes it slower, use
| more disk, and generally makes it heavier and less
| responsive.
|
| I don't think desktop wallpaper counts as any of that. The
| memory usage is trivial, it needs no CPU or disk space, and
| it has no UI after it's been set.
|
| It's chrome: unnecessary functionality added only to
| improve the visual appearance -- but in my definitions it's
| not bloat.
| Krssst wrote:
| > I don't think desktop wallpaper counts as any of that.
| The memory usage is trivial, it needs no CPU or disk
| space, and it has no UI after it's been set.
|
| A bitmap of 1024x768x24 is around 2MB uncompressed in
| memory, which could be a lot at the time. (I remember
| having 24MB on my machine, maybe a bit outdated for W98?)
| However, I guess that when a pattern is used as
| wallpaper, memory usage is indeed trivial (only store the
| pattern, blit repeatedly)
| [deleted]
| lproven wrote:
| OK, yes, that's entirely fair, although I have to say
| that in 1998, 1024x768 was quite big and asking for it in
| true colour as well would be... optimistic.
|
| I think it got swapped out as soon as it could be,
| though. I remember moving windows aside on low-end
| machines and hearing the hard disk chug as it loaded the
| previously-obscured bits of the desktop image back in,
| scaled them and redrew them.
|
| (I _don 't_ remember when Windows gained the ability to
| scale the wallpaper. IIRC, it was in the Windows 95
| PowerToys - the base OS couldn't do it. I think it also
| only understood `.BMP` files originally. JPG and other
| compressed formats only came later - probably in 98, come
| to think.
|
| I had a few such machines that could do 1024x768x24, but
| they were pro-grade kit, and as such, I ran NT 4 on them,
| not GameOS(r)(tm).
|
| About 1997 or so I was rather proud of my Pentium II 450
| MHz in a Baby-AT case ( _not_ ATX) which had 2 Matrox
| cards, allowing me to run a dual-head desktop at
| 2048x768. I think I then went from 2x14 " screens to
| 2x15" which allowed me to run twice 1152x864: 2304x864.
| So... much... desktop!
| fredoralive wrote:
| I'd argue Windows 95 also had some bloat, notably it bundled a
| client for MSN, in it's initial form as a walled garden AOL and
| Compuserve competitor. Excellently timed just for the internet
| to become a thing and make that style of service irrellevant.
| lproven wrote:
| [Blog post author here]
|
| True enough, but I slightly disagree.
|
| I had an account on it and I used the MSN. It was pretty good
| for its time, and streets ahead of AOL or CompuServe.
| Eventually it devolved into being just an instant messenger
| and a news website, and now, the instant messenger is gone.
|
| Secondly, if you didn't use MSN, you could just totally
| ignore it and it imposed no system load. In that way, it's
| comparable to Windows Movie Maker in XP: totally pointless if
| you don't need that, and you can't remove it or choose not to
| install it, but doesn't actually do anything at all and can
| be ignored.
|
| Whereas Active Desktop could not be ignored or removed
| (except by doing a custom install with 98Lite, which is why I
| linked to it) and it was necessary to use it to use the OS at
| all.
| mrlonglong wrote:
| Ping of death. What a time to be alive !
| king_magic wrote:
| I absolutely love hearing these kinds of historical tidbits. Had
| no idea NT had a built-in Prolog interpreter. Prolog was one of
| my favorite languages back in college, neat to see that it was
| used like this in Windows.
| lproven wrote:
| [Blog post author here]
|
| Oh cool. Glad to hear it provided entertainment. :-)
|
| No, really. I have a day-job as a writer and if I thought I
| could have crow-barred that in there somehow, I'd have done so.
| But I could not find a citation for the 4-IP address thing. So,
| the result was purely for fun.
| ngcc_hk wrote:
| I am not sure. Around that time, lotus notes and application run
| tcp/ip. Not sure it is Novell.
|
| As so many tcp/ip, we start to take courses on a new company
| called Cisco and it's competitor. Sun, hp and we opt for aix.
| Synapse/power build but we use oracle, we opt for the disaster
| oracle form 4, ... My master degree with term paper on ospf. It
| was all 1990s craziness.
|
| The only thing is that the network driver of windows is no good
| in win95. There are three and we used a place in Australia start
| with W. I can't remember win98 helped that much.
|
| Far East perhaps.
|
| Yes home start struggle with 1200/2400 modem. But lease line is
| not that fast just more stable. And bi-directional.
| lproven wrote:
| [Blog post author here]
|
| You are not sure about which bit?
|
| Lotus Notes became IBM. Nothing to do with Novell. Novell's
| equivalent was Groupwise. I used it until 2018. It was... not
| great.
|
| But it didn't depend on TCP/IP. I don't think Notes depended
| upon TCP/IP until Domino came along in a much later version (5?
| 6? No idea. Last used it in 2007 and didn't like it then.)
| chungy wrote:
| > a deeply misguided comment on HN that claimed that Windows 98
| was the beginning of integrated networking in Windows.
|
| I've noticed that younger crowds seem to treat Windows 98 as a
| big revolutionary release, attributing many features that were
| actually introduced in Windows 95 as being uniquely new to 98;
| rather than Windows 98 being a rather minor incremental upgrade
| to 95 as it actually was.
|
| Not really sure why this phenomenon has happened. Maybe people
| had glimpses of Windows 98 in childhood and don't know what the
| prior version was like? or that Windows 98 probably had a longer
| lifespan than 95 did?
|
| From the user perspective, almost the only differences are Active
| Desktop and titlebar gradients. FAT32 and USB are other tangible
| differences, though it's worth noting that 95B also had those
| features, it just wasn't available at retail.
| iso1631 wrote:
| 98 was definitely an incremental update on 95. Plus and Win95
| OSR2 had brought in most of the "new" features of 98, although
| 98 did tie them together.
|
| But even including those features, coming so soon off the heels
| of the 3.11->95 change, it certainly felt a minor change to me.
|
| That said, 98 was the last of the Dos era (the less said about
| ME the better), so it did persist until well into the 00s for
| people playing games.
|
| And of course you've got the other "grown up" line of NT
| 3.51>4.0>2000
| scionthefly wrote:
| Win95 was a revolution in the mswindows world (as was NT).
| Win98 was the refined and polished version. Not
| revolutionary, but fully evolved. I used both, still have
| both, and vastly prefer 98.
| slfnflctd wrote:
| > From the user perspective, almost the only differences...
|
| From this user's perspective, Win98SE was far more stable and
| configurable, had vastly superior driver support and ran more
| types of software better. It was fantastic for everything from
| internet to audio editing to gaming at a time when I was doing
| a lot of tinkering. I struggle to think of specifics now, but I
| know that when I was using it a lot I ran across numerous
| things I valued that I couldn't do on Win95.
|
| > Windows 98 probably had a longer lifespan than 95 did?
|
| It definitely did in my experience and that of several tech-
| inclined folks I was adjacent to. In households with kids who
| paid attention to details like which OS was running, I suspect
| greater numbers of those kids were exposed to 98 than 95.
| lproven wrote:
| [Article author here]
|
| > From this user's perspective, Win98SE was far more stable
| and configurable,
|
| > had vastly superior driver support and ran more types of
| software better.
|
| I worked with it, installed it and supported it at the time,
| and it really _really_ wasn 't.
|
| Serious business users ran NT 4. In the trade we nicknamed
| W98 as GameOS.
| tssva wrote:
| I supported a lot of large enterprise and government
| clients around that time. Almost all of them ran Windows 98
| on their desktops. I didn't see much penetration of the NT
| platform on the desktop until Windows 2000 and even then it
| was by far the minority. The NT platform didn't really take
| over the desktop in the enterprises I supported until
| Windows XP.
| lproven wrote:
| Remarkable. That's pretty much the opposite of my
| experience.
|
| In 1993 I worked in the City of London, where NT 3.1 was
| used in production, because it was so much better than
| Windows 3.1 -- even for Windows 3.1 apps.
|
| By 1995, I tried to get people to use NT 3.51 in magazine
| production, but the GUI put them off. NT 4 fixed that,
| and it took off very well for everyone except cheapskates
| with rubbish PCs.
| muststopmyths wrote:
| I think they're saying compared to Win95, not NT.
| lproven wrote:
| Yeah, I know, I got that! :-)
|
| I didn't put in a lot of Win95, because it was before I
| went freelance. Then my work box ran NT 3.51, but a lot
| of the office ran W95 and I had to support it. So I did
| get quite a lot of experience on it.
|
| Later on, though, I put in W98 & W98SE for people with
| cheap & nasty PCs that couldn't run NT, and I supported a
| lot of boxes that were out there.
|
| It did have somewhat better driver support, yes, but
| every version of Windows ever has had better driver
| support than the preceding version.
|
| It was not significantly more stable, and on low-end or
| heavily-loaded boxes, I'd say _less_ stable.
|
| More types of software? About the same, I'd say. Better?
| On a narrow range of hardware, _maybe_ -- things were
| changing fast then and by '99 or so new kit couldn't run
| 95 any more.
|
| It was a gamers' OS.
|
| The much-maligned WinME had better hardware support still
| -- for example, proper working Firewire support -- but by
| then everyone hated it. After a few updates it was a very
| stable release, it looked nice, it was a bit cleaner and
| faster to boot and to shut down, and it supported more
| memory.
|
| There was a particular period when very cheap, or old,
| PCs couldn't usefully run Win2K let alone XP, which
| really wanted 256MB of RAM or more, a big fast DMA EIDE
| or UltraIDE hard disk and so on, when WinME could deliver
| a decent internet experience on a single-core box with
| between about 80 to 128 MB of RAM on the low end to say
| 192 MB on the high end -- kit which gave a rotten
| experience with 2K or XP.
|
| But 98 wasn't a particularly sweet spot in my
| recollection.
| lproven wrote:
| [Article author here]
|
| You make a good point.
|
| I've not seen that before myself -- I mainly inhabit the
| Linux/macOS space now -- but the person whom I was paraphrasing
| certainly seemed to think, as you say, that W98 was the big
| deal and marked the beginning of integrated networking in
| Windows. Very bizarre, because as you say, it was a minor
| bugfix release.
| LeoPanthera wrote:
| There's really two versions of Windows 95. The original retail
| release is quite limited, and lacks a lot of things that people
| now assume were always there.
|
| There were approximately four (or six, depending on how you
| count) later revisions, but the big one was "OEM Service
| Release 2", which added support for FAT32, Infrared data, UDMA,
| IRQ Steering, Firewire, MMX, and P6 support. A later minor
| patch also added support for USB and AGP.
|
| The later OSR "2.5" also came bundled with IE4, which
| overhauled the Explorer interface, adding (amongst other
| things) the quick launch bar, IE integration (including things
| like the "address" bar in Explorer windows), and the Active
| Desktop.
|
| Today, many people assume these things came along with Windows
| 98 first, which is not true.
| smackeyacky wrote:
| The one release of windows I remember that had the biggest
| impact on networking was windows for workgroups 3.11
|
| First one with native windows networking rather than DOS
| redirected drivers.
| [deleted]
| pjc50 wrote:
| Yeah, most of the big differences happened between Win95B and
| A, which makes them hard to count properly. USB was an absolute
| game-changer, for example, released in a product minor version?
| chungy wrote:
| I suppose the logic was that if you needed >2GB disks and/or
| USB, your prebuilt OEM would order the special version of
| Windows 95 that supported them (and in all practical
| purposes, I don't even recall OEMs still using 95 RTM or 95A
| after 95B was available... even if the machine lacked either
| of those properties).
|
| Of course people would build their own computers from scratch
| in those days too and pirating Windows 95B (later, 95C) would
| be fairly common. It had big benefits while any Windows 95
| box at the store was only 95A.
| donkarma wrote:
| this killed my browser history, wtf?
| pjc50 wrote:
| Like many of the more "helpful" browser APIs, the ability to
| alter history is easily abused. It should never have been
| allowed to edit cross site history.
| chungy wrote:
| Basically why I always use the middle mouse button to open
| links ;)
| lproven wrote:
| Exactly so, yes!
| comprambler wrote:
| I had to go back 9 "pages" to get back to hn. I guess LJ is
| just trash now.
| mattowen_uk wrote:
| None of that happened to me. HN was one click on the back
| button.
|
| That said, agreed - LJ is trash.
| dan_linder wrote:
| When I first saw the complaint about LJ, I first thought
| was "LinuxJournal" And I had to do a double take on the
| URL. This URL is "LiveJournal", for anyone coming across
| this thread later.
|
| Hijacking the back button is never a good idea...
| zerocount wrote:
| I didn't know Livejournal was still around.
| lproven wrote:
| [Blog post author here]
|
| It never went away. I've had my main blog there since
| 2002 and tech one since 2006. It works, it's free. I
| don't have a paid account and never have, and I do not
| see the problems people mention because I have a working
| ad-blocker.
|
| I am sorry for those who don't.
| kreeben wrote:
| Pretty much same here. With just one click I found myself
| being seven clicks away from HN. Using WaterFox.
| winrid wrote:
| FWIW works fine on Chrome @ Android
| xanathar wrote:
| > Anyway: that was the sole significant improvement in networking
| in Win98 that I am aware of. The other thing 98 could do was
| drive multiple monitors, if you had the right -- that is, from an
| extremely limited selection -- graphics cards.
|
| The selection included all common S3 models, and you just had to
| have one S3 graphic card to be compatible, and they were already
| dirt cheap. It was AMAZING.
|
| This was the real killer feature (most of the time I didn't even
| have _one_ IP address because dial-up internet was expensive).
___________________________________________________________________
(page generated 2021-12-13 23:01 UTC)