EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 Mhza 于 2018-10-15 18:12 编辑
# B( n' h( k/ @, \/ c0 F* H' \ I0 K& X! S
摘要:本文介绍了在网络时代的嵌入式系统发展状况,结合网络协议中SMTP协议自身的特点及其应用,提出了在嵌入式系统中提供SMTP支持的具体流程和方法,然后给出了SMTP代理在嵌入式系统下的一个具体实现. 关键字:嵌入式系统 SMTP
; V& N. \+ Z. R: ]& c
3 J9 ? @' A% @3 T9 t$ ~+ `" H0 w引言 4 w- \. P1 b2 P# y" K! S
5 k: |* Y( \+ \6 P
随着因特网技术的成熟,在以信息家电为代表的互联网时代嵌入式产品中SMTP协议得到广泛的应用。 SMTP 协议作为嵌入式领域中的客户机协议十分有用的原因就是可以被大量的现有的基础设施所支持。在嵌入式系统的角度上说,通过简单的SMTP协议工作可以异步的传输数据,数据以email的形式通过MTA进行传输,主要的工作交给SMTP基础设施去接管,减少在嵌入式系统中进行同步数据传输时带来的运行开销。并且通过使用MIME还可以扩展单一的文本数据的传输方式,传输各种包括音频,视频或静止图象等丰富的多媒体数据。同时,在SMTP客户和服务器中通过email的方式进行通讯还可以作为工具来对远程设备更新命令传输和响应。 ) S2 x5 ^3 M2 ]% f
# M4 m5 n. j2 g; A7 {1 Q3 O1.SMTP协议的通讯模型和会话流程:
( f2 q8 m8 ?% g B( }9 H/ \: S! x1 R: ^8 Y- \) }! i
SMTP协议通讯模型 SMTP协议是TCP/IP协议族中的一员,其通信模型并不复杂,适合于工作在嵌入式系统的环境下。它的主要工作集中在发送SMTP和接收SMTP上:首先针对用户发出的邮件请求,由发送SMTP建立一条连接到接收SMTP的双工通讯链路,这里的接收SMTP是相对于发送SMTP而言的,实际上它既可以是最终的接收者也可以是中间传送者。发送SMTP负责向接收SMTP发送SMTP命令,而接收SMTP则负责接收并反馈应答。可大致用下面的通讯模型示意图来表示:
+ U, s( T7 s; i- v* r/ z
从通讯模型可以看出SMTP协议在发送SMTP和接收SMTP之间的会话是靠发送SMTP的 SMTP命令和接收SMTP反馈的应答来完成的。在通讯链路建立后,SMTP客户端发送MAIL命令指令邮件发送者,若SMTP服务器此时可以接收邮件则作出OK的应答,然后SMTP客户端继续发出RCPT命令以确认邮件是否收到,如果接收到SMTP服务器端就作出OK的应答,否则就发出拒绝接收应答,但这并不会对整个邮件操作造成影响。双方如此反复多次,直至邮件处理完毕。SMTP协议共包含10个SMTP命令,主要命令有 HELO,MAIL FROM, RCPT TO,DATA,QUIT等,它们用来完成服务器端和客户端在进行数据传输正式开始前需要进行的同步。
4 Y- p( N: P% \( W2 q4 J# S& P( g
6 n8 \0 z* J {& `7 Q |