WangFuJie Blog

路在脚下,心向远方

自制操作系统 - TCP协议

TCP协议

TCP提供可靠的字节流而设计的协议,,它有很多机制:连接机制、确认重传、滑动窗口、拥塞控制等,实现也非常复杂,我们本文将大致的介绍TCP协议以及一些实现。

自制操作系统 - 本地回环地址与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协议的实现。