day01
網(wǎng)絡(luò)程序設(shè)計(jì)
網(wǎng)絡(luò)程序設(shè)計(jì)
1.定義:
基于套接字編程或客戶(hù)服務(wù)端編程,程序在計(jì)算機(jī)網(wǎng)絡(luò)內(nèi)與其他程序進(jìn)行通信
2.
網(wǎng)絡(luò)程序設(shè)計(jì)=socket編程或客戶(hù)端/服務(wù)器編程
客戶(hù)端 服務(wù)器端
1.定義
客戶(hù)端:發(fā)起連接 請(qǐng)求服務(wù)的程序或進(jìn)程
服務(wù)器端:等待連接 提供服務(wù)的程序或進(jìn)程
2.分布式系統(tǒng)
客戶(hù)端 和 服務(wù)器端→分布式系統(tǒng)
3.兩種模式
面向連接(TCP):
傳輸數(shù)據(jù)前 建立一個(gè)物理或邏輯的數(shù)據(jù)通道
特點(diǎn):可靠 穩(wěn)定 占用資源較多
無(wú)連接(UDP,IP):
每個(gè)數(shù)據(jù)包附帶足夠的目的地信息赊豌,獨(dú)立傳輸
特點(diǎn):不可靠 性能較高
協(xié)議
1.IP兩大特征
不可靠性 無(wú)連接性
2.
ping:ICMP協(xié)議
Mac→IP:ARP(地址解析協(xié)議)
DNS:域名→IP地址
字節(jié)序:端模式:大端字節(jié)序 和 小端字節(jié)序
網(wǎng)絡(luò)模型
OSI七層開(kāi)放模型:
應(yīng)用 表示 會(huì)話(huà) 傳輸 網(wǎng)絡(luò) 鏈路 物理
TCP/IP五層模型:
(TCP/IP=OSI)
應(yīng)用=應(yīng)用+表示+會(huì)話(huà)
傳輸=傳輸
網(wǎng)絡(luò)=網(wǎng)絡(luò)
鏈路=鏈路
物理=物理
TCP/IP四層模型:
鏈路+物理=網(wǎng)絡(luò)接口層
Socket
1.定義
因特網(wǎng)上 程序間 進(jìn)行 數(shù)據(jù)傳輸?shù)囊粋€(gè)端點(diǎn)
應(yīng)用程序間進(jìn)行數(shù)據(jù)傳輸 通過(guò) socket進(jìn)行
2.常用系統(tǒng)的socket
Unix/Linux:Berkeley socket
Windows:winsock
其他網(wǎng)絡(luò)編程接口:
AT&T的TLI(傳輸層接口)墓懂,針對(duì)OSI七層模型
3.Socket地址
socket地址=IP地址+端口號(hào)
Socket構(gòu)成將數(shù)據(jù)包傳輸給對(duì)應(yīng)的線(xiàn)程/進(jìn)程的機(jī)制
該傳輸根據(jù)Socket地址進(jìn)行
4.標(biāo)識(shí)Socket連接
五元組 < sIP, sPort, dIP, dPort, 協(xié)議>(分別是 源IP, 源端口號(hào)契耿, 遠(yuǎn)程/目的IP,目的端口號(hào)哆窿, 協(xié)議類(lèi)型)
四元組 < sIP, sPort, dIP, dPort>此時(shí)已知協(xié)議類(lèi)型,如:TCP的Socket連接
5.socket連接列表
netstat -an
6.Socket類(lèi)型
流式套接字: TCP跨晴, 面向連接
數(shù)據(jù)報(bào)套接字: UDP鸦难,無(wú)連接
原始套接字: IP根吁, 無(wú)連接