The Notebook Review forums were hosted by TechTarget, who shut down them down on January 31, 2022. This static read-only archive was pulled by NBR forum users between January 20 and January 31, 2022, in an effort to make sure that the valuable technical information that had been posted on the forums is preserved. For current discussions, many NBR forum users moved over to NotebookTalk.net after the shutdown.
Problems? See this thread at archive.org.

    XP/Vista hard-coded restriction?

    Discussion in 'Windows OS and Software' started by Captain Fail, Dec 26, 2008.

  1. Captain Fail

    Captain Fail Notebook Evangelist

    Reputations:
    294
    Messages:
    408
    Likes Received:
    0
    Trophy Points:
    0
    Is it true that there is a hard-coded restriction in XP and Vista preventing it from being used as a server OS? Limiting some connections in some form if I remember correctly? Maybe something about limiting the number of connections to the computer, pretty much killing it as a server OS?

    I have heard about it before, but have just been told about it again, and i'm not sure whether to believe it or not?

    Does any of this sound familiar to anyone?
     
  2. Hep!

    Hep! sees beauty in everything

    Reputations:
    1,806
    Messages:
    5,921
    Likes Received:
    1
    Trophy Points:
    206
    Yes, it is true.
    However, it's fortunately, 100% legally patched to allow more connections (which is very useful on many desktop uses as well! Like bittorrent).
    For XP, use the EvID 4226 patch: http://www.lvllord.de/
    The process for Vista is more complex. Post if you're interested.
     
  3. Captain Fail

    Captain Fail Notebook Evangelist

    Reputations:
    294
    Messages:
    408
    Likes Received:
    0
    Trophy Points:
    0
    I am certainly interested. Any linkage you could provide would be very much appreciated :)
     
  4. Hep!

    Hep! sees beauty in everything

    Reputations:
    1,806
    Messages:
    5,921
    Likes Received:
    1
    Trophy Points:
    206
  5. Captain Fail

    Captain Fail Notebook Evangelist

    Reputations:
    294
    Messages:
    408
    Likes Received:
    0
    Trophy Points:
    0
  6. Nebelwand

    Nebelwand Notebook Consultant

    Reputations:
    119
    Messages:
    213
    Likes Received:
    0
    Trophy Points:
    30
    Uh, no. The tcpip.sys thing limits half-open TCP connections and was implemented to slow down worms/malware/etc. trying to spread. This doesn't affect or limit the total number of established connections possible in any way (it just takes longer to open huge numbers of them).

    One real limitation in non-server versions of Windows is with SMB - i.e. Windows' file and printer sharing. The limit is 10 (Pro) resp. 5 (Home) inbound SMB connections, to prevent you from using a non-server OS on file/print servers. "net config server" on the command line will give you the limits of your current installation.
     
  7. Shyster1

    Shyster1 Notebook Nobel Laureate

    Reputations:
    6,926
    Messages:
    8,178
    Likes Received:
    0
    Trophy Points:
    205
    Limitations preventing use as a server? Perhaps in a hard-core commercial situation; however, the apache server I run on top of a copy of XP Pro would be quite surprised to learn that it's not supposed to be doing that. Also, wouldn't that make the inclusion of MS' IIS in XP Pro a little, shall we say, redundant?
     
  8. Captain Fail

    Captain Fail Notebook Evangelist

    Reputations:
    294
    Messages:
    408
    Likes Received:
    0
    Trophy Points:
    0
    I don't think you're quite getting what we mean? As you've shown, it's possible, but there is a reason that Windows Server is so expensive. From what people have said and my own research it seems that Windows client OS's are limited to 10 incoming connections at any one time. Kind of useless as anything other than a very small home server then isn't it.

    That's why the patches are needed. So that Windows client OS's can actually be used for high capacity server workloads.
     
  9. Hep!

    Hep! sees beauty in everything

    Reputations:
    1,806
    Messages:
    5,921
    Likes Received:
    1
    Trophy Points:
    206
    Do you mean a terminal server? Because desktop versions of XP are limited to one session at a time, but there are patches for that as well?
    A server is nothing that special until you make it that way, so perhaps the correct question is... "what kind of server do you intend to run?"
     
  10. Captain Fail

    Captain Fail Notebook Evangelist

    Reputations:
    294
    Messages:
    408
    Likes Received:
    0
    Trophy Points:
    0
    I mean the number of outside connections to the computer at any one time is limited. So if you start to get any serious traffic, most attempts to connect to your computer will fail.

    I can see the benefits of this for a client OS, and it also has the added benefit to Microsoft of making client OS's unsuitable for servers, hence the ridiculously high pricing of Windows Server.
     
  11. swarmer

    swarmer beep beep

    Reputations:
    2,071
    Messages:
    5,234
    Likes Received:
    0
    Trophy Points:
    205
    As far as I know, there's nothing preventing you from getting a third party web/ftp/whatever server (plenty of 'em around) and running it on a home version of Windows.

    But for file & print server, the number of connections are limited, as mentioned. Also, there is no built-in remote desktop server in the home versions... but there are third-party alternatives to Remote Desktop.
     
  12. Hep!

    Hep! sees beauty in everything

    Reputations:
    1,806
    Messages:
    5,921
    Likes Received:
    1
    Trophy Points:
    206
    The connection won't fail, it will just be slow because the OS will constantly be switching open connections. Again, unless you mean as a terminal server, in which case it will fail (or kick out the current user, depending if they're logged in locally or not). As swarmer said, there are many third party applications available to replace those provided by Windows server. In fact... I think even on Windows servers in many cases people replace these programs with superior third party versions.
     
  13. Captain Fail

    Captain Fail Notebook Evangelist

    Reputations:
    294
    Messages:
    408
    Likes Received:
    0
    Trophy Points:
    0
    Hmmm, where would I find these third party applications? Are they free?

    Thanks for the help btw :)
     
  14. Hep!

    Hep! sees beauty in everything

    Reputations:
    1,806
    Messages:
    5,921
    Likes Received:
    1
    Trophy Points:
    206
    Again... what kind of server do you want to run? Servers are generally specialized for a task, or for multiple tasks. This changes the software you will need by 100%
     
  15. Captain Fail

    Captain Fail Notebook Evangelist

    Reputations:
    294
    Messages:
    408
    Likes Received:
    0
    Trophy Points:
    0
    Pretty much just a small website from home. Nothing major.
     
  16. Hep!

    Hep! sees beauty in everything

    Reputations:
    1,806
    Messages:
    5,921
    Likes Received:
    1
    Trophy Points:
    206
    Well, one of the most popular HTTP servers people use is the software Shyster mentioned - Apache. I know Apache is open source and free, but I know little more about it. In college in a class workshop I had to setup an Apache server, but that was a while ago, and one time. I am sure there is plenty of documentation on the process, and I am sure many knowledgeable people on forums, including this one (such as perhaps Shyster) would be able to provide more guidance on the matter.
    Note that many ISPs do not allow you to run a webserver from home, please check your TOS with the ISP before following through with this plan.
     
  17. Shyster1

    Shyster1 Notebook Nobel Laureate

    Reputations:
    6,926
    Messages:
    8,178
    Likes Received:
    0
    Trophy Points:
    205
    That should be quite do-able on even XP-Home; the bigger problem might be whether or not your ISP will get stingy with your bandwidth or call you out for violating your terms of service - probably the best way around that is to make the website restricted access (i.e., username/pw login) so that you can, with complete justification, claim that you're not running a public or commercial website.

    While it's generally a good idea to call up your ISP and ask if you're not sure about whether or not you can do something, I've heard of some ISPs going beyond what they've strictly permitted themselves (and what their customers have agreed to) in their terms of service, so I would generally just make sure that you read your own TOS carefully, and with a very literal mind-set (i.e., a word means what it means according to the definitions in Websters or the OED, and nothing else unless it's been explicitly defined to have another meaning within the TOS itself or any other documents that the TOS expressly incorporates by reference, and no listener's courtesy - that is, no filling in the blanks, if the TOS forgot to mention something, don't assume that something back into the agreement by thinking that they must have intended to include that something but didn't quite get to it). That's why I mentioned using permission-only access as a means of demonstrating that your website is non-commercial and not open to the public, which is a limitation that appears in some ISPs' TOSes.

    The limit that you mentioned is hard-coded into the standard copy of tcpip.sys that comes with XP (Home and Pro) as well as, so far as I can tell, _Vista. That limit is, however, apparently quite easy to override, and there is a website that gets a lot of mentions in relevant hits from a google search that offers a patched version of tcpip.sys - the site is: http://lvllord.de/?lang=en

    However, the last update seems to have been released on 6/16/2006, so I have no idea whether that patch is still useful/relevant.

    The other thing is that the hard-coded limit in question does not limit the total number of concurrent completed connections that are going at any one time (i.e., connections where the three-way handshake has been completed), but rather it limits the number of concurrent uncompleted outbound connections - so-called half-open connections initiated by the XP system in question where the "SYN" packet has been sent but the response thereto has not been received yet.

    Hitting the limit generates an event log entry with Event ID 4226, and there's a brief description under that event id from Microsoft here.

    While I didn't spend enough time to write a dissertation (or even a half-way decent memo :D) on the topic, it looks to me like that half-open connection limit shouldn't affect your use at all if you'll primarily be having people making inbound connections to your webserver as opposed to having your webserver attempt to make a lot of outbound connections. Also, since this limit doesn't seem to apply to connections that have the keepalive function working (I don't know what the proper terminology is, but hopefully you can still get my meaning), a connection, once established, that has kept alive shouldn't end up counting against the hardwired limit of 10 concurrent half-open connections.

    I run (although it's down now) a small, private website that I use mostly for making it easier to distribute photos we've taken to the various family members/groups, which is a lot more involved and complicated than it sounds because (a) I take an ungodly number of pictures (nothing like a DSLR with a good continuous shoot function), (b) don't like getting rid of any picture that I think is even somewhat salvageable (goes along with being a packrat about everything else :D), and (c) my wife is very, very picky about who gets to see which pictures. The upshot being that there are a lot of image files that have to be correlated to about six different major access rules, and trying to send those files via email just about killed my email account - running a small webserver using Apache makes that a lot easier once I got it set up. The icing on the cake is that I also set it up so that I can upload images through the website so I can unload my DSLR while I'm away from home instead of trying to keep track of a bunch of filled-up SD cards.

    In my case, I don't think that I ever managed to get 10 concurrent connections to my webserver at all, so I cannot say for sure that the limit you've identified won't cause problems; however, from the stuff I found (some of which is linked to above) it doesn't look like you should have a problem with that 10 half-open connection limit. I am, of course, quite happy to be corrected if those who know better/more than I (there number is legion :D) would care to add to the conversation.

    Apparently, where it does become a problem is with things such as torrents that (again, this is just what I picked up in my quickie reading) keep a large number of half-open outbound connections going.

    In terms of setting up the webserver itself, part of that will depend on exactly what you want to do with it. If you just want a simple file server, without a lot of HTTP bells and whistles, then there are a number of those that can be had for free. A good source for the different types of available servers is the various wikipedia articles comparing servers, such as webservers, lightweight webservers, SMB/CIFS file servers (e.g., Samba, which allows a system running a linux-based OS to act as a file server for Windows-based clients), NAS devices, and mail servers, to name a few.

    In terms of setting up Apache to run on XP, it's actually fairly simple; apache.org provides a downloadable binary for running on .Windows that can be downloaded from here. The download is a setup binary that, when run using its default settings, will ask a number of fairly straight-forward questions (e.g., the directory in which Apache should be installed) and will then install Apache and be more-or-less ready to go out of the box with a full default config file that will do what's needed to run the webserver without any modifications. To optimize Apache, you basically rework the config file, and while some of the documentation is a little confusing at first, there's a lot of it, it's generally pretty helpful, and there are a number of useful books out there including a cookbook and a "definitive guide" from O'Reilly that I found to be very helpful.

    If you want to get the whole enchilada, so to speak, and get a webserver with PHP and MySQL functionality included and ready to use out-of-the-box, you can get what's known as a WAMP - Windows, Apache, MySQL, PHP - distribution (a number of different ones are on offer) for free that will do just that. I've never tried setting up any of the WAMP packages, so I don't know how easy/hard it is to do, but I cannot imagine that it would be any more difficult than setting up Apache by its lonesome, and that is not too difficult.
     
  18. davepermen

    davepermen Notebook Nobel Laureate

    Reputations:
    2,972
    Messages:
    7,788
    Likes Received:
    0
    Trophy Points:
    205
    windows server is so expensive because it can do much much more by default than your home installation. being a webserver is just one of it's many services it may deliver. and it's very scalable, works over multiple servers shared, etc.

    but yes, for your situation iis or apache on a local xp should work fine.

    if you want a real windows server at home, for a low price, how about a windows home server. great for doing backups and filesharing and media sharing, and allows you to have a webserver up and running. a full iis on windows 2003, so no limits what so ever.

    i host my clickonce apps on it currently, it's great. if you have an old pc around to host on, the home server licence is quite cheap.
     
  19. frazell

    frazell Notebook Deity

    Reputations:
    81
    Messages:
    895
    Likes Received:
    0
    Trophy Points:
    30
    This thread is rife with lots of mis-information...

    There isn't anything in Windows Vista or XP that prevents the OS from being a server OS. It is just as capable of doing so as any other Windows OS.

    The difference between Windows Client and Windows Server is the applications included in the respective versions. Windows Server has applications supporting Active Directory and DNS server applications, for instance. The Microsoft version of these applications will only run on the respective versions of Windows Server they ship with because they are bundled with the Operating System. That doesn't limit you from running a non-Microsoft solution that does the same thing on the client version of Windows, like BIND for DNS.

    That is where this 10 connection limit comes into play that you were talking about. The 10 incoming connection limit is a limit set in IIS on Windows Client versions (only runs on XP Pro or Vista Business/Ultimate Editions). In XP IIS drops connections exceeding 10 with an error page. In Vista it queues the connections until there is a free slot so it slows the site down, but doesn't show the user an error.

    Hopefully that helps clear up some confusion.
     
  20. Shyster1

    Shyster1 Notebook Nobel Laureate

    Reputations:
    6,926
    Messages:
    8,178
    Likes Received:
    0
    Trophy Points:
    205
    I'm perfectly happy to be corrected (and pointed in the direction of authority to that effect), but from what I recall reading and posting about several days ago is that the 10 connection limit only applies to connections that haven't finished being made, and that XP only drops (and _Vista only queues) incoming connections when (a) there are 10 half-open connections waiting to be completed, and (b) the incoming connection in question is itself an uncompleted connection (i.e., it's not just a continuation of an already-completed connection that has keepalive enabled).