随笔分类 -  linux tcp/ip

上一页 1 2 3 4 5 6 7 ··· 10 下一页
摘要:TCP发送端不能够清除SACK序号块确认的数据,因为接收端很可能由于内存压力等原因,删除乱序队列中SACK确认过的报文。 发送端重传队列中的报文只有在接收到ACK报文的Acknowledge序号字段确认之后,才能移除队列和释放。 接收端丢弃OFO报文 如下在检测的已用接收缓存大于套接口总的接收缓存s 阅读全文
posted @ 2024-02-24 22:01 codestacklinuxer 阅读(90) 评论(0) 推荐(0)
摘要:回看: rack分析 tcp拥塞控制一 主要看RTO超时、SACK、RACK等情况下的报文丢失判断 此次看的内核版本是linux-5.10 RTO超时标记丢失报文 在RTO超时处理中,tp_sk进入TCP_CA_Loss状态,由函数tcp_timeout_mark_lost标记套接口丢失报文。 /* 阅读全文
posted @ 2024-02-24 20:46 codestacklinuxer 阅读(577) 评论(0) 推荐(0)
摘要:rfc文档 Taming the elephants: New TCP slow start 标准的慢启动在长肥管道--带宽延迟乘积(BDP)较大网络环境下表现不好,不好的原因主要有两个: 1) 标准慢启动的拥塞窗口指数式的增长方式过于激进容易导致大量丢包,丢包恢复性能损耗太大。 2) 被优化过的慢 阅读全文
posted @ 2024-02-22 21:24 codestacklinuxer 阅读(265) 评论(0) 推荐(0)
摘要:BIC是binary increase congestion contrl的缩写。不同拥塞控制算法的核心差异其实都体现在拥塞避免阶段。过去reno拥塞控制算法的主要缺点是增cwnd采用的方式是累加的线性增窗(AI,additive increase)。线性增窗主要缺点是: 每经过一个RTO,cwnd 阅读全文
posted @ 2024-02-21 21:38 codestacklinuxer 阅读(1176) 评论(0) 推荐(0)
摘要:转载:https://github.com/leandromoreira/linux-network-performance-parameters Introduction Linux network queues overview Fitting the sysctl variables into 阅读全文
posted @ 2024-02-21 11:23 codestacklinuxer 阅读(106) 评论(0) 推荐(0)
摘要:转载自https://www.kawabangga.com/posts/5217 途中,每根竖线的高度可以理解为一次性发送的数据多少:第一个请求中(图中第一次升高),一开始慢慢发,越发越快,这是因为 TCP 要避免出现拥塞,所以在链接刚建立的时候会 slow start,慢慢发送,如果网络能接受,就 阅读全文
posted @ 2024-02-21 11:06 codestacklinuxer 阅读(126) 评论(0) 推荐(0)
摘要:TCP Tail Loss Probe(TLP) Early Retransmit机制解决了dupack较少,无法触发快速重传的问题。但是如果发生了尾丢包,由于尾包后面没有更多的数据包,也就没有办法触发任何的dupack。为解决这种尾丢包的问题,Google的几位大神提出了TLP算法。通过TLP算法 阅读全文
posted @ 2024-01-18 19:24 codestacklinuxer 阅读(240) 评论(0) 推荐(0)
摘要:UDP 在多网卡的情况下,可能会发生服务器端回复报文源地址不对的情况。目前这种情况在portal 对接ac的时候经常出现 所以问题就是:需要保存本次udp 请求的local ip remote ip IP_PKTINFO 这个选项就是让内核在 socket 中保存 IP 报文的信息,当然也包括了报文 阅读全文
posted @ 2024-01-17 15:17 codestacklinuxer 阅读(685) 评论(0) 推荐(0)
摘要:发送窗口、接收窗口和拥塞窗口 滑动窗口机制中涉及三个重要概念: 发送窗口 发送窗口是发送端在操作系统内开辟的一块缓冲区,用来存放当前需要发送的数据,也称为发送缓存。发送端使用发送窗口进行流量控制。 接收窗口(RWND,Receiver Window) 接收窗口是接收端在操作系统内开辟的一块缓冲区,设 阅读全文
posted @ 2023-08-24 21:37 codestacklinuxer 阅读(773) 评论(0) 推荐(0)
摘要:目前google 发布了tcp bbrv2+fixbug tcp bbrv3 目前说是 BBRv3 的数据包重传率降低了 12%,延迟也略有改善 Impact of BBRv3 vs BBRv1 on Google.com and YouTube TCP public Internet traffi 阅读全文
posted @ 2023-08-17 14:13 codestacklinuxer 阅读(795) 评论(0) 推荐(0)
摘要:4.2. Algorithm Organization The BBR algorithm is an event-driven algorithm that executes steps upon the following events: connection initialization, u 阅读全文
posted @ 2023-07-02 16:41 codestacklinuxer 阅读(169) 评论(0) 推荐(0)
摘要:brr 算法流程: bbr算是一个完全独立的拥塞算法,具有自己的拥塞状态机.tcp_cong_control函数已经被bbr_main函数接管了 static void tcp_cong_control(struct sock *sk, u32 ack, u32 acked_sacked, int 阅读全文
posted @ 2023-06-27 20:28 codestacklinuxer 阅读(501) 评论(0) 推荐(0)
摘要:Initialization Steps Upon transport connection initialization, BBR executes the following steps: BBRInit(): init_windowed_max_filter(filter=BBR.BtlBwF 阅读全文
posted @ 2023-06-26 17:26 codestacklinuxer 阅读(141) 评论(0) 推荐(0)
摘要:**Network Path Model** BBR is a model-based congestion control algorithm: its behavior is based on an explicit model of the network path over which a 阅读全文
posted @ 2023-06-26 11:28 codestacklinuxer 阅读(156) 评论(0) 推荐(0)
摘要:在查看google的BBR算法时,里面出现了一个 startup gain的推到过程: For simplicity, let RTT=1 unit of time. For smooth traffic to avoid queue pressure, we want the sending ra 阅读全文
posted @ 2023-06-20 20:18 codestacklinuxer 阅读(84) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2023-04-09 13:42 codestacklinuxer 阅读(107) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2023-04-09 00:58 codestacklinuxer 阅读(158) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2023-04-08 23:26 codestacklinuxer 阅读(228) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2023-04-08 22:26 codestacklinuxer 阅读(611) 评论(0) 推荐(0)
摘要:这是内核协议栈里面的一个发送窗口赋值代码 tp->snd_wnd = ntohs(th->window) << tp->rx_opt.snd_wscale; snd_wscale : 4, /* Window scaling received from sender */ rcv_wscale : 阅读全文
posted @ 2023-04-08 17:08 codestacklinuxer 阅读(175) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 ··· 10 下一页