Java網路程式設計:初識網路程式設計
網路程式設計
什麼是計算機網路
- 兩臺或更多的計算機組成的網路
- 同一網路內的任意兩臺計算機可以直接通訊
- 所有計算機必須遵循同一種網路協議
什麼是網際網路
- 網際網路是網路的網路
- 網際網路採取TCP/IP協議
- 其中最重要的兩個協議是TCP協議和IP協議
IP地址和閘道器
-
IP地址用於唯一標識一個網路介面
- IPv4採用32位地址
IPv4地址實際是一個二進位制32位的整數,為了便於識別,用十六進位制表示後可以分為4組數字,每組數字轉換成十進位制後用“.”隔開就是我們見到的IP地址:
- IPv6採用128位地址
- IPv4採用32位地址
-
公網IP地址可以直接被訪問
-
內網IP地址只能在內網訪問
-
本機地址使用127.0.0.1
-
通常路由器或交換機有兩個網絡卡(兩個IP地址),分別連線兩個不同的網路:
-
同一網路下的計算機可以直接通訊,他們的網路號相同,網路號由IP地址和子掩碼按組對齊做與運算得到:
-
不同網路下的計算機需要通過路由器或交換機網路裝置間接通訊,這樣的網路裝置叫做閘道器:
-
閘道器的作用是連線多個網路,負責把一個網路的資料包傳送到另一個網路,過程叫做路由:
-
一臺計算機的網路擁有IP地址,子網掩碼和閘道器(路由器)三個關鍵配置:
域名
由於IP地址不便於記憶,通常使用域名來訪問特定的服務,域名解析伺服器DNS負責將域名翻譯成對應的IP地址,客戶端再根據IP地址訪問伺服器:
TCP/IP協議
- IP協議是一個分組交換協議,不保證可靠傳輸,一個數據包通過IP協議傳輸會自動分成若干小的資料包然後通過網路進行傳輸
- TCP(Transmission Control Protocol)協議是一個傳輸控制協議,建立再IP協議之上,IP協議負責傳輸資料包,TCP協議負責控制傳輸資料包;TCP協議傳輸之前需要先建立連線,然後才能傳輸資料,傳輸完成後斷開連線;TCP協議是一個可靠傳輸協議,他通過接受確認,超時重傳實現;TCP協議支援雙向通訊,雙方可以同時傳輸和接受資料
UDP協議
UDP(User Datagram Protocol)協議是資料報文協議,不面向連線,不保證可靠傳輸,由於UDP協議傳輸效率高,通常用來傳輸視訊等能容忍丟失部分資料的檔案。