新闻中心

EEPW首页 > 测试测量 > 设计应用 > 基于以太网和DTMF编解码的远程家居控制器

基于以太网和DTMF编解码的远程家居控制器

作者: 时间:2014-04-14 来源:网络 收藏

本文引用地址:https://www.eepw.com.cn/article/259128.htm

2.3 TCP/IP协议栈

由于该嵌入式 Web 服务器硬件结构简单,硬件资源,特别是系统程序存储空间容量有限,所以我们在该系统中采用了精简 TCP/IP 协议栈,系统在应用层实现了HTTP 超文本传输协议,在传输层采用 TCP 协议,在网络层实现 IP 协议,同时还实现能报告数据传送差错等情况的 ICMP 协议。数据的传输采用 MAC 地址来识别,而ARP协议提供 IP 地址和数据链路层使用的MAC地址之间的转换功能,为了保证系统在的通信,实现了ARP协议。

本设计中的精简 TCP/IP 协议具有同 TCP/IP 协议一样的四层结构,各层实现的功能如下:

①链路层。设计中通过接入到 Internet,因此物理层和数据链路层要符合以太网的 IEEE802.3 标准。ENC28J60向上层软件提供与硬件无关的接口,最终完成了数据在以太网中的接收和发送。因此,设计中物理层与数据链路层的设计是通过 ENC28J60硬件和驱动程序共同实现的。

②网络层实现了 ARP协议、ICMP协议和 IP协议。ARP是地址解析协议,具体处理过程是当接收到 ARP数据包,处理器就查看 IP地址是请求还是响应。如果是响应,则将响应中的网卡地址存到 ARP 高速缓存表中;如果是请求,处理器将返回自己的网卡物理地址给对方。ICMP 是调试响应 PING 的请求,检测网路是否通顺。依照系统实际应用的要求,IP协议只需实现对数据报传送和接收,无须实现路由选择算法和差错控制,同时也不需支持IP数据报的分片和重组。

③传输层实现 TCP 协议。TCP 协议是面向连接的、端对端的可靠通信协议。设计中采取了 TCP 连接的建立与关闭机制、超时重传机制、数据包确认机制、流量控制机制来保证

它的可靠性。在超时重传机制中,如果超时重传定时器溢出后还没有收到确认,则重传该数据包,并复位重传定时器。为简单起见,程序里每次只发送一个 TCP 数据包,然后等待它的确认,只有收到确认后才会继续发送下面的 TCP 数据包。在本设计,程序重传的间隔时间是固定的,没有采用 TCP 协议中的标准算法,当达到一定的次数后,发送方还没有收到确认,则会放弃该包的发送并关闭 TCP 连接。TCP 的流量控制是为了协调通信双方的收发速率不均衡而设计的。设计中考虑到系统在使用 TCP协议时,只设置了一个中等 IP包大小接收缓存,因此接收窗口恒定设为 1024。这样远端主机就会以较慢的传输速率与本端的 Web服务器进行通信,不会导致死机。

④应用层实现了 HTTP 协议。HTTP 是在 Web 服务器和浏览器之间通信的协议。为了简化,设计中采用固定的 HTTP报文头封装 HTTP应答数据报文。在响应 HTTP 请求时,由于以太网数据包的数据部分不能超过 1500 字节,因此当发送数据超过 1500 字节,需要分组发送。



评论


相关推荐

技术专区

关闭