<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sun, Jan 19, 2014 at 2:31 AM,  <span dir="ltr">&lt;<a href="mailto:net.study.sea@gmail.com" target="_blank">net.study.sea@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="auto"><div>How does the application level recognize each segment bridge in tcp stream ?<br>
i.e packe a 30bytes&gt;&gt; packet b 50bytes &gt;&gt;packet a 20bytes<br>And why it is possible for one packet to contain uncontinuous part of different  user protocol packets?</div></div></blockquote><div><br></div><div>
It&#39;s not a kernel question in my opinion, but...</div><div><br></div><div>Take a look here:</div><div><br></div><div>&quot;Segmentation is the process of carving up information into smaller pieces. The documentation for Transmission Control Protocol (TCP) refrers to what it calls &#39;data streams&#39;. A data stream is really nothing more than a series of zeroes and ones that represent information. TCP receives data from an application and segments the data into pieces. This segmentation is necessary so that the information can be placed inside the TCP data field.&quot;</div>
<div><br></div><div>&quot;TCP reassembles segments into a data stream and feeds that data stream to the application. The best known example of this activity is HTTP transfer of a web page. The web server loads a web page from disk, encapsulates the web page text in HTTP headers, the passes the HTTP encoded stream of text to TCP. TCP segments the text stream for transport across the network. The networking software (the stack) receives the TCP data segments and reassembles the HTTP stream of text, which your web browser reads, and renders as a web page.&quot;</div>
<div><br></div><div><a href="http://www.inetdaemon.com/tutorials/internet/tcp/segmentation.shtml">http://www.inetdaemon.com/tutorials/internet/tcp/segmentation.shtml</a><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="auto"><div>在 2014-1-18,22:04,Augusto Mecking Caringi &lt;<a href="mailto:augustocaringi@gmail.com" target="_blank">augustocaringi@gmail.com</a>&gt; 写道:<br><br></div><div><div class="h5"><blockquote type="cite"><div>
<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sat, Jan 18, 2014 at 12:08 AM,  <span dir="ltr">&lt;<a href="mailto:net.study.sea@gmail.com" target="_blank">net.study.sea@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Hi :<br>
     If one tcp data packet contains serveral  user protocol packet. . How is it splitter over to separate packet ?<br></blockquote><div><br></div><div>Hi,</div><div><br></div><div>    It&#39;s an application protocol level problem and it&#39;s application job to do this.</div>

<div><br></div><div>    This is also called TCP desegmentation or TCP reassembly. Take a look here:</div><div><br></div><div>    <a href="http://wiki.wireshark.org/TCP_Reassembly" target="_blank">http://wiki.wireshark.org/TCP_Reassembly</a></div>

<div><br></div><div>    Regards.</div></div><div><br></div>-- <br>Augusto Mecking Caringi
</div></div>
</div></blockquote></div></div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Augusto Mecking Caringi
</div></div>