impact-eintr
|
7a7c5649a3
|
添加了对tcp新建连接的理解 ListenLoop只用于处理新连接
|
2022-12-08 10:29:16 +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
|
c7c7374bbd
|
分片机制的单元测试 手动创建了两个ip报文分片 IP层从链路层获取这两个报文的时候会把它们合并成一个ip报文 这里我们不会继续分发给传输层
而是直接写回 将这个完整的ip报文整个包装 虽然这样在fdbase测试会触发错误(超过了1518),但在channel中并没有这个限制 测试通过 成功合并
|
2022-11-28 15:56:21 +08:00 |
|
impact-eintr
|
cd0d9492a0
|
分片机制开始实现 大致是使用了一个map管理+小根堆自动排序实现的
|
2022-11-28 11:31:46 +08:00 |
|
impact-eintr
|
553a16f655
|
ip报文的分片机制 解析中 学得胃疼。。。
|
2022-11-27 22:44:41 +08:00 |
|
impact-eintr
|
5e317b273a
|
ICMP实现 ip数据报分片机制还未实现
|
2022-11-27 20:34:34 +08:00 |
|
impact-eintr
|
5947778dfa
|
网络层的一些头文件 除去ipv4相关的 都是一些我不准备看的代码 直接复制了
|
2022-11-27 17:24:14 +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
|
20b5b3415a
|
arp报文定义与基本介绍
|
2022-11-26 11:38:03 +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
|
8f1e045cfc
|
fdbased test
|
2022-11-23 15:41:57 +08:00 |
|
impact-eintr
|
990a0c2901
|
fdbased endpoint
|
2022-11-23 11:31:21 +08:00 |
|
impact-eintr
|
ff4cde9809
|
tuntap test
|
2022-11-22 15:04:29 +08:00 |
|
impact-eintr
|
03c0e5427f
|
这个仓库代码量太大了 以读为主 不写了
|
2021-10-15 19:17:11 +08:00 |
|
impact-eintr
|
628ab11d65
|
链路层
|
2021-09-20 18:43:27 +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 |
|
impact-eintr
|
b851ceba7f
|
google永远的神
|
2021-09-05 21:53:52 +08:00 |
|
impact-eintr
|
0a08ba8692
|
google永远的神
|
2021-09-03 21:50:49 +08:00 |
|
impact-eintr
|
b208476302
|
tcp
|
2021-09-03 11:48:39 +08:00 |
|