1.本备忘录的状态
本备忘录讲述了一种基于CCITT的X.25标准提供的虚电路业务的SMTP标准。
本备忘录的发布不受任何限制。
2.简介
在RFC821("SIMPLEMAILTRANSPORTPROTOCOL",SMTP,简单邮件传输协议)
的附录D中提到了直接将SMTP置于X.25虚电路(ISO第3层)上的可能性。并建议“利
用一种类似于TCP可靠的端到端协议在X.25的连接上”。在1981年时,考虑到PSDNs的
总体的可靠性,这毫无疑问是可行的。这一业务现在(1989年)已经非常可靠,它答应直
接将其置于虚电路业务上。
在包括22个不同的国家的24个PSDN网的许多产品,证实了这种方法是成功的,结
果证实,即使使用在一些花费比较昂贵的PSDN中,这种方法还是十分经济的,在X.25专
网和X.25局域网中,这种方法也是成功。
每一个SMTP会话必须打开一条X.25虚电路(VirtualCircuit,VC),SMTP会话将
使用由VC提供的全双工通道。通常,VC是由发起呼叫的一方关闭的。
3.协议ID和呼叫用户数据
呼叫用户数据区的前4个字节应该是0xC0F7,0000(十六进制),十进制是19224700。
这个字段通常用来标识一个协议ID,或者PRID。
但是在实际的操作中,应该有能力在基本前缀地址上配置呼叫用户数据,包括协议ID
字段。
4.数据流
在发送端通常把SMTP数据分成许多数据包,相应地,在数据包封装的时候应该置M
位(表示有后续数据包)。数据包的总长度可以达到2048个字节。
通常我们建议SMTP命令和响应应在一个数据包发送出去,或者只有一个后续数据包。
只要对调试协议方便即可。但这并不要求是必须的。
5.识别数据
Q比特被置位的分组和中断分组是没有用的。假如收到了,应该被忽略掉。
6.电路复位
假如收到了一个3层的电路复位指示,这条VC应该清除,SMTP连接应该重新建立。
重新建立会带来一些时延,也可能是不同的呼叫业务。
7.呼叫业务
任何被X.25呼叫请求业务选择的协商特征都可以使用。使用时应有能力为每一个被叫
地址指定业务。
8.字符编码
X.25使用的字符编码是完整的8位ASCII码,没有任何遗漏和修改。一行应该以CRLF
(十进制:1310)结尾,也可以仅仅以LF(十进制:10)来标识一行的结束。
9.关闭连接
跟TCP协议不同,在清除请求的过程中,X.25不提供数据的同步传送;当清除虚电
路时,就丢弃所有正在传送的数据包。因此,当收到“服务关闭”消息时,主叫的一边关闭
SMTP会话层(在X.25上),这种消息要么是QUIT命令的响应,或者是因为服务必须中止。
10.超时
SMTP通常不提供超时会话,在X.25,以下几项是有效的:
10.1呼叫请求
假如在100秒内没有收到“呼叫接受”信息,或者在120秒(另外)内没有收到“服
务预备好”信息,那么应该清除这次呼叫,然后重试。
10.2已经建立的呼叫
当协议会话建立之后,在10分钟内假如没有收到任何响应,那么就应该清除这条虚
电路。
10.3关闭
执行QUIT命令后,超时时间缩短为20秒。这可能会导致不经意地退出,但它不会影
响已经完成的SMTP业务。
10.4清除
当X.25“清除请求”发出时,这条虚电路将在X.25协议指定的时间内超时。
11.其他特性
X.25的其他特性,如永久虚电路和D比特的选择,都没有用到。
参考:
[1]Postel,J.,"SimpleMailTransferProtocol",RFC821,USCInformationSciencesInstitute,
August1982.
[2]CCITTRecommendationX.25,"InterfaceBetweenDataTerminalEquipment(DTE)and
DataCircuit-TerminatingEquipment(DCE)forTerminalsOperatinginthePacketModeand
ConnectedtoPublicDataNetworksbyDedicatedCircuit",InternationalTelegraphandTelephone
ConsultativeCommittee,FascicleVIII.3,Geneva,1976;amendedatGeneva,1980and
Malaga-Torremolinos,1984.("RedBook")
作者地址:
RobertUllmann23A-32
PrimeComputer,Inc.
TechnologyDrive
Milford,MA01757
Phone:+15084788600x1736
Email:Ariel@Relay.Prime.COM
Greenfoot是一款简单易用的Java开发环境,该软件界面清爽简约,既可以作为一个开发框使用,也能够作为集成开发环境使用,操作起来十分简单。这款软件支持多种语言,但是默认的语言是英文,因此将该软件下载到电脑上的时候,会发现软件的界面语言是英文版本的,这对于英语基础较差的朋友来说,使用这款软件就会...
07-05
Egret UI Editor是一款开源的2D游戏开发代码编辑软件,其主要功能是针对Egret项目中的Exml皮肤文件进行可视化编辑,功能十分强大。我们在使用这款软件的过程中,可以将一些常用操作设置快捷键,这样就可以简化编程,从而提高代码编辑的工作效率。但是这款软件在日常生活中使用得不多,并且专业性...
07-05
KittenCode是一款十分专业的编程软件,该软件给用户提供了可视化的操作界面,支持Python语言的编程开发以及第三方库管理,并且提供了很多实用的工具,功能十分强大。我们在使用这款软件进行编程开发的过程中,最基本、最常做的操作就是新建项目,因此我们很有必要掌握新建项目的方法。但是这款软件的专业性...
07-05
Thonny是一款十分专业的Python编辑软件,该软件界面清爽简单,给用户提供了丰富的编程工具,具备代码补全、语法错误显示等功能,非常的适合新手使用。该软件还支持多种语言,所以在下载这款软件的时候,有时候下载到电脑中的软件是英文版本的,这对于英语基础较差的小伙伴来说,使用这款软件就会变得十分困难,...
07-05