From 0ea5fc66924303d1bf73ba283a383e2aadee02f2 Mon Sep 17 00:00:00 2001 From: neodarz Date: Sat, 11 Aug 2018 20:21:34 +0200 Subject: Initial commit --- pipermail/nel/2001-March/000338.html | 164 +++++++++++++++++++++++++++++++++++ 1 file changed, 164 insertions(+) create mode 100644 pipermail/nel/2001-March/000338.html (limited to 'pipermail/nel/2001-March/000338.html') diff --git a/pipermail/nel/2001-March/000338.html b/pipermail/nel/2001-March/000338.html new file mode 100644 index 00000000..eff91668 --- /dev/null +++ b/pipermail/nel/2001-March/000338.html @@ -0,0 +1,164 @@ + + + + [Nel] newbies about packet schema + + + + + + +

[Nel] newbies about packet schema

+ jaleco + jaleco@svr1.gameone.com.tw
+ Tue, 6 Mar 2001 12:05:42 +0800 +

+
+ +
This is a multi-part message in MIME format.
+
+------=_NextPart_000_0010_01C0A635.C4605920
+Content-Type: text/plain;
+	charset="big5"
+Content-Transfer-Encoding: quoted-printable
+
+I have read artice for winsock program,=20
+if folling article is true, that snow ball netowrk driver , should =
+change it's packet schema.
+any one can give me suggect ?
+
+original from =
+http://www.cyberport.com/~tangent/programming/winsock/intermediate.html#d=
+isable-nagle
+Inexperienced Winsockers usually try disabling the Nagle algorithm when =
+they are trying to impose some kind of packet scheme on a TCP data =
+stream. That is, they want to be able to send, say, two packets, one 40 =
+bytes and the other 60, and have the receiver get a 40-byte packet =
+followed by a separate 60-byte packet. (With the Nagle algorithm =
+enabled, TCP will often coalesce these two packets into a single 100 =
+byte packet.) Unfortunately, this is futile, for the following reasons:
+
+  1.. Even if the sender manages to send its packets individually, the =
+receiving TCP/IP stack may still coalesce the received packets into a =
+single packet. This can happen any time the sender can send data faster =
+than the receiver can deal with it.=20
+  2.. Winsock Layered Service Providers (LSPs) may coalesce or fragment =
+stream data, especially LSPs that modify the data as it passes.=20
+  3.. Turning off the Nagle algorithm in a client program will not =
+affect the way that the server sends packets, and vice versa.=20
+  4.. Routers and other intermediaries on the network can fragment =
+packets, and there is no guarantee of "proper" reassembly with stream =
+protocols.=20
+  5.. If packet arrives that is larger than the available space in the =
+stack's buffers, it may fragment a packet, queuing up as many bytes as =
+it has buffer space for and discarding the rest. (The remote peer will =
+resend the remaining data later.)=20
+  6.. Winsock is not required to give you all the data it has queued on =
+a socket even if your recv() call gave Winsock enough buffer space. It =
+may require several calls to get all the data queued on a socket.=20
+
+
+------=_NextPart_000_0010_01C0A635.C4605920
+Content-Type: text/html;
+	charset="big5"
+Content-Transfer-Encoding: quoted-printable
+
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML><HEAD>
+<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dbig5">
+<META content=3D"MSHTML 5.50.4522.1800" name=3DGENERATOR>
+<STYLE></STYLE>
+</HEAD>
+<BODY bgColor=3D#ffffff>
+<DIV><FONT size=3D2>I have read artice for winsock program, =
+</FONT></DIV>
+<DIV><FONT size=3D2>if folling article is true, that snow ball netowrk =
+driver ,=20
+should change it's packet schema.</FONT></DIV>
+<DIV><FONT size=3D2>any one can give me suggect ?</FONT></DIV>
+<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
+<DIV><FONT size=3D2>original from <A=20
+href=3D"http://www.cyberport.com/~tangent/programming/winsock/intermediat=
+e.html#disable-nagle">http://www.cyberport.com/~tangent/programming/winso=
+ck/intermediate.html#disable-nagle</A></FONT></DIV>
+<DIV>
+<P>Inexperienced Winsockers usually try disabling the Nagle algorithm =
+when they=20
+are trying to impose some kind of <A=20
+href=3D"http://www.cyberport.com/~tangent/programming/winsock/intermediat=
+e.html#packetscheme">packet=20
+scheme</A> on a TCP data stream. That is, they want to be able to send, =
+say, two=20
+packets, one 40 bytes and the other 60, and have the receiver get a =
+40-byte=20
+packet followed by a separate 60-byte packet. (With the Nagle algorithm =
+enabled,=20
+TCP will often coalesce these two packets into a single 100 byte =
+packet.)=20
+Unfortunately, this is futile, for the following reasons:</P>
+<OL>
+  <LI>Even if the sender manages to send its packets individually, the =
+receiving=20
+  TCP/IP stack may still coalesce the received packets into a single =
+packet.=20
+  This can happen any time the sender can send data faster than the =
+receiver can=20
+  deal with it.=20
+  <LI>Winsock Layered Service Providers (LSPs) may coalesce or fragment =
+stream=20
+  data, especially LSPs that modify the data as it passes.=20
+  <LI>Turning off the Nagle algorithm in a client program will not =
+affect the=20
+  way that the server sends packets, and vice versa.=20
+  <LI>Routers and other intermediaries on the network can fragment =
+packets, and=20
+  there is no guarantee of "proper" reassembly with stream protocols.=20
+  <LI>If packet arrives that is larger than the available space in the =
+stack's=20
+  buffers, it may fragment a packet, queuing up as many bytes as it has =
+buffer=20
+  space for and discarding the rest. (The remote peer will resend the =
+remaining=20
+  data later.)=20
+  <LI>Winsock is not required to give you all the data it has queued on =
+a socket=20
+  even if your <CODE>recv()</CODE> call gave Winsock enough buffer =
+space. It may=20
+  require several calls to get all the data queued on a socket.=20
+</LI></OL></DIV></BODY></HTML>
+
+------=_NextPart_000_0010_01C0A635.C4605920--
+
+
+
+
+ + + + + + + +
+

+ -- cgit v1.2.1