Inside Linux TCP stack: Overview
Inside Linux TCP stack: Overview
Inside Linux TCP stack: Overview
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Create new connections<br />
tcp_v4_do_rcv()<br />
tcp_rcv_state_process()<br />
tcp_v4_conn_request()<br />
基本检查: SEG 长度,校验和<br />
如果处于 LISTEN 状态,继续处理<br />
如果是 LISTEN 状态,就检查输入 SEG 是否设置 ACK/RST 位,<br />
如果有就丢包<br />
如果有 SYN ,就继续处理,否则,就丢包<br />
拒绝广播/组播SEG<br />
检查 request ,或者处于半连接状态( accepting )的连接是否太多。<br />
创建一个新的 request 结构,解析输入 SEG 的 <strong>TCP</strong> options<br />
将连接的基本信息记入 request 结构<br />
根据是否使用 SYN cookie ,计算 ISN<br />
发送 SYN/ACK<br />
将 request 加入到 request queue 中<br />
SYN_RECV?<br />
Server: SYN / SYN-ACK