上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 64 下一页
摘要: struct tcp_sock {//在 inet_connection_sock 基础上增加了 滑动窗口 拥塞控制算法等tcp 专有 属性 /* inet_connection_sock has to be the first member of tcp_sock */ struct inet_c 阅读全文
posted @ 2021-11-20 00:15 codestacklinuxer 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 转载来自:https://www.cnblogs.com/lshs/p/6113061.html 阅读全文
posted @ 2021-11-19 19:17 codestacklinuxer 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 一、RACK概述 RACK(Recent ACKnowledgment)是一种新的基于时间的丢包探测算法,RACK的目的是取代传统的基于dupthresh门限的各种快速重传及其变种。前面介绍的各种基于dup ACK的快速重传算法及其变种通过修改dupthresh门限等手段,有些可以迅速的探测到丢包, 阅读全文
posted @ 2021-11-19 19:06 codestacklinuxer 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 查看之前的blog:浅析sack dsack检测 根据RFC 2883,DSACK的处理流程如下: 1)look at the first SACK block : —If the first SACK block is covered by the Cumulative Acknowledgeme 阅读全文
posted @ 2021-11-19 19:01 codestacklinuxer 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 概念 由于网络乱序到达等原因,导致RTO超时重传,但是实际上包没有被丢弃,也就是说RTO超时是一次误判,称为虚假的重传超时(Spurious retransmission timeouts),比如RTT突然增加,比如链路的变更,或是带宽的竞争,或是链路本身rtt波动较大如无线,这些都有可能触发虚假R 阅读全文
posted @ 2021-11-19 18:49 codestacklinuxer 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 拥塞控制状态处理 /* open状态: open状态是常态, 这种状态下tcp 发送放通过优化后的快速路径来接收处理ack,当一个ack到达时, 发送方根据拥塞窗口是小于还是大于 满启动阈值, 按照慢启动或者拥塞避免来增大拥塞窗口 disorder 状态: 当发送方收到 DACK 或者SACK的时候 阅读全文
posted @ 2021-11-19 18:48 codestacklinuxer 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 拥塞窗口的调整撤销 很多网络不支持ECN,所以追踪丢失包时需要推测。重新排序(reordering)对于发送方来说通常是一个问题,因为它不能分清缺失的ACK是由于丢失还是被延迟了,所以TCP可能会做出错误的判断,不必要的调整了拥塞窗口。这时就需要一种对错误的拥塞调整做出修正的机制——拥塞窗口调整撤销 阅读全文
posted @ 2021-11-18 21:37 codestacklinuxer 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 核心: 标记正在传输、已经确认段、 已经重传段,然后调整拥塞窗口以及重传算法达到最优传输! enum tcp_ca_state { TCP_CA_Open = 0, #define TCPF_CA_Open (1<<TCP_CA_Open) TCP_CA_Disorder = 1, #define 阅读全文
posted @ 2021-11-18 14:15 codestacklinuxer 阅读(441) 评论(0) 推荐(0) 编辑
摘要: 之前做过关于 sack dsack相关笔记:tcp dsack 其实关于sack的不好之处 也是比较明显的:在一定程度上来说,SACK可能就像DOS攻击一样,每次遍历都要消耗大量CPU,时间复杂度为O(n^2),n为packets in flight的数量。 SACK Advantages Rece 阅读全文
posted @ 2021-11-16 20:35 codestacklinuxer 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 上一篇文章疑惑地方是:udp bind 同一个port 是否可行?以及如何查找sk 管理skbbuff 此时疑惑的是:udp没有bind 一个ip:port 去connect 会发生什么,connect 后发出send 调用呢?此过程中涉及到的ip port 如何填充呢? 如果socket没有con 阅读全文
posted @ 2021-11-15 19:07 codestacklinuxer 阅读(338) 评论(0) 推荐(0) 编辑
上一页 1 ··· 25 26 27 28 29 30 31 32 33 ··· 64 下一页