- 博客(17)
- 资源 (117)
- 问答 (1)
- 收藏
- 关注
原创 【LWIP】AF_PACKET套接字分析
之前我们学习了原始套接字(SOCK_RAW),通过原始套接字可以越过传输层,直接在IP层进行数据的发送和接收。 通过原始套接字,可以构建自定义的IP包。其实,还有一种套接字比它更厉害,可以构建自定义以太网包–AF_PACKET套接字在SylixOS中, 使用socket(AF_PACKET, SOCK_RAW, ETHTYPE_*)创建的套接字可以接收链路层报文。 那为什么AF_PACKET协
2017-08-31 20:25:15 5320 2
原创 【LWIP】原始套接字(SOCK_RAW)
通常情况下我们接触到的套接字为两类: (1)字节流套接字(SOCK_STREAM):面向连接的socket套接字,用于TCP服务应用。 (2)数据包套接字(SOCK_DGRAM):无连接、不可靠的socket套接字,用于UDP服务应用。从用户的角度来看,SOCK_STREAM、SOCK_DGRAM 这两类套接字似乎的确涵盖了 TCP/IP 应用的全部,因为基于 TCP/IP 的应用,从协议栈的层次上讲,在传输层的确只可能建立于 TCP 或 UDP 协议之上,而 SOCK_STREAM、SOCK_D
2017-08-31 14:49:23 5024 5
原创 【LWIP】LWIP网络通信流程汇总
LWIP网络通信基本流程如下: 应用层和传输层之间如何通信。 应用层和协议栈(传输层、网络层、数据链路层)之间的通信属于进程间通信,在LWIP中,抽象出了socket的概念,即应用程序通过socket与协议栈进行通信,如下: 1.应用程序与TCP通信:socket(AF_INET, SOCK_STREAM, 0)); 2.应用程序与UDP通信:socket
2017-08-31 11:28:52 4481 2
原创 【LWIP】listen函数分析
索引:一个基本的socket建立顺序是Server端:socket(),bind(),listen(), accept(), recv(),recvfrom(),recvmsg()Client端:socket(), connect(), send(),sendto(),sendmsg()基础知识:LWIP通信邮箱,netconn结构体流程图:
2017-08-29 17:28:09 1521 1
原创 【LWIP】lwip_send,lwip_sendto,lwip_sendmsg函数分析
索引:一个基本的socket建立顺序是Server端:socket(),bind(), listen(), accept(), recv(),recvfrom(),recvmsg()Client端:socket(), connect(), send(),sendto(),sendmsg()基础知识:LWIP通信邮箱,netconn结构体流程图:
2017-08-29 17:27:24 6243 2
原创 【LWIP】connect函数分析
索引:一个基本的socket建立顺序是Server端:socket(),bind(), listen(), accept(), recv(),recvfrom(),recvmsg()Client端:socket(),connect(), send(),sendto(),sendmsg()基础知识:LWIP通信邮箱,netconn结构体流程图:
2017-08-29 17:27:16 4831 1
原创 【LWIP】recv,recvfrom,recvmsg函数分析
索引:一个基本的socket建立顺序是Server端:socket(),bind(), listen(), accept(),recv(),recvfrom(),recvmsg()Client端:socket(), connect(), send(),sendto(),sendmsg()基础知识:LWIP通信邮箱,netconn结构体流程图:
2017-08-29 17:27:06 4267 1
原创 【LWIP】accept函数分析
索引:一个基本的socket建立顺序是Server端:socket(),bind(), listen(),accept(), recv(),recvfrom(),recvmsg()Client端:socket(), connect(), send(),sendto(),sendmsg()基础知识:LWIP通信邮箱,netconn结构体流程图:
2017-08-29 17:27:00 2527 2
原创 【LWIP】bind函数分析
索引:一个基本的socket建立顺序是Server端:socket(),bind(), listen(), accept(), recv()Client端:socket(), connect(), send()基础知识:LWIP通信邮箱,netconn结构体流程图:
2017-08-29 10:40:10 1624 1
原创 【LWIP】socket函数分析
索引:一个基本的socket建立顺序是Server端:socket()bind()listen()accept()recv()Client端:socket()connect()send()本文着重介绍Server端的socket()过程。用户使用socket时,首先会调用socket()函数创建一个socket。在lwip中实际调用的就是lwip_s
2017-08-28 20:36:14 4462
原创 【LWIP】netconn结构体及其接口分析
在学习LWIP socket接口的时候,发现了netconn结构体的使用特别频繁,socket的API接口大部分使用了netconn结构体,决定对netconn结构体进行分析。netconn结构体/** Netconn 描述符 */struct netconn { enum netconn_type type; /** netconn 类型 (TCP, UDP or RAW
2017-08-28 17:42:08 5263 1
原创 【LWIP】LWIP通信邮箱
索引:LWIP通信邮箱netconn结构体一般情况下,在使用 LWIP 的嵌入式系统中都会有操作系统的支持,而在操作系统中信号量和邮箱往往是最基本的进程通信机制了。将lwip移植到不同的平台主要包括两个部分工作:....MAC+PHY层移植,包括初始化、数据的收发;....应用层框架移植,如操作系统层的线程创建、定时器、消息邮箱;Sy
2017-08-28 14:14:42 3401 2
原创 【LWIP】tcpip_input函数解析(协议栈入口)
索引:(*input)() ->tcpip_input() -> ethernet_input()-> ip_input()调用流程:当网卡收到数据后,调用数据帧接收函数进行数据帧的接收,最后通过(*input)()函数传至协议栈(实际是netif->input,有一层封装)。在添加网络接口时将netif->input()指向tcpip_input函数,即:网络协议栈入
2017-08-26 15:15:07 5872 9
原创 【LWIP】pbuf_realloc函数分析
调用流程:ip4_input函数接收到数据包后,获取IP报头并分析,若获取的IP报文长度小于pbuf总长度,调用pbuf_realloc函数缩减一个pbuf链到希望的长度。函数简析:缩减一个pbuf链到希望的长度。根据所期望的长度,链中的前几个pbufs可能跳过并保持不变,链中的最后一个pbuf将调整大小,剩余的pbufs将被释放。具体分析: (在源
2017-08-17 10:16:51 1347 2
转载 【LWIP】RAW原始套接字
通常情况下程序员接所接触到的套接字(Socket)为两类: (1)流式套接字(SOCK_STREAM):一种面向连接的 Socket,针对于面向连接的TCP 服务应用; (2)数据报式套接字(SOCK_DGRAM):一种无连接的 Socket,对应于无连接的 UDP 服务应用。 从用户的角度来看,SOCK_STREAM、SOCK_DGRAM 这两类套接字似乎的确涵盖了
2017-08-15 13:56:17 704
转载 网络 -- http,socket,tcp/ip 网络传输与通讯知识总结
什么是TCP和UDP,以及二者区别是什么? TCP的全称为传输控制协议。这种协议可以提供面向连接的、可靠的、点到点的通信。 UDP全称为用户数据报协议,它可以提供非连接的不可靠的点到多点的通信。 使用TCP还是UDP,那要看你的程序注重哪一个方面,可靠(tcp)还是快速(udp)。 TCP/IP 建立连接的过程 手机能够使用联网功能是因为手机底层实现了TCP/I
2017-08-08 09:33:33 621
原创 【LWIP】Ip4_input函数分析
注意:1.LwIP 仅实现了 IP 层大部分的基本功能,能够发送、接收以及转发信息包,但是不能接 收和发送 IP 分片包,也不能处理携带 IP 参数选项的信息包。不过对大多数的应用来说,这 不会引起任何问题。
2017-08-03 10:16:41 1882 2
strace-4.11源代码下载
2022-02-08
mtd-utils.tar.bz2
2021-11-24
hdparm-9.60.tar.gz
2021-08-18
Source Insight 4.0.0085-4.0.0086.zip
2021-08-13
stream_5.10.tar.gz
2021-02-24
iperf-2.0.9-win64.rar
2021-02-21
ARM 串口中断问题 一直进串口中断出不来
2016-08-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人