新聞組服務是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)通常使用主動提供和按需提供兩種。