一杜顺、相關(guān)概念
1.網(wǎng)絡(luò)體系結(jié)構(gòu)
協(xié)議:控制網(wǎng)絡(luò)中信息的發(fā)送與接收,定義了通信實(shí)體之間交換報(bào)文的格式和次序蘸炸,以及在報(bào)文傳輸或接收或其他事件所采取的動(dòng)作躬络。
網(wǎng)絡(luò)體系結(jié)構(gòu):網(wǎng)絡(luò)的層次結(jié)構(gòu)和每層所使用協(xié)議的集合
2.OSI參考模型
3.協(xié)議分布
4.各層功能
(1)鏈路層:是把接收到的網(wǎng)絡(luò)層數(shù)據(jù)報(bào)(也 稱IP數(shù)據(jù)報(bào))通過(guò)該層的物理接口發(fā)送到傳輸介質(zhì)上,或從物理網(wǎng)絡(luò)上接收數(shù)據(jù)幀搭儒,抽出IP數(shù)據(jù)報(bào)并交給IP層穷当。
(2)網(wǎng)絡(luò)層:是可以把源主機(jī)上的分組發(fā)送到互聯(lián)網(wǎng)中的任何一臺(tái)目標(biāo)主機(jī)上提茁。
(3)傳輸層:為運(yùn)行在不同主機(jī)上的應(yīng)用進(jìn)程使用邏輯通信功能彼此發(fā)送報(bào)文,提供邏輯通信功能(TCP/UDP協(xié)議在此層)
(4)應(yīng)用層:向使用網(wǎng)絡(luò)的用戶提供特定的馁菜、常用的應(yīng)用程序茴扁。
(5)表示層:通信用戶之間數(shù)據(jù)格式的轉(zhuǎn)換、數(shù)據(jù)壓縮及加解密等汪疮。
(6)會(huì)話層:對(duì)數(shù)據(jù)傳輸進(jìn)行管理峭火,包括數(shù)據(jù)交換的定界、同步智嚷,建立檢查點(diǎn)等卖丸。
傳輸層和應(yīng)用層的進(jìn)程通過(guò)套接字來(lái)傳遞數(shù)據(jù),套接字可以有多個(gè)盏道,每一個(gè)均有唯一的標(biāo)識(shí)符稍浆。
2.TCP UDP
(1)UDP
功能:提供用戶之間的不可靠、無(wú)連接的報(bào)文傳輸猜嘱。面向數(shù)據(jù)塊衅枫,傳輸單位是數(shù)據(jù)塊,一個(gè)數(shù)據(jù)塊只能封裝在一個(gè)UDP數(shù)據(jù)包中
優(yōu)點(diǎn):無(wú)連接創(chuàng)建(減少時(shí)延)朗伶;簡(jiǎn)單:無(wú)連接(在UDP發(fā)送方和接收方之間無(wú)握手)弦撩;段首部小腕让;無(wú)擁塞控制: UDP能夠盡可能快地傳輸
(2)TCP
功能:提供用戶之間的可靠孤钦、面向連接的報(bào)文傳輸,面向字節(jié)流的服務(wù)
優(yōu)點(diǎn):一個(gè)TCP連接的兩個(gè)端點(diǎn)之間可以同時(shí)發(fā)送和接受數(shù)據(jù)
二纯丸、TCP流式套接字的編程步驟:
服務(wù)器端程序:
1偏形、加載套接字庫(kù)
2、創(chuàng)建套接字(socket)觉鼻。
3俊扭、將套接字綁定到一個(gè)本地地址和端口上(bind)。
4坠陈、將套接字設(shè)為監(jiān)聽(tīng)模式萨惑,準(zhǔn)備接收客戶請(qǐng)求(listen)。
5仇矾、等待客戶請(qǐng)求到來(lái)庸蔼;當(dāng)請(qǐng)求到來(lái)后,接受連接請(qǐng)求贮匕,返回一個(gè)新的對(duì)應(yīng)于此次連接的套接字(accept)姐仅。
6、用返回的套接字和客戶端進(jìn)行通信(send/recv)。
7掏膏、返回劳翰,等待另一客戶請(qǐng)求。
8馒疹、關(guān)閉套接字佳簸。
客戶端程序:
1、加載套接字庫(kù)
2颖变、創(chuàng)建套接字(socket)生均。
3、向服務(wù)器發(fā)出連接請(qǐng)求(connect)悼做。
4疯特、和服務(wù)器端進(jìn)行通信(send/recv)。
5肛走、關(guān)閉套接字漓雅。