随笔分类 -  linux tcp/ip

上一页 1 2 3 4 5 6 ··· 10 下一页
摘要:SYN handling for PAWS. and SYN+ACK for simultaneous connect /* Does PAWS and seqno based validation of an incoming segment, flags will * play signific 阅读全文
posted @ 2024-10-08 16:54 codestacklinuxer 阅读(11) 评论(0) 推荐(0)
摘要:tcp_sock结构: 1、 urg_data成员,其高8bit为urgent data的接收状态;其低8位为保存的1BYTE urgent数据。urgent data的接收状态对应的宏的含义描述: #defineTCP_URG_VALID 0x0100/*urgent data已经读到了tcp_s 阅读全文
posted @ 2024-06-11 15:17 codestacklinuxer 阅读(72) 评论(0) 推荐(0)
摘要:keep sk->sk_forward_alloc as small as possible patch。!!! 预分配缓存额度sk_forward_alloc与发送缓存队列统计sk_wmem_queued一同用于计算当前套接口所占用的内存量。sk_forward_alloc属于为套接口预分配,所以 阅读全文
posted @ 2024-06-07 00:13 codestacklinuxer 阅读(105) 评论(0) 推荐(0)
摘要:当 TCP 收到乱序数据包时,它会立即发送一个 SACK(选择确认)数据包,这会产生网络负载,同时迫使接收方发送 1-MSS 的病态数据包,增加其重传(RTX)队列的长度/深度,从而增加处理时间。 WiFi 网络会受到这种激进行为的影响,但一般来说,当网络拥塞时,这些 SACK 数据包会火上浇油,使 阅读全文
posted @ 2024-06-05 13:49 codestacklinuxer 阅读(133) 评论(0) 推荐(0)
摘要:目前tcp协议栈在收到0窗口的情况下,没有处理fin报文。导致出现了drop 这个fin报文。 所以需要添加处理fin逻辑。将fin skb送到queue队列处理即可,反正也会执行tcp_prune_queue 合并逻辑 阅读全文
posted @ 2024-06-03 17:12 codestacklinuxer 阅读(13) 评论(0) 推荐(0)
摘要:之前在做waf并发压力测试的时候,遇到一个问题,仪器测试正常,但是真实环境测试超时丢包的验证的时候,并发cps都很低。 查看cat /proc/net/netstat发现OfoPruned 对应值很大,看内核代码才发现,内存不够或rmem超过sk_rcvbuf,就会私房ofo队列,还是全部释放。当时 阅读全文
posted @ 2024-06-01 22:55 codestacklinuxer 阅读(41) 评论(0) 推荐(0)
摘要:1、当 TCP 在存在丢包率为 1% 到 10% 的环境中运行时,可能会交换许多 SACK 块。在发送方繁忙时,如果这些 SACK 块必须排队进入套接字积压队列,我们可以丢弃它们。 主要原因是 RACK/SACK 处理性能不佳,我们可以尝试避免这些宝贵信息的丢弃,这些信息的丢失会导致错误的超时和重传 阅读全文
posted @ 2024-06-01 22:55 codestacklinuxer 阅读(72) 评论(0) 推荐(0)
摘要:今天看tcp ip kernel的时候发现了一个ICSK_ACK_NOW 标志为,分析一下缘由 每次调用 tcp_enter_quickack_mode 时,都会重置与交互会话相关的状态,这会影响对实际交互会话的跟踪和检测。 In several cases in the TCP code we w 阅读全文
posted @ 2024-05-31 17:46 codestacklinuxer 阅读(40) 评论(0) 推荐(0)
摘要:在测试radius 性能时,想到一个问题,以前tcp报文在ip层处理时,涉及到路由查找, 对于tcp协议报文;skb中没有路由缓存,没有关联的sock;且非分片报文;ip_early_demux设置为true;则调用early_demux函数提前在IP层做established状态的sock查找,并 阅读全文
posted @ 2024-05-31 14:59 codestacklinuxer 阅读(100) 评论(0) 推荐(0)
摘要:转载自:https://perthcharles.github.io/2015/10/31/wiki-network-tcp-early-retrans/ Early Retransmit(ER)机制的提出主要解决的是在某些特定场景下,没有足够的dupack触发fast retransmit造成的问 阅读全文
posted @ 2024-04-20 23:01 codestacklinuxer 阅读(90) 评论(0) 推荐(0)
摘要:docker 默认 bridge 排查容器网络问题笔记 怎样根据容器名称找到接口 方法一: ip addr | grep -A 1 "^$(docker exec <容器名称或ID> cat /sys/class/net/eth0/iflink):" 方案2 #!/bin/bash get_veth 阅读全文
posted @ 2024-04-20 14:34 codestacklinuxer 阅读(62) 评论(0) 推荐(0)
摘要:利用 ebpf sockmap/redirection 提升 socket 性能(2020) 转自:https://arthurchiao.art/blog/socket-acceleration-with-ebpf-zh/ 译者序 本文翻译自 2020 年的一篇英文博客 How to use eB 阅读全文
posted @ 2024-04-11 15:52 codestacklinuxer 阅读(332) 评论(0) 推荐(0)
摘要:从系统cache中查看 tcp_metrics itemip tcp_metrics show tcp_metrics会记录下之前已关闭TCP连接的状态,包括发送端CWND和ssthresh,如果之前网络有一段时间比较差或者丢包比较严重,就会导致TCP的ssthresh降低到一个很低的值,这个值在连 阅读全文
posted @ 2024-04-07 20:13 codestacklinuxer 阅读(125) 评论(0) 推荐(0)
摘要:参考:https://lwn.net/Articles/731133/ 参考:https://www.cnblogs.com/codestack/p/13947183.html 参考:https://www.cnblogs.com/codestack/p/12723229.html BPF_PROG 阅读全文
posted @ 2024-04-03 21:16 codestacklinuxer 阅读(177) 评论(0) 推荐(1)
摘要:TCP Fast Open定义 TCP Fast Open(TFO)是用来加速连续TCP连接的数据交互的TCP协议扩展,原理如下:在TCP三次握手的过程中,当用户首次访问Server时,发送SYN包,Server根据用户IP生成Cookie(已加密),并与SYN-ACK一同发回Client;当Cli 阅读全文
posted @ 2024-04-03 16:09 codestacklinuxer 阅读(720) 评论(0) 推荐(0)
摘要:TCP发送端不能够清除SACK序号块确认的数据,因为接收端很可能由于内存压力等原因,删除乱序队列中SACK确认过的报文。 发送端重传队列中的报文只有在接收到ACK报文的Acknowledge序号字段确认之后,才能移除队列和释放。 接收端丢弃OFO报文 如下在检测的已用接收缓存大于套接口总的接收缓存s 阅读全文
posted @ 2024-02-24 22:01 codestacklinuxer 阅读(84) 评论(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 阅读(558) 评论(0) 推荐(0)
摘要:rfc文档 Taming the elephants: New TCP slow start 标准的慢启动在长肥管道--带宽延迟乘积(BDP)较大网络环境下表现不好,不好的原因主要有两个: 1) 标准慢启动的拥塞窗口指数式的增长方式过于激进容易导致大量丢包,丢包恢复性能损耗太大。 2) 被优化过的慢 阅读全文
posted @ 2024-02-22 21:24 codestacklinuxer 阅读(250) 评论(0) 推荐(0)
摘要:BIC是binary increase congestion contrl的缩写。不同拥塞控制算法的核心差异其实都体现在拥塞避免阶段。过去reno拥塞控制算法的主要缺点是增cwnd采用的方式是累加的线性增窗(AI,additive increase)。线性增窗主要缺点是: 每经过一个RTO,cwnd 阅读全文
posted @ 2024-02-21 21:38 codestacklinuxer 阅读(1126) 评论(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 阅读(97) 评论(0) 推荐(0)

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