計算機網絡之應用層(一)

網絡應用的體系結構

1、客戶機/服務器(Client-Server, C/S)

服務器:

  • 7*24小時提供服務
  • 永久訪問地址/域名
  • 利用大量服務器實現可拓展性

客戶機:

  • 與服務器通信,使用服務器提供的服務
  • 間歇性接入網絡
  • 可能使用動態IP地址
  • 不會與其他客戶機直接通信
    例如:Web服務

2、點對點結構(Peer-to-peer,P2P)

  • 沒有永遠在線的服務器
  • 任意端系統/節點之間可以直接通信
  • 節點間歇性接入網絡
  • 節點可能改變IP地址
  • 缺點:難於管理
  • 優點:高度可伸縮

3、混合結構(Hybrid)

Napster

  • 文件傳輸使用P2P結構
  • 文件的搜索採用C/S結構——集中式
    每個節點向中央服務器登記自己的內容
    每個節點向中央服務器提交查詢請求,查找感興趣的內容

網絡應用的進程間通信
進程:
主機上運行的程序
客戶機進程:發起通信的進程
服務器進程:等待通信請求的進程
注意:採用P2P架構的應用同樣存在客戶機進程/服務器進程之分

同一主機上運行的進程:

  • 進程間通信機制
  • 操作系統提供

不同主機上運行的進程:

  • 消息交換

套接字:Socket

  • 進程間通信利用scoket發送/接收消息實現
  • 類似於寄信
  • 發送方將消息送到門外郵箱
  • 發送方依賴(門外的)傳輸基礎設施將消息傳到接收方所在主機,並送到接收方的門外
  • 接收方從門外獲取消息

傳輸基礎設施向進程提供API

  • 傳輸協議的選擇
  • 參數的設置

如何尋址進程?

  • 不同主機上的進程間通信,那麼每個進程必須擁有標識符
  • 如何尋址主機?——IP地址
  • 主機有了IP地址之後,並不足以定位進程,因爲同一主機上可能同時有多個進程需要通信

端口號

  • 爲主機上每個需要通信的進程分配一個端口號
  • HTTP Server:80
  • Mail Server:25

進程的標識符
IP地址+端口號

應用層協議

  • 網絡應用需遵循應用層協議
  • 公開協議
    由RFC(Request For Comments)定義
    允許互操作
    HTTP,SMTP,……
  • 私有協議
    多數P2P文件共享應用

應用層協議的內容

  • 消息的類型(type)
    請求消息
    響應消息
  • 消息的語法(syntax)格式
    消息中有哪些字段?
    每個字段如何描述
  • 字段的語義(semantics)
    字段中信息的含義
  • 規則(rules)
    進程何時發送/響應消息

網絡應用對傳輸服務的需求

  • 數據丟失/可靠性
    某些網絡應用能容忍一定的數據丟失:網絡電話
    某些網絡應用要求100%可靠的數據傳輸:文件傳輸,telnet
  • 時間延遲
    有些應用在延遲足夠低時才“有效”
    網絡電話/網絡遊戲
  • 帶寬(bandwidth)
    某些應用只有在帶寬達到最低要求時才“有效”:網絡視頻
    某些應用能夠適應任何帶寬——彈性應用:email

Internet提供的傳輸服務
在這裏插入圖片描述

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