Commit Graph

25 Commits

Author SHA1 Message Date
impact-eintr
1e7321ec92 抄了一遍reno算法 慢启动还是没找到在哪里实现了成倍增长 2022-12-20 16:34:24 +08:00
impact-eintr
c2dccc5c49 慢启动 倍速增长在哪里实现的? 2022-12-19 18:40:12 +08:00
impact-eintr
7c7b745482 reno算法 快速重传 2022-12-19 16:50:48 +08:00
impact-eintr
9fa4a0b87f 开始研究拥塞算法 2022-12-19 12:39:28 +08:00
impact-eintr
682299e895 keepalive 成功解决 ZWP 问题 当接收端不理发送端的时候 每 idleTime 就会重发一个询问报文 2022-12-17 19:02:24 +08:00
impact-eintr
cca8ccd914 明天实现 keepalive 来解决发送端的 零窗口问题 2022-12-16 20:11:06 +08:00
impact-eintr
1c11c2ed4c 是时候该了解什么是keepalive了 2022-12-16 19:49:07 +08:00
impact-eintr
81839177f6 Sleep Waker 这两个库写得好啊 通过注册事件 让事件发生与事件处理变成异步过程 2022-12-16 18:38:05 +08:00
impact-eintr
479afd0737 终于知道怎么调试了 显示发送端的snd 和 接收端的 rcv即可 同时让应用层延迟读或者不读 就可以看到非常明显的窗口滑动 2022-12-16 15:55:25 +08:00
impact-eintr
407f4c0b42 发送接收窗可视化Debug 2022-12-16 12:23:30 +08:00
impact-eintr
56a6639730 可视化发送端滑动窗口 2022-12-15 19:49:54 +08:00
impact-eintr
f1d0311303 拆分测试主函数 2022-12-15 18:22:05 +08:00
impact-eintr
eb69911120 亿脸懵逼 2022-12-15 17:55:09 +08:00
impact-eintr
971eaa8e6d 加下来看滑动窗口的流程 2022-12-14 23:24:26 +08:00
impact-eintr
7f3002f5bc 数据没有截取已消费头部 导致了bug 已经修复 2022-12-14 22:22:48 +08:00
impact-eintr
57fcf28f83 好难好难好难 窗口控制失效 主要表现为 segment.data.Size() 在 cap操作后进入下个循环时恢复初始值 截取失败 2022-12-14 21:45:51 +08:00
impact-eintr
0b6ffaa995 数据发了65536 但是其他数据怎么办 还有对端怎么收到了却不打印? 2022-12-13 18:53:48 +08:00
impact-eintr
5a9042d890 tcp可靠性实现 抄了一堆东西 信息量太大了 看不过来 2022-12-13 16:17:57 +08:00
impact-eintr
fb578a6f9e FIXBUG 没有清理sender.writeNext 导致客户端又发送了一次 ack|fin 2022-12-13 10:26:14 +08:00
impact-eintr
07fb40bb6a FIXME!!! 为什么客户端会重复发送 fin|ack 2022-12-12 20:33:50 +08:00
impact-eintr
5324cb00cd tcp太痛苦了 功能好多流程还都杂糅在一起 2022-12-09 18:57:51 +08:00
impact-eintr
e287d86855 先写四次挥手 我已经预感到前面是什么修罗场了。。。 2022-12-09 12:00:42 +08:00
impact-eintr
9a46ec9db5 可以把协议栈读到的数据发给用户层应用了! 下一步把用户层应用的数据写给客户端 2022-12-08 18:39:11 +08:00
impact-eintr
de9a9295b5 issues1 2022-12-07 19:43:27 +08:00
impact-eintr
5ca7a1858b 哇...tcp真的好复杂
目前网络层分发了数据包到tcp端,tcp的handlepacket把数据存到一个队列中并提醒事件驱动机制来取数据
取到数据后先进行一个解析 确认他是一个SYN包 然后解析SYN的相关选项
对于合法的数据包 开启一个goroutine去执行三次握手的第二步:返回确认包 TODO 返回确认包的实现
2022-12-06 18:02:18 +08:00