摘要:enum { /* * Description of States: * * TCP_SYN_SENT sent a connection request, waiting for ack * * TCP_SYN_RECV received a connection request, sent ac
阅读全文
随笔分类 - Linux TCP/IP
摘要:enum { /* * Description of States: * * TCP_SYN_SENT sent a connection request, waiting for ack * * TCP_SYN_RECV received a connection request, sent ac
阅读全文
摘要:/* * TCP Westwood+: end-to-end bandwidth estimation for TCP * * Angelo Dell'Aera: author of the first version of TCP Westwood+ in Linux 2.4 * * Suppor
阅读全文
摘要:1 /* 2 * TCP CUBIC: Binary Increase Congestion control for TCP v2.3 3 * Home page: 4 * http://netsrv.csc.ncsu.edu/twiki/bin/view/Main/BIC 5 * This is
阅读全文
摘要:TCP发送方的窗口可以划分成四个部分:1、已经发送并且确认的TCP段;2、已经发送但是没有确认的TCP段;3、未发送但是接收方准备接收的TCP段,4、未发送并且接收方也为准备接受的TCP段。第3部分是可用窗口,长度为snd_una + snd_wnd - snd_nxt。第2部分和第3部分合并起来,...
阅读全文
摘要:之前对于TCP接收过程中的三个队列的关系之前没搞清楚。这几天,在同事邱的帮助下,终于把关系理清了,故特此做个笔记。一、在软中断中加入数据包tcp_v4_rcv()函数是tcp层收包的入口。1615 int tcp_v4_rcv(struct sk_buff *skb)1616 {1617 ...
阅读全文
摘要:一、带宽估计TCP的带宽估计主要通过拥塞控制算法实现,用到两个变量:1、cwnd TCP对当前链路可用带宽的估计2、ssthreash 拥塞控制算法“假想”出来的可用带宽值二、丢包恢复丢包有三种情况:1、连续收到三个重复的ack2、sack和fack3、RTO超时,标记链路中所有数据包丢失
阅读全文
|