嵌入式Internet中Nagle算法及其应用研究
2014-09-25王宝宝余世明王振宇
王宝宝,余世明,王振宇
(浙江工业大学信息工程学院,杭州 310023)
嵌入式Internet中Nagle算法及其应用研究
王宝宝,余世明,王振宇
(浙江工业大学信息工程学院,杭州 310023)
嵌入式Internet中使用短帧数据包,使得网络带宽的利用率极低,拥塞发生的可能性加大。标准transmission control protocol(TCP)协议中应用Nagle算法减少短帧数量。通过ARM7 32位micro control unit(MCU)和上位机personal computer(PC)构建嵌入式Internet网络,分析Nagle算法的原理和工作机制。针对嵌入式系统中Nagle算法和上位机延迟确认策略交互产生的暂时性“死锁”问题,提出了在不修改Nagle算法的基础上,通过提高采样频率或者填充缓冲区的方法来避免暂时性“死锁”。测试表明,该方案是有效可行的。
Nagle算法;死锁;延迟确认策略;ARM7;嵌入式Internet
1 前言
随着计算机网络技术的迅速发展和嵌入式系统的广泛应用,越来越多的嵌入式设备需要接入Internet,以实现远程数据采集、远程监控、自动报警等功能[1],因此嵌入式Internet技术应运而生。由于其结合了嵌入式技术和Internet技术的优点,具有稳定性好、实时性强、数据传输速率高、成本低廉等特点,因此,近年来已取得了飞速发展和广泛的应用[2]。
嵌入式Internet技术的关键是在嵌入式系统中移植transmission control protocol(TCP)/IP协议栈[3]。嵌入式系统一般是基于8位、16位或者32位micro control unit(MCU)来实现,硬件资源无法与personal computer(PC)相比,所以嵌入式系统中移植的TCP/IP协议栈一般是经过简化处理的。TCP协议作为TCP/IP协议栈中最重要也是最复杂的协议,在移植的过程中,一般只是实现其基本的通信机制,如连接的建立与关闭机制、超时重传机制、数据包确认机制等[4],而忽略了其丰富的拥塞控制算法。……
