Java網絡編程

網絡編程的目的
直接或間接的通過網絡協議與其它計算機進行通訊。

網絡編程的2個主要問題:
- 準確定位網絡上一臺或多臺主機
- 找到主機後如何高效的進行數據傳輸

在TCP/IP協議中IP層主要負責網絡主機的定位,數據傳輸的路由,由IP地址可以唯一的確定Internet上的一臺主機。
而TCP層則提供面向應用的可靠的數據傳輸機制,這是網絡編程的主要對象,一般不需要關心IP層是如何處理數據的。

網絡編程模型:
客戶機/服務器(C/S)結構:通信的雙方一方作爲服務器等待客戶端提出請求並給予響應。客戶則在需要服務時向服務器提出申請。服務器始終運行,監聽網絡端口,一旦有客戶請求,就會啓動一個服務線程來響應客戶,同時自己繼續監聽服務端口,使後來的客戶也能及時得到服務。

IP地址:

  • IP網絡中每臺主機都必須有一個唯一的IP地址
  • IP地址是一個邏輯地址
  • 因特網上的IP地址具有全球唯一性
  • 32位,4個字節,常用點分十進制的格式表示

    協議

  • 爲進行網絡中的數據交換(通信)建立的規則、標準或約定(=語義+語法+規則)
  • 不同層具有各自不同的協議

ISO/OSI七層參考模型

OSI(Open System Interconnection)開發系統互連參考模型將網絡的不同功能劃分爲7層:> 應用層——處理網絡應用

表示層——數據表示
會話層——主機間通信
傳輸層——端到端的連接
網絡層——尋址和最短路徑
數據鏈路層——介質訪問(接入)
物理層——二進制傳輸

  • 通信實體的對等層之間不允許直接通信
  • 各層之間是嚴格的單向依賴
  • 上層使用下層提供的服務——Service user
  • 下層向上層提供服務——Service

對等層通信的實質:
- 對等層實體之間虛擬通信。每層之間都是根據七層模型,往下走到物理層進行數據傳輸再到另外一臺電腦的對等層。
- 下層向上層提供服務。實際通信在最底層完成。

OSI層所使用的協議

  • 應用層:遠程登錄協議Telnet,文件傳輸協議FTP,超文本傳輸協議HTTP,域名服務DNS,簡單郵件傳輸協議SMTP,郵局協議POP3等。
  • 傳輸層:傳輸控制協議TCP,用戶數據報協議UDP
    TCP:面向連接的可靠的傳輸協議。
    UDP:是無連接的,不可靠的傳輸協議。
  • 網絡層:網際協議IP,Internet互聯網控制報文本協議ICMP、Internet組管理協議IGMP
發佈了272 篇原創文章 · 獲贊 37 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章