一个 smol tcp/ip 堆栈

时间:2024-07-18 12:07:36
【文件属性】:

文件名称:一个 smol tcp/ip 堆栈

文件大小:261KB

文件格式:ZIP

更新时间:2024-07-18 12:07:36

embedded networking-stack

smoltcpsmoltcp是一个独立的、事件驱动的 TCP/IP 堆栈,专为裸机实时系统而设计。它的设计目标是简单和健壮。它的设计反目标包括复杂的编译时计算,例如宏或类型技巧,甚至以性能下降为代价。smoltcp并不需要在所有堆分配,被广泛记载,和稳定的锈1.40和更高编译。在环回模式下针对 Linux TCP 堆栈进行测试时,smoltcp实现了~Gbps 的吞吐量。特征smoltcp缺少许多广泛部署的功能,通常是因为还没有人实现它们。为了正确设置期望,列出了已实现和省略的功能。媒体层唯一支持的媒体是以太网。支持常规以太网 II 帧。支持单播、广播和组播数据包。支持ARP报文(包括无偿请求和回复)。ARP 请求的发送速率不超过每秒一个。缓存的 ARP 条目在一分钟后过期。不支持 802.3 帧和 802.1Q。不支持巨型帧。IP层IPv4生成并验证 IPv4 标头校验和。IPv4 生存时间值可针对每个套接字进行配置,默认设置为 64。支持 IPv4 默认网关。支持通过默认网关或 CIDR 路由表路由传出 IPv4 数据包。不支持 IPv4 分段。IPv4的不支持选项,并会被忽略。I


【文件预览】:
smoltcp-master
----.gitignore(26B)
----benches()
--------bench.rs(4KB)
----src()
--------iface()
--------wire()
--------storage()
--------time.rs(11KB)
--------phy()
--------macros.rs(2KB)
--------parsers.rs(23KB)
--------socket()
--------lib.rs(8KB)
----fuzz()
--------.gitignore(24B)
--------utils.rs(4KB)
--------fuzz_targets()
--------corpus()
--------Cargo.toml(606B)
----CODE_STYLE.md(2KB)
----CHANGELOG.md(6KB)
----Cargo.toml(3KB)
----.github()
--------workflows()
----utils()
--------packet2pcap.rs(2KB)
----examples()
--------loopback.rs(6KB)
--------multicast.rs(4KB)
--------utils.rs(7KB)
--------dhcp_client.rs(4KB)
--------ping.rs(10KB)
--------tcpdump.rs(731B)
--------server.rs(8KB)
--------client.rs(4KB)
--------httpclient.rs(5KB)
--------benchmark.rs(5KB)
----README.md(15KB)
----LICENSE-0BSD.txt(654B)

网友评论