|
TCP/IP协议是一组不同层次上的多个协议的组合,通常被认为是一个包含链路层、网络层、传输层和应用层的四层协议系统[2]。嵌入式系统是为完成某种特定的功能而设计的专用系统。嵌入式系统不要求(也不可能)实现所有的TCP/IP协议,所以嵌入式TCP/IP是对TCP/IP协议族进行选择而形成的协议集合.
链路层协议的选择
链路层协议的选择链路层最基本的功能是将物理层提供的原始传送比特流可能出错的物理连接改造为逻辑上无差错的数据连接,为其上层协议发送和接收数据包。以太网遵循IEEE802.3所规定的CSMA/CD(载波监听多路访问及冲突监测)协议,实现该协议可以采用通用的NIC(networkinterfacecontroller网络接口控制)芯片。另外,以太网上数据的传输是采用网络的MAC地址来进行识别的,这就要求系统有实现IP地址到MAC地址的转换功能,即ARP(地址解析)协议。ARP协议包括ARP请求和ARP响应两部分,系统要同其他计算机通信,就必须要支持ARP响应。ARP请求在本地建立了一个IP地址到MAC地址的映射,保证了对外通信的有的放矢。RARP(逆地址解析)协议主要用于解决如何从MAC地址得到IP地址,主要用于无盘工作站中。在本嵌入式系统中可以把IP地址存储于本地存储器中,不必从其他服务器得到IP地址,这样就无需实现RARP协议。
网络层协议的选择
网络层主要负责处理数据包在网络中的活动。在TCP/IP协议族中,网络层协议包括IP协议(网际协议)、ICMP协议(Internet控制报文协议)以及IGMP协议(Internet组管理协议)等。IP协议是TCP/IP族的核心协议,它使异构网络之间的通信成为可能。因此RTU等系统数据跨越不同的网络进行传输就必须要实现IP协议。ICMP中规定了多种协议类型和代码,如果完全的实现也要耗费不少的系统资源,本嵌入式系统中,在ICMP协议中能够测试网络的连通情况即可,因此只需实现ICMP中类型号为0、代码为0的Ping应答协议。IGMP协议主要用于支持主机和路由器进行组播,在将报文发给多个接收者时,嵌入式TCP/IP作为一种专用系统接入网络的技术,为了降低处理协议的复杂程度,可以直接采用广播方式,不必要采用组播的方式进行通信。因此在设计中不考虑实现IGMP协议。
传输层协议的选择
传输层主要在两台主机之间提供端到端的通信。传输层有两种不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。TCP是面向连接的,在不可靠的网络服务上提供端到端的可靠字节流。TCP协议设计了严格的3次建立连接握手过程、4次关闭连接握手过程以及捎带确认信息并通过滑动窗口进行流量控制的数据传输过程。UDP协议是用来提供不面向连接的,它只是简单地把数据报从一台主机发送到另一台主机,但并不保证该数据报能到达另一端,可靠性必须由应用层来提供。在微机远动和故障录波等实时性要求不太高的设备中采用TCP协议,保证传输的质量。在微机保护和自动控制等实时性要求高的设备中采用UDP协议,其固有的传输可靠性低的缺陷可通过应用层的协议进行弥补。
应用层协议选择
应用层协议主要是指用户进程。在电力自动化系统中,可以采用国际标准远动通信协议IEC60870-5-103或IEC60870-5-104协议等。IEC61850协议草案是IEC(国际电工委员会)针对电力系统自动化制定的面向对象和设备的无缝联接通信协议。该协议正式公布以后,也可以采用。
|
|