网关支持实时认证的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读写方式有明显的性能优势并且邮件越小异步方式的吞吐量优势越明显。

Megalayer美国独立服务器配置及性能速度综合评测

Megalayer 商家在之前也有记录过,商家开始只有提供香港站群服务器和独立服务器,后来也有增加到美国独立服务器,以及前几天也有介绍到有增加香港VPS主机。对于香港服务器之前有过评测(Megalayer香港服务器配置一览及E3-1230 8GB服务器评测记录),这里申请到一台美国独立服务器,所以也准备简单的评测记录。目前市场上我们看到很多商家提供VPS或者云服务器基本上没有什么特别的,但是独立服...

onevps:新增(支付宝+中文网站),香港/新加坡/日本等9机房,1Gbps带宽,不限流量,仅需$4/月

onevps最新消息,为了更好服务中国区用户:1、网站支付方式新增了支付宝,即将增加微信;原信用卡、PayPal方式不变;(2)可以切换简体中文版网站,在网站顶部右上角找到那个米字旗,下拉可以换中国简体版本。VPS可选机房有:中国(香港)、新加坡、日本(东京)、美国(纽约、洛杉矶)、英国(伦敦)、荷兰(阿姆斯特丹)、瑞士(苏黎世)、德国(法兰克福)、澳大利亚(悉尼)。不管你的客户在亚太区域、美洲区...

SunthyCloud阿里云国际版分销商注册教程,即可PayPal信用卡分销商服务器

阿里云国际版注册认证教程-免绑卡-免实名买服务器安全、便宜、可靠、良心,支持人民币充值,提供代理折扣简介SunthyCloud成立于2015年,是阿里云国际版正规战略级渠道商,也是阿里云国际版最大的分销商,专业为全球企业客户提供阿里云国际版开户注册、认证、充值等服务,通过SunthyCloud开通阿里云国际版只需要一个邮箱,不需要PayPal信用卡就可以帮你开通、充值、新购、续费阿里云国际版,服务...

smtp为你推荐
iphone5解锁苹果5忘了锁屏密码怎么解锁密码eset最新用户名密码求ESET Smart Security最新用户名和密码伪静态怎么做伪静态?安卓应用平台安卓手机下软件哪个网站好安卓应用平台哪个手机应用平台的软件比较正版,安全?安卓应用平台现在android平台的手机都有哪些?怎么点亮qq空间图标怎么点亮QQ空间的图标宽带接入服务器什么是宽带接入系统?怎样绕过宽带接入系统上网blogcn哪种博客更好...sina.baidu.blogcn还是.............?声母是什么哪些是声母,哪些是韵母,
北京租服务器 中国万网域名 便宜服务器 windows主机 精品网 rak机房 表格样式 iis安装教程 支付宝扫码领红包 四核服务器 江苏双线服务器 域名与空间 海外空间 学生服务器 免费稳定空间 蓝队云 winds ipower 建站论坛 WHMCS 更多