一、OSI七層網(wǎng)絡(luò)模型
OSI 七層模型 是國際標(biāo)準(zhǔn)化組織提出一個網(wǎng)絡(luò)分層模型,其大體結(jié)構(gòu)以及每一層提供的功能如下圖所示:
但由于各方面原因,OSI 七層模型并沒有被廣泛應(yīng)用,更多的是作為網(wǎng)絡(luò)分層的一種基礎(chǔ)理論模型。
二、TCP/IP 四層模型
TCP/IP 四層模型 是目前被廣泛采用的一種模型,我們可以將 TCP / IP 模型看作是 OSI 七層模型的精簡版本
1. 應(yīng)用層
應(yīng)用層位于傳輸層之上,主要提供兩個主機上的應(yīng)用程序之間信息交換的服務(wù),它定義了信息交換的格式,也就是說決定了發(fā)送數(shù)據(jù)的格式以及如何解析處理收到的數(shù)據(jù),那具體的數(shù)據(jù)傳輸工作會通過封裝好的底層api交給下一層傳輸層來處理。
常見應(yīng)用層協(xié)議:HTTP,F(xiàn)TP,DNS,DHCP
2. 傳輸層
傳輸層位于網(wǎng)絡(luò)層之上,負責(zé)控制進程托付的數(shù)據(jù)通過網(wǎng)絡(luò)層發(fā)送給另一臺主機的進程,它并不關(guān)心要傳輸?shù)臄?shù)據(jù)的內(nèi)容和格式,只負責(zé)控制如何發(fā)送和接收數(shù)據(jù),要發(fā)送時將數(shù)據(jù)段加上傳輸層協(xié)議的頭部然后交給下一層網(wǎng)絡(luò)層去發(fā)送。
例如TCP協(xié)議,它是面向連接的傳輸層協(xié)議,由于它要在不可靠的網(wǎng)際通信中建立可靠的數(shù)據(jù)傳輸通道,協(xié)議規(guī)定數(shù)據(jù)傳輸前要先和目的主機的傳輸層進行三次握手建立連接以確保能夠通信,然后才開始發(fā)送數(shù)據(jù),還要根據(jù)情況控制發(fā)送數(shù)據(jù)的速度或者重傳數(shù)據(jù),以確保對方能夠收到完整的數(shù)據(jù),并且最后不需要連接的時候通過四次揮手關(guān)閉雙方的連接。
而UDP協(xié)議是無連接協(xié)議,它只管把數(shù)據(jù)發(fā)送出去,把應(yīng)用層托付的數(shù)據(jù)直接加個UDP頭就交給IP層去傳輸了,而不保證對方有沒有收到。
主要傳輸層協(xié)議:TCP,UDP
基于TCP的協(xié)議:HTTP,F(xiàn)TP,SSH,Telnet
基于UDP的協(xié)議:DNS,DHCP,HTTP3
3. 網(wǎng)絡(luò)層
網(wǎng)絡(luò)層負責(zé)規(guī)劃如何將數(shù)據(jù)從一個網(wǎng)絡(luò)中的主機傳輸?shù)搅硪粋€網(wǎng)絡(luò)中的主機,網(wǎng)絡(luò)節(jié)點錯綜復(fù)雜,網(wǎng)絡(luò)層就負責(zé)規(guī)劃路徑該怎么走,每臺網(wǎng)絡(luò)設(shè)備中都維護了一個路由表,通過查詢路由表得知應(yīng)該走哪個網(wǎng)絡(luò)節(jié)點到哪個網(wǎng)絡(luò)節(jié)點,最后能到達目的主機。
網(wǎng)絡(luò)層最常使用的是 IP 協(xié)議(Internet Protocol),IP 協(xié)議會將傳輸層的報文作為數(shù)據(jù)部分,再加上 IP 報頭組裝成 IP 報文,如果 IP 報文大小超過 MTU(以太網(wǎng)中一般為 1500 字節(jié))就會再次進行分片,得到一個即將發(fā)送到網(wǎng)絡(luò)的 IP 報文。那么傳輸?shù)倪^程中就根據(jù)IP進行路由尋址,尋找下一個要轉(zhuǎn)發(fā)的節(jié)點,最終轉(zhuǎn)發(fā)到目的主機。
如下圖所示,在主機A上ping 1.1.1.5,在數(shù)據(jù)到達網(wǎng)絡(luò)層后,通過與子網(wǎng)掩碼與運算對比網(wǎng)段,發(fā)現(xiàn)和主機A不在一個網(wǎng)段不能直接發(fā)送,于是查詢本機路由表看有沒有到主機B的路由,沒有則將數(shù)據(jù)轉(zhuǎn)發(fā)給默認網(wǎng)關(guān)節(jié)點,網(wǎng)關(guān)節(jié)點接著在所連接的另一個子網(wǎng)中重復(fù)上一步的動作,對比網(wǎng)段,若發(fā)現(xiàn)仍不在一個網(wǎng)段,則查詢路由表繼續(xù)轉(zhuǎn)發(fā),若在一個網(wǎng)段,則將數(shù)據(jù)轉(zhuǎn)發(fā)給對應(yīng)主機。(參考:1. IP路由器尋址過程 2. 路由表)
主要網(wǎng)絡(luò)層協(xié)議:IP協(xié)議(還有為IP協(xié)議服務(wù)的ARP協(xié)議、NAT地址轉(zhuǎn)換協(xié)議等),ICMP 協(xié)議(基于IP協(xié)議)
4. 網(wǎng)絡(luò)接口層
網(wǎng)絡(luò)接口層包括數(shù)據(jù)鏈路層和物理層,負責(zé)在以太網(wǎng)(局域網(wǎng))中將數(shù)據(jù)從一臺機器真實的搬運到另一臺機器。前面網(wǎng)絡(luò)層規(guī)定了每一步走哪個節(jié)點,但兩個節(jié)點間實際的數(shù)據(jù)傳輸工作是網(wǎng)絡(luò)接口層完成的,而在以太網(wǎng)中要實際定位一臺設(shè)備節(jié)點是通過MAC地址,因此在網(wǎng)絡(luò)接口層首先通過ARP協(xié)議獲取下一個節(jié)點的IP對應(yīng)的MAC地址,放在幀信息中把IP報文包上,最后再通過物理層傳輸?shù)揭蕴W(wǎng)中的對應(yīng)設(shè)備節(jié)點。
網(wǎng)絡(luò)接口層的傳輸單位是幀(frame),IP 層的傳輸單位是包(packet),TCP 層的傳輸單位是段(segment),HTTP 的傳輸單位則是消息或報文(message)。但這些名詞并沒有什么本質(zhì)的區(qū)分,可以統(tǒng)稱為數(shù)據(jù)包。
主要網(wǎng)絡(luò)接口層協(xié)議:MAC協(xié)議文章來源:http://www.zghlxwxcb.cn/news/detail-686331.html
參考:https://xiaolincoding.com/network文章來源地址http://www.zghlxwxcb.cn/news/detail-686331.html
到了這里,關(guān)于OSI七層網(wǎng)絡(luò)模型與TCP/IP四層模型的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!