tcpdump命令詳解 TCP傳輸協(xié)議中如何解決丟包問(wèn)題?
TCP傳輸協(xié)議中如何解決丟包問(wèn)題?目前我們的計(jì)算機(jī)網(wǎng)絡(luò)體系是一種分層結(jié)構(gòu),一共七層!下層為上層提供服務(wù)!比如連接,傳輸?shù)?!而TCP屬于第四層傳輸層!傳輸層的任務(wù)就是網(wǎng)絡(luò)上提供完整的數(shù)據(jù)傳送!TCP是一
TCP傳輸協(xié)議中如何解決丟包問(wèn)題?
目前我們的計(jì)算機(jī)網(wǎng)絡(luò)體系是一種分層結(jié)構(gòu),一共七層!下層為上層提供服務(wù)!比如連接,傳輸?shù)?!而TCP屬于第四層傳輸層!傳輸層的任務(wù)就是網(wǎng)絡(luò)上提供完整的數(shù)據(jù)傳送!
TCP是一個(gè)面向連接的可能的傳輸層協(xié)議!來(lái)自上層的數(shù)據(jù)到達(dá)傳輸層后首先雙方發(fā)送同步數(shù)據(jù)包建立連接,再有TCP分組分片!把整個(gè)的數(shù)據(jù)分成符合大小的塊,然后分別傳送,在TCP的頭部有記錄順序的序列號(hào),有控制傳送速度的滑動(dòng)窗口,校驗(yàn)和等信息!一個(gè)或多個(gè)塊到達(dá)接收端后,由接收端檢驗(yàn)數(shù)據(jù)包的正確性,然后發(fā)送相應(yīng)序列號(hào)的確認(rèn),沒(méi)有被確認(rèn)的序列號(hào)數(shù)據(jù)塊將被重新傳送來(lái)保證數(shù)據(jù)的完整性!
同時(shí)接收端可以根據(jù)自己的緩沖區(qū)大小,發(fā)送改變相應(yīng)的滑動(dòng)窗口數(shù)據(jù)值以避免發(fā)送端發(fā)送速率過(guò)快而是接受端沒(méi)有緩沖而丟包!
如何停止tcpdump抓包?
tcpdump是一個(gè)非常有效的命令行的抓包工具。
但是,一旦開(kāi)啟后,tcpdump會(huì)一直進(jìn)行抓包。如果用戶要停止抓包,必須手動(dòng)按下Ctrl C快捷鍵。用戶也可以使用-c參數(shù)指定抓包的數(shù)量。當(dāng)數(shù)量達(dá)到時(shí),tcpdump會(huì)自動(dòng)停止抓包,并退出。tcp會(huì)丟包嗎?
1、TCP傳輸不會(huì)丟包,因?yàn)樗兄貍鳈C(jī)制,tcp是應(yīng)答式的,必須是我發(fā)一個(gè)包你收到了且給我回答說(shuō)"我收到你發(fā)的包了"才會(huì)發(fā)下一個(gè)包,否則過(guò)段時(shí)間會(huì)重發(fā)。如果丟包說(shuō)明網(wǎng)絡(luò)或程序有問(wèn)題。比如一些ip電話、電腦傳輸文件等都是用的TCP協(xié)議。
2、我們每天用百度、搜狗查資料,用的是UDP協(xié)議,UPD協(xié)議簡(jiǎn)單講就是響應(yīng)快,缺點(diǎn)沒(méi)有重傳機(jī)制,不管你收到還是沒(méi)收到直接發(fā)給你就行了。
網(wǎng)絡(luò)掉包,如何解決?
網(wǎng)絡(luò)丟包,可能會(huì)出現(xiàn)在網(wǎng)絡(luò)中的任何硬件、傳輸介質(zhì)等環(huán)節(jié),需要仔細(xì)檢測(cè),確認(rèn)掉包原因和故障點(diǎn),解決步驟如下:
1、通過(guò)ping、tracert等命令,測(cè)試丟包率與丟包網(wǎng)段的具體范圍。
2、使用“替換法”檢測(cè)硬件與傳輸介質(zhì)是否為有問(wèn)題。如:交換機(jī),路由器,網(wǎng)卡和網(wǎng)線,光電收發(fā)器,光模塊等。
3、如果不是硬件和傳輸介質(zhì)的問(wèn)題,檢查是否為網(wǎng)絡(luò)蠕蟲(chóng)病毒所至,可用病毒軟件進(jìn)行查殺。
4、如果還是無(wú)法確定丟包原因,可以使用網(wǎng)絡(luò)協(xié)議分析軟件,如:wireshark,sniffer pro,科來(lái)等,抓取數(shù)據(jù)報(bào)文進(jìn)行分析,一般都會(huì)很快找到故障原因。