-
這里嘗試著總結(jié)一下TCP/IP模型和OSI模型的區(qū)別及相同點
相同點:
OSI模型和TCP/IP模型都采用了層次機構(gòu)設(shè)計,各層之間分工明確,高內(nèi)聚低耦合,即便出現(xiàn)了問題找到出問題的地方修改即可,其他層不受影響。
都可以面向連接可靠的通信服務(wù),同時有無連接高效的傳輸機制。
不同點:
OSI模型是在眾多協(xié)議開發(fā)前就已經(jīng)設(shè)計出來了,所以它有一定的通用性。而TCP/IP模型是開發(fā)出協(xié)議后,才設(shè)計的TCP/IP模型,所以有的協(xié)議并不適合于TCP/IP模型
OSI模型只是理論上做參考,而TCP/IP模型已經(jīng)有成熟的產(chǎn)品,已經(jīng)稱為國際標(biāo)準(zhǔn),進入千家萬戶了
查看全部 -
接收端處理數(shù)據(jù)的流程
數(shù)據(jù)在鏈路層中,會取出幀頭,判斷目的MAC地址和我網(wǎng)卡的MAC地址是不是一致,如果一致則往網(wǎng)絡(luò)層傳遞,反之丟棄數(shù)據(jù)
數(shù)據(jù)到達(dá)網(wǎng)絡(luò)層后,取出IP頭,判斷IP地址是不是一致,如果一致,把數(shù)據(jù)往上傳,同時去掉IP頭,反之丟棄。
數(shù)據(jù)到達(dá)傳輸層,取出TCP頭,看下端口號,應(yīng)該將數(shù)據(jù)傳遞給哪個服務(wù)。
數(shù)據(jù)到達(dá)應(yīng)用層,應(yīng)用層采用的是那種協(xié)議,比如應(yīng)用層使用的是HTTP協(xié)議,會去掉HTTP頭部信息,最后交給瀏覽器渲染HTML
查看全部 -
TCP/IP協(xié)議,上層往下層層層傳遞,每層用每層的協(xié)議封裝數(shù)據(jù),最有由鏈路層把數(shù)據(jù)發(fā)送出去。
查看全部 -
應(yīng)用層
是TCP/IP協(xié)議模型的最高層,主要是給用戶提供各種服務(wù),協(xié)議就非常的多了,比如有FTP、HTTP、DNS、SMTP、Telnet
查看全部 -
為什么TCP建立連接是三次?
這是因為TCP連接是可靠的連接,在傳輸數(shù)據(jù)前需要確認(rèn)通信雙方可以正常工作,網(wǎng)絡(luò)通常,而三次握手是最少的,確定通信雙方都有數(shù)據(jù)收發(fā)的能力。?
查看全部 -
比如在需要保證可靠性的場景中,就需要采用TCP協(xié)議進行數(shù)據(jù)傳輸,比如網(wǎng)頁、郵件等等。而有些應(yīng)用采用的是UDP協(xié)議,需要高效率,可靠性不要那么在一,比如微信、微博等等
查看全部 -
UDP協(xié)議不會在發(fā)送數(shù)據(jù)前建立連接,而是將數(shù)據(jù)直接發(fā)送給對方,不管對方有沒有收到,所以可靠性上就缺失了。
不過好處就是沒有建立連接以及需要回復(fù)確認(rèn),效率上就高出不上,現(xiàn)在有些應(yīng)用為了高效率采用UDP傳輸協(xié)議
查看全部 -
為什么說TCP是面向連接的協(xié)議呢?
這是因為在傳輸數(shù)據(jù)之前,會通過三次握手建立連接,連接建立之后,才會開始傳輸數(shù)據(jù)。
同時還說TCP是可靠的?
比如數(shù)據(jù)傳遞給主機B,主機B沒有發(fā)送一個確認(rèn)包給主機A,那么主機A會重發(fā)數(shù)據(jù)包給主機B,直到主機B回復(fù)了確認(rèn)包主機A。
并且數(shù)據(jù)包的發(fā)送是有順序的,比如在發(fā)送第三個數(shù)據(jù)包時,主機A還沒有收到主機B發(fā)回的第一個數(shù)據(jù)包的確認(rèn)包,主機A覺得發(fā)送的第一個數(shù)據(jù)包應(yīng)該丟失了,決定重發(fā)數(shù)據(jù)包,將之前發(fā)送的數(shù)據(jù)包丟棄,重發(fā)第一個數(shù)據(jù)包,這就是可靠性
查看全部 -
TCP協(xié)議的三次握手
三次握手的目的在于確定我們的數(shù)據(jù)傳輸是可靠的,在數(shù)據(jù)傳輸前通過三次握手,知道雙方都有接收發(fā)送數(shù)據(jù)的能力。
第一次握手,主機A向主機B發(fā)送一個請求連接的數(shù)據(jù)包,包中含有SYN協(xié)議,比如序列號等等,主機B收到來自主機A的數(shù)據(jù)包
第二次握手,主機B收到主機A的數(shù)據(jù)包后,需要發(fā)送一個回復(fù)包,告訴主機A你剛剛發(fā)送的請求連接包我收到了,我也希望和你建立連接,這個回復(fù)包中含有SYN、ACK等信息,比如序列號、確認(rèn)號等等
第三次握手,主機A收到主機B發(fā)送的確認(rèn)包后,需要回復(fù)主機B,告訴主機B我收到你的回復(fù)包了,可以建立連接,接下來我就開始傳輸數(shù)據(jù)了。
通過這三次握手,主機A和主機B就建立了連接,明確了通訊雙方都在,且網(wǎng)絡(luò)通常。一旦這三次握手其中有一個握手不成功,比如第二次握手,也就是說服務(wù)器B沒有發(fā)送回復(fù)包給主機A,那么這個TCP連接就是失敗的
查看全部 -
傳輸層
TCP/IP協(xié)議模型中的傳輸層,主要為應(yīng)用層提供端到端的通信, 保證數(shù)據(jù)包的順序傳輸以及數(shù)據(jù)的完整性。
該層最重要的兩個協(xié)議,傳輸控制協(xié)議TCP,用戶數(shù)據(jù)報協(xié)議UDP
查看全部 -
網(wǎng)際互連層
主要是解決主機到主機的通信問題,該層主要的三個協(xié)議,網(wǎng)際協(xié)議IP,互聯(lián)網(wǎng)組管理協(xié)議(IGMP)和互聯(lián)網(wǎng)控制報文協(xié)議(ICMP)
查看全部 -
網(wǎng)絡(luò)接口層在TCP/IP協(xié)議4層模型中的最下層,和我們的物理層、數(shù)據(jù)鏈路層相對應(yīng)。
主要的工作是監(jiān)視數(shù)據(jù)在網(wǎng)絡(luò)和主機之間進行傳輸,比如地址解析協(xié)議(ARP)就是在網(wǎng)絡(luò)接口層工作
查看全部 -
局域網(wǎng)內(nèi)如何發(fā)送數(shù)據(jù)呢,比如我這臺電腦發(fā)送數(shù)據(jù)給另外一臺電腦,數(shù)據(jù)發(fā)到網(wǎng)線上后,會把請求發(fā)到交換機上,交換機只能識別MAC地址,不識別IP地址。
交換機的工作原理。
交換機啟動后,指示燈會不停的閃爍,在閃爍的時間里主要是記錄接到交換機接口上的網(wǎng)線,網(wǎng)線連接的對方設(shè)備的MAC地址,把這個MAC地址記錄在交換機里。
下次在局域網(wǎng)傳輸數(shù)據(jù)時,通過ARP協(xié)議拿到MAC地址,然后在交換機中記錄著MAC地址對應(yīng)交換機上的那個接口,通過那個接口把數(shù)據(jù)傳輸出去。
查看全部 -
ARP協(xié)議的工作原理,就是把IP地址翻譯成MAC物理地址。
為什么要把IP地址和MAC地址映射起來呢? 這是因為IP地址主要是在跨網(wǎng)段,或者說在公網(wǎng)中數(shù)據(jù)傳輸時確定目標(biāo)服務(wù)器所在的位置。
如果在局域網(wǎng),或者說在同一個網(wǎng)端中傳輸數(shù)據(jù),用到的就是MAC地址,而不是IP地址。
查看全部 -
TCP/IP協(xié)議中的網(wǎng)絡(luò)接口層相當(dāng)于OSI模型中的數(shù)據(jù)鏈路層、物理層,負(fù)責(zé)數(shù)據(jù)在局域網(wǎng)中傳輸,以及定義物理設(shè)備的接口,電氣特性,以及比特流的傳輸
查看全部
舉報