LWIP协议栈
文章平均质量分 87
期待小胖子
这个作者很懒,什么都没留下…
展开
-
STM32以太网之站管理接口
STM32芯片自带以太网模块,该模块包括带专用 DMA 控制器的 MAC 802.3(介质访问控制)。它支持介质独立接口(MII) 和简化介质独立接口 (RMII),并通过一个选择位在两个接口间进行切换(请参见SYSCFG_PMC 寄存器)。自带了一个用于外部 PHY 通信的 SMI 接口,通过一组配置寄存器,用户可以为 MAC 控制器和 DMA 控制器选择所需模式和功能。DMA 控制器通过 AHB 主从接口与内核和存储器相连。AHB 主接口用于控制数据传输,而AHB 从接口则用于访问“...原创 2022-03-30 22:34:29 · 3604 阅读 · 0 评论 -
ARP协议简介
MAC 地址的基本概念MAC Address(Media Access Control Address),亦称为 EHA(Ethernet Hardware Address)、硬件地址、物理地址(Physical Address)。MAC 地址就是在媒体接入层上使用的地址,也叫物理地址、硬件地址或链路地址,其被固化在网卡的 ROM 中。可见 MAC 地址实际上就是网卡地址或网卡标识符。某台计算机网卡上的标识符就成为该计算机的 MAC 地址。MAC 地址长度为 6 字节(48 比特),其前 3 个字节表示原创 2022-03-09 17:39:39 · 6901 阅读 · 0 评论 -
LWIP/TCPIP糊涂窗口综合症
TCP协议栈基于滑动窗口动态调整机制进行流量控制会导致一种被称为“糊涂窗口综合症SWS (Silly WindowSyndrome)"的状况。当TCP接收方通告了一个小窗口,并且TCP发送方立即发送数据填充该小窗口时,糊涂窗口综合症SWS (Silly WindowSyndrome)就会发生。糊涂窗口综合症能够导致网络性能严重下降。当TCP的双方都是以小窗口通告和小报文段发送来实现通信,会使TCP数据流包含很多非常小的报文段,而不是满长度的报文段;而小单元报文段中IP首...原创 2021-08-09 23:46:59 · 1277 阅读 · 0 评论 -
如何调整TCP拥塞控制的性能
当接收主机的处理能力不足时,是通过滑动窗口来减缓对方的发送速度。我们看一看当网络处理能力不足时又该如何优化 TCP 的性能?如果阅读过 TCP 协议相关的书籍,一定看到过慢启动、拥塞控制等,若对这些概念不是很理解,请参考文章TCPIP------慢启动与拥塞避免。当我们理解了拥塞控制的工作原理,就可以在内核的 TCP 层,提升所有进程的网络性能。比如,2013 年谷歌把初始拥塞窗口从 3 个 MSS(最大报文长度)左右提升到 10 个 MSS,将 Web 站点的网络性能提升了 10% 以上,而有些高速 C原创 2021-06-22 21:00:47 · 1038 阅读 · 2 评论 -
TCPIP协议------快速重传与快速恢复
前面介绍过,在收到一个失序的报文段时,该报文段会被挂接到ooseg队列上,同时向发送端返回一个ACK(期待的下一个字节),很明显,这个ACK一定是个重复的ACK,且这个重复的ACK被发送出去的时候不会有任何延迟。接收端利用该重复的ACK,目的在于让对方知道收到一个失序的报文段,并告诉对方自己希望收到的序号。但是在发送方看来,它不可能知道一个重复的ACK是由一个丢失的报文段引起的,还是由于仅仅出现了几个报文段的重新排序引起。因此我们需要等待少量重复的ACK到来。假如这只是一些报文段的重新排序,则在重新排序原创 2020-12-15 11:18:33 · 1177 阅读 · 0 评论 -
TCPIP------慢启动与拥塞避免
如果阅读过 TCP 协议相关的书籍,一定看到过慢启动、拥塞控制等名词。这些概念似乎离应用开发者很远,然而,如果没有拥塞控制,整个网络将会锁死,所有消息都无法传输。当接收主机的处理能力不足时,是通过滑动窗口来减缓对方的发送速度。当网络处理能力不足时TCP又是如何处理的 。 假如按照滑动窗口的讨论,只要接收方的读缓冲区足够大,就可以通过报文中的接收窗口,要求对方更快地发送数据;既发送方一开始便可以向网络发送多个报文段,直至达到接收方通告的窗口大小为止。当发送方和接收方处于同一个...原创 2020-11-17 20:07:52 · 1143 阅读 · 0 评论 -
TCPIP-------超时与重传
TCP是可靠的传输层协议,但这并不意味着发送端发送的数据一定可以到达接收端,因为传输过程中遇到的情况是不可控的,在TCP两端交互过程中,数据和确认的报文都有可能丢失,因此在发送端引入超时和重传机制可以很好的解决报文丢失问题。其基本原理:TCP通过在发送端为每个发送出去的报文设置一个超时定时器,当定时器溢出时还没有收到确认报文,它就重传该数据。对任何TCP协议实现而言,怎样决定超时间隔和如何确定重传的方式是提高TCP性能的关键,如何设置这个定时器的时间(RTO),从而保证对网络资源最小的浪费。...原创 2020-11-17 00:35:11 · 1526 阅读 · 0 评论 -
LwIP协议栈——网络接口管理
最近做的项目涉及到网络协议及应用,准备写文档用于记录一下自己学习过程。我在公司的做产品是无人机编队及基站开发,在整个系统中,我主要负责设备端(无人机,基站)网络通讯这块的软件开发。网络通讯采用4G转以太网和wifi,这两种通讯并不是采用的串口透传,而是采用驱动加上TCP/IP网络协议栈(lwip)。文档主要讨论TCPIP技术,内容参考了TCPIP详解、老衲五木(朱升林)的微博,朱老师写的微博让我...原创 2019-08-14 16:43:14 · 2225 阅读 · 0 评论