自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 资源 (1)
  • 收藏
  • 关注

原创 LwIP从入门到放弃之(七)---用户数据协议UDP

IP协议提供了在各个主机之间传送数据报的功能,但是各个主机并不是数据的最终目的地,数据的最终目的地应该是主机上某个特定的应用程序。而来执行这个操作的便是我们的传输层协议,典型的传输层协议包括UDP和TCP。这章主要介绍UDP协议,它有着很高的传输速率,在局域网环境或者视频播放领域有着广泛的作用。1. 背景知识1.1 UDP协议UDP称为用户数据报协议,是一种无连接的、不可靠的传输协议,它只在低级程度上实现了上述的传输层功能。UDP只是简单地完成数据从一个进程到另一个进程的交付,它没有提供任何流量控制机

2021-03-26 16:45:07 1827

原创 LwIP从入门到放弃之(六)---网际协议IP

欲穷千里目,更上一层楼!感谢各位读者的喜爱,你们的支持就是我不断更新的动力。IP时整个TCP/IP协议的核心,传输层协议,如UDP和TCP都需要IP来提供服务。常见的广域路由器就工作在IP层,他们负责将IP数据包从源主机送至目的主机,主机间通过IP地址来实现的。IP协议的基础知识我这里就不做过多讲解,直接从IP数据包开始。1. 数据包1.1 数据包组成结构在以太网中,IP数据包和ARP报文都是封装在以太网数据帧中发送的,IP数据包通常由两部分组成,即IP首部和数据。见下图:第一个字段是4bit

2021-03-25 14:11:10 530

原创 LwIP从入门到放弃之(五)---ARP协议

网络上讲ARP协议的很多,我这篇文章不打算再普及ARP的基本概念,不了解ARP是什么的,可以去网络上搜寻一些资料。我这里介绍的是ARP协议在LwIP中的具体实现。我们都知道,网络通讯需要知道对方主机的IP地址,但是这个是针对网络层而言的,真正数据包的发送需要通过物理层的硬件信号发送出去,而底层的数据链路有着一套寻址机制,物理层中通过48位MAC地址来表示不同的网络通讯设备,而ARP协议的作用就是讲IP地址转换为目标主机对应的MAC地址。1. ARP表ARP协议的核心在于ARP缓存表,ARP的实质就是对

2021-03-23 19:53:53 742

原创 Lwip从入门到放弃之(四)---网络接口管理

对网络接口的有效管理,是协议栈能与外部进行通信的关键。我们把网络接口管理描述成链路层的部分,它旨在对具体网络硬件、软件进行统一的封装,并未IP层提供统一的接口服务。为了实现对这些接口的管理,LwIP会为每一个接口分配一个netif结构,这个结构用来描述每种接口的特性,例如接口IP地址,接口状态等。内核会将所有的网络接口组织在一个叫做netif_list的链表上,当有IP数据包需要发送时,IP层会根据数据包的IP地址,在netif_list上选择一个最合适的网络接口,并调用其注册的数据包发送函数,将数据包发

2021-03-16 16:51:41 1035

原创 LwIP从入门到放弃之(三)---数据包管理

LwIP从入门到放弃之—数据包管理(三)我一开始看LwIP协议栈的时候,发现pbuf这个数据类型出现的非常频繁,我就感觉这个数据类型肯定不一般。现在终于知道,pbuf是描述和管理数据包的结构,在整个协议栈中是非常重要的部分。其实,协议栈的本质就是各层对数据包的处理。在数据链路层,判断数据包的类型、提取数据包的数据字段、记录物理地址信息;IP层根据数据包中的IP地址进行数据存储、转发;TCP使用数据包中的信息更新TCP状态机,并向应用层提交程序等等。上述所有操作过程都与数据包操作密切相关。数据包结构

2021-03-12 10:07:13 971

原创 LwIP从入门到放弃之(二)---动态内存管理

无论在哪种系统中,动态内存管理都是一个非常重要的机制,尤其是在LwIP这种需要处理大量数据的协议栈中,显得尤为重要。本章的内容主要介绍在LwIP中两种最基本的内存管理方式:动态内存池管理和动态内存堆管理。1. 常见的内存分配策略第一种:系统规定用户在申请内存的时候,申请大小为4、8、16之类的固定值。如下图所示,系统将所有可用区域按照固定大小为单位进行划分,然后用一个简单的链表连接起来。由于所有链表的节点大小相同,所以分配的时候,不需要查找,直接取出第一个节点中的空间分配给用户;同样,内存释放也很简单,

2021-03-11 10:21:55 1151

原创 Lwip从入门到放弃之(一)---基础网络知识扫盲

Lwip从入门到放弃之—基础网络知识扫盲(一)由于工作中用到了有关Lwip的有关知识,本人作为一个网络通信协议的门外汉,打算系统的学习一下以太网通讯的有关知识。而Lwip作为一款开源的轻量级TCP/IP协议栈,在嵌入式设备领域有着广泛的应用。1.什么是Lwip?Lwip作为一款主要应用于嵌入式领域的开源TCP/IP协议栈,除了实现基本的TCP/IP功能之外,还能支持DNS、SNMP、DHCP、IGMP等高级应用。初此之外,在嵌入式设备RAM和ROM资源有限的情况下,Lwip有自己的一套独特的内存管理机

2021-03-10 10:45:26 7441 5

原创 初学者使用VS code,编译的时候,遇到PrelunchTask终止,退出代码为1

可以看一下你的源文件的路径是不是有中文或者空格。本人亲历,吐学分享~~~

2021-01-22 13:55:12 545

lwip-2.1.2.rar

LwIP协议栈最新版本,2.1.2,欢迎下载。

2021-03-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除