WangFuJie Blog

路在脚下,心向远方

自制操作系统 - 本地回环地址与UDP协议

本地回环地址与UDP协议

回环地址为 127.0.0.1/8,表示本机地址,它是一个虚拟网卡设备,不经过真正的网卡,不发给 e1000。内核只需要“把包转一圈再返回协议栈即可。UDP协议是简单的数据报协议,目的是以最小的代价发送数据。

自制操作系统 - 套接字

套接字

在一切皆文件的理念中,套接字也属于文件系统。我们需要支持新的文件系统,因此需要虚拟文件系统统一管理。套接字是一套统一的编程接口,提供给用户态进行网络编程。在本文我们将实现数据包套接字和原始套接字,它们分别可用于接收发送以太网帧和IP数据局包。

自制操作系统 - IP协议与ICMP协议

IP协议与ICMP协议

IP是网络层协议,负责在网络中把数据从源主机传递到目标主机。ICMP是IP的上层协议,即传输层协议,ICMP协议一般多用于判断网络是否通常,常见于ping命令,本文将进行IP协议和ICMP协议的实现。

自制操作系统 - 以太网协议与ARP协议

以太网协议与ARP协议

有了虚拟网络设备后,就可以进行以太网协议的实现了。以太网接收到以太网帧后,需要根据以太网帧载体携带内容来判断如何解包,例如如果携带的是ARP协议,就需要进行ARP的请求或回复。本文将同时进行ARP协议的实现。

自制操作系统 - 网络协议与虚拟网络设备

网络协议与虚拟网络设备

虚拟网络设备指的是 netif_t, 它表示一个网络接口(Network Interface)的抽象结构体,用来表示一个网卡设备,无论是真实的。通过虚拟网络设备,可以实现本地回环地址。