新手入門:瞭解網絡應用與網絡協議

網絡應用(network application)是計算機網絡之所以存在的理由。要是我們設想不出任何有用的網絡應用,那就沒有必要設計支持它們的網絡協議了。不過,過去30年內已有不少人設計出大量精妙的網絡應用。這些應用既包括從20世紀80年代流行起來的基於文本的經典應用,例如遠程計算機訪問、電子郵件、文件傳送、新聞組、聊天等;也包括近些年來所謂的多媒體應用,例如Web、因特網電話、視頻會議、音頻/視頻點播等。

  儘管網絡應用品種繁多是有許多彼此交錯的部件,其軟件卻幾乎總處於核心地位。網絡應用的軟件分佈於兩個或以上的端系統(即主機)。例如,Web應用包括彼此通信的兩部分軟件:運行在用戶的主機(PC機、MAC機、工作站等)中的瀏覽器軟件,以及運行在Web服務器上的Web服務器軟件。Telnet應用同樣由分別運行於本地主機和遠程主機中的兩部分軟件構成。至於多方視頻會議,參與會議的每臺主機上都運行着一部分軟件。

  用操作系統的行話來說,彼此通信的實際上不是軟件部件(即程序)本身,而是進程。我們可以把進程看成是在端系統中運行着的程序。運行在同一個端系統上的進程彼此間通過使用進程間通信手段通信。進程間通信的具體規則由端系統的操作系統決定。本文不關心同一臺主機內的進程間通信,而關心運行在不同主機(操作系統也可能不一樣)的進程間的通信。運行在不同端系統上的進程通過網絡交換消息彼此通信。發送進程創建消息並將之傳入網絡;接收進程收取這些消息,並可能發送消息作爲響應,如下圖所示。每個網絡應用都有各自的應用層協議,它定義在進程間交流的消息的格式和順序,以及在送出或收到消息時採取的行動。


圖1:彼此通信的應用

  應用層是我們着手研究協議的好地方。我們已經熟悉依賴於協議的許多應用。這將給我們一種似曾相識的感覺,知道協議的目的所在,有助於我們瞭解以後學習傳輸層協議、網絡層協議和數據鏈路層協議時會碰到的許多同樣的問題。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章