一、新闻组服务基础 新闻组服务是Internet上与WWW(HTTP)、E-Mail(SMTP、POP3)与FTP(FTP)齐名的四大网络信息服务系统之一,其对应的英文名称是Newsgroups,该服务使用的网络协议是NNTP(Network News Transfer Protocol),逻辑端口号为119。 (1)新闻组的起源 新闻组是由世界范围的计算机组成的共享新闻和邮件的国际化网络。新闻组的英文名称为Usenet或NewsGroup,起源于北卡罗林娜,1980年,两个学生(Tom Trusctt 和James Ellis)在几台UNIX计算机上生成第一版Usenet,它能在一天之内通过一种称之为UUCP(Unix-to-unix Copy)的网络协议,将大批文章从一台计算机传到另一台上。几年之内,这种Usenet的改良版本被推广到了其它几所大学和几家软件公司之中。接下来的几年里,Usenet得到迅猛传播,其信息量也从1983年的每天几百篇文章增加到现在的每天几万条,其主题已经涵盖了人类社会所能涉及到的所有内容,如科学技术、人文社会、地理历史、休闲娱乐等,无论我们有什么样的问题,都可以发送到新闻组上,届时会有成千上万的人和我们讨论这一问题,帮助我们找到最好的解决方法。 新闻组最初的方向是用于支持计算机方面的疑问与解答,但是到了2 0世纪8 0年代后期,不同的新闻组,也就是讨论方向,已经发展到了将近一千个。 简单的说新闻组是一个可以离线浏览的论坛,当在线时候可以把新闻组里面的帖子先接收到自己的电脑中,断线后仍旧可以阅读。新闻组出现于1980年美国北卡罗来纳州。它是一个基于网络的计算机的组合,这些计算机就是新闻服务器,新闻组用户通过新闻组客户端软件就可以连接到新闻服务器上,下载阅读其他人发上去的帖子并可以进行回复和讨论。它和我们现在使用的论坛差不多,不过它是不需要进行注册的,是任何一个网络用户都能进行相互交流的平台。 新闻组服客户端程序是按分类组织各个新闻分组的,接收由用户直接发送到服务器上的帖子,发送的帖子可以带有背景图案或音频,还可以附加各类文档、程序,以及图形、图像和多媒体内容等。新闻组还可以周期性地与相邻的其他新闻组服务器交换内容,采用这种接力传送的方法就可以获得各个新闻组服务器上的内容,再将所获得的内容定期保存于相应的新闻分组中,过期的帖子则由系统自动删除掉。在国外,该技术被广泛用于提供免费资源,中国通过该技术提供收费资源则相对较少。NNTP需要设置一台或多台中心新闻服务器,用来保留所有的新闻文章,服务器端可以设置不同的新闻组对新闻信息加以分类,用户端根据所订阅的新闻组与服务器端进行数据同步,接收到的稿件根据新闻组的分类规则对所属信息进行层次化展示,便于信息查找。多数ISP限制,只有他们的客户才能访问他们的新闻组服务器。打开新闻组服务器将允许发/读任何人的帖子,访问被限制的新闻组服务器,匿名发帖或发送SPAM。 (2)与其他网络应用的对比 新闻组的实时性没有论坛好,但是客户端不必登录到服务器,安全性相对要好;另外它新闻组可以离线浏览,这在论坛中是不可能的。新闻组和电子邮件相比:电子邮件保存在客户端,只有收件人能够查看和保存,而 新闻组存储在服务器端,可以随时查阅。新闻组和文档相比,新闻组的优越性在于时效性和便于沟通,文档的优越性在于条理性和归档保存。每个新闻组都具有鲜明的主题。这和Web不同,虽然Web的网页做得越来越精致、越来越美观,但大多数时间只是从一个页面转到另一个页面,漫无头绪,而且由于图片、广告条的影响,Web的传输速度太慢。而新闻组则不同,每个新闻组只要看它的命名就能清楚它的主题,所以我们在使用新闻组时其主题更加明确,往往能够一步到位,而且新闻组的数据传输速度与网页相比则要快许多。 (3)新闻组的组成结构 新闻组的组成结构呈树状等级结构,通常是根据讨论的主题或类型分类的。比如说,Linux新闻组通常被安排在alt.os、comp.os.l i n u x或者l i n u x主题下。可以看出,关于Linux操作系统的一些诸如设置、硬件或者X 11 等讨论问题都被安排在计算机—操作系统—L i n u x的主题下。还会发现许多其他的讨论问题也是按照这个方法组织安排的。虽然没有什么可以保证能够准确地找到正想查找的讨论问题,但是在大多数情况下你还是可以很容易地找到一个讨论你感兴趣的问题的新闻组的。目前已经出现有几十种不同的新闻组客户端软件传输程序和新闻阅读器程序,还有超过十万个不同的新闻组。所有新闻阅读器程序都能够提供下列这些基本的功能: 1. 订阅或停止订阅某个新闻组。 2. 浏览消息并阅读后续消息(线索)。 3. 直接向消息的作者回复一个邮件消息。 4. 针对某个新闻组上的消息发布后续评论。 5. 保存某个消息的内容(通常保存在用户子目录中名为News的子目录中)。 首先是新闻发布流程见图1: 1. 客户端使用新闻组软件通过TCP 119端口向服务器组服务器发送请求,要求发布新闻组文章。 2. 新闻组服务器对客户端用户进行身份认证,确定客户端是否有发布新闻组文章权限。 3. 通过身份认证后客户端就可以登录新闻组服务器。 4. 新闻组服务器的新闻发布控制端检查文章,新闻发布控制端拒绝的文章将丢弃,新闻发布控制端接受的文章将发布和存储。 客户端查看新闻组文章流程见图2: 图2 查看新闻组流程 1. 客户端使用新闻组软件(浏览器等)通过TCP 119端口向服务器组服务器发送请求,要求提供新闻组文章列表。 2. 新闻组服务器对客户端用户进行身份认证,确定客户端是否有阅读新闻组文章列表权限。 3. 通过身份认证后客户端就可以登录新闻组服务器。 4. 新闻组服务器向客户端转送新闻组文章列表。 5. 客户端再次使用新闻组软件通过TCP 119端口向服务器组服务器发送请求,从新闻组文章列表中列出希望查看的文章。 6. 新闻组服务器对客户端用户进行二次身份认证,确定客户端是否有阅读文章的权限。 7. 通过身份认证后客户端就可以登录新闻组服务器。 8. 新闻组服务器向客户端转送允许阅读新闻组文章。 9. 另外下游新闻组服务器和上游新闻组服服务器之间文章传递(feed)通常使用主动提供和按需提供两种。 三、安装 Microsoft NNTP服务器 默认情况下,运行 Windows Server 的服务器上不安装 Microsoft NNTP Service。首先,必须使用管理工具“管理您的服务器”安装 Microsoft Internet 信息服务 (IIS)。安装了 IIS 之后,还必须接着安装 NNTP。 如果是从 Windows 2000 Server 或 Windows 2000 Advanced Server 升级,则无需此操作。对于新安装的运行 Windows Server 的服务器,才需执行此操作。 1. 在运行 Windows Server 的服务器上安装 IIS 和 NNTP 2. 当安装 Windows Server 2003 标准版或 Windows Server 2003 企业版时,将会显示“管理您的服务器”窗口。若要手动打开“管理您的服务器”,请在“开始”菜单上,指向“控制面板”,指向“管理工具”,然后单击“管理您的服务器”。 3. 在管理您的服务器中,单击“添加角色”以打开“配置您的服务器向导”。 4. 在向导中,选择并添加角色“Web 服务器 (IIS)”。单击“下一步”,Windows 组件向导将安装 IIS。 5. 安装了 IIS 之后,在“开始”菜单上,指向“控制面板”,然后单击“添加或删除程序”。 6. 在添加或删除程序中,单击“添加/删除 Windows 组件”。 7. 在 Windows 组件向导中,在“组件”下,向下滚动并选择“Web 应用程序服务器”,然后单击“详细信息”。 8. 在 Web 应用程序服务器中,选择“Internet 信息服务 (IIS)”,然后单击“详细信息”。 9. 在 Internet 信息服务 (IIS) 中,单击以选中“NNTP Service”旁边的复选框,然后单击“确定”,如图3。 10. 在 Web 应用程序服务器中,单击“确定”。 在 Windows 组件向导中,单击“下一步”。当向导安装完 NNTP 时,单击“完成”。 11.可能需要关闭并重新打开 Internet Information Services MMC 管理单元,才能看见新的默认 NNTP服务器,如图3 。 从图3可以看到 NNTP 服务器会自动安装下列新闻组: • Control.cancel :用来接受删除新闻组中的文章的命令; • Control.newgroup :用来接受生成新闻组的命令; • Control.rmgroup :用来接受删除整个新闻组的命令; 四、新闻组服务器的常规设置 1.配置全局 NNTP 设置 常规选项 在 IIS 管理器中,展开本地计算机,右键单击“默认 NNTP 虚拟服务器”,然后单击“属性”。 如图4 。 图4 新闻组虚拟服务器属性 新闻组虚拟服务器属性包括四个选项:常规、访问、设置、安全性。 “常规”选项卡指定客户端连接到 NNTP 服务的方式。“常规”选项卡包含下列选项: 选项名称 功能描述 IP 地址 网络新闻传输协议 (NNTP) 虚拟服务器的 IP 地址。 限制连接数为 选中该复选框时,此选项限制了与 NNTP 虚拟服务器同时建立的客户端连接的数量。默认连接数为 5,000。 连接超时(分钟) 在断开不活动的客户端连接之前等待的分钟数。默认值为 10 分钟。 路径头 每个新闻张贴中的用于路径行的字符串。“路径头”显示一则新闻消息到达其目标所采取的路径。当消息从新闻服务器转发时,将在路径行中的消息中添加一个描述性的字符串。除句点 (.) 以外的任何标点符号都可以分隔路径头。默认值是NNTP 虚拟服务器的域名系统 (DNS) 名称。不必更改默认值。 启用日志记录 启用日志记录,以跟踪 NNTP 虚拟服务器的用户。默认日志文件目录是 systemroot\System32\LogFiles\Nntpsvc1。要启用日志,还必须选中“虚拟目录”对话框中的“日志访问”复选框。
二、新闻组服务器和客户端的工作原理
访问选项
可以使用“访问”选项卡根据用户名限制对单个新闻组或新闻组集的访问,或根据客户端计算机 IP 地址限制对所有新闻组的访问。访问选项设置如图5 。
图五 访问选项
“访问”选项卡包含下列选项:
选项名称 | 功能描述 |
访问控制 | 身份验证选项。可以选择一个或多个选项。要查看选项,请单击“身份验证”。 |
安全通讯 | 单击“证书”以启动 Web 服务器证书向导。 |
连接控制 | 允许或不允许访问此网络新闻传输协议 (NNTP) 虚拟服务器的特定的 IP 地址。默认情况下,所有 IP 地址都允许访问。要查看选项,请单击“连接”。 |
可以使用“设置”选项卡来对张贴文章设置限制、启用控制消息,以及启用审查新闻组。如图6 。
图6 NNTP 的“设置”选项
选项名称 | 功能描述 |
允许客户张贴 | 选中此选项时,允许客户端向此 NNTP 虚拟服务器上的新闻组张贴文章。 |
限制张贴大小 (KB) | 指定用户能张贴的单篇文章的最大大小(以 KB 为单位)。要不设置任何限制,请清除该复选框。 |
限制连接大小 (MB) | 指定在连接期间用户可以张贴到新闻组的最大数据量(以 MB 为单位)。要不设置任何限制,请清除该复选框。 |
允许供给张贴 | 选中此选项时,允许客户端向此 NNTP 虚拟服务器上的新闻流张贴文章。 |
限制张贴大小 (KB) | 指定用户可以张贴到新闻流的单篇文章的最大大小(以 KB 为单位)。要不设置任何限制,请清除该复选框。 |
限制连接大小 (MB) | 指定在连接期间用户可以张贴到新闻流的最大数据量(以 MB 为单位)。要不设置任何限制,请清除该复选框。 |
允许其他服务器从此服务器接收新闻文章 | 允许其他 NNTP 服务器使用接收供给,一次从此服务器中获取多篇文章。 |
允许控制消息 | 允许客户端和服务器发送用于创建和删除新闻组和删除单篇文章的控制消息。 |
审查组的 SMTP 服务器 | 向新闻组的审查方发送文章或指定放置这些文章的目录路径的 SMTP 邮件服务器的 DNS 名称。该目录必须是本地目录。 |
默认审查方域 | 审查新闻组的默认域。该域必须是限定域名。张贴到未指定审查方的审查新闻组的文章将被发送到 news_group_name@default_moderator_domain,其中 news_group_name 是文章将要发送到的新闻组的名称,default_moderator_domain 是您为此选项指定的值。 |
系统管理员电子邮件帐户 | 电子邮件地址,用于接收无法发送到指定审查方的审查新闻组文章的未传递报告 (NDR)。 |
NNTP 的“安全性”选项卡
可以使用“安全性”选项卡指定允许访问 NNTP 虚拟服务器的操作员。
“安全性”选项卡包含下列选项:
选项 | 描述 |
操作员 | 能访问此 NNTP 虚拟服务器的操作员或操作员组。默认值是计算机的 Administrators 组。 |
添加 | 打开“选择用户或组”对话框,在此对话框中可以选择新操作员。 |
删除 | 删除所选的操作员。 |
对象类型(在“选择用户或组”对话框中) | 要从中选择操作员的对象。 |
位置(在“选择用户或组”对话框中) | 所选的域中可用的位置。 |
输入对象名称来选择(在“选择用户或组”对话框中) | 可在此处键入要查找的对象名。 |
2.创建新的 NNTP 虚拟服务器
在 IIS 管理器中,展开本地计算机,然后右键单击一个现有的 NNTP 虚拟服务器,指向“新建”,然后单击“虚拟服务器”。
按照“新建 NNTP 虚拟服务器向导”中的说明执行操作。一定要确保所选择的 IP 地址没有被其他 NNTP 虚拟服务器使用。
新的 NNTP 虚拟服务器将自动启动。然而,如果您指派给它一个已经使用的 IP 地址/TCP 端口组合,它将不会启动。必须重新配置 IP 地址/TCP 端口组合,并确保该组合是唯一的。
配置新的 NNTP 虚拟服务器。
3. 创建新闻组
- 在 IIS 管理器中,展开本地计算机,然后展开所需的 NNTP 虚拟服务器。
- 右键单击“新闻组”,指向“新建”,然后单击“新闻组”。
- 按照“新建新闻组向导”中的步骤执行操作:
在“名称”中,键入要创建的新闻组的名称。
在“描述”中,键入有关新闻组功能的简要描述。
如果需要,在“昵称”中键入新闻组的其他名称,可以通过 List Prettynames NNTP 命令返回该名称。昵称是可由客户端显示的新闻组的另一个别名。
单击“完成”。
五、Windows 新闻组客户端软件的使用
Windows 新闻组客户端软件最常用的是Outlook Express,下面介绍一下Outlook Express的新闻组功能:
(1)建立新闻组账户
在IE浏览器的工具栏启动新闻阅读,如图-7 。
图7 通过IE浏览器启动新闻阅读
(2)输入新闻组ID
在弹出的对话框中输入你想在新闻组中显示的名称,这就相当于论坛中的ID,不过在新闻组起名字很自由,你可以和别人使用一样的名字;然后就是输入自己的电子信箱,这是为了方便新闻组里面的朋友给你发邮件。按”下一步”。进入第三个窗口(如图8)。
图8 输入新闻组服务器ip
(3)订阅新闻组
如果新闻组服务器允许匿名用户登录,所以并没有要求你填写你的密码。按“下一步”,如果你确定填好了上述东西的话,按”完成”,这样就设好了我们的新闻组客户端。当我们在按下”完成”后,Outlook Express会自动问我们是否现在就从新添加的新闻服务器上下载新闻组,回答”是”。在下载完成后,我们就可以预订新闻组(图9),然后阅读、回复和张贴消息了。双击现有的新闻组,或者选中它,再选择”预订”,选择我们所想要参与的新闻组。选择完成后,按”确定”。对帐号做同步帐号的选择,这样,就可以在新闻组上有新邮件的时候,第一时间阅读到它了。说明:邮件目录与新闻讨论组的区别? 二者都是关于某一主题的讨论组,但却以不同的方式运行。邮件目录是由服务器把你订阅的新闻组所有的消息直接投寄到你的邮箱,而新闻讨论组则允许你选择阅读其中的消息。
图9 订阅新闻组
(4)发表和回复新闻组文件
那么,我们怎么发表自己的看法呢? 和发送普通邮件一样,我们既可以发送一篇新文章,也可以回复讨论组里已有的文章。如果要把回复的文章发送到讨论组,我们单击讨论组项目列表里要回复的文章,单击“常用”工具栏的“回复组”按钮,张贴消息很简单,就和平时写email一样,在选好所要投递的新闻组后,按一下”新投递”的按纽,即可。如果要与文章的投递人直接联系,我们单击要回复的讨论组项目,单击“常用”工具栏的“回复作者”按钮,输入邮件的具体内容,单击“发送”按钮就可以了。
总结:
到此为止,笔者介绍了Windows 2003 server的基于IIS 的新闻组服务器的建立和新闻组客户端软件的使用。下面笔者会介绍一下Linux 下新闻组服务器的建立的客户端软件的使用。