網絡程式設計的目的:直接或間接地通過網絡協定與其他計算機進行通訊。
網絡程式設計中有兩個主要的問題:
1.如何準确地定位網絡上一台或多台主機。
2.找到主機後如何可靠高效地進行資料傳輸。
目前較為流行的網絡程式設計模型是用戶端/伺服器(C/S)結構。
即通信雙方一方作為伺服器等待客戶提出請求并予以相應。客戶則在需要服務時向伺服器提出申請。
伺服器始終運作,監聽網絡端口,一旦有客戶請求,就會啟動一個服務線程來響應該客戶,同時自己繼續監聽服務視窗,使後來的客戶也能及時得到服務。
IP位址
IP網絡中每台主機都必須有一個唯一的IP位址,IP位址是一個邏輯位址。
英特網上的IP位址具有全球唯一性。
32位,四個位元組,常用點分十進制的格式表示。
例如:192.168.0.200
協定
為進行網絡中的資料交換(通信)而建立的規則、标準或約定。(=語義+文法+規則)。
不同層具有各自不同的協定。
ISO/OSI七層參考模型
網絡體系結構解決異質性問題采用的是分層的方法——把複雜的網絡互聯問題劃分為若幹個較小的、單一的問題,在不同層上予以解決。
OSI(Open System Interconnection)參考模型将網絡的不同功能劃分為7層:
應用層:處理網絡應用
表示層:資料表示
會話層:主機間通信
傳輸層:端到端的連接配接
網絡層:尋址和最短路徑
資料鍊路層:媒體通路(接入)
實體層:二進制傳輸

通信實體的對等層之間不允許直接通信,各層之間是嚴格的單向依賴,上層(Service user)使用下層提供的服務,下層(Service provider)向上層提供服務。
對等層通信的實質:對等層實體之間虛拟通信,下層向上層提供服務,實際通信在最底層完成。
OSI各層所使用的協定:
應用層:Telnet、FTP、HTTP、DNS、SMTP、POP3
傳輸層:TCP、UDP
TCP:面向連接配接的可靠的傳輸協定。
UDP:是無連接配接的,不可靠的傳輸協定。
網絡層:IP、ICMP、IGMP
端口
在網際網路上傳輸的資料都包含有用來識别目的地的IP位址和端口号。
IP位址用來辨別網絡上的計算機,而端口号用來指明該計算機上的應用程式。
端口是一種抽象的軟體結構(包括一些資料結構和I/O緩沖區)。
應用程式通過系統調用與某端口建立連接配接(binding)後,傳輸層傳給該端口的資料都被相應的程序所接收,相應程序發給傳輸層的資料都通過該端口輸出。
端口用一個整數型辨別符來表示,即端口号。
端口号跟協定相關,TCP/IP傳輸層的兩個協定TCP和UDP是完全獨立的兩個軟體子產品,是以各自的端口号也互相獨立,端口通常稱為協定端口(protocol port),簡稱端口。
端口使用一個16位的數字來表示,它的範圍是0~65535,1024以下的端口号保留給預定義的服務。例如,http使用80端口。
資料封裝
一台計算機要發送資料到另一台計算機,資料首先必須打包,打包的過程稱為封裝。
封裝就是在資料前面加上特定的協定頭部。
OSI參考模型中,對等層協定之間的交換的資訊單元稱為協定資料單元(PDU, Protocol Data Unit)。
OSI參考模型中的每一層都要依靠下一層提供的服務。
為了提供服務,下層把上層的PDU作為本層的資料封裝,然後加入本層的頭部(和尾部)。頭部中含有完成資料傳輸所需的控制資訊。
這樣,資料自上而下遞交的過程實際上就是不斷封裝的過程。到達目的地後自下而上遞交的過程就是不斷拆封的過程。由此可知,在實體線路上傳輸的資料,其外面實際上被包封了多層“信封”。
網絡程式設計的目的:直接或間接地通過網絡協定與其他計算機進行通訊。
網絡程式設計中有兩個主要的問題:
1.如何準确地定位網絡上一台或多台主機。
2.找到主機後如何可靠高效地進行資料傳輸。
目前較為流行的網絡程式設計模型是用戶端/伺服器(C/S)結構。
即通信雙方一方作為伺服器等待客戶提出請求并予以相應。客戶則在需要服務時向伺服器提出申請。
伺服器始終運作,監聽網絡端口,一旦有客戶請求,就會啟動一個服務線程來響應該客戶,同時自己繼續監聽服務視窗,使後來的客戶也能及時得到服務。
IP位址
IP網絡中每台主機都必須有一個唯一的IP位址,IP位址是一個邏輯位址。
英特網上的IP位址具有全球唯一性。
32位,四個位元組,常用點分十進制的格式表示。
例如:192.168.0.200
協定
為進行網絡中的資料交換(通信)而建立的規則、标準或約定。(=語義+文法+規則)。
不同層具有各自不同的協定。
ISO/OSI七層參考模型
網絡體系結構解決異質性問題采用的是分層的方法——把複雜的網絡互聯問題劃分為若幹個較小的、單一的問題,在不同層上予以解決。
OSI(Open System Interconnection)參考模型将網絡的不同功能劃分為7層:
應用層:處理網絡應用
表示層:資料表示
會話層:主機間通信
傳輸層:端到端的連接配接
網絡層:尋址和最短路徑
資料鍊路層:媒體通路(接入)
實體層:二進制傳輸

通信實體的對等層之間不允許直接通信,各層之間是嚴格的單向依賴,上層(Service user)使用下層提供的服務,下層(Service provider)向上層提供服務。
對等層通信的實質:對等層實體之間虛拟通信,下層向上層提供服務,實際通信在最底層完成。
OSI各層所使用的協定:
應用層:Telnet、FTP、HTTP、DNS、SMTP、POP3
傳輸層:TCP、UDP
TCP:面向連接配接的可靠的傳輸協定。
UDP:是無連接配接的,不可靠的傳輸協定。
網絡層:IP、ICMP、IGMP
端口
在網際網路上傳輸的資料都包含有用來識别目的地的IP位址和端口号。
IP位址用來辨別網絡上的計算機,而端口号用來指明該計算機上的應用程式。
端口是一種抽象的軟體結構(包括一些資料結構和I/O緩沖區)。
應用程式通過系統調用與某端口建立連接配接(binding)後,傳輸層傳給該端口的資料都被相應的程序所接收,相應程序發給傳輸層的資料都通過該端口輸出。
端口用一個整數型辨別符來表示,即端口号。
端口号跟協定相關,TCP/IP傳輸層的兩個協定TCP和UDP是完全獨立的兩個軟體子產品,是以各自的端口号也互相獨立,端口通常稱為協定端口(protocol port),簡稱端口。
端口使用一個16位的數字來表示,它的範圍是0~65535,1024以下的端口号保留給預定義的服務。例如,http使用80端口。
資料封裝
一台計算機要發送資料到另一台計算機,資料首先必須打包,打包的過程稱為封裝。
封裝就是在資料前面加上特定的協定頭部。
OSI參考模型中,對等層協定之間的交換的資訊單元稱為協定資料單元(PDU, Protocol Data Unit)。
OSI參考模型中的每一層都要依靠下一層提供的服務。
為了提供服務,下層把上層的PDU作為本層的資料封裝,然後加入本層的頭部(和尾部)。頭部中含有完成資料傳輸所需的控制資訊。
這樣,資料自上而下遞交的過程實際上就是不斷封裝的過程。到達目的地後自下而上遞交的過程就是不斷拆封的過程。由此可知,在實體線路上傳輸的資料,其外面實際上被包封了多層“信封”。