摘要:# -*- coding: UTF-8 -*- from scapy.layers.inet import IP, ICMP, TCP from scapy.layers.l2 import Ether import sys import logging logging.getLogger("sca
阅读全文
摘要:TFO的fast open标志体现在TCP报文的头部的OPTION字段 开启 echo 3 > /proc/sys/net/ipv4/tcp_fastopen # 1 开启客户端,2 开启服务端,3 都开启 tc qdisc add dev lo root netem delay 300ms # 设
阅读全文
摘要:性能检测工具安装 # curl -O http://downloads.es.net/pub/iperf/iperf-3.0.6.tar.gz # tar axf iperf-3.0.6.tar.gz # cd iperf-3.0.6 # ./bootstrap.sh # ./configure #
阅读全文
摘要:转载 https://zhuanlan.zhihu.com/p/59400622 TCP/IP怎么就这么多队列啊?今天我们就来细看一下TCP/IP的几个队列,包括建立连接时的半连接队列(sync),全连接队列(accept)和接收报文时的receive、outoforder、prequeue以及ba
阅读全文
摘要:prequeue 在linux内核中,每一个网络数据包,都被切分为一个个的skb,这些skb先被内核接收,然后投递到对应的进程处理,进程把skb拷贝到本tcp连接的sk_receive_queue中,然后应答ack。以往的内核处理这些skb的时候,是直接通过内核调度的,有数据来了,就进行进程调度,这
阅读全文
摘要:root@ubuntu:~/c++# cat /proc/sys/net/ipv4/tcp_mtu_probing 0 root@ubuntu:~/c++# int val = 1; setsockopt(sd, IPPROTO_IP, IP_DONTFRAG, &val, sizeof(val))
阅读全文
摘要:Linux ICMP消息的产生与转换 ICMP在IP系统间传递差错和管理报文,是任何IP系统必须实现的组成部分。Linux 2.6.34中ICMP模块的实现在linux/icmp.h,net/icmp.h和ipv4/icmp.c中,导出了icmp_err_convert数组和icmp_send函数,
阅读全文
摘要:Linux 内核关于 MSS 实现的细节 Linux 内核在tcp_sock这个数据结构中保存与 MSS 有关的信息。 struct tcp_sock{ // code omitted struct tcp_options_received rx_opt; { // code omitted...
阅读全文
摘要:在 CUBIC 之上又有个优化,叫做 Proportional Rate Reduction (PRR),用以让 CUBIC 这种算法在遇到丢包时候能更快的恢复到当前 CWND 正常值,而不过分的降低到过低的水平。 参考:draft-mathis-tcpm-proportional-rate-red
阅读全文
摘要:TCP_NOTSENT_LOWAT 更改 tcp_notsent_lowat 为 16384(16K)可以优化 web 速度。 #添加值 echo "net.ipv4.tcp_notsent_lowat = 16384" >> /etc/sysctl.conf #查看是否成功 sysctl net.
阅读全文