NNTP
来自站长百科
NNTP(Network News Transport Protocol)是网络新闻传输协议,这是一个主要用于阅读和张贴新闻文章到Usenet上的Internet应用协议,也负责新闻在服务器间的传送,NNTP用于向Internet上NNTP服务器或NNTP客户(新闻阅读器)发布网络新闻邮件的协议,提供通过Internet使用可靠的基于流的新闻传输,提供新闻的分发、查询、检索和投递。NNTP还专门设计用于将新闻文章保存在中心数据库的服务器上,这样用户可以选择要阅读的特定条目,还提供过期新闻的索引、交叉引用和终止。
NNTP简介[ ]
NNTP协议是由加州大学圣迭戈分校的Brian Kantor和加州大学伯克利分校的Phil Lapsley发明的,其他为此协议贡献过的人包贝勒医学院的Stan Barber和苹果电脑公司的Erik Fair,NNTP使用TCP端口号119。
NNTP协议结构[ ]
NNTP使用命令和响应实现通信,其中命令由命令字构成,在有些情况下带有参数,NNTP具有很多命令,主要命令有:
- 新闻(信息ID):显示信头,空行及特定文章体(文本)。
- 信息ID:可选域;是文章信息ID,位于文章信头。如果是空,表示当前的文章是假设的。
- 信头:等同于ARTICLE命令,但它只返回文章信头。
- 状态:类似于ARTICLE命令,但它不返回文本信息。
- 新闻体:等同于ARTICLE 命令,但它只返回新闻文本体。
- 目录:返回一列有效新闻组及相关信息。
- 新闻组:由日期和时间构成的一列新闻组会以和LIST命令相同的格式列出。
- NewNews:因为已经列出“日期”,所以特定的新闻组能传送或接收一组新闻信息IDS。
- 下一个:内部维护的“当前新闻指示器”先进于当前新闻组中的下一个新闻。
- 邮件:如果邮件允许,返回响应代码340,表示传送的新闻应该发送。
- 停止:服务器程序响应QUIT命令,然后关闭对客户机的连接。
- 组(ggg):必需的参数ggg是选定的新闻组的名称,LIST命令中包含一组有效的新闻组,成功选择响应会返回组中首尾两篇新闻的新闻号以及对存档新闻号估计。
NNTP发送方式[ ]
- NNTP使用命令行提供一个在协作的多个主机间交换信息的简单方法,主机可以在连接到一个本地网范围,也可以和其他快速网络中想要获取新闻组信息的使用传统的传输方法的主机用NNTP传输。
- 在传统的新闻组文章发送方法中,新闻组是使用灌的方法从主机到主机的传播, 每个主机都发送所有新的新闻组文章到每个其他主机上,这个主机再转发到别的主机上。显然当接收一个新闻组文章的一个主机上已经从别的主机上得到了这个文章的拷贝(众多的主机都会收到多余重复的消息)时就会浪费时间和通信资源。
- 使用NNTP,主机间交换新闻组文章使用一个交互机制以决定文章是否已经传送。当主机希望得到最新的消息,或者要决定哪个新消息需要发送时,主机会使用NNTP向 周围的一个或多个主机进行联系。第一个动作会询问,在主机上是否有新的新闻组群组(使用NEWGROUPS命令创建的),如果是的话,有适当的或需要的群组,可以新建立新闻组。
- 客户端主机将询问所有的或者希望收取的几个新闻组群组的新文章是否到达,这使用NEWNEWS命令。这将会收到来自服务器的新文章列表,并可以请求传送。 最后客户端会向服务器建议最近的接受位置。服务器会说明那些已经获得副本的文章,并决定哪些文章需要发送和接受。