Gannicus Guo的DIY TCP/IP 连载目录

该专栏描述本人自己动手写的一个简化的TCP/IP协议。经测试该协议可以运行在Ubuntu 16.10 x86_64 操作系统用户空间。便于描述,将该TCP/IP协议称为DIY TCP/IP 。专栏内容包括DIY TCP/IP实现的可行性分析,依赖的编程接口,ARP数据帧的收发,ICMP Echo (PING)数据帧的收发,简单的基于ARP表的IP路由,局域网内IP数据帧的收发,IP数据帧的分片,IP分片的重组,TCP数据帧的收发,TCP连接状态机,以及TCP滑动窗口的实的实现,等全部内容。方便感兴趣的朋友参考并自己动手实现。
DIY TCP/IP 第一阶段的最后一篇连载已经发出,第一阶段的连载目录如下。

目录
1. 可行性分析
2. DIY TCP/IP软件架构
3. 自己动手实现
4. 从0开始
4.1 pcap_open_live库函数
4.2 pcap_compile & pcap_setfilter库函数
4.3 pcap_loop库函数
4.4 pcap_breakloop库函数
4.5 接收链路层数据帧
4.6 Makfile
4.7 小结
5. 网络设备模块的实现
5.1 网络设备结构体
5.2 初始化模块
5.3 网络设备模块的接收队列
5.3.1 接收线程
5.3.2 链表和队列的实现
5.3.3 网络设备模块数据帧
5.3.4 接收队列
5.4 网络设备模块的发送队列
5.4.1 发送线程
5.4.2 发送队列
5.5 Log分级打印
5.6 小结
6. pdbuf模块的实现
6.1 协议头部数据结构
6.2 pdbuf数据结构
6.3 pdbuf模块的函数接口
6.4 小结
7. ARP模块的实现
7.1 ARP Request和ARP Reply的帧结构
7.2 接收ARP Request数据帧
7.3 发送ARP Reply
7.4 ARP表的实现
7.5 小结
8. IP模块和ICMP模块的实现
8.1 IP头部结构和ICMP头部结构
8.2 IP数据帧的接收
8.3 ICMP数据帧的接收
8.4 ICMP数据帧的发送
8.5 IP数据帧的发送
8.6 IP分片
8.7 IP分片的接收
8.8 IP分片的发送
8.9 小结
9. TCP模块的实现
9.1 TCP头部结构
9.2 TCP伪头部与TCP校验和
9.3 TCP数据帧的接收
9.4 TCP连接的初始化
9.5 TCP连接状态机的实现
9.6 TCP三步握手的实现1
9.7 TCP三步握手的实现2
9.8 TCP三步握手的实现3
9.9 TCP滑动窗口的实现1
9.10 TCP滑动窗口的实现2
9.11 TCP滑动窗口的实现3
9.12 TCP滑动窗口的实现4

Gannicus Guo的DIY TCP/IP 连载目录相关推荐

  1. Gannicus Guo的DIY TCP/IP之旅

    Gannicus Guo的DIY TCP/IP之旅,描述本人自己动手写的一个简化的TCP/IP协议.经测试该协议可以运行在Ubuntu 16.10 x86_64 操作系统用户空间.便于描述,将该TCP ...

  2. DIY TCP/IP IP模块和ICMP模块的实现2

    上一篇:DIY TCP/IP IP模块和ICMP模块的实现1 本节在8.2节的基础上扩展icmp_recv函数,检验接收到的ICMP数据帧的校验和,解析ICMP数据帧头部的type字段,根据ICMP数 ...

  3. DIY TCP/IP IP模块和ICMP模块的实现1

    上一篇:DIY TCP/IP IP模块和ICMP模块的实现0 8.2 IP数据帧的接收 本节实现DIY TCP/IP的IP数据帧的接收,6.1节介绍pdbuf模块时已经引入了IP头部结构体的定义,ip ...

  4. DIY TCP/IP TCP模块的实现9

    上一篇:DIY TCP/IP TCP模块的实现8 9.11 TCP滑动窗口的实现3 9.10节的DIY TCP/IP已经可以正确接收TCP数据帧了.9.10节只是解析一下收到的TCP数据帧携带的数据长 ...

  5. TCP/IP 详解(第 2 版) 笔记 / 目录

    参考文献:Richard_Stevens-TCP-IP_Illustrated-EN 1 导言 1.1 架构原则 1.1.1 分组数据包, 连接, 数据报 1.1.2 End-to-End Argum ...

  6. 网络协议OSI、TCP/IP协议、Socket套接字和第三方AsyncSock的使用等解析

    一.网络协议定义 1.OSI参考模型:全称(Open System Interconnection), 开放式系统互联参考模型.是一个逻辑上的定义,一个规范,它把网络协议从逻辑上分为七层,只要目的是为 ...

  7. OSI七层 TCP/IP四层 TCP/IP协议栈: 不同的通信协议的大集合

    应用层: 网络服务与最终用户的一个接口. 协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP 表示层: 数据的表示.安全.压缩.(在五层模型里 ...

  8. 手把手教你 Socket 通信(TCP/IP)

    本文将给出完整 Socket 通信代码,在 eclipse 中亲测有效.在Android Studio中用Java开发也是一样的,只是把代码和控件搭配一下,注册监听就好. 网络上的两个程序通过一个双向 ...

  9. 走近TCP/IP协议

    转载,来自:[url]http://pfw.sky.net.cn/article/4695.html[/url] 走近TCP/IP协议 1.TCP/IP是什么? TCP/IP协议(Transmissi ...

最新文章

  1. Redis系列四:redis支持的数据类型
  2. armadillo 配置
  3. 【MySQL】在Windows下更改datadir
  4. ap计算机科学4分还要再考吗,CB官方发布2020年AP计算机科学考试(CSA)的细节:考试时间/考试题型/备考资料/评分标准/考前建议...
  5. merge函数_c语言中的merge函数
  6. Java静态方法与非静态方法的泛型
  7. php和js哪个更像C语言,js和php存在着什么区别
  8. javaweb成长之路:SSM框架搭建
  9. DoTween插件使用
  10. 数字地球与计算机技术联系,数字地球与地球空间信息科学的关系
  11. 环境猫室内监测仪——您的空气智能管家
  12. C++ reverse()函数用法详解(深入了解,一文学会)
  13. 实现10进制转换为2进制
  14. 调用百度地图Api,定位到大西洋的问题
  15. 锐起游戏共享精灵XP(转)
  16. cc1101 高级驱动程序
  17. vue sku没库存置灰
  18. 单片机方波da转换c语言程序,基于51单片机的波形发生器DA转换(dac0832)
  19. 性能测试方法详解(验收性能、负载、压力、配置、并发、可靠性、失败恢复)
  20. Android 自定义手势键盘

热门文章

  1. MMPBSA结合自由能计算原理
  2. airtest-poco获取元素属性值attr
  3. xss编码绕过详解(更像是在介绍实体编码和JS编码的解析过程)
  4. python 字符的编码
  5. 简单了解WBS(工作分解结构)
  6. PHPWAMP安装Redis扩展的方式与相关扩展的下载
  7. 软件测试面试题:数据库大厂面试真题
  8. PMP-项目管理知识体系概述
  9. LeetCode T36 Valid Sudoku
  10. CPU和Memory压力测试方法