网关支持实时认证的SMTP网关(科技信息范文)

smtp  时间:2021-02-20  阅读:()

封面

《支持实时认证的S MTP网关》Word格式可编辑含目录

内容含搞要关键字正文等。

精心整理放心阅读质优价廉欢迎下载

文档信息

支持实时认证的SMTP网关目录

1. 引言

2. 邮件网关体系结构

3.异步socket处理在实时处理

1 接收外部连接请求

2 读A缓冲

3 进程阻塞等待后台邮件服务器接收并响应

4 读B缓冲写到A

5 进程阻塞

6 断开连接

1 从待读socket队列中取出socket指针

2 则建立一对socket

3 读该socket

4 回收该socket返回1

1 从待写socket队列中取出socket指针

2 执行SMTP状态检查

3 回收该socket返回1

4. 邮件网关测试

5. 结论

正文

针对目前的S MTP网关无法进行身份验证 以及对邮件处理时延较大的问题提出了一种实时处理的SMTP邮件网关可以在邮件接收时把交互命令发送到后台邮件服务器进行身份验证并实时处理邮件内容与非实时系统相比减小了网关对邮件处理的时延。通过把socket读写队列用异步I/O方式并行化处理避免了进程因网络时延而阻塞对比结果显示异步方式比同步方式的系统吞吐量有显著提高。

关键字 SMTP网关;实时认证;异步socket

1. 引言

随着邮件的应用越来越广泛垃圾邮件的威胁越来越大 邮件过滤处理在组织结构中起着越来越重要的作用。邮件过滤一般采用以下几种方式在邮件服务器端客户端或者[1]基于其两者的邮件过滤系统对于大型局域网内的多个邮件服务器 [2]一般采用S NMP协议及其MIB模型设计管理系统对于本地没有邮件服务器的机构往往采用P OP3网关方式 [3]给出了一种用P OP3网关传输PGP加密邮件的架

构对一些机构 出于保护本地邮件服务器一般采用S MTP网关方式。

目前采用的S MTP网关一般用于接收邮件然后把邮件转发给后台邮件服务器。 网关在接收的过程中无法对本地用户发送的邮件进行有效验证只能在发送至邮件服务器时进行用户验证。因此大量假冒本地用户发送的邮件将使邮件网关负担沉重邮件队列加大。并且网关一般采用非实时方式把邮件转储在磁盘上然后进行过滤处理处理完之后转发给邮件服务器。一旦邮件队列增大 邮件的处理有可能被无限推迟而此时发送者并没有得到及时通知不会重发邮件。本文提出的SMTP网关采用实时处理方式在接收邮件的同时进行验证并发送邮件发送不成功及时通知发送者。

文章的组织如下第一章提出系统网络部署体系结构及SMTP协议在网关中的传输流程及用户验证的实现第二章介绍异步I/O队列处理并与同步方式做比较第三章介绍网关测试并显示实验数据第四章给出结论。

2. 邮件网关体系结构

图1整体为网关的网络部署。现行的邮件过滤系统大多并行接入网络 即邮件网关处于传输路径的旁路其只对违规的电子邮件实行监听和后期截断并且不支持前台认证本邮件网关选择串行接入的紧耦合方式 即将网关置于邮件传输的实际路径中。这种方式在减轻邮件服务器压力的同时保护后台用户信息支持前台验证。

该图方框内为邮件网关底层的传输结构。系统在其启动阶段对25端口进行侦听当有MT A或者用户与之连接时则建立客户端与网关之间及网关与服务器之间的socket通道进行SMTP协议的交互及邮件内容的传输待传输完毕后放弃两个socket连接。在此过程中本网关采用异步socket并发处理多个连接 降低网络延迟对网关性能的影响减少因超时等待而造成连接断开的可能性。该部分内容在本文的第三章进行详细的阐述。

由于SM TP协议在双向通道上传输并且对于MTA进行最后的投递处理服务器接收邮件或是普通的客户发信处理不进行区分 因此图中两个接收socket和两个发送socket在实现中为同一个。

以客户端和后台邮件服务器的角度来说 网关是透明的 即透传S MTP协议中大部分命令和响应。同时 网关根据不同的用户需求及网络环境根据传输的信息进行实时处理。

上图为正确流程的邮件网关状态机实线部分是客户端命令和服务器端响应在网关上的实际交互流程为了图示清晰忽略大部分接受服务器响应的流程用虚线代替实线的状态转换。 同时每个状态上的子环代表网关接收错误信息的处理。

这里以EHLO命令为例进一步说明网关对于SMTP协议的处理流程当网关接收到由客户端发来的EHLO命令首先将命令转发给后台邮件服务器并且进入等待状态Waiting State  当网关收到服务器的正确响应则进入下一个命令的准备接收状态EHLO State 。这里为了

图示简洁没有详细给出若服务器响应其为错误信息的状态在实现中 网关将返回到上一个状态本例中为初始状态Initial

State 直到错误数达到一个最大值断开连接。若顺利的达到下一个状态 由于只接收验证命令任何其它命令Anything but AUTH 都最终导致返回相同的接收状态EHLO State直到网关接收正确命令AUTH 。这里任何其它命令Anything but AUTH 流程同样用虚线表示说明要经过等待状态接收服务器响应然后再返回该状态。

由于邮件网关采用实时处理连接透传命令及响应的方式 因此可以及时进行用户的后台认证防止伪造本地用户发信给邮件网关带来的处理负担。

3.异步socket处理在实时处理

的过程中一般使用同步方式处理每个邮件。以接收邮件为例 同步socket的处理流程为

1 接收外部连接请求建立接收socket A和发送socket

B两个连接

2 读A缓冲执行SMTP状态机检查确定处理函数调用处理将信息写到B

3 进程阻塞等待后台邮件服务器接收并响应

4 读B缓冲写到A

5 进程阻塞等待外部邮件服务器接收并响应如果是221 bye则转到6 否则返回到2

6 断开连接。

从过程可以看出 同步处理时进程需要等待响应而造成阻塞等待时间取决于网络时延和服务器的响应时间。 [4]研究指出 当有大量用户连接时 网络延迟将占到整个邮件处理及转发时间的的40-55%。而在同步结构下一个进程需要全程等待一个邮件的处理 因此性能较低。

下面说明采用异步方式处理。建立两个队列分别保存等待读和等待写的socket指针两个哈希表表A保存待读socket的处理函数表B保存待写socket的buffer内容。如图3。

读线程的处理过程为

1 从待读socket队列中取出socket指针如果是监听socket则转到2 不是则转到3

2 则建立一对socket将发送socket放入待读队列将初始处理函数写入哈希表A返回1

3 读该socket查找哈希表A得到处理函数处理后将待写内容写入哈希表B socket指针写入待写socket队列如果接收到221 bye信息转到4 否则返回1

4 回收该socket返回1

写线程的处理过程为

1 从待写socket队列中取出socket指针查找哈希表B取出待写内容写入socket缓冲

2 执行SMTP状态检查如果该内容为QU I T则转到3 否则确定下一次的处理函数把函数指针写入哈希表A并把该socket指针写入待读队列返回1

3 回收该socket返回1

这样就屏蔽了网络的时延避免了进程因等待响应而阻塞可以很大的提高系统的吞吐量使系统具有较强的并行处理能力。

4. 邮件网关测试

本测试在图4的网络环境下对网关进行测试。该环境下 邮件服务器的接收能力要大于邮件网关并假定相同大小的邮件发送时间相同。

在网络延迟测试中 SmartBi tsD600B网络测试仪通过Avalanche测试软件顺序发送大小不同的邮件各一封 即每次发完一封收到后台服务器端发来的断开信息221 bye后再发下一封邮件记录每封邮件的处理时间。

在每分钟最大收件数的测试中利用SmartBitsD600B网络测试仪和Avalanche测试软件分别测试系统一分钟内可以接收大小不同的邮件的最大量。为确保测试的合理性每次测试中每秒增加的S MTP连接相同。

在同步方式下 网关的处理方式就是完全处理一个连接后才能处理下一个连接 因此将发送一封邮件的时间与发送数量相乘即为发送该数量邮件所需时间 图5为在发送相同数量邮件的情况下 同步与异步方式的时间对比。

由于邮件的处理时延等于两端的网络时延网关处理时延而邮件的大小直接决定了网关对邮件的处理时间 因此从图5中可以看出邮件越小同步结构下所需延迟时间占总体处理时间越大在异步结构下效果越明显。

5. 结论

本文采用了实时处理方式建立了S MTP网关使网关可以进行认证。在相同的硬件平台上假定非实时处理的邮件队列长度为零实时邮件处理与非实时邮件处理的对比表明实时处理邮件比非实时处理的时延明显缩短避免了因邮件队列过长而导致邮件长期得不到处理的情况。在使用异步socket读写之后实验表明与同步方式相比异步socket读写方式有明显的性能优势并且邮件越小异步方式的吞吐量优势越明显。

物语云-VPS-美国洛杉矶VPS无限流量云windows大带宽100M不限流量 26/月起

物语云计算怎么样?物语云计算(MonogatariCloud)是一家成立于2016年的老牌国人商家,主营国内游戏高防独服业务,拥有多家机房资源,产品质量过硬,颇有一定口碑。本次带来的是特惠活动为美国洛杉矶Cera机房的不限流量大带宽VPS,去程直连回程4837,支持免费安装Windows系统。值得注意的是,物语云采用的虚拟化技术为Hyper-v,因此并不会超售超开。一、物语云官网点击此处进入物语云...

virmach:3.23美元用6个月,10G硬盘/VirMach1核6个月Virmach

virmach这是第二波出这种一次性周期的VPS了,只需要缴费1一次即可,用完即抛,也不允许你在后面续费。本次促销的是美国西海岸的圣何塞和美国东海岸的水牛城,周期为6个月,过后VPS会被自动且是强制性取消。需要临时玩玩的,又不想多花钱的用户,可以考虑下!官方网站:https://www.virmach.comTemporary Length Service Specials圣何塞VPS-一次性6个...

IMIDC日本多IP服务器$88/月起,E3-123x/16GB/512G SSD/30M带宽

IMIDC是一家香港本土运营商,商家名为彩虹数据(Rainbow Cloud),全线产品自营,自有IP网络资源等,提供的产品包括VPS主机、独立服务器、站群独立服务器等,数据中心区域包括香港、日本、台湾、美国和南非等地机房,CN2网络直连到中国大陆。目前主机商针对日本独立服务器做促销活动,而且提供/28 IPv4,国内直连带宽优惠后每月仅88美元起。JP Multiple IP Customize...

smtp为你推荐
google竞价排名google关键字广告和百度排名有什么区别,又有什么相同点?支付宝查询余额支付宝里如何查询银行卡里面的余额?手机区号手机电话号码开头95共15位号码是什么手机号码?在线代理网站求有效的代理服务器地址?显卡温度多少正常显卡温度多少算正常iphone越狱后怎么恢复苹果越狱后怎么恢复出厂设置qq怎么发邮件qq怎么发文件和邮件mate8价格华为mate8 128g售价多少钱ios系统苹果手机的系统是什么?二层交换机什么是二层交换机和三层交换机???
东莞虚拟主机 域名服务器 武汉域名注册 合租服务器 日本vps 韩国vps 东莞电信局 外国空间 双12活动 512au 轻博 网盘申请 网站挂马检测工具 小米数据库 hinet 中国网通测速 服务器硬件防火墙 下载速度测试 开心online google搜索打不开 更多