1模狭、簡述osi七層模型和TCP/IP五層模型
osi七層模型示意圖
微信圖片_20210115115019.png
osi七層模型各層的含義詳細解釋
第一層物理層:
物理層(Physical Layer)在局部局域網(wǎng)上傳送數(shù)據(jù)幀(Data Frame)绞蹦,它負責管理電腦通信設備和網(wǎng)
絡媒體之間的互通耀销。包括了針腳、電壓背稼、線纜規(guī)范周循、集線器、中繼器焚挠、網(wǎng)卡膏萧、主機接口卡等
第二層數(shù)據(jù)鏈路層
數(shù)據(jù)鏈路層(Data Link Layer)負責網(wǎng)絡尋址、錯誤偵測和改錯蝌衔。當表頭和表尾被加至數(shù)據(jù)包時榛泛,會形
成信息框(Data Frame)。數(shù)據(jù)鏈表頭(DLH)是包含了物理地址和錯誤偵測及改錯的方法噩斟。數(shù)據(jù)鏈
表尾(DLT)是一串指示數(shù)據(jù)包末端的字符串曹锨。例如以太網(wǎng)、無線局域網(wǎng)(Wi-Fi)和通用分組無線服務
(GPRS)等剃允。分為兩個子層:邏輯鏈路控制(logical link control沛简,LLC)子層和介質訪問控制
(Media access control,MAC)子層
第三層網(wǎng)絡層
網(wǎng)絡層(Network Layer)決定數(shù)據(jù)的路徑選擇和轉寄斥废,將網(wǎng)絡表頭(NH)加至數(shù)據(jù)包椒楣,以形成報文。
網(wǎng)絡表頭包含了網(wǎng)絡數(shù)據(jù)牡肉。例如:互聯(lián)網(wǎng)協(xié)議(IP)等撒顿。
第四層 傳輸層
傳輸層(Transport Layer)把傳輸表頭(TH)加至數(shù)據(jù)以形成數(shù)據(jù)包。傳輸表頭包含了所使用的協(xié)議
等發(fā)送信息荚板。例如:傳輸控制協(xié)議(TCP)等凤壁。
第5層 會話層
會話層(Session Layer)負責在數(shù)據(jù)傳輸中設置和維護電腦網(wǎng)絡中兩臺電腦之間的通信連接。
第6層 表示層
主條目:表示層(Presentation Layer)把數(shù)據(jù)轉換為能與接收者的系統(tǒng)格式兼容并適合傳輸?shù)母袷?第7層 應用層
應用層(Application Layer)提供為應用軟件而設的接口跪另,以設置與另一應用軟件之間的通信拧抖。例如:
HTTP、HTTPS免绿、FTP唧席、TELNET、SSH嘲驾、SMTP淌哟、POP3、MySQL等
tcp/ip五層模型
osi七層模型和tcp/ip模型對比圖
微信圖片_20210115120847.png
tcp/ip簡單介紹
tcp/ip全稱為傳輸控制協(xié)議/因特網(wǎng)互聯(lián)協(xié)議 Transmission Control Protocol/Internet Protocol
tcp/ip為一個協(xié)議棧辽故,包括tcp徒仓、ip、udp誊垢、icmp掉弛、rip症见、telnet、ftp殃饿、smtp谋作、arp等眾多協(xié)議
各層協(xié)議參考圖
微信圖片_20210115121755.png
tcp/ip和osi七層模型的比較
相同點
兩者都是以協(xié)議棧的概念為基礎
協(xié)議棧中的協(xié)議彼此相互獨立
下層對上層提供服務
不同點
OSI是先有模型;TCP/IP是先有協(xié)議乎芳,后有模型
OSI是國際標準遵蚜,適用于各種協(xié)議棧;TCP/IP實際標準奈惑,只適用于TCP/IP網(wǎng)絡
層次數(shù)量不同
2吭净、總結描述TCP三次握手四次揮手
TCP三次握手
微信圖片_20210115122450.png
第一次握手:建立連接時,客戶端發(fā)送syn包(syn=x)到服務器携取,并進入SYN_SENT狀態(tài)攒钳,等待服務器確認帮孔;SYN:同步序列編號(Synchronize Sequence Numbers)雷滋。
第二次握手:服務器收到syn包,必須確認客戶的SYN(ack=x+1)文兢,同時自己也發(fā)送一個SYN包(syn=y)晤斩,即SYN+ACK包,此時服務器進入SYN_RECV狀態(tài)姆坚;
第三次握手:客戶端收到服務器的SYN+ACK包澳泵,向服務器發(fā)送確認包ACK(ack=y+1),此包發(fā)送完畢兼呵,客戶端和服務器進入ESTABLISHED(TCP連接成功)狀態(tài)兔辅,完成三次握手。
TCP的四次揮手
微信圖片_20210115123006.png
客戶端進程發(fā)出連接釋放報文击喂,并且停止發(fā)送數(shù)據(jù)维苔。釋放數(shù)據(jù)報文首部,F(xiàn)IN=1懂昂,其序列號為seq=u(等于前面已經(jīng)傳送過來的數(shù)據(jù)的最后一個字節(jié)的序號加1)介时,此時,客戶端進入FIN-WAIT-1(終止等待1)狀態(tài)凌彬。 TCP規(guī)定沸柔,F(xiàn)IN報文段即使不攜帶數(shù)據(jù),也要消耗一個序號铲敛。
服務器收到連接釋放報文褐澎,發(fā)出確認報文,ACK=1伐蒋,ack=u+1乱凿,并且?guī)献约旱男蛄刑杝eq=v顽素,此時,服務端就進入了CLOSE-WAIT(關閉等待)狀態(tài)徒蟆。TCP服務器通知高層的應用進程胁出,客戶端向服務器的方向就釋放了,這時候處于半關閉狀態(tài)段审,即客戶端已經(jīng)沒有數(shù)據(jù)要發(fā)送了全蝶,但是服務器若發(fā)送數(shù)據(jù),客戶端依然要接受寺枉。這個狀態(tài)還要持續(xù)一段時間抑淫,也就是整個CLOSE-WAIT狀態(tài)持續(xù)的時間。
客戶端收到服務器的確認請求后姥闪,此時始苇,客戶端就進入FIN-WAIT-2(終止等待2)狀態(tài),等待服務器發(fā)送連接釋放報文(在這之前還需要接受服務器發(fā)送的最后的數(shù)據(jù))筐喳。
服務器將最后的數(shù)據(jù)發(fā)送完畢后催式,就向客戶端發(fā)送連接釋放報文,F(xiàn)IN=1避归,ack=u+1荣月,由于在半關閉狀態(tài),服務器很可能又發(fā)送了一些數(shù)據(jù)梳毙,假定此時的序列號為seq=w哺窄,此時,服務器就進入了LAST-ACK(最后確認)狀態(tài)账锹,等待客戶端的確認萌业。
客戶端收到服務器的連接釋放報文后,必須發(fā)出確認奸柬,ACK=1生年,ack=w+1,而自己的序列號是seq=u+1鸟缕,此時晶框,客戶端就進入了TIME-WAIT(時間等待)狀態(tài)。注意此時TCP連接還沒有釋放懂从,必須經(jīng)過2??MSL(最長報文段壽命)的時間后授段,當客戶端撤銷相應的TCB后,才進入CLOSED狀態(tài)番甩。
服務器只要收到了客戶端發(fā)出的確認侵贵,立即進入CLOSED狀態(tài)。同樣缘薛,撤銷TCB后窍育,就結束了這次的TCP連接卡睦。可以看到漱抓,服務器結束TCP連接的時間要比客戶端早一些表锻。
tcp協(xié)議的三次握手四次揮手的11種狀態(tài)集的解釋
CLOSED 沒有任何連接狀態(tài)
LISTEN 偵聽狀態(tài),等待來自遠方TCP端口的連接請求
SYN-SENT 在發(fā)送連接請求后乞娄,等待對方確認
SYN-RECEIVED 在收到和發(fā)送一個連接請求后瞬逊,等待對方確認
ESTABLISHED 代表傳輸連接建立,雙方進入數(shù)據(jù)傳送狀態(tài)
FIN-WAIT-1 主動關閉,主機已發(fā)送關閉連接請求仪或,等待對方確認
FIN-WAIT-2 主動關閉,主機已收到對方關閉傳輸連接確認确镊,等待對方發(fā)送關閉傳輸連接請求
TIME-WAIT 完成雙向傳輸連接關閉,等待所有分組消失
CLOSE-WAIT 被動關閉,收到對方發(fā)來的關閉連接請求范删,并已確認
LAST-ACK 被動關閉,等待最后一個關閉傳輸連接確認蕾域,并等待所有分組消失
CLOSING 雙方同時嘗試關閉傳輸連接,等待對方確認
3到旦、描述TCP和UDP區(qū)別
TCP特性
工作在傳輸層
面向連接協(xié)議
全雙工協(xié)議
半關閉
錯誤檢查
將數(shù)據(jù)打包成段旨巷,排序
確認機制
數(shù)據(jù)恢復,重傳
流量控制厢绝,滑動窗口
擁塞控制契沫,慢啟動和擁塞避免算法
**更多關于tcp的內(nèi)核參數(shù)带猴,可參看man 7 tcp**
UDP特性
工作在傳輸層
提供不可靠的網(wǎng)絡訪問
非面向連接協(xié)議
有限的錯誤檢查
傳輸性能高
無數(shù)據(jù)恢復特性
**更多關于udp的內(nèi)核參數(shù)昔汉,可參看man 7 udp**