4、多個(gè)ip分組不按順序到達(dá)目的主機(jī),它是怎樣被有序組合起來(lái)的??
通過(guò)互聯(lián)網(wǎng)發(fā)送數(shù)據(jù)時(shí)。數(shù)據(jù)首先被分解成稱(chēng)為“數(shù)據(jù)報(bào)”的小部分。然后,這些數(shù)據(jù)報(bào)在被發(fā)送到目的地之前被編號(hào)和尋址。這樣,它們可以很容易地通過(guò)傳輸介質(zhì)發(fā)送。事實(shí)上,這些數(shù)據(jù)報(bào)是有編號(hào)的,這樣它們就可以在另一端被正確組合,而不管它們的順序。如果數(shù)據(jù)在傳輸過(guò)程中被損壞,這種編號(hào)和尋址也會(huì)有所幫助。任何傳輸模式都可能發(fā)生數(shù)據(jù)損壞,所以有計(jì)時(shí)器TCP 4計(jì)時(shí)器1。重傳-3/2堅(jiān)持計(jì)時(shí)器123459。
5、傳輸層(TCP,UDPtcp是面向連接的可靠的字節(jié)流傳輸協(xié)議。TCP不提供廣播和組播,一般用于文件傳輸、電子郵件、遠(yuǎn)程登錄等場(chǎng)景。1.前4個(gè)字節(jié):(1)源端口,16位;源處理端口(2)發(fā)送數(shù)據(jù)的目的端口,16位;過(guò)程端口2的序列號(hào),第二個(gè)4字節(jié)和第三個(gè)4字節(jié)(1)用于接收數(shù)據(jù),32位;表示當(dāng)前TCP數(shù)據(jù)段的第一個(gè)字節(jié)在整個(gè)字節(jié)流中的相對(duì)位置;(2)確認(rèn)號(hào),32位數(shù)字;表示接收方想要接收的數(shù)據(jù)的序列號(hào),是最后接收到的數(shù)據(jù)報(bào)的序列號(hào) 1,在ACK標(biāo)志位為1時(shí)生效。
(2)六個(gè)標(biāo)志位,每個(gè)標(biāo)志位一個(gè);同步標(biāo)志SYN用于數(shù)據(jù)同步;確認(rèn)序列號(hào)ACK只有在使用ACK1時(shí)才有效;FIN,結(jié)束序列號(hào),用于發(fā)送方提出斷開(kāi);URG,為緊急序列號(hào),URG1為有效緊急指針;PSH,指示接收方立即向應(yīng)用層提交數(shù)據(jù),而不是等待緩沖區(qū)滿(mǎn);RST,重置連接。(3)滑動(dòng)窗口值,16位;標(biāo)識(shí)接收器可以接受的數(shù)據(jù)字節(jié)數(shù)。
6、[計(jì)算機(jī)網(wǎng)絡(luò)之六]傳輸層傳輸層為其上的應(yīng)用層提供通信服務(wù),屬于面向通信部分的最高層,用戶(hù)功能的最底層。從傳輸層的角度來(lái)看,真正的通信端點(diǎn)不是主機(jī),而是主機(jī)中的進(jìn)程。傳輸層具有解復(fù)用和復(fù)用的功能。“復(fù)用”是指發(fā)送方的不同應(yīng)用進(jìn)程可以使用相同的傳輸層協(xié)議傳輸數(shù)據(jù),“解復(fù)用”是指接收方的傳輸層在剝離報(bào)文頭后,可以正確地將這些數(shù)據(jù)傳遞給目的應(yīng)用進(jìn)程。
知名端口號(hào):0~1023注冊(cè)端口號(hào):1024~49151客戶(hù)端臨時(shí)端口號(hào):49152~65535①無(wú)連接。發(fā)送數(shù)據(jù)前不需要建立連接,減少了發(fā)送數(shù)據(jù)前的開(kāi)銷(xiāo)和時(shí)延。②盡最大努力去交付。也就是說(shuō),不能保證可靠的傳遞,所以主機(jī)不需要維護(hù)復(fù)雜的連接狀態(tài)表。③面向消息。應(yīng)用層移交的消息既不合并也不拆分,但保留了這些消息的邊界,UDP一次傳遞一條完整的消息。
7、[計(jì)算機(jī)網(wǎng)絡(luò)]Ch.6傳輸層為什么需要兩個(gè)不同的獨(dú)立控制層?傳輸層的主要功能是整個(gè)協(xié)議棧(TCP/IP)的核心。傳輸層的任務(wù)是提供可靠高效的數(shù)據(jù)傳輸,使整個(gè)消息能夠到達(dá)計(jì)算機(jī)上的正確進(jìn)程。傳輸層的最終目標(biāo)是為其用戶(hù)(應(yīng)用層)提供高效、可靠、高性?xún)r(jià)比的服務(wù)【比如一臺(tái)主機(jī)到另一臺(tái)主機(jī)的消息是否發(fā)送到本機(jī)郵箱進(jìn)行解析,播放器播放還是瀏覽器解析】。端口的定義為16位,共有216個(gè)端口范圍:0 ~ 65533。
8、TCP可靠傳輸?shù)膶?shí)現(xiàn)(二TCP使用可靠的傳輸協(xié)議,這意味著數(shù)據(jù)必須有序無(wú)誤地傳輸?shù)侥康牡?。傳輸過(guò)程中發(fā)送的包丟失丟失了怎么辦?TCP的重傳機(jī)制是在發(fā)送方認(rèn)為發(fā)生了丟包的情況下,重新發(fā)送這些包。顯然,我們需要一種方法來(lái)猜測(cè)是否發(fā)生了丟包。最簡(jiǎn)單的想法是,每當(dāng)接收方收到一個(gè)數(shù)據(jù)包時(shí),就向發(fā)送方返回一個(gè)ACK,表示它已經(jīng)收到了數(shù)據(jù)。反之,如果發(fā)送方一段時(shí)間沒(méi)有收到ACK,就會(huì)知道很可能是數(shù)據(jù)包丟失,然后重新發(fā)送數(shù)據(jù)包,直到收到ACK。
因?yàn)榧词故浅瑫r(shí),這個(gè)數(shù)據(jù)包也不一定會(huì)丟失,它只是繞過(guò)了長(zhǎng)途,來(lái)得很晚。畢竟TCP協(xié)議位于傳輸層,所以不可能確切知道數(shù)據(jù)鏈路層和物理層發(fā)生了什么,但這并不妨礙我們的超時(shí) 重傳機(jī)制,因?yàn)榻邮辗綍?huì)自動(dòng)忽略收到的重復(fù)包。下面詳細(xì)說(shuō)一下TCP的重傳機(jī)制:在這種機(jī)制下,每個(gè)包都有一個(gè)對(duì)應(yīng)的計(jì)時(shí)器,超過(guò)指定時(shí)間后,包會(huì)被重傳,而不會(huì)收到對(duì)方的ACK確認(rèn)消息。