1. 程式人生 > >Java學習筆記之--------網路程式設計的概念

Java學習筆記之--------網路程式設計的概念

什麼是計算機網路

把分佈在不同地理區域的計算機與專門的外部裝置用通訊線路互連成一個規模大、功能強的網路系統,從而使眾多的計算機可以方便地互相傳遞資訊,共享硬體、軟體、資料資訊等資源。

計算機網路的主要功能

資源共享

資訊傳輸與集中處理

均衡負荷與分佈處理

綜合資訊服務(www/綜合業務數字網絡ISDN)

什麼是網路通訊協議

計算機網路中實現通訊必須有一些約定即通訊協議,對速率、傳輸程式碼、程式碼結構、傳輸控制步驟、出錯控制等制定標準。

TCP傳輸協議:TCP(Transmission Control Protocol 傳輸控制協議)一種面向連線(連線導向)的、可靠的、基於位元組流的傳輸層(transport layer)通訊協議。特點有:面向連線,點到點的通訊,高可靠性。

UDP傳輸協議:UDP(User Datagram Protocol 使用者資料報協議)一種無連線的傳輸層協議,提供面向事務的簡單不可靠資訊傳輸服務。特點:非面向連線,傳輸不可靠,資料可能丟失。

網路通訊介面

為了使兩個結點之間能進行對話,必須在它們之間建立通訊工具(即介面),使彼此之間能進行資訊交換。介面包括兩個部分:硬體裝置:實現結點之間的資訊傳送。軟體裝置:規定雙方進行通訊的約定協議。

網路分層

由於結點之間聯絡很複雜,在制定協議時,把複雜成分分解成一些簡單的成分,再將它們複合起來。最常用的複合方式是層次方式,即同層間可以通訊,上一層可以呼叫下一層,而與下一層不再有關係。

網路分層就是將網路節點所要完成的資料的傳送或轉發、打包或拆包,控制資訊的載入或拆出等工作,分別由不同的硬體和軟體模組去完成。這樣可以將往來通訊和網路互連這一複雜的問題變得較為簡單。

網路層次可劃分為五層因特網協議棧和七層因特網協議棧。

因特網協議棧共有五層:應用層、傳輸層、網路層、鏈路層和物理層。

應用層:支援網路應用,應用協議僅僅是網路應用的一個組成部分,執行在不同主機上的程序則使用應用層協議進行通訊。主要的協議有:http、ftp、telnet、smtp、pop3等。

傳輸層:負責為信源和信宿提供應用程式程序間的資料傳輸服務,這一層上主要定義了兩個傳輸協議,傳輸控制協議即TCP和使用者資料報協議UDP。

網路層:負責將資料報獨立地從信源傳送到信宿,主要解決路由選擇、擁塞控制和網路互聯等問題。

資料鏈路層:負責將IP資料報封裝成合適在物理網路上傳輸的幀格式並傳輸,或將從物理網路接收到的幀解封,取出IP資料報交給網路層。

物理層:負責將位元流在結點間傳輸,即負責物理傳輸。該層的協議既與鏈路有關也與傳輸介質有關。

ISO提出的OSI(Open System Interconnection)模型將網路分為七層,即物理層( Physical )、資料鏈路層(Data Link)、網路層(Network)、傳輸層(Transport)、會話層(Session)、表示層(Presentation)和應用層(Application)。

物理層(Physical layer)是參考模型的最低層。該層是網路通訊的資料傳輸介質,由連線不同結點的電纜與裝置共同構成。主要功能是:利用傳輸介質為資料鏈路層提供物理連線,負責處理資料傳輸並監控資料出錯率,以便資料流的透明傳輸。

資料鏈路層(Data link layer)是參考模型的第2層。 主要功能是:在物理層提供的服務基礎上,在通訊的實體間建立資料鏈路連線,傳輸以“幀”為單位的資料包,並採用差錯控制與流量控制方法,使有差錯的物理線路變成無差錯的資料鏈路。

網路層(Network layer)是參考模型的第3層。主要功能是:為資料在結點之間傳輸建立邏輯鏈路,通過路由選擇演算法為分組通過通訊子網選擇最適當的路徑,以及實現擁塞控制、網路互連等功能。

傳輸層(Transport layer)是參考模型的第4層。主要功能是向用戶提供可靠的端到端(End-to-End)服務,處理資料包錯誤、資料包次序,以及其他一些關鍵傳輸問題。傳輸層向高層遮蔽了下層資料通訊的細節,因此,它是計算機通訊體系結構中關鍵的一層。

會話層(Session layer)是參考模型的第5層。主要功能是:負責維護兩個結點之間的傳輸連結,以便確保點到點傳輸不中斷,以及管理資料交換等功能。

表示層(Presentation layer)是參考模型的第6層。主要功能是:用於處理在兩個通訊系統中交換資訊的表示方式,主要包括資料格式變換、資料加密與解密、資料壓縮與恢復等功能。

應用層(Application layer)是參考模型的最高層。主要功能是:為應用軟體提供了很多服務,例如檔案伺服器、資料庫服務、電子郵件與其他網路軟體服務。

IP地址

IP地址是指網際網路協議地址(Internet Protocol Address,又譯為網際協議地址),是IP Address的縮寫。IP地址是IP協議提供的一種統一的地址格式,它為網際網路上的每一個網路和每一臺主機分配一個邏輯地址,以此來遮蔽實體地址的差異。

埠號

我們知道,一臺擁有IP地址的主機可以提供許多服務,比如Web服務、FTP服務、SMTP服務等,這些服務完全可以通過1個IP地址來實現。主機是通過“IP地址+埠號”來區分不同的服務的。

一個IP地址的埠通過16bit進行編號,最多可以有65536個埠。埠是通過埠號來標記的,埠號只有整數,範圍是從0 到65535。但是1024以下的埠號儘量不要使用,因為有很多預設的埠號,比如http預設80,ftp預設21。

URL

URI(Uniform Resource Identifier)統一資源識別符號,用來唯一的標識一個資源。

URL(Uniform Resource Locator)統一資源定位符,它是一種具體的URI。統一資源定位符是對可以從網際網路上得到的資源的位置和訪問方法的一種簡潔的表示,是網際網路上標準資源的地址。網際網路上的每個檔案都有一個唯一的URL,它包含的資訊指出檔案的位置以及瀏覽器應該怎麼處理它。

由四部分組成:協議,存放資源的主機域名(或IP地址),資原始檔名和埠號。