In short, I'm looking for a pointer to more specific information about the
"negotiate multi-link for single link connections" option in Windows 2000.
I work for an ISP in Washington State. We are chasing a very elusive
problem. It seems that on certain dial-up access numbers, customers running
Windows 2000 get a faulty connection that works mostly, but does not allow
normal communication with our mail server. Change to a different access
number or an outside connection and everything works. Use Win98/XP or a Mac
and it works fine. With this faulty connection, they can log into the POP
server and do a STAT command and that works okay, but when they try a
command such as LIST or RETR with a longer response, they get nothing back.
The connection to that server just hangs. The PPP connection never dies,
though. HTTP and IMAP connections to the same machine also hang. We've
also tried the above with an identical redundancy machine. POP/IMAP/HTTP
connections to other outside hosts always work fine. We've been testing all
this with telnet to ports 80, 110, and 143, so we can see exactly what's
going on. We are using a Stonegate firewall and see nothing unusual. So,
if I've explained this clearly, then you should see why we are so perplexed.
The only clue we have is that if you turn off "negotiate multi-link for
single link connections" in the Win2k DUN settings, then everything always
works fine. I see that Win2k is the only OS we've tested that supports this
AND has it turned on by default. But what does it do??? I know that a
multi-link connection allows you to combine two PPP connections to achieve a
higher throughput. But it shouldn't affect anything if there's just one
connection, right?
I've searched the web and all I find are articles telling people to turn it
off - not a very convenient option for our dial-up customers. No detailed
explanation is available. I've seen posts in this group about people using
multi-link with two modems, but that's not what we're after here.
If anybody could point me to a good explanation of what that option does
and/or how multi-link works in detail, I would be very appreciative. If
anybody can give me a clue on the problem I'd even more appreciative. If
you can tell me the solution... well I'd be in heaven and I'd have to shower
you with all the goodness I could find in heaven.
Thanks,
Alex
P.S. The address above is my spam account which I check when I'm expecting
something, such as after a newsgroup post. My regular work email address is
tciaq followed by the domain extension olympus.net.
The only side-effect you might see when using multilink on a single link
connection is the possibility of fragmenting IP packets at the link level.
Packets that would normally fit into the standard PPP frame may need to be
split when adding the multilink header to the packet. It's just a few
extra bytes, but if a packet goes 1 byte over the link's MRU, multilink
will fragment the packet into 2 multilink packets. If the peer has a
problem reassembling the packets, the packet will be lost. I'm not sure
how multilink deals with lost packets (each packet does have a sequence
number), but your ISP's implementation might be choking when it loses a
packet?
>If anybody could point me to a good explanation of what that option does
>and/or how multilink works in detail, I would be very appreciative. If
>anybody can give me a clue on the problem I'd even more appreciative. If
>you can tell me the solution... well I'd be in heaven and I'd have to shower
>you with all the goodness I could find in heaven.
If you really want the nitty gritty, you should look at RFC1990 which
is the actual spec for The PPP Multilink Protocol. You can get a copy
of RFC1990 from the following URL:
http://www.networksorcery.com/enp/rfc/rfc1990.txt
============= For PPP Protocol Analysis, check out SerialView! =============
Patrick Klos Phone: (603) 471-2547
Klos Technologies, Inc. Email: pat...@klos.com
18 Farmhouse Rd. Web: http://www.klos.com/
Bedford, New Hampshire 03110 N 42:54.677 W 71:31.486
========== It's 99.9% of the lawyers that make the rest look bad! ==========