Commit Graph

21 Commits

Author SHA1 Message Date
impact-eintr
5a9042d890 tcp可靠性实现 抄了一堆东西 信息量太大了 看不过来 2022-12-13 16:17:57 +08:00
impact-eintr
be9e2e53e4 使用logger尝试控制日志输出级别 2022-12-09 09:29:44 +08:00
impact-eintr
b576c7e261 fix bugs:udp write之前需要检查其状态 prepareWrite() 2022-12-05 10:12:46 +08:00
impact-eintr
2d9434d260 fix bug: udp write 提供了对外封装的Write()
表现为一个阻塞操作,如果本地arp缓存失效,就会重新发起一次arp广播,更新目标ip地址的MAC 更新后将再次尝试写数据
2022-12-02 21:59:13 +08:00
impact-eintr
050d5fec97 udp基本写完了 关于socket的不少细节还没看 另外在网络栈静置一段时间后再次发起连接将无法找到路由 2022-12-02 21:11:41 +08:00
impact-eintr
be40f904fc udp通信的Connect 和 Read 结束 明天看Waiter 这相当于linux内核的事件驱动机制
当有某种事件就绪后通知waiter 监听着waiter的监听者就能通过waiter得知事件已经发生 从而不再阻塞
2022-12-01 22:36:40 +08:00
impact-eintr
3d8ca3c0c8 尝试整个网络代理 以netstack为代理服务器,想实现网络通信的server调用特殊的api代理,要如何避开内核网络栈呢? 2022-11-30 18:38:50 +08:00
impact-eintr
7b3086540d wsl code edit 2022-11-30 11:31:44 +08:00
impact-eintr
365aebc353 端口编码、测试结束
网络协议号:传输层协议号:端口 这就是一个端口 一个端口可以绑定多个网络层地址 ipv4-tcp-9999:{192.168.1.1, 172.176.10.1}
也可以绑定空值 表示 0.0.0.0:9999 本机的所有网卡的所有ip的9999端口都为 tcp/udp 所占用
所有目标端口是9999的数据都会流向这个绑定了9999端口的传输层实现
2022-11-29 20:05:29 +08:00
impact-eintr
8a047726ca 端口管理器 和 传输层 基础框架 2022-11-28 20:51:26 +08:00
impact-eintr
5e317b273a ICMP实现 ip数据报分片机制还未实现 2022-11-27 20:34:34 +08:00
impact-eintr
386afff633 链路层实现 接下来实现网络层 2022-11-26 19:49:41 +08:00
impact-eintr
d9c0633bf5 arp基本实现 创建一个网卡对象并绑定到ip1 网卡收到一个arp报文 链路层分发给arp网络端实现 arp到本地缓存中查找 该网卡是否绑定过目标ip地址ip1 没有直接放弃 有就新建一个源与目标逆置并添加了该网卡MAC的arp报文 并包装给链路层 2022-11-26 18:52:11 +08:00
impact-eintr
331b8bd3dd 向网络层写入数据后 需要使用arp协议(网络层协议)来找到目标主机地址 下一步实现arp 2022-11-26 10:46:37 +08:00
impact-eintr
2312813aac 网卡对象 绑定IP地址 然后向网卡对象写入数据 数据中将包含dst和src 2022-11-25 19:25:54 +08:00
impact-eintr
4589d971fd NIC 对象绑定IP还未实现完成 明天继续 2022-11-24 21:32:04 +08:00
impact-eintr
e51d8ea721 处理sleep的链接问题 2022-11-24 19:35:26 +08:00
impact-eintr
03c0e5427f 这个仓库代码量太大了 以读为主 不写了 2021-10-15 19:17:11 +08:00
impact-eintr
91012e5685 google永远的神 2021-09-08 21:54:54 +08:00
impact-eintr
a5683465e8 侵入式双向链表 2021-09-07 21:52:00 +08:00
impact-eintr
e02fb492fd google永远的神 2021-09-06 21:54:27 +08:00