一 写作目的
在嵌入式开发中,网络功能,特别是tcp通讯是非常重要且常见的功能。工作这么多年,中间陆陆续续有看过网络这块的理论知识,也做了很多的项目,但是感觉处于会用而不精通的地步。今年有时间,打算把网络这块系统地梳理学习下,并文字记录。后续篇幅更新原则如下:
- 力求描述详细,清晰
- 带入自己思考,结合过往工作经验进行拓展
二 大纲介绍
篇一 网络通讯基础
1.以太网基础
- 历史、速率、拓扑、以太网帧结构
- MAC 地址、广播/单播、多播机制
- 网络参数:IP、子网掩码、网关、DNS
2.OSI 七层模型 & TCP/IP 四层模型
- 每层功能、典型协议、典型设备
- 路由器、交换机工作原理(物理 vs 二层 vs 三层)
3.网络硬件接口
- PHY、MAC、RJ45、MDIO、MII/RMII、千兆GMII/RGMII
- 传输介质、电气标准(差分对、阻抗、变压器耦合)
- 常见 PHY 芯片(LAN8720、DP83848、KSZ8081 等)
4.wireshark抓包工具
- 使用,过滤语法
篇二 TCP/UDP通讯详解
5.TCP,UDP通讯协议细节
- 帧格式介绍
- TCP三次握手,四次挥手
- 拥塞控制,重传机制,窗口滑动
6.socket网络编程
- 客户端/服务器模型
- 多连接问题(select/poll/thread)
- 粘包拆包问题及处理方案
- 超时设置与异常处理机制
篇三 嵌入式网络协议栈lwip
7.LWIP协议栈结构
- 常用嵌入式协议栈介绍
- lwip协议栈初始化流程,接口调用netif、dhcp、tcpip_thread
- pbuf管理机制(RAM,POOL)
- 发送流程
- 接收流程
8.LWIP三种编程接口对比
- raw API
- netconn
- socket
篇四 常用应用层协议与安全机制
9.DHCP动态获取IP原理
10.ARP协议与攻击
- ARP请求响应过程
- ARP欺骗攻击原理与检测方法
11.DNS域名解析
12.TCP端口扫描与防火墙机制
- 黑名单过滤
- 只监听特定端口