文档介绍:网络通讯
陈天洲、陈文智
TCP/IP协议简介
TCP/IP协议是一套把因特网上的各种系统互连起来的协议组,保证因特网上数据的准确快速传输
参考开放系统互连(OSI)模型,TCP/IP通常采用一种简化的四层模型:
应用层
传输层
网络层
链路层
TCP协议的实现
TCP协议是面向连接的、端对端的可靠通信协议。
它采用了许多机制来保证可靠传输,应用于嵌入式系统显得过于复杂
TCP协议数据传输可分为三个阶段:建立连接、传输数据和断开连接。
它的实现过程可以用状态机来描述。
TCP连接建立
建立连接有两种方法,即主动打开和被动打开
服务器端是一种被动打开,它一直在侦听连接请求
而客户端是一种主动打开,它发送连接请求以建立连接。
TCP连接断开
断开连接有两种方式:一是主动断开连接;另一是被动断开连接
被动断开连接的处理较为简单,但标准TCP协议的主动断开连接的状态机部分过于复杂。
经过实验发现,在需要主动断开连接的时候,发送一个Fin数据报;接收到对Fin数据报的确认后,再发送一个Reset数据报,即可顺利完成一次主动断开连接。
标准的TCP协议使用慢启动的滑动窗口机制
IP协议
IP协议是TCP/IP的基础
为不同网络的主机之间发送数据报的操作序列提供无连接服务
通过在数据报前添加IP协议头,使每个数据报具有寻址能力。
嵌入式系统只把IP作为传输工具,进行简化以完成主要的操作
其它协议
ARP协议为32位IP地址到对应的48位以太网地址之间提供动态映射。
嵌入式系统中仅响应ARP请求,发送ARP回答包。
请求者广播出包含ARP请求的以太帧、目的以太网地址为全1的广播地址。本机收到后,由目的IP地址发现自己是目的主机,发送一个ARP回答。
ICMP通过IP协议传输其报文。IP协议是无连接的,它无法将报文和错误信息传到最初的主机,ICMP将状态信息和错误信息发送到发报文的主机。
嵌入式TCP/IP协议栈应用前提
连接在互联网上的电子装置不一定比单独使用的电子装置具有更高的智能功能,但连通意味着提高智能化管理水平
TCP/IP是一项应用广泛的标准,利用它可以接通并控制电子装置,通过绝大多数传输媒体几乎可以和运行在所有操作系统上的软件进行通信
通过TCP/IP与基础设施连接十分简单
嵌入式TCP/IP协议栈适用的范围
在商业系统,利用它来进行远程监视服务很有意思
嵌入式TCP/IP的最大优越性也许在于它可以使得嵌入式电子装置支持嵌入式的万维网服务器
嵌入式TCP/IP的主要用途是进行远程监测
万维网服务器还可以对一个电子装置进行远程配置
存在的局限
首先嵌入式栈是建在专用的软插座API之上的
提供可靠传输,占用了大量的资源
体积太大,许多场合不适用