网络编程
网络子系统提供 DNS、TCP、HTTP client 和 Runtime server。出站连接通过
NET_CONNECT/NET_REQUEST adapter,入站服务通过 CLI 参数启动。
出站流程
host selector -> DNS/IPv4 -> policy check -> TCP connect
-> HTTP request -> bounded response buffer -> close
NET_CONNECT (0x98):
RDI host selector, RSI port, RDX timeout_ms, RCX flags, R8 result selector
-> RAX socket index, R15 result code
flags bit 0 允许 DNS,bit 1 启用主机/端口白名单。白名单模式只接受端口 80 或 8080。HTTPS 不在 Runtime 内实现。
NET_REQUEST (0x99) 使用已有 socket;method 0=GET、1=POST,所有 path、body
和 output 都必须来自受管缓冲区。
服务端
默认与推荐绑定地址都是 127.0.0.1。公网部署必须在前置代理终止 TLS,并限制请求
大小和速率。
安全边界
- DNS transaction ID 必须匹配,截断或压缩指针越界必须拒绝。
- 每个网络缓冲区必须有 selector、当前长度和容量。
- 连接表恰好 16 槽;耗尽时返回错误,禁止覆盖活连接。
- HTTP body 上限为 1 MiB;服务端请求缓冲区上限为 64 KiB。
- 网络操作写入独立审计流。