網(wǎng)絡(luò)模型
OSI參考模型
7 應(yīng)用層
6 表示層
5 會(huì)話層
4 傳輸層
3 網(wǎng)絡(luò)層
2 數(shù)據(jù)鏈路層
1 物理層
TCP/IP參考模型
4 應(yīng)用層
3 傳輸層
2 網(wǎng)絡(luò)層
1 數(shù)據(jù)鏈路層
IP地址和端口號(hào)
1瀑踢、ip用于標(biāo)識(shí)網(wǎng)絡(luò)中的一個(gè)通信實(shí)體灾梦,可以是主機(jī)、打印機(jī)、路由端口谬运∧叮基于IP協(xié)議傳輸?shù)臄?shù)據(jù)包必須使用IP地址標(biāo)識(shí),指定目的地址,每個(gè)數(shù)據(jù)包都包括源IP和目的IP丸相。
2、一個(gè)通信實(shí)體可以有多個(gè)通信程序同時(shí)提供網(wǎng)絡(luò)服務(wù)彼棍,此時(shí)通過端口來區(qū)分具體的通信程序灭忠。一個(gè)通信實(shí)體不能有兩個(gè)通信程序使用同一個(gè)端口號(hào)。
TCP和UDP
1.基于連接和無連接
2.TCP要求系統(tǒng)資源較多座硕,UDP較少
3.UDP程序結(jié)構(gòu)簡(jiǎn)單
4.流模式(TCP)數(shù)據(jù)報(bào)模式(UDP)
5.TCP數(shù)據(jù)準(zhǔn)確弛作,UDP數(shù)據(jù)可能丟失
6.TCP有數(shù)據(jù)順序,UDP不保證
UDP應(yīng)用場(chǎng)景
1.面向數(shù)據(jù)報(bào)方式
2.網(wǎng)絡(luò)數(shù)據(jù)大多為短消息
3.擁有大量Client
4.對(duì)數(shù)據(jù)安全要求小
5.網(wǎng)絡(luò)負(fù)擔(dān)重华匾,但對(duì)相應(yīng)速度要求高
Socket套接字
定義
將IP地址和端口組合在一起構(gòu)成唯一能識(shí)別的標(biāo)識(shí)符
原理
- 通信兩端都有Socket
- 網(wǎng)絡(luò)通信就是Socket間的通信
- 數(shù)據(jù)在兩個(gè)Socket間通過IO傳輸
通信模型
- 服務(wù)端
建立服務(wù)端傾聽socket
等待接受連接請(qǐng)求
接受請(qǐng)求后創(chuàng)建socket連接
InputStream
OutputStream
關(guān)閉socket及相關(guān)資源
- 客戶端
發(fā)送創(chuàng)建socket連接請(qǐng)求
OutputStream
InputStream
關(guān)閉socket及相關(guān)資源
Socket通信步驟
1.創(chuàng)建ServerSocket和Socket
2.打開連接到Socket的輸入輸出流
3.按照協(xié)議對(duì)Socket進(jìn)行讀寫操作
4.關(guān)閉輸入輸出流映琳、關(guān)閉Socket
ServerSocket服務(wù)器端
1.創(chuàng)建ServerSocket對(duì)象,綁定監(jiān)聽端口
2.通過accept()方法監(jiān)聽客戶端請(qǐng)求
3.連接建立后蜘拉,通過輸入流讀取客戶端發(fā)送的請(qǐng)求信息
4.通過輸出流向客戶端發(fā)送相應(yīng)信息
5.關(guān)閉相關(guān)資源