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

pacificrack:$12/年-1G内存/1核/20gSSD/500g流量/1Gbps带宽

pacificrack在最新的7月促销里面增加了2个更加便宜的,一个月付1.5美元,一个年付12美元,带宽都是1Gbps。整个系列都是PR-M,也就是魔方的后台管理。2G内存起步的支持Windows 7、10、Server 2003\2008\2012\2016\2019以及常规版本的Linux!官方网站:https://pacificrack.com支持PayPal、支付宝等方式付款7月秒杀VP...

华纳云E5处理器16G内存100Mbps688元/月

近日华纳云商家正式上线了美国服务器产品,这次美国机房上线的产品包括美国云服务器、美国独立服务器、美国高防御服务器以及美国高防云服务器等产品,新产品上线华纳云推出了史上优惠力度最高的特价优惠活动,美国云服务器低至3折,1核心1G内存5Mbps带宽低至24元/月,20G ddos高防御服务器低至688元/月,年付周期再送2个月、两年送4个月、三年送6个月,终身续费同价,有需要的朋友可以关注一下。华纳云...

spinservers($179/月),1Gbps不限流量服务器,双E5-2630Lv3/64GB/1.6T SSD/圣何塞机房

中秋节快到了,spinservers针对中国用户准备了几款圣何塞机房特别独立服务器,大家知道这家服务器都是高配,这次推出的机器除了配置高以外,默认1Gbps不限制流量,解除了常规机器10TB/月的流量限制,价格每月179美元起,机器自动化上架,一般30分钟内,有基本自助管理功能,带IPMI,支持安装Windows或者Linux操作系统。配置一 $179/月CPU:Dual Intel Xeon E...

smtp为你推荐
邮箱怎么写邮箱地址怎么写伪装微信地理位置微信地理位置伪装软件怎么定位到微信缓冲区溢出教程适合黑客初级学者使用的黑客工具有那些 、拂晓雅阁?英特尔和AMD有什么区别啊?快速美白好方法有什么快速美白的好办法吗?ghostxp3ghost xp sp3 和 windows xp3有啥区别渗透测试web渗透测试有前途吗苹果5怎么越狱苹果5怎么越狱?数据库损坏数据库坏了怎么办创维云电视功能创维新出的4K超高清健康云电视有谁用过,功能效果怎么样?
国内vps 工信部域名备案系统 com域名抢注 512au 域名评估 免费测手机号 免费cdn 支付宝扫码领红包 电信托管 移动服务器托管 www789 我的世界服务器ip 美国盐湖城 apnic 存储服务器 葫芦机 xshell5注册码 免费获得q币 时间服务器 globalsign 更多