OSI模型 作用
應(yīng)用層 為應(yīng)用程序提供服務(wù)支持
表示層 將數(shù)據(jù)格式進(jìn)行轉(zhuǎn)換、加密
會話層 建立會話、管理會話、維護(hù)會話
傳輸層 建立、管理、維護(hù)端到端的連接
網(wǎng)絡(luò)層 IP選址、路由選擇
數(shù)據(jù)鏈路層 提供介質(zhì)訪問和鏈路管理
物理層 底層物理支持
l 物理層:位于最低層,是傳送信號的物理實體,主要解決兩臺物理機(jī)之間的通信。它的功能是:通過機(jī)械和電氣的方式將各站點連接起來,組成物理通路,通過二進(jìn)制比特流的傳輸來實現(xiàn),二進(jìn)制數(shù)據(jù)表現(xiàn)為電流電壓上的強(qiáng)弱,到達(dá)目的地再轉(zhuǎn)化為二進(jìn)制機(jī)器碼。網(wǎng)卡、集線器工作在這一層。
2 數(shù)據(jù)鏈路層:在不可靠的物理介質(zhì)上提供可靠的傳輸,接收來自物理層的位流形式的數(shù)據(jù),并封裝成幀,傳送到上一層;同樣,也將來自上層的數(shù)據(jù)幀,拆裝為位流形式的數(shù)據(jù)轉(zhuǎn)發(fā)到物理層。這一層在物理層提供的比特流的基礎(chǔ)上,通過差錯控制、流量控制方法,使有差錯的物理線路變?yōu)闊o差錯的數(shù)據(jù)鏈路。提供物理地址尋址功能。交換機(jī)工作在這一層。
3 網(wǎng)絡(luò)層:處理報文分組,完成分組的多路復(fù)用和分組交換,以及通信子網(wǎng)絡(luò)間的數(shù)據(jù)據(jù)傳輸,將網(wǎng)絡(luò)地址翻譯成對應(yīng)的物理地址,并決定如何將數(shù)據(jù)從發(fā)送方路由到接收方,通過路由協(xié)議為分組通過通信子網(wǎng)選擇最佳路徑。路由器工作在這一層。
4 傳輸層:實現(xiàn)端點到端點的可靠數(shù)據(jù)傳輸,區(qū)分不同進(jìn)程和服務(wù)。
5 會話層:用于建立、控制和終止終端用戶的實用進(jìn)程間的邏輯信道的連接,并提供支持同步和管理應(yīng)用進(jìn)程間的對話服務(wù),驗證會話雙方的身份,恢復(fù)下位層不呆恢復(fù)的差錯。
6 表示層:對數(shù)據(jù)格式進(jìn)行編譯,對收到或發(fā)出的數(shù)據(jù)根據(jù)應(yīng)用層的特征進(jìn)行處理,如處理為文字、圖片、音頻、視頻、文檔等,還可以對壓縮文件進(jìn)行解壓縮、對加密文件進(jìn)行解密等。
7 應(yīng)用層:功能實現(xiàn)依托不同的應(yīng)用層協(xié)議,如HTTP協(xié)議,F(xiàn)TP協(xié)議等等,方便應(yīng)用程序之間進(jìn)行通信,為用戶服務(wù)。
劃分七層模型的好處:
l 易于標(biāo)準(zhǔn)化
不同層次之間功能和目的具有明顯差異,界線清楚,可使復(fù)雜的網(wǎng)絡(luò)設(shè)計簡化清晰。
2 靈活性—降低不同層次之間的關(guān)聯(lián)性
網(wǎng)絡(luò)中各層相對獨(dú)立,修改了某層協(xié)議也不會影響系統(tǒng)的其他部分。不同層次完成的職能不同,每層只完成有限的功能,上層請求下層的服務(wù),下層實現(xiàn)上層的意圖。
OSI 參考模型注重“通信協(xié)議必要的功能是什么”,而 TCP/IP 則更強(qiáng)調(diào)“在計算機(jī)上實現(xiàn)協(xié)議應(yīng)該開發(fā)哪種程序”。
相同點
OSI 參考模型與 TCP/IP 參考模型都采用了層次結(jié)構(gòu)。
都能夠提供面向連接和無連接兩種通信服務(wù)機(jī)制。
不同點
OSI 采用的七層模型; TCP/IP 是四層結(jié)構(gòu)。
TCP/IP 參考模型沒有對網(wǎng)絡(luò)接口層進(jìn)行細(xì)分,只是一些概念性的描述; OSI 參考模型對服務(wù)和協(xié)議做了明確的區(qū)分。
OSI 先有模型,后有協(xié)議規(guī)范,適合于描述各種網(wǎng)絡(luò);TCP/IP 是先有協(xié)議集然后建立模型,不適用于非 TCP/IP 網(wǎng)絡(luò)。
TCP/IP 一開始就提出面向連接和無連接服務(wù),而 OSI 一開始只強(qiáng)調(diào)面向連接服務(wù),直到很晚才開始制定無連接的服務(wù)標(biāo)準(zhǔn)。
OSI 參考模型雖然被看好,但將網(wǎng)絡(luò)劃分為七層,實現(xiàn)起來較困難;相反,TCP/IP 參考模型雖然有許多不盡人意的地方,但作為一種簡化的分層結(jié)構(gòu)還是比較成功的。
封裝—數(shù)據(jù)從應(yīng)用層傳輸?shù)轿锢韺拥倪^程
解封裝-收到數(shù)據(jù)包,數(shù)據(jù)從物理層還原到應(yīng)用層的過程
完整過程總結(jié):
1)應(yīng)用層 當(dāng)數(shù)據(jù)傳送到應(yīng)用層時,應(yīng)用層為數(shù)據(jù)加上應(yīng)用層報頭, 組成應(yīng)用層的協(xié)議數(shù)據(jù)單元,再傳送到表示層。
2)表示層 表示層接收到應(yīng)用層數(shù)據(jù)單元后,加上表示層報頭組成表示層協(xié)議數(shù)據(jù)單元,再傳送到會話層。表示層按照協(xié)議要求對數(shù)據(jù)進(jìn)行格式變換和加密處理。
3)會話層 會話層接收到表示層數(shù)據(jù)單元后,加上會話層報頭組成會話層協(xié)議數(shù)據(jù)單元,再傳送到傳輸層。會話層報頭用來協(xié)調(diào)通信主機(jī)進(jìn)程之間的通信
4)傳輸層 傳輸層接收到會話層數(shù)據(jù)單元后,加上傳輸層報頭組成傳輸 OSI參考模型中數(shù)據(jù)傳輸?shù)幕具^程層協(xié)議數(shù) 據(jù)單元,再傳送到網(wǎng)絡(luò)層。傳輸層協(xié)議數(shù)據(jù)單元成為報文 。
5)網(wǎng)絡(luò)層 網(wǎng)絡(luò)層接收到傳輸層報文后,由于網(wǎng)絡(luò)層協(xié)議數(shù)據(jù)單元的長度有限制,需要將長報文分成多個較短的報文段,加上網(wǎng)絡(luò)層報頭組成網(wǎng)絡(luò)層協(xié)議數(shù)據(jù)單元,再傳送到數(shù)據(jù)鏈路層,網(wǎng)絡(luò)層協(xié)議數(shù)據(jù)單元成為分組。
6)數(shù)據(jù)鏈路層 數(shù)據(jù)鏈路層接收到網(wǎng)絡(luò)層分組后,按照數(shù)據(jù)鏈路層協(xié)議規(guī)定的幀格式封裝成幀,再傳送到物理層,數(shù)據(jù)鏈路層協(xié)議數(shù)據(jù)單元稱為幀 7)物理層 物理層接收到數(shù)據(jù)鏈路層幀之后,將組成幀的比特序列(也稱為比特流),通過傳輸介質(zhì)傳送給下一個主機(jī)的物理層。物理層的協(xié)議數(shù)據(jù)單元是比特序列
解封裝可以理解為封裝的逆過程
概念:
HTTP(HyperText Transfer Protocol:超文本傳輸協(xié)議)是一種用于分布式、協(xié)作式和超媒體信息系統(tǒng)的應(yīng)用層協(xié)議。 簡單來說就是一種發(fā)布和接收 HTML 頁面的方法,被用于在 Web 瀏覽器和網(wǎng)站服務(wù)器之間傳遞信息。
HTTP 默認(rèn)工作在 TCP 協(xié)議 80 端口,用戶訪問網(wǎng)站 http:// 打頭的都是標(biāo)準(zhǔn) HTTP 服務(wù)。
HTTP 協(xié)議以明文方式發(fā)送內(nèi)容,不提供任何方式的數(shù)據(jù)加密,如果攻擊者截取了Web瀏覽器和網(wǎng)站服務(wù)器之間的傳輸報文,就可以直接讀懂其中的信息,因此,HTTP協(xié)議不適合傳輸一些敏感信息,比如:信用卡號、密碼等支付信息。
HTTPS(Hypertext Transfer Protocol Secure:超文本傳輸安全協(xié)議)是一種透過計算機(jī)網(wǎng)絡(luò)進(jìn)行安全通信的傳輸協(xié)議。HTTPS 經(jīng)由 HTTP 進(jìn)行通信,但利用 SSL/TLS 來加密數(shù)據(jù)包。HTTPS 開發(fā)的主要目的,是提供對網(wǎng)站服務(wù)器的身份認(rèn)證,保護(hù)交換數(shù)據(jù)的隱私與完整性。
HTTPS 默認(rèn)工作在 TCP 協(xié)議443端口
HTTP協(xié)議工作過程
概述:
瀏覽器進(jìn)行DNS域名解析,得到對應(yīng)的IP地址
根據(jù)這個IP,找到對應(yīng)的服務(wù)器建立連接(三次握手)
建立TCP連接后發(fā)起HTTP請求(一個完整的http請求報文)
服務(wù)器響應(yīng)HTTP請求,瀏覽器得到html代碼(服務(wù)器如何響應(yīng))
瀏覽器解析html代碼,并請求html代碼中的資源(如js、css、圖片等)
瀏覽器對頁面進(jìn)行渲染呈現(xiàn)給用戶數(shù)據(jù)傳輸完成,發(fā)送斷開連接請求,服務(wù)器關(guān)閉TCP連接(四次揮手)
區(qū)別:
HTTP 明文傳輸,數(shù)據(jù)都是未加密的,安全性較差,HTTPS(SSL+HTTP) 數(shù)據(jù)傳輸過程是加密的,安全性較好。
使用 HTTPS 協(xié)議需要到 CA(Certificate Authority,數(shù)字證書認(rèn)證機(jī)構(gòu)) 申請證書,一般免費(fèi)證書較少,因而需要一定費(fèi)用。證書頒發(fā)機(jī)構(gòu)如:Symantec、Comodo、GoDaddy 和 GlobalSign 等。
HTTP 頁面響應(yīng)速度比 HTTPS 快,主要是因為 HTTP 使用 TCP 三次握手建立連接,客戶端和服務(wù)器需要交換 3 個包,而 HTTPS除了 TCP 的三個包,還要加上 ssl 握手需要的 9 個包,所以一共是 12 個包。
http 和 https 使用的是完全不同的連接方式,用的端口也不一樣,前者是 80,后者是 443。
HTTPS 其實就是建構(gòu)在 SSL/TLS 之上的 HTTP 協(xié)議,所以,要比較 HTTPS 比 HTTP 要更耗費(fèi)服務(wù)器資源。
SSL協(xié)議可用于保護(hù)正常運(yùn)行于TCP之上的任何應(yīng)用協(xié)議,如HTTP、FTP、SMTP或Telnet的通信,最常見的是用SSL來保護(hù)HTTP的通信。
SSL協(xié)議的優(yōu)點在于它是與應(yīng)用層協(xié)議無關(guān)的。高層的應(yīng)用協(xié)議(如HTTP、FTP、Telnet等)能透明地建立于SSL協(xié)議之上。
SSL協(xié)議在應(yīng)用層協(xié)議之前就已經(jīng)完成加密算法、通信密鑰的協(xié)商以及服務(wù)器的認(rèn)證工作。在此之后應(yīng)用層協(xié)議所傳送的數(shù)據(jù)都會被加密,從而保證通信的安全性。
作用:
?客戶對服務(wù)器的身份認(rèn)證
SSL服務(wù)器允許客戶的瀏覽器使用標(biāo)準(zhǔn)的公鑰加密技術(shù)和一些可靠的認(rèn)證中心(CA)的證書,來確認(rèn)服務(wù)器的合法性。
?服務(wù)器對客戶的身份認(rèn)證
也可通過公鑰技術(shù)和證書進(jìn)行認(rèn)證,也可通過用戶名,password來認(rèn)證。
?建立服務(wù)器與客戶之間安全的數(shù)據(jù)通道
SSL要求客戶與服務(wù)器之間的所有發(fā)送的數(shù)據(jù)都被發(fā)送端加密、接收端解密,同時還檢查數(shù)據(jù)的完整性
三次握手
所謂三次握手(Three-way Handshake),是指建立一個TCP連接時,需要客戶端和服務(wù)器總共發(fā)送3個包。
三次握手的目的是連接服務(wù)器指定端口,建立TCP連接,并同步連接雙方的序列號和確認(rèn)號并交換 TCP 窗口大小信息.在socket編程中,客戶端執(zhí)行connect()時。將觸發(fā)三次握手
第一次握手:
客戶端發(fā)送一個TCP的SYN標(biāo)志位置1的包指明客戶打算連接的服務(wù)器的端口,以及初始序號X,保存在包頭的序列號(Sequence Number)字段里。
第二次握手:
服務(wù)器發(fā)回確認(rèn)包(ACK)應(yīng)答。即SYN標(biāo)志位和ACK標(biāo)志位均為1同時,將確認(rèn)序號(Acknowledgement Number)設(shè)置為客戶的I S N加1以.即X+1。
第三次握手.
客戶端再次發(fā)送確認(rèn)包(ACK) SYN標(biāo)志位為0,ACK標(biāo)志位為1.并且把服務(wù)器發(fā)來ACK的序號字段+1,放在確定字段中發(fā)送給對方.并且在數(shù)據(jù)段放寫ISN的+1(ISN—初始序列號)
四次揮手
TCP的連接的拆除需要發(fā)送四個包,因此稱為四次揮手(four-way handshake)??蛻舳嘶蚍?wù)器均可主動發(fā)起揮手動作,在socket編程中,任何一方執(zhí)行close()操作即可產(chǎn)生揮手操作。
首先,為什么是三次握手而不是四次或者更多?這個問題是比較簡單的,因為既然三次能夠解決的問題,為什么非要用四次來浪費(fèi)資源?
但其實問題的重點在于,為什么不能只用兩次?第三次握手去掉不行嗎?
總的來說,三次握手是為了防止當(dāng)已失效的連接請求報文段突然又傳到服務(wù)端,造成雙方的不一致,導(dǎo)致資源的浪費(fèi)。
“已失效的連接請求報文段”指的是這樣的情況,客戶端發(fā)出一個SYN報文段,由于阻塞或者其他原因在網(wǎng)絡(luò)中滯留,以至于客戶端認(rèn)為丟包了(其實并沒有丟),于是重新發(fā)出一個SYN報文段,假設(shè)這一次順利完成了,那么雙方建立連接。這看起來似乎沒什么問題,但網(wǎng)絡(luò)中有一個隱患,就是那個還在網(wǎng)絡(luò)中傳輸?shù)腟YN報文段,如果這個SYN在連接期間被服務(wù)端收到了,那服務(wù)端只會無視它,這樣就萬事大吉了,但如果是在連接釋放之后被收到呢?此時服務(wù)端認(rèn)為有人向他發(fā)出連接請求,于是響應(yīng)一個SYNACK回去,如果采用兩次握手的話,那么服務(wù)器認(rèn)為此時連接已經(jīng)建立好了。但是當(dāng)客戶端收到這個SYNACK時,如果他并沒有發(fā)起連接,那么他不會理睬這個SYNACK,就當(dāng)沒事發(fā)生過(如果客戶端此時正好發(fā)起連接,那其實他也不會理睬這個SYNACK,因為確認(rèn)號不對啊。)。那問題就大了,這時候服務(wù)器以為連接好了,向客戶端發(fā)送數(shù)據(jù),而客戶端處于CLOSED狀態(tài),會丟棄這些包,這樣就很浪費(fèi)了。并且還有一個尷尬的問題,就是這個時候當(dāng)客戶端打算發(fā)起連接時,服務(wù)端又不理睬了,在這里尬這,他們就別想互發(fā)數(shù)據(jù)了。當(dāng)然這些問題似乎不是不可解決的,當(dāng)客戶端發(fā)現(xiàn)服務(wù)端老是向自己發(fā)數(shù)據(jù),而自己總是丟棄,可能會向服務(wù)端發(fā)一個RST(報文段的RST標(biāo)記號為1),強(qiáng)制服務(wù)端關(guān)閉連接。但資源總歸是浪費(fèi)了一會了。而用三次握手就不會出現(xiàn)這樣的問題。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧