欢迎来到天天文库
浏览记录
ID:52243644
大小:120.88 KB
页数:4页
时间:2020-03-25
《Linux系统管理白皮书 (14).pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、下载第17章NNTP简介由于采用不同的网络传输,NNTP提供了多种C-News新闻交换方法。NNTP代表的是“网络新闻传输协议”,它不是一个特殊的软件包,而是一种因特网标准,是在RFC-977在正式定义的。它以面向流的连接(通常为TCP连接)为基础,这种连接的一端是网络中处于任何一个地方的客户机,另一端是其磁盘上保存netnews(网络新闻)的主机上的服务器。流式连接允许客户机和服务器几乎没有任何延迟地交互式协商文章传输,这样可尽量避免文章的雷同。有了因特网的高传输速率,新闻传输较之以前的UUCP网络更为快捷。虽然若干年前,一篇文章抵达Usenet的最后一个站点需要两天甚至更
2、长的时间是常有的事,但现在通常只须花不到两天的时间;而在因特网上,甚至可在数分钟之内就能完成。许多命令允许客户机恢复、发送或投递文章。发送和投递之间的区别在于:后者还涉及到头信息不完整的文章(在NNTP上投递文章时,服务器始终会加上至少一个头字段,那就是Nntp-Posting-Host:。其中包含客户机的主机名)。文章的恢复可供新闻传输客户机和新闻读者使用。这些都令NNTP成为一个出色的工具,在使用NFS时,无须通过必要的中转,就可为本地网络上的许多客户机提供新闻访问。NNTP还提供了主动和被动新闻传输程序,通称“推”和“拉”。“推”程序和C-Newsihave/sendm
3、e协议基本一样。客户机通过ihave<varmsgid>命令,为服务器提供文章,而服务器返回相应的响应代码,指出自己是否已有这篇文章,或者说自己是否想收到这篇文章。如果是,客户机就将该文章发送出去,在一个单独的行上,以一个句点结束。“推”新闻的不足之处在于:它会为服务器系统带来较大的工作量,因为它必须在自己的历史数据库内搜索每一篇独立的文章。相反的技术是“拉”新闻。在这种情况下,客户机从一个组请求获得指定日期之后抵达的所有文章的一个列表。这一查询是由NEWNEWS命令来执行的。从消息ID的返回列表中,客户机选择那些自己还没有的文章(依次为每篇新文章使用ARTICLE命令)。另
4、外还有大量便利的命令可供新闻阅读程序利用,使其能分别接收文章标题和文章主体,甚至从指定范围的文章中,取得每一个标题行。这样一来,我们可就将全部新闻(文章)都保存在一台中心主机上。同时,整个网络中的所有用户都利用基于NNTP的客户机程序,读取及发表文章。另外,也可以通过NFS导出新闻目录,具体做法已在第16章详细介绍过了。对NNTP来说,它存在的一个重要问题在于:某些头脑发达的人士,可以使用虚拟的发送人信息,将文章插入新闻流中。我们将这称为“新闻欺骗”(SMTP—简单邮件传输协议—也存在同样的问题)。然而,通过对NNTP进行一定程度的扩展,便可针对特定的命令,要求证明用户的真实
5、身份。目前,大家可以找到大量NNTP的变种。其中最著名的恐怕要算NNTPDaemon,亦称作“参考NNTP”。它最初是由StanBarber和PhilLapsley编写的,用于阐示RFC-977的细节。其最新的版本是nntpd1.5.11,后面会以它作为范例详细讲述。此外,大家能拿到它的源码,并可自行编译,或使用由FredvanKempen的net-std二进制封装提供的nntpd。注意nntpd并没有现第17章NNTP简介169下载成的二进制文件可供直接使用,这是由于存在大量与具体站点对应的值,必须自行编译。注意自本书完稿以后,许多情况都发生了变化。后文提到的INN封装目前
6、正由ISC(Internet软件协会)负责维护,并被公布为最新的“参考”版本。INN的最新版本是2.2,请访问下述网址了解进一步的情况:http://www.isc.org/view.cgi?/products/INN/index.phtml。在nntpd封装中,包含了一个服务器模块,以及两个客户机模块,分别用于新闻的“拉”与“推”。此外,还有一个用于取代inews的模块。它们要求在一个Bnews环境中使用,但只需作少许调节,就能很好地兼容于C-News环境。但是,假如你计划使用NNTP,让新闻阅读程序访问自己的新闻服务器,那么参考版本其实并不是一个很好的选择。因此,我们将只
7、讨论包含在nntpd封装中的NNTPDaemon;至于具体的客户机程序,则暂时不作讨论。注意另外还有一个名为“InterNetNews”的封装,简称为INN,由RichSalz编写。它同时具有NNTP和UUCP新闻传输功能,而且对那些大型的新闻交换中心来说,显得更加稳定。通过NNTP传输新闻消息时,这个版本要明显优于nntpd。目前,INN的版本号是inn-1.4sec。ArjandeVet为我们提供了一个工具包,专门用来在一台机器上构建INN;你可利用FTP从sunsite.unc.edu网站下载,目
此文档下载收益归作者所有