根據(jù)個(gè)人理解以及書本知識(shí)進(jìn)行總結(jié)郊尝,非常歡迎提出意見。
? ? ? ? ? ? ? ? ? ? ? ? ?OSI七層協(xié)議
應(yīng)用層:
開放系統(tǒng)互連環(huán)境的最高層战惊,為操作系統(tǒng)或者網(wǎng)絡(luò)應(yīng)用提供網(wǎng)絡(luò)服務(wù)的接口流昏。
表示層:
數(shù)據(jù)加密和壓縮,采用統(tǒng)一的標(biāo)準(zhǔn)編碼將應(yīng)用層的數(shù)據(jù)進(jìn)行轉(zhuǎn)換,從而使計(jì)算機(jī)之間能夠相互通信况凉。
會(huì)話層(會(huì)晤層):
組織和同步不同主機(jī)上各種進(jìn)程間的通信谚鄙,負(fù)責(zé)在兩個(gè)會(huì)話層實(shí)體之間進(jìn)行對(duì)話連接的建立和拆除,提供數(shù)據(jù)流中插入同步點(diǎn)機(jī)制刁绒,例如網(wǎng)絡(luò)中斷后襟锐,不必完全重新開始傳數(shù)據(jù),而是重傳同步點(diǎn)后的數(shù)據(jù)膛锭。
傳輸層:
負(fù)責(zé)數(shù)據(jù)傳送的最高層次粮坞。完成端到端的數(shù)據(jù)傳輸。
網(wǎng)絡(luò)層:
負(fù)責(zé)選擇合適的路由初狰,使網(wǎng)絡(luò)傳輸單元能夠按照地址找到目的站莫杈。
數(shù)據(jù)鏈路層:
負(fù)責(zé)相鄰節(jié)點(diǎn)間線路上傳輸以“幀”為單位的數(shù)據(jù),每一幀包括一定的數(shù)據(jù)和控制信息奢入,傳輸出錯(cuò)則重發(fā)該幀筝闹。
物理層:
為上一層的數(shù)據(jù)提供物理鏈接,傳輸比特流腥光。
TCP協(xié)議:
TCP是一種面向連接的关顷,可靠性高,基于字節(jié)流的傳輸層通信協(xié)議武福。
三次握手建立連接:
a)請(qǐng)求端發(fā)送一個(gè)SYN段指明客戶打算連接的服務(wù)器端口议双,以及初始序ISN列號(hào):eg.1415531521
b) 服務(wù)器發(fā)回包含服務(wù)器的初始序列號(hào)(1823083521)的SYN端報(bào)文段作為應(yīng)答。meanwhile捉片,將確認(rèn)序列號(hào)設(shè)置為客戶端ISN+1對(duì)客戶端SYN報(bào)文段進(jìn)行確認(rèn)平痰。
?c)客戶端必須將確認(rèn)序號(hào)設(shè)置為服務(wù)器ISN+1對(duì)服務(wù)器的SYN報(bào)文段進(jìn)行確認(rèn)。
四次揮手?jǐn)嚅_連接:
a) 客戶端將自己的socket關(guān)閉伍纫,內(nèi)核協(xié)議棧向服務(wù)器發(fā)送一個(gè)FIN包宗雇,請(qǐng)求斷開連接。
b)服務(wù)器收到請(qǐng)求后莹规,內(nèi)核協(xié)議棧會(huì)向客戶端發(fā)送一個(gè)ACK包作為應(yīng)答赔蒲,表示已經(jīng)收到請(qǐng)求熊户。
c)服務(wù)器運(yùn)行一段時(shí)間后琼牧,關(guān)閉自己的socket。內(nèi)核協(xié)議棧會(huì)向客戶端發(fā)送一個(gè)FIN包轴脐,請(qǐng)求斷開連接债热。
d)客戶端收到服務(wù)器的FIN包后砾嫉,會(huì)發(fā)出一個(gè)ACK做出應(yīng)答幼苛,表示已經(jīng)收到服務(wù)器請(qǐng)求窒篱。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
UDP協(xié)議
?udp是一種面向無連接的傳輸層協(xié)議,提供面向事務(wù)的簡單不可靠傳送服務(wù)。
TCP與UDP區(qū)別:
1.TCP是面向連接的墙杯,UDP是無連接的配并。
2.TCP提供可靠的服務(wù),數(shù)據(jù)無錯(cuò)誤高镐,不丟失溉旋,不重復(fù),按順序到達(dá)嫉髓。UDP沒有保證观腊。
3.TCP面向字節(jié)流。UDP面向報(bào)文算行,UDP沒有congestion control梧油,適用于real-time transfer.
4.TCP連接是點(diǎn)對(duì)點(diǎn)的,UDP支持多對(duì)多通信州邢。
5.TCP頭部20字節(jié)儡陨,UDP頭部8字節(jié)。