动手写个网络协议栈吧
文章平均质量分 71
gVisor的网络栈源码学习,来自蓝桥
EINTR
Talk is cheap. Show me the code.
展开
-
动手写个网络协议栈吧2.1 一个侵入式链表的实现
链表以及golang介入式链表的实现 链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而顺序表相应的时间复杂度分别是O(logn)和O(1)。 简单的说链表是一个具有逻辑顺序的线性表,每一个节点里存到下一个节点的指针。 链表有啥用? 因为链表插入很原创 2021-09-07 21:03:35 · 128 阅读 · 0 评论 -
动手写个网络协议栈吧 1 基本背景
TCPIP 和开放系统互连(OSI)模型 本节先简单介绍互联网的发展史,然后讲解 TCPIP 和开放系统互连(OSI)模型,最后会介绍一下用户态协议栈的整体框架。 计算机互联网发展史 最开始的时候计算机是单独运算的,一般有一个大型主机放在那里,然后可以多个终端连接一个主机进行操作。那时候美国国防部认为,如果仅有一个集中的军事指挥中心,万一这个中心被原苏联摧毁,全国的军事指挥将处于瘫痪状态,其后果将不堪设想,因此有必要设计这样一个分散的指挥系统,它由一个个分散的指挥点组成,当部分指挥点被摧毁后其它点仍能正常工原创 2021-09-05 17:51:29 · 655 阅读 · 0 评论