TCP的写

2004年10月14日15:43:04
TCP的写一般都是立即返回,但数据不一定发送出去。
1)假如TCP的写返回错误,表示什么?
SIGPIPE-对等方reset连接(程序崩溃?是这样吗)

2)什么时候才真正的发送数据?
TCP的MMS在连接建立阶段协商,对于ethenet是1460.在TCP中的拥塞控制有两个窗口一个算法.

拥塞窗口:
    a.慢启动阶段SWS:此窗口以指数方式增大,每次增大一个MMS段.是为防止应用程序突发大量数据导致路由器缓冲溢出,而导致重传从而阻塞.
    b.预防阶段:当达到慢启动阀值时,该为线性增长.
此窗口在网络有段时间没数据时候可能减小?(是这样吗?)
发送窗口:
    由对方使用,在ACK消息中通知本方,目的是防止发送的数据超过对方缓冲区大小.

Nagel算法:
    要求在待发送队列中没有大于1个未收到ACK的小段.目的是防止应用发送一些列小段导致网络数据泛滥.结果是stack总以MMS大小发送数据?(是这样吗?),此算法在发送和接收端都有效.

setsockopt的选项

posted on 2004-10-14 15:51  embed  阅读(580)  评论(0编辑  收藏  举报

导航