Skip to content

Latest commit

 

History

History
67 lines (56 loc) · 2.13 KB

概述.md

File metadata and controls

67 lines (56 loc) · 2.13 KB

概述

網絡模型

  • OSI(Open System Interconnection 開放系統互連)參考模型

  • 物理層: 物理設備,主要作用 - 傳輸比特流

  • 數據鏈路層: 將從物理層接收的數據進行 MAC 地址的封裝與解封裝。這一層的數據叫做幀,數據由交換機進行傳輸。

  • 網絡層: 住要將從下層接收到的數據進行 IP 地址封裝與解封裝。

  • 傳輸層: 定義傳輸數據的協議與端口號,如 TCP(傳輸控制協議)等。

  • 會話層: 通過傳輸層建立數據傳輸通路,在系統之間發起會話請求。

  • 表示層: 主要進行對接收的數據進行解釋、加密與解密、壓縮與解壓縮。

  • 應用層: 一些終端的應用,如 FTP (文件的下載),WEB (IE 瀏覽)等。

  • TCP/IP 參考模型

  • 應用層 & 表示層 & 會話層 -> 應用層

  • 傳輸層 -> 傳輸層

  • 網絡層 -> 網際層

  • 數據鏈路層 & 物理層 -> 主機至網絡層

網絡通訊要素

  • IP地址
  • 網絡中設備的標示
  • 不易記憶,可用主機名(localhost)
  • 端口號
  • 用於標示近程的邏輯地址,不同進程的標示
  • 傳輸協議
  • 通訊規則
  • 常見協議: TCP, UDP

TCP & UDP

  • UDP
  • 將數據及源和目的封裝於數據包中,不需要建立連接。
  • 每個數據包的大小限制在 64k 內。
  • 因無連接,是不可靠協議。
  • 不需要建立連接,速度快
  • TCP
  • 建立連接,形成傳輸數據的通道。
  • 在連接中進行大數據量傳輸。
  • 通過三次握手完成連接,是可靠協議。
  • 必須建立連接,效率會稍低。

Example

import java.net.InetAddress;
import java.net.UnknownHostException;

public class IPDemo {

	public static void main(String[] args) throws UnknownHostException {

		//獲取本地主機 ip 地址對象
		InetAddress ip = InetAddress.getLocalHost();
		
		//獲取其他主機 ip 地址對象
		ip = InetAddress.getByName("www.google.com");
//		ip = InetAddress.getByName("172.217.160.68");
		
		System.out.println(ip.getHostAddress());
		System.out.println(ip.getHostName());
	}
}

打印結果

172.217.160.68
www.google.com