第4章 RL-TCPnet网络协议栈简介
本章节介绍RL-TCPnet网络协议栈,让大家对 RL-TCPnet有一个整体的了解,RL-TCPnet是一款小型网络协议栈,适用于 ARM 内核和 Cortex-M 内核的设备。
4.1 初学者重要提示
4.2 RL-TCPnet特色
4.3 RL-TCPnet规格
4.4 RL-TCPnet性能
4.5 RL-TCPnet内存需求
4.6 选择RL-TCPnet的优势
4.7 总结
4.1 初学者重要提示
本章节主要是为大家介绍RL-TCPnet的特色、规格、性能和内存需求,让大家有一个整体的认识,不太理解没有关系,后面章节会逐一讲解。
4.2 RL-TCPnet特色
1、作为小型的网络协议栈,功能全面。
2、物理层支持以太网,PPP和SLIP。
3、内存空间需求小,实际大小取决于用户使用的协议和实现的应用。
4、高性能,速度快,专为MCU而做。
5、支持裸机或者带OS。
6、有专门的调试版本,调试bug极其方便。
7、免版权费。
8、简单易操作,有专门的功能配置向导。
免版税
RL-TCPnet的免版税是建立在购买了正版MDK-Professional的基础之上,详情请看:
http://www.keil.com/rl-arm/rl_license.asp
4.3 RL-TCPnet规格
规格 | |
应用 | |
HTTP Server (web server) | 支持 |
Dynamic HTML and web-based forms with CGI scripting | 支持 |
HTTP File Upload via standard web browser | 支持 |
External file download | 支持 |
Web page caching | 支持 |
Remote host filtering | 支持 |
Multipacket POST processing | 支持 |
Silverlight hosting | 支持 |
Java URL checking | 支持 |
Ajax Support (asynchronous and dynamic updates) | 支持 |
SOAP (Simple Object Access Protocol) | 支持 |
Telnet Server (text-based interface) | 支持 |
Server Unsolicited Message Interface | 支持 |
FTP Server (file transfer) | 支持 |
TFTP Server (trivial file transfer) | 支持 |
SMTP Client (email) | 支持 |
User authentication | 支持 |
DNS Client (IP address resolution) | 支持 |
Automatic DNS Server configuration for PPP | 支持 |
SNMP Agent (controls system settings and peripherals) | 支持 |
Configurable Community Name | 支持 |
Max MIB objects in SNMP message | 20个对象 |
接口 | |
TCP Socket | 支持 |
Multiple TCP/IP Connections | 支持 |
TCP/IP Sliding Window Flow Control | 支持 |
UDP Socket | 支持 |
Multiple UDP Connections | 支持 |
UDP Datagram Multicasting | 支持 |
Ethernet | 支持 |
User authentication | 支持 |
PPP (Point to Point Protocol) | 支持 |
SLIP (Serial Line IP) | 支持 |
4.4 RL-TCPnet性能
测试条件:
1、基于 Cortex-M3 的MCU以 96MHz,100Mbps 全双工运行。
2、使用 CMSIS 兼容的以太网驱动程序。
测试数据如下:
性能 | UDP | TCP | ||
数据包大小(字节) | 数据包/秒 | KB/秒 | 数据包/秒 | KB/秒 |
10 | 19,790 | 176 | 7,540 | 74 |
200 | 21,370 | 4,164 | 6,450 | 1,272 |
400 | 17,490 | 6,820 | 5,600 | 2,202 |
600 | 14,230 | 8,330 | 4,730 | 2,782 |
800 | 11,950 | 9,360 | 4,210 | 3,300 |
1,000 | 10,370 | 10,090 | 3,736 | 3,652 |
1,200 | 9,120 | 10,670 | 3,322 | 3,894 |
1,400 | 8,140 | 11,130 | 3,082 | 4,215 |
4.5 RL-TCPnet内存要求
测试条件:
1、所有示例内存大小均基于 Cortex-M3内核MCU获得。
2、内核 RAM 大小包括一个用作数据包缓冲区的 8KB 内存池。
3、该系统配置为最低要求,并且没有用户应用程序代码。
测试数据如下:
Applications | Code Size (KBytes) | RAM Size (KBytes) |
HTTP Server | 6.6 | 0.3 |
DNS Resolver | 1.4 | 0.3 |
FTP Server | 4.7 | 0.1 |
TFTP Server | 1.3 | 0.1 |
SMTP Client | 1.7 | 0.1 |
SNMP Agent | 2.5 | 0.1 |
Telnet Server | 2.4 | 0.4 |
BSD Socket API | 3.4 | 0.1 |
TCP/IP Sockets | Code Size (KBytes) | RAM Size (KBytes) |
UDP Sockets | 0.9 | 0.1 |
TCP Sockets | 4.0 | 0.1 |
Connections | Code Size (KBytes) | RAM Size (KBytes) |
Ethernet | ||
Core (ARP, IP, DHCP, ICMP, IGMP, NBNS) | 7.0 | 8.5 |
Driver LPC17xx | 1.2 | 10.9 |
Driver LM3S | 0.5 | 0 |
PPP | ||
Core (PPP, LCP, IPCP, PAP, IP, ICMP) | 7.3 | 8.3 |
Drivers (Modem + Serial) | 1.0 | 0.7 |
SLIP | ||
Core (PPP, IP, ICMP) | 2.9 | 8.3 |
Drivers (Modem + Serial) | 1.0 | 0.7 |
4.6 选择RL-TCPnet的优势
完整网络套件 -TCP/IP 网络套件为传输协议(如 TCP/IP 和 UDP)以及应用程序级服务器和客户端(包括 HTTP、Telnet、SMTP、SNMP、FTP 等)提供全面的支持。
灵活的内存占用空间 - TCP/IP 网络套件经过优化,适合基于 MCU 的系统,占用空间小。实际占用大小取决于用户的应用程序。
易于使用 – 通过 TCP/IP 网络套件提供的配置向导,让工程配置极其简单易用。
独立操作 – 支持裸机和带OS两种方式,可以与任何其它RTOS配合使用。
源代码 - 可以源代码形式提供 TCP/IP 网络套件,这对于需要源代码进行产品认证的情况会很有用。
可伸缩性- 应用程序易于设计、维护和扩展。
免版税- TCP/IP 网络套件是免版税的。获得了使用许可后,用户可以装备使用 TCP/IP 网络套件创建的产品,而且无需支付其他费用或产生后续成本。
调试方便 –RL-TCPnet提供了超好用的调试版本,调试bug非常方便。
4.7 总结
本章节就为大家讲解这么多,主要目的是想让大家对 RL-TCPnet网络协议栈有一个整体的认识,从下一章我们就开始正式的进入RL-TCPnet网络协议栈的学习。