IIs5.0建站点--〉第六章 实现NNTP服务

发表于:2007-06-30来源:作者:点击数: 标签:
NNTP服务简介 ??NNTP是Network News Transfer Protocol- 网络 新闻传输协议的缩写。早期的(WWW出现之前)Internet上,新闻组是流行的信息交换方式,也是Internet提供的主要服务之一。新闻组允许在许多用户之间进行进行多向的信息传递。新闻组的实现方式与
NNTP服务简介
??NNTP是Network News Transfer Protocol-网络新闻传输协议的缩写。早期的(WWW出现之前)Internet上,新闻组是流行的信息交换方式,也是Internet提供的主要服务之一。新闻组允许在许多用户之间进行进行多向的信息传递。新闻组的实现方式与电子邮件服务非常相似,它们都是以邮件形式进行传递的,但是,新闻组与电子邮件的本质区别在于电子邮件通常是双向的、私密的,也就是在两个用户之间传递消息;而新闻组是多向的,开放的,多个用户共同查看同一条消息,任何人都可以对消息进行评价和讨论。新闻组以读成为使Internet流行起来的服务之一。
    以上我们看出,新闻组与BBS(电子公告牌服务)颇为相似。实际上,BBS与NNTP的功能类似,但实现方式却相差巨大。BBS过去主要采用用户直接登录到服务器上的方式(例如使用Telnet远程登录),直接为用户提供发言和浏览的场所。现在,随着ASP、JSP、PERL等服务器端脚本技术的突飞猛进,BBS也可以采用WWW方式进行浏览,这些所谓的论坛为广大网友提供了自由发表言论和互相交流的场所,已经成为Internet吸引新用户的主要热点之一。
    下面,我们简单的讨论一下两种公众消息传递方式的异同:首先,BBS(尤其是Telnet方式实现的BBS)系统是实时的,用户"贴"到BBS系统中的文章(贴子)立即显示在系统中;而NNTP则借助于e_mail系统实现,并不能立即得到其他用户发送的文件,需要定期的到NNTP服务器下载新文章。在这一点上,二者可算各有千秋,实时服务具有更好的讨论气氛,也能提供消息发送、聊天等功能;而非实时系统可以节省网络费用(每天连接到NNTP服务器一次就可以下载/发送新文章)。其次,新闻组借助于强大的NNTP协议,可以实现复杂的多媒体信息传送,例如图像、声音、视频等;而大多数BBS只能提供文本形式的信息。基于这一理由,相当多的人认为NNTP是未来的发展方向。最后,NNTP不必让用户直接连入服务器,相对安全一些。[/TD] [/TR][/TABLE]
?为了给大家提供一个有关NNTP服务的直观印象,我们在此从客户机的角度连接并测试NNTP服务器连接。
    与e_mail服务类似,连接NNTP服务器的第一步工作是为客户机配置账号信息,在此我们以Outlook Express客户端软件为例,配置一个NNTP服务器账号,其步骤如下:
??1.打开Outlook Express,单击【工具】菜单,选择【账号】,打开账号配置对话框。
??2.单击【新闻】选项卡,如右上图所示,账号列表中列出当前NNTP服务器账号。
??3.单击账号对话框右上角的【添加】,选择【新闻】。
??4.打开Internet连接向导,配置服务器账号,首先输如用户名,即从服务器收发消息时显示的名称。单击【下一步】。
??5.如右下图所示,指定接收新闻组的电子邮件地址,这里的e_mail地址必须有效,单击【下一步】。
??6.在Internet News服务器名对话框中指定新闻组服务器的域名(FQDN)或者IP地址,如果新闻组服务器不接收匿名访问,选择【我的新闻服务器要求登录】复选框,单击【下一步】。
??7.指定在新闻组服务器上有效的用户账号和口令,单击【下一步】。
??8.单击【完成】将新的账号添加入账号列表。


新闻组账号配置完成之后,就可以阅读NNTP服务器上的新闻并发表文章了。我们知道,新闻组服务器往往包含数量巨大的新闻信息,基于文件大小和个人兴趣的原因,我们并不需要查看全部文章。事实上,NNTP服务器往往包含各种主题的新闻组,每个组只讨论某一方面的内容,用户可以根据自己的喜好选择要阅读的新闻组,这一步骤称为订阅新闻组。订阅并阅读新闻组的实现步骤如下:
??1.如右上图所示,在Outlook Express的文件夹窗格中选择NNTP服务器节点,其子节点就是所有已经订阅的新闻组列表。我们可以随时更改新闻组的订阅配置。
??2.如右上图,单击右侧窗格的【新闻组】按钮,打开【新闻组预定】对话框。
??3.如右下图所示,首先在【新闻组】列表中选择需要订阅的新闻组图标,单击【订阅】或者直接双击新闻组即可订阅之。被订阅的新闻组前用一图标区分。我们可以一次选择多个新闻组,单击【确定】返回。
??4.返回Outlook Express,确保选中NNTP服务器节点,单击【设置】,从弹出菜单中选择【所有邮件】。
??5.单击【同步账号】(应确保此时计算机已经连入Internet),随后Outlook Express从NNTP服务器上将用户订阅的新闻下载到本地。


6.如右上图所示,在列表中选择新闻组,右侧窗格上侧列出当前新闻组中的全部新闻邮件,彩色标记的邮件代表未读,在列表中一同列出的还有新闻邮件的发件人(作者)以及主题等信息。
??7.从列表中选择新闻邮件,则右侧窗格下侧窗口显示邮件的详细内容,双击邮件亦可以详细模式查看邮件。
??8.这里我们看到的新闻实际上已经下载到本地硬盘上,因此可以从Internet上断开后在进行浏览以节省网络费用。
??作为一种信息交流的方式NNTP新闻组不仅能可以提供文章下载服务,还允许用户向新闻组发布文章(新闻)或对其他文章发表评论,步骤如下:
??1.选中邮件列表中的文章图标,单击【回复组】或者【回复作者】按钮,前者将文章发送到NNTP服务器的新闻组中,可供其他用户下载阅读;后者仅将邮件直接发往当前文章的作者。
??2.在如右下图所示的发送邮件对话框中,写入回复的文字内容或者添加多媒体元素。注意回复文章的主题默认为原主题前加上"Re:"。
??3.书写完成后单击【发送】将邮件加入发件箱,注意此时邮件并未真正的发往Internet,只有在下一次接入网络并联系NNTP服务器(亦可手工选择同步)时,邮件才真正发送出去。


NNTP工作原理
??在上一节对NNTP服务的感性认识基础上,我们在本节来讨论NNTP服务在IIS平台上的工作原理和实现机制。网络新闻组服务是基于NNTP协议工作的,NNTP是一个客户机/服务器协议,IIS实现服务器端平台,典型的客户端软件包括上文提到的Outlook Express以及Foxmail、Microsoft Internet Mail and News等。我们先来看一下客户机和服务器时如何实现新闻邮件传递的。
??如右图所示,使用TCP/IP协议的客户机通过Internet/Intranet连接到提供NNTP服务的服务器。默认的TCP端口号为119(一旦选择SSL加密,默认端口号将更改为563)。用户在NNTP服务器上可以进行张贴新闻/阅读新闻两种操作,一下我们分别

来看:
??张贴新闻:客户端软件连接到服务器之后,一般要通过服务器的账号验证(也可以配置使用匿名访问)。随后,用户文章以邮件的方式发送到服务器上的指定新闻组中,NNTP服务器将文章加入新闻列表,并向任何请求该新闻组的用户发送。
??阅读新闻:阅读新闻的过程相对复杂,客户首先要向NNTP服务器发出新闻组请求,服务器返回有效的新闻组列表,列表中仅包括全部新闻组的名称、描述等有限信息。客户端将从中选择感兴趣的新闻组进行订阅,并将订单返回服务器。接下来,服务器返回用户所选中新闻组的文章列表,包括文章标题和作者等信息。客户端对这些文章标题进行筛选,找出需要阅读的文章,然后将请求服务器将所选文章发送给客户端。最后,客户端实际得到新闻组文章全文。
NNTP服务将新闻组文章保存在服务器上的多目录层次结构中,IIS为默认NNTP站点分配的主目录是Windows 2000系统分区下的Inetpub\nntproot子目录。每个新闻组都有自己独立的目录,每篇文章都以一个独立文件的形式保存在相应目录中,文章文件的拓展名为.nws。鉴于NNTP服务器要向客户的返回文章列表,故每128篇文章(128个文件)需要建立一个索引文件,扩展名为.xix。注意这些文件直接用于NNTP服务的新闻传送过程,对它们的任何操作都将影响到NNTP服务的正常工作。此外,NNTP服务本身使用的内部数据文件存放在Windows 2000系统分区下的Inetpub\nntpfile子目录下。
    我们知道NNTP服务是非实时的,用户张贴的文章并不能立即显示在所有用户

的文章列表上,这就为文章的审查提供了方便。所谓文章审查,亦即新闻组节制,是采用人工方式限制新闻组内容的一种方法。在文章审查的实现机制中,需要一个检查组,即专门检查用户张贴文章内容的计算机、文件夹或者邮箱。然后由NNTP服务器负责机构指定专人定期检查新闻文章,并做出相应处理。文章审查的工作原理具体如下:
    如右图所示,当文章发送到NNTP服务器之后,服务器直接将其递交给负责审查的检查组(Moderator)。这一邮箱或文件夹通常由维护NNTP服务器的公司或组织指派专门的审查人进行掌管。新闻审查者定期检查邮箱,逐一阅读客户端张贴到NNTP服务器上的每一篇新闻邮件,一旦用户的文章通过审查,则被批准实际张贴到新闻组中。而对于因为某种原因未获通过的文章,审查者可以选择下列两种方式之一处理文章:将文章返回给原作者并附加拒绝张贴的理由;或者直接将被据文章从系统中删除。
    除审查者外,其他用户不能看到被删除的文章。审查是控制舆论的最好方式--虽然在Internet上控制舆论是个不可能的和愚蠢的想法。
配置NNTP服务器
??相对于Web服务器和FTP服务器而言,NNTP服务器的创建和配置是相当简洁的。创建和管理NNTP的工作大部分是在IIS管理控制台(MMC)中完成的,也可以采用HTML形式的ISM进行远程管理。
创建NNTP服务器和虚拟目录
??一台计算机上可以实现多个NNTP站点,这就是NNTP虚拟服务器。虚拟服务器可以采用IP地址和TCP端口号的方式进行唯一性区分。在IIS中创建NNTP虚拟服务器的方法如下:
??1.打开IIS管理控制界面,展开管理控制树,右击计算机图标,指向弹出菜单中的【新建】,单击【NNTP虚拟服务器】,打开新建NNTP虚拟服务器向导。
??2.如右上图所示,在新建NNTP虚拟服务器向导中输如虚拟服务器描述信息,该信息用于在IIS内部标识NNTP虚拟服务器,而非服务器域名,单击【下一步】。
??3.指定用于此虚拟服务器的IP地址和TCP端口号,单击【下一步】。
??4.在选择内部文件路径端口号中选择指定用于存放当前虚拟服务器内部工作文件的目录,例如,默认NNTP虚拟服务器的内部文件目录为Inetpub\nntpfile。注意,仅能指定NTFS分区上的目录。单击【下一步】继续。


??5.如右下图所示,选择用于保存新闻内容的存储媒体,【文件系统】或者【远程系统】。前者将文件保存在本地磁盘;后者则保存到远程计算机。单击【下一步】继续。
??6.指定新闻存储路径,单击【完成】。
创建虚拟目录可以拓展NNTP服务器的存储空间,亦便于管理。虚拟目录可以保存在本地或者网络中的远程计算机中。创建虚拟目录的方法如下:
??1.打开IIS管理控制界面,展开管理控制树中的NNTP虚拟服务器节点,右击【虚拟目录】,选择【新建】打开新建NNTP虚拟目录向导。
??2.如右图所示,指定虚拟目录名称,单击【下一步】。
??3.选择虚拟目录位置在本地或者远程,单击【下一步】。
??4.具体指定虚拟目录对应的实际文件夹目录。单击【完成】。

在NNTP虚拟服务器属性表单的【常规】选项卡中亦可对客户机连接进行限制。单击【连接】打开如右图所示的连接属性对话框,从中可以对同时连接到站点上的用户数量和连接超时进行限制以优化服务器性能。选择【限制连接数为】复选框并指定最大阿同时连接数,在【超时】栏中指定因用户发呆而断开连接的时限。单击【确定】返回。
    【常规】选项卡下部的【路径标头】栏中可以指定客户机受到新闻邮件的"路径行"部分所显示的字符串。
文章属性设置
??文章属性是指新闻组文章的大小以及连接属性,还包括邮件审查和系统管理员的账号信息。NNTP虚拟服务器属性表单的【设置】选项卡提供了上述文章属性的配置界面。【设置】选项卡包括如下内容:
??允许客户张贴:选中该复选框允许新闻组客户机向服务器发送文章。取消选择该复选框将使服务器变为只读模式。
??允许供给张贴:选项允许NNTP新闻传递服务向当前服务器自动张贴文章。
??限制张贴大小:限制上述两种张贴方式的单个新闻文件大小,超过限制的文章将被系统拒绝。
??限制连接大小:限制上述两种张贴方式的单个连接所发送文件的总大小,超过限制时连接将被断开。


??允许其他服务器从此服务器接收新文章:允许NNTP新闻传递服务将当前服务器文章转贴到其他新闻服务器上
??允许控制消息:自动处理控制消息并纪录在系统日志中。
在NNTP虚拟服务器属性表单的【常规】选项卡中亦可对客户机连接进行限制。单击【连接】打开如右图所示的连接属性对话框,从中可以对同时连接到站点上的用户数量和连接超时进行限制以优化服务器性能。选择【限制连接数为】复选框并指定最大阿同时连接数,在【超时】栏中指定因用户发呆而断开连接的时限。单击【确定】返回。
    【常规】选项卡下部的【路径标头】栏中可以指定客户机受到新闻邮件的"路径行"部分所显示的字符串。

文章属性设置
??文章属性是指新闻组文章的大小以及连接属性,还包括邮件审查和系统管理员的账号信息。NNTP虚拟服务器属性表单的【设置】选项卡提供了上述文章属性的配置界面。【设置】选项卡包括如下内容:
??允许客户张贴:选中该复选框允许新闻组客户机向服务器发送文章。取消选择该复选框将使服务器变为只读模式。
??允许供给张贴:供选项允许NNTP新闻传递服务向当前服务器自动张贴文章。
??限制张贴大小:限制上述两种张贴方式的单个新闻文件大小,超过限制的文章将被系统拒绝。
??限制连接大小:限制上述两种张贴方式的单个连接所发送文件的总大小,超过限制时连接将被断开。
??允许其他服务器从此服务器接收新文章:允许NNTP新闻传递服务将当前服务器的文章转贴到其他新闻服务器上。
??允许控制消息:自动处理控制消息并纪录在系统日志中。

?审查组的SMTP服务器:指定一个SMTP邮件服务器,所有发布到审查组的消息在此处转发。该值必须是已在DNS 注册的有效计算机名(或者有效的IP地址),也可以是一个目录路径。目录路径指定将需要审查的邮件都发送到指定的文件夹。
??默认审查方域:使用此选项可指定所有需经审查的发布信息的默认域(FQDN)。需经审查的新闻组(没有指定的审查方)的全部新文章被发送到:
??news_group_name@default_moderator_domain
??其中news_group_name是文章发送到的新闻组名,
??default_moderator_domain是为该选项指定的值。
??系统管理员的电子邮件账户:指定用于接收未发送报告(NDR)邮件地址。系统管理员电子邮件帐户。某些系统可能没有启动NDR发送功能,可在以下注册表项中创建一个名为MailFromHeader且值为1的新DWORD以激活之:
??HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NntpSvc\Parameters\
服务器安全设置

原文转自:http://www.ltesting.net