標籤:
通訊端是常見的低層級的網路通訊協議,在此基礎上,還有許多其它的網路通訊協議,用於實現用戶端-伺服器的網路互聯,下面對這些協議做一個簡單的介紹。
1、檔案傳輸
FTP:檔案傳輸通訊協定。可以上傳或下載檔案,採用了Unix多使用者的概念,使用者一定要輸入有效使用者名稱和密碼才能使用,不過也支援匿名登入。在底層實現上,FTP只使用TCP而不使用UDP,主動模式下使用兩個通訊端,分別是控制命令連接埠和資料連接埠,被動模式下使用一個通訊端,為控制命令介面。用戶端工作流程為:串連-登入-傳輸-結束。python相關模組為ftplib,使用時需要執行個體化一個ftplib.FTP類對象。典型的FTP用戶端有:命令列用戶端程式、GUI用戶端程式、網頁瀏覽器,以及自己開發的程式等。
HTTP:網頁的超文字傳輸通訊協定 (HTTP)。HTTP主要用於網頁檔案的下載和訪問Web服務上,它一般不要求使用者輸入登入的使用者名稱密碼就可以訪問伺服器上的檔案和服務。
scp/rsync:要求使用者登入到伺服器,否則不能上傳或下載檔案。
rcp:遠程檔案複製協議。
UUCP:複製協議。
2、網路新聞
Usenet新聞系統是一個全球存檔的電子公告版,各種主題的新聞一應俱全,整個系統是一個由大量電腦群組成的一個龐大的全球網路,電腦之間共用Usenet上的文章,每個系統都有一個它已經訂閱的新聞群組的列表,它只接收它感興趣的新聞群組裡的文章。
NNTP:網路新聞傳輸通訊協定。供使用者在新聞群組中下載或發表文章,只使用一個標準連接埠119來做通訊。類似於FTP,python相關模組為nntplib,使用時執行個體化nntplib.NNTP類對象。
3、電子郵件
電子郵件系統有許多組件,最主要的組件就是訊息傳輸代理MTA,這是一個在郵件交換主機上啟動並執行一個伺服器程式,它負責郵件的路由、隊列和發送工作,它們就是郵件從源主機到目的主機所要經過的跳板。
SMTP:簡易郵件傳輸通訊協定。在網際網路上MTA之間用於訊息交換的最常用的MTS,它被MTA用來把電子郵件從一台主機傳送到另一台主機 ,在發電子郵件的時候,必須要串連到一個外部的SMTP伺服器,這時,發送的郵件程式是一個SMTP用戶端,SMTP伺服器也因此成為了訊息的第一個跳板。python相關模組為smtplib, 使用時執行個體化smtplib.SMTP類對象。通訊時,只要一個連接埠25。
除了SMTP之外,還有一些開源的MTA如Sendmail、Postfix和商業MTA如Microsoft的Exchange。
郵件使用者代理MUA從伺服器上下載郵件,用於下載郵件的第一個協議叫郵局協議POP,目的是讓使用者的工作站可以訪問郵箱伺服器裡的郵件,郵件要能從工作站通過SMTP發送到郵件伺服器。與POP相關的python模組為poplib, 使用時執行個體化poplib.POP3類對象。若干年之後,出現了另一個協議,互動式郵件訪問協議IMAP,它比POP更為複雜。
python網路通訊協定