郵件訪問協議
一旦**tp把alice發給bob的郵件訊息從alice的郵件伺服器傳送到bob的郵件伺服器,該郵件訊息就存放在bob的郵箱中。在此前的討論中,我們已假設bob通過直接登入到自己的郵件伺服器主機啟動使用者**來閱讀該郵件訊息。直到20世紀90年代早期,這仍然是標準的做法。然而,當今的使用者一般使用在本地pc機(或mac機)上執行的使用者**來閱讀郵件,而不管是辦公室pc機、家庭pc機還是便攜機。使用者在本地pc機上執行使用者**可享受諸多好處,包括方便檢視多**郵件訊息和附件。
郵件訊息的接收者在本地pc機上執行使用者**時,很自然的乙個想法是在本地pc機上也執行郵件伺服器。然而這種方法存在乙個問題。我們已經知道,郵件伺服器是管理郵箱並執行**lp的客戶端和伺服器端的,這意味著如果收信人把自己的郵件伺服器駐留在本地pc上,那麼他不得不始終開著這台pc機並連線在網際網路上,以便接收可能在任意時刻到達的新郵件。對於大多數網際網路使用者來說,這顯然是不現實或不經濟的做法。相反,使用者一般只在本地pc機上執行乙個使用者**,由它遠端訪問存放在某台共享的郵件伺服器主機上的郵箱,而該郵件伺服器主機總是連線在網際網路上並為多個使用者所共享。該主機及其上的郵件伺服器—般由該使用者的isp(例如大學或公司)維護。
既然使用者**執行在各個使用者的本地pc機上,郵件伺服器則執行在isp或機構內部網路中的某台伺服器主機上,使用者**和郵件伺服器之間就得有乙個彼此通訊的協議。我們先檢視一下出自從alice的本地pc機的某個郵件訊息如何設法到達bob的**tp郵件伺服器。這個任務可簡單地由a11ce的使用者**使用**tp直接與bob的郵件伺服器進行通訊來完成。具體地說,從alice的使用者**發起建立乙個到bob的郵件伺服器的tcp連線,並通過該連線發出**tp握手命令,再用data命令上傳郵件訊息,最後關閉連線。這種方法儘管切實可行,卻很少被採用,因為它沒有給alice的使用者**提供任何資源來應對目標郵件伺服器臨時崩潰的情況。相反,通常採用的方法是先由alice的使用者**發起與自己的郵件伺服器的乙個**tp會話,把郵件訊息上傳到該郵件伺服器;再由alice的郵件伺服器發起與bob的郵件伺服器的一次**tp會話,把郵件訊息中轉給bob的郵件伺服器。如果bob的郵件伺服器暫時不可用,alice的郵件伺服器就暫存該郵件訊息,以後繼續嘗試。**tp的rfc定義了可用於跨多個郵件伺服器中轉郵件訊息的**tp命令。
現在的問題是,像bob這樣在本地pc機上執行使用者**的收信人該如何獲取已到達自己的郵件伺服器的郵件訊息(該郵件伺服器執行在bob的isp中的某台主機上)。通過引入用於從自己的郵件伺服器到本地pc機上的使用者**傳送郵件訊息的郵件訪問協議,這個問題徹底得以解決。日前流行的郵件訪問協議有兩個:郵局協議版本3(post office protocolversion 3,簡稱pop3)和網際網路郵件訪問協議(internet mail access protocol,簡稱imap)。注意,使用者**不可能使用**tp從郵件伺服器獲取郵件訊息,因為郵件訊息的獲取是乙個內拉操作,而**tp是乙個外推協議。圖3彙總了網際網路電子郵件系統個所用的協議:**tp用於從傳送者的郵件伺服器到接收者的郵件伺服器傳送郵件訊息,也用於從傳送者的使用者**到傳送者的郵件伺服器傳送郵件訊息;pop3或imap用於從接收者的郵件伺服器到接收者的使用者**傳送郵件訊息。
圖3
電子郵件協議及它們的通訊實體
網路相關協議要點
tcp協議是面向連線,可靠的傳輸層協議,是基於全雙工通訊,並且是基於位元組流的。1 保證傳輸資料可靠性機制 a 定時器 當tcp發出乙個報文段,會啟動乙個定時器,等待目的端確認收到報文段,若一段時間之後,沒有收到確認資訊,就會重傳報文段。b 確認 當tcp收到發自tcp連線另一端的資料,將會傳送乙個...
KDC以及相關協議
kdc 被提出是為了解決對稱金鑰加密通訊在實際使用時存在的一些問題。為此,我們先了解一下私鑰加密通訊的一些窘境 私鑰加密用來保證在不安全通道上進行通訊時,通訊雙方資訊的保密性和完整性。然而其前提是雙方擁有共享的金鑰。那麼問題來了,通訊的雙方如何安全地共享此金鑰呢?顯然私鑰的共享不能在公共的通道上進行...
USB硬體相關 協議
關於usb驅動協議那邊的事情 有的時候會感覺很奇怪,乙個usb咋麼就那麼牛逼,小可以給裝置充電,大還能傳播資料還那麼的多,而且巴拉巴拉 而且仔細觀察usb 也就只有4根pin腳,為什麼連線電腦居然可以出好多個埠?而且都可以往這些埠寫東西?這不科學啊 帶著這些疑問,我好好科普了一下自以為很了解的通訊知...