4682|0

269

帖子

0

资源

一粒金砂(中级)

【RT-Thread读书笔记】网络框架 [复制链接]

对于嵌入式网络通信,平时较少接触。这一次学习了本书的最后一章--网络框架,现总结如下。

TCP/IP协议

TCP/IP是一个协议族的统称,包含IP协议、ICMP协议、TCP协议以及http、ftp、pop3、https等协议。

TCP/IP参考模型为一个抽象的分层模型。包含应用层、传输层、网络层、网络接口层。它将软件通信过程抽象化为四个抽象层,采取协议堆栈的方式,分别实现出不同通信协议。协议族下的各种协议,依其功能不同,被分别归属到这四个层次结构之中,常被视为是简化的七层OSI模型。OSI参考模型并没有提供一个可以实现的方法,而是描述了一些概念,用来协调进程间通信标准的制定。

IP地址和子网掩码

网络通信中必定会涉及到IP地址。我们平时手动配置电脑的网络时,也会指定IP地址和子网掩码。以前对这两个东西没什么概念,现经过学习,总结如下。

目前我们常用的IP地址为32位,即IPV4。对于CIDR地址,IP地址被一分为二。前面是网络号,后面是主机号。如192.168.1.123/24,这里斜杠后面的24表示:在32位地址中,前24位表示网络号,剩余后8位表示主机号。对应的子网掩码前24位为1,后8位为0,即255.255.255.0。 将子网掩码与IP地址进行按位与操作,得到192.168.1.0,这就是网络号。

RT-Thread网络框架

RT-Thread提供了一套SAL(套接字抽象层)组件,该组件完成对不同网络协议栈或网络实现接口的抽象并对上层提供一组标准的 BSD Socket API,这样开发者只需要关心和使用网络应用层提供的网络接口,而无需关心底层具体网络协议栈类型和实现,极大的提高了系统的兼容性,方便开发者完成协议栈的适配和网络相关的开发。 SAL网络框架结构如下图: sal_frame.jpg 该组件除了提供多协议栈接入与接口函数统一抽象功能外,还具有TLS加密传输功能。

SAL网络框架的使用

网络框架主要包含三部分。

一是网络协议簇的注册。首先调用sal_init()函数完成网络组件资源的初始化,然后通过sal_proto_family_register()将使用的协议簇注册到SAL中。

二是网络数据的发送。以LwIP为例,系统会创建tcpip线程、erx接收线程、etx发送线程。应用程序通过sal_recv()接口接收数据。数据接收函数调用流程参见P295。

三是网络数据的发送。应用程序通过调用sal_send()接口将数据交给tcpip线程,以完成数据的发送。数据发送函数调用流程参见P296。

总结

这里仅对RT-Thread的网络框架的学习进行了简单的总结,具体应用如TCP 、UDP socket通信编程,书中有相应介绍。更多信息建议查阅官网文档。

此内容由EEWORLD论坛网友jj1989原创,如需转载或用于商业用途需征得作者同意并注明出处

回复
您需要登录后才可以回帖 登录 | 注册

最新文章 更多>>
    关闭
    站长推荐上一条 1/6 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表