網(wǎng)絡(luò)分層

OSI模型(共七層)

1.物理層 2.數(shù)據(jù)鏈路層 3.網(wǎng)絡(luò)層 4.運輸層 5.會話層 6.表示層 7.應(yīng)用層

TCP/IP協(xié)議模型

1.網(wǎng)絡(luò)接口層(Network Access) 2.網(wǎng)際層(Internet)3.運輸層(Transport)4.應(yīng)用層(Application)

應(yīng)用層 ? FTP,HTTP杨幼,SMTP济榨,DNS,DHCP ? ?報文左刽,用戶數(shù)據(jù)

運輸層 ? TCP煤蚌,UDP ?段

網(wǎng)絡(luò)層 ?IP豪嚎,ARP锯茄,ICMP ?包

數(shù)據(jù)鏈路層 ?CSMA/CD, PPP 幀

物理層 ? ? ? 比特流


物理層通信模型

局域網(wǎng)模型:

PC——(網(wǎng)線厢塘,數(shù)字信號)——集線器/交換機(jī)——(網(wǎng)線,數(shù)字信號)——PC

廣域網(wǎng)通信模型

PC——(網(wǎng)線肌幽,數(shù)字信號)——調(diào)制解調(diào)器——(電話線晚碾,模擬信號)——調(diào)制解調(diào)器——(網(wǎng)線,數(shù)字信號)——PC

PC——(網(wǎng)線牍颈,數(shù)字信號)——光電轉(zhuǎn)換器——(光信號,光纖)——光電轉(zhuǎn)換器——(網(wǎng)線琅关,數(shù)字信號)——PC


數(shù)據(jù)鏈路層

Ethernet V2協(xié)議煮岁,使用CSMA/CD技術(shù),(同軸電纜涣易,集線器)

以太網(wǎng)幀的格式:

首部:源MAC(6字節(jié))+目標(biāo)MAC(6字節(jié))+網(wǎng)絡(luò)類型(2字節(jié)画机,IPV4還是IPV6)

以太網(wǎng)幀:首部+數(shù)據(jù)+FCS(4字節(jié))

數(shù)據(jù)的長度46-1500字節(jié)

整個以太網(wǎng)幀的長度是64-1518字節(jié)

PPP協(xié)議(點對點協(xié)議)


網(wǎng)絡(luò)層

網(wǎng)絡(luò)層數(shù)據(jù)包由首部(至少20個字節(jié),包含版本,首部長度新症,區(qū)分服務(wù)步氏,總長度,標(biāo)識徒爹,標(biāo)志荚醒,片偏移芋类,生存時間,協(xié)議界阁,首部檢驗和侯繁,源IP地址,目標(biāo)IP地址泡躯,可選字段(最多40個字節(jié)))+數(shù)據(jù)2部分組成

由于幀的數(shù)據(jù)不能超過1500字節(jié)贮竟,過大的IP數(shù)據(jù)包,需要分成片傳輸給數(shù)據(jù)鏈路層

每一片都有自己的網(wǎng)絡(luò)層首部


傳輸層

TCP:面向連接较剃,可靠傳輸咕别,首部占用空間大(至少20個字節(jié),最多60個字節(jié))写穴,傳輸速率慢惰拱,資源消耗大,應(yīng)用場景:瀏覽器确垫,文件傳輸弓颈,郵件發(fā)送,對應(yīng)的應(yīng)用層協(xié)議:HTTP删掀,HTTPS翔冀,F(xiàn)TP,SMTP披泪,DNS

首部:源端口+目的端口+序號+確認(rèn)號+數(shù)據(jù)偏移+保留+標(biāo)志位+窗口+檢驗和+緊急指針+選項(長度可變)+填充

標(biāo)志位

URG=1時纤子,緊急指針字段才有效,表明前多少位的是緊急數(shù)據(jù)款票,應(yīng)當(dāng)盡快傳輸

ACK=1時控硼,確認(rèn)號才有效

PSH(push)

RST=1時,表明連接中出現(xiàn)問題艾少,需要重連

SYN=1卡乾,ACK=0時,表明這是一個建立鏈接的請求

SYN=1缚够,ACK=1時幔妨,服務(wù)器回復(fù)客戶端可以建立連接

FIN=1時,表明數(shù)據(jù)已經(jīng)發(fā)送完畢谍椅,要求釋放連接

序號seq4 字節(jié):建立連接后误堡,序號代表這一次給對方的TCP數(shù)據(jù)部分的第一個字節(jié)的編號

確認(rèn)號ack 4字節(jié):建立連接后,期望下一次傳過來的數(shù)據(jù)部分的第一個字節(jié)的編號


可靠傳輸:ARQ停止等待自動重傳請求雏吭,連續(xù)ARQ+滑動窗口協(xié)議锁施,SACK選擇性確認(rèn)


流量控制(點對點):通過確認(rèn)報文中的窗口字段來控制發(fā)送方的發(fā)送速率

當(dāng)窗口為0時,開始定時器詢問最新窗口


擁塞控制:避免網(wǎng)路中的路由器或鏈路過載,涉及到所有的主機(jī)和路由器

發(fā)送窗口=min(擁塞窗口悉抵,接收窗口)

慢開始(慢啟動):cwnd的初始值比較小肩狂,然后隨著數(shù)據(jù)包被接收方確認(rèn)(收到一個ACK),cwnd就成倍增長

擁塞避免:ssthresh:慢開始閾值基跑,cwnd達(dá)到閾值后婚温,以線性方式增加,丟包后網(wǎng)絡(luò)可能出現(xiàn)擁塞媳否,閾值乘法減小同時cwnd執(zhí)行慢開始算法(老版本)

快速重傳:

接收方:每收到一個失序的分組后就立即發(fā)出重復(fù)確認(rèn)

發(fā)送方:只要連續(xù)收到三個重復(fù)確認(rèn)(總共4個相同的確認(rèn))栅螟,就應(yīng)當(dāng)立即重傳對方尚未收到的報文段

快速恢復(fù)

當(dāng)發(fā)送方連續(xù)三個重復(fù)確認(rèn)后,執(zhí)行乘法減小篱竭,把ssthres減半力图,cwnd不恢復(fù)初始值,直接開始執(zhí)行擁塞避免算法


連接管理:3次握手掺逼,4次揮手

第一次握手:SYN=1吃媒,ACK=0 ,客戶端的序號初始值

第二次握手:SYN=1吕喘,ACK=1赘那,服務(wù)器的序號初始值

第三次握手:SYN=0,ACK=1

第一次揮手:主機(jī)1發(fā)出FIN報文氯质,表示主機(jī)1已經(jīng)沒有數(shù)據(jù)要發(fā)送了募舟,但是此時主機(jī)1還是可以接收來自主機(jī)2的的數(shù)據(jù)

第二次揮手:主機(jī)2返回ACK報文,表示主機(jī)2已經(jīng)知道主機(jī)1沒有數(shù)據(jù)發(fā)送了闻察,但是主機(jī)2還是可以發(fā)送數(shù)據(jù)到主機(jī)1的

第三次揮手:主機(jī)2發(fā)送FIN報文拱礁,表示主機(jī)2已經(jīng)沒有數(shù)據(jù)要發(fā)送了

第四次揮手:主機(jī)1返回ACK報文,表示主機(jī)1已經(jīng)知道主機(jī)2沒有數(shù)據(jù)發(fā)送了辕漂,隨后(一般為2倍的MSL呢灶,MSL建議為2分鐘)正式斷開整個TCP連接


UDP:無連接,不可靠傳輸钉嘹,首部占用空間醒炷恕(8個字節(jié),源端口跋涣,目標(biāo)端口缨睡,長度,檢驗和)仆潮,傳輸速率快宏蛉,資源消耗小遣臼,應(yīng)用場景:音視頻通話性置,直播,對應(yīng)的應(yīng)用層協(xié)議:DNS


應(yīng)用層:

HTTP:

ABNF語言規(guī)定

請求行

request-line = method SP request-target SP HTTP-version CRLF

例:GET /hello/ HTTP/1.1

請求頭:

head-field = field-name ":" OWS field-value OWS

User-Agent:瀏覽器身份標(biāo)識字符串

Host:服務(wù)器的域名揍堰,端口號

Date:發(fā)送的時間

Referer:前一個鏈接

Content-Type:請求體的類型鹏浅,application/x-www-form-urlencoded(表單提交)嗅义,multipart/form-data(文件上傳)

Content-Length:請求體的長度

Accept:能夠接受的響應(yīng)內(nèi)容類型,text/plain

Accept-Charset:能夠接受的字符集隐砸,utf-8

Accept-Encoding:能夠接受的編碼方式列表

Accept-Language:能夠接受的響應(yīng)內(nèi)容的自然語言列表en-US

Range:僅請求某個實體的一部分之碗,斷點續(xù)傳

Origin:發(fā)起一個針對跨域資源共享的請求

Cookie:之前通過服務(wù)器Set-Cookie發(fā)送的Cookie

Connection:該瀏覽器想要優(yōu)先使用的鏈接類型

Cache-Control:用來指定在這次的請求/響應(yīng)鏈中的所有緩存機(jī)制都必須遵守的指令

message-body = *OCTET


status-line = HTTP-version SP status-code SP reason-phrase CRLF

例:HTTP/1.1 200 或者 HTTP/1.1 200 OK

響應(yīng)頭

Date

Last-Modified

Server

Expires

Content-Type:text/html; charset=utf-8

Content-Encoding

Content-Length

Content-Disposition:一個可以讓客戶端下載文件并建議文件名的頭部

Accept-Ranges:服務(wù)器支持哪些種類的部分內(nèi)容范圍:bytes

Content-Range:這部分消息是屬于完整消息的哪部分

Range

Origin:跨域

Cookie:

Connection

Cache-Control

Accept

Accept-Charset

Accept-Encoding

Accept-Language

響應(yīng)體

請求方法:

GET:常見于讀取操作,參數(shù)直接拼接在URL的后面(URL長度有限制)

POST:常用于添加季希,修改褪那,刪除,請求參數(shù)放在請求體里面

HEAD:請求得到與GET請求相同的響應(yīng)式塌,但沒有響應(yīng)體博敬,使用場景:在下載一個大文件前,先獲取其大小峰尝,再決定是否下載

OPTIONS:獲取服務(wù)器支持哪些方法

PUT:用于對存在的資源進(jìn)行覆蓋

PATCH:用于對資源進(jìn)行部分修改偏窝,資源不存在會創(chuàng)建

DELETE:用于刪除指定的資源

TRACE:環(huán)回測試,主要用于HTTP請求的測試或診斷


狀態(tài)碼分為5類:

信息響應(yīng):100-199

成功響應(yīng):200-299

重定向:300-399

客戶端錯誤:400-499

服務(wù)器錯誤:500-500

常見狀態(tài)碼:

100:Continue,繼續(xù)發(fā)送剩余請求

200:OK 成功

302:Found 請求的資源被暫時的移動到了由Location頭部指定的URL上武学,重定向

304:Not Modified 可以使用緩存的內(nèi)容

400:Bad Request 語法無效

401:缺乏目標(biāo)資源要求的身份驗證憑證

403:拒絕授權(quán)訪問

404:無法找到請求資源

405:服務(wù)器禁止了使用當(dāng)前HTTP方法的請求

406:服務(wù)器無法提供與Accept-Charset以及Accept-Language指定的值相匹配的響應(yīng)

408:服務(wù)器想要將沒有在使用的連接關(guān)閉

500:服務(wù)器出問題了

501:請求的方法不被服務(wù)器支持

503:服務(wù)器停機(jī)維護(hù)或超載

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末祭往,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子火窒,更是在濱河造成了極大的恐慌硼补,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件沛鸵,死亡現(xiàn)場離奇詭異括勺,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)曲掰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進(jìn)店門疾捍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人栏妖,你說我怎么就攤上這事乱豆。” “怎么了吊趾?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵宛裕,是天一觀的道長。 經(jīng)常有香客問我论泛,道長揩尸,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任屁奏,我火速辦了婚禮岩榆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己勇边,他們只是感情好犹撒,可當(dāng)我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著粒褒,像睡著了一般识颊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上奕坟,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天祥款,我揣著相機(jī)與錄音,去河邊找鬼月杉。 笑死镰踏,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的沙合。 我是一名探鬼主播奠伪,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼首懈!你這毒婦竟也來了绊率?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤究履,失蹤者是張志新(化名)和其女友劉穎滤否,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體最仑,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡藐俺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了泥彤。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片欲芹。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖吟吝,靈堂內(nèi)的尸體忽然破棺而出菱父,到底是詐尸還是另有隱情,我是刑警寧澤剑逃,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布浙宜,位于F島的核電站,受9級特大地震影響蛹磺,放射性物質(zhì)發(fā)生泄漏粟瞬。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一裙品、第九天 我趴在偏房一處隱蔽的房頂上張望乓梨。 院中可真熱鬧,春花似錦、人聲如沸蕴侣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽辱志。三九已至狞膘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間挽封,已是汗流浹背已球。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留辅愿,地道東北人智亮。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像点待,于是被迫代替她去往敵國和親阔蛉。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,044評論 2 355

推薦閱讀更多精彩內(nèi)容