當一(yi)臺計算機(ji)(ji)想要(yao)(yao)(yao)與(yu)另(ling)一(yi)臺計算機(ji)(ji)通(tong)信(xin)時,這兩臺計算機(ji)(ji)之間的(de)通(tong)信(xin)需要(yao)(yao)(yao)良好(hao)可靠,因此可以(yi)保證正(zheng)確(que)接收(shou)數(shu)據(ju)。例如,當你(ni)(ni)想要(yao)(yao)(yao)查(cha)看(kan)網頁、下(xia)載文件或查(cha)看(kan)電子(zi)郵(you)件時,你(ni)(ni)希(xi)望查(cha)看(kan)的(de)網頁完好(hao)無損、井然有(you)序,沒有(you)遺漏任何(he)內容。或者,如果你(ni)(ni)正(zheng)在下(xia)載一(yi)個文件,你(ni)(ni)需要(yao)(yao)(yao)整個文件,而不僅僅是文件的(de)一(yi)部分,因為如果數(shu)據(ju)丟失(shi)或出現(xian)故(gu)障,則對你(ni)(ni)沒有(you)任何(he)好(hao)處。
那么,是時候發揮TCP的用處了
TCP代表傳(chuan)輸控制協議,這是(shi)TCP/IP網(wang)絡中使(shi)用的(de)主要(yao)協議之一(yi),TCP是(shi)用來保證所有(you)數(shu)據(ju)都按順序(xu)接收(shou),如果沒(mei)有(you)TCP,則部分數(shu)據(ju)可能(neng)(neng)丟失或無序(xu),如果你在沒(mei)有(you)TCP的(de)情(qing)況下查看網(wang)頁,你的(de)網(wang)頁可能(neng)(neng)會一(yi)團糟。圖(tu)像可能(neng)(neng)丟失,或者文本可能(neng)(neng)向后(hou)且無序(xu)。或者如果你下載(zai)了一(yi)個(ge)文件(jian),然后(hou),你可能(neng)(neng)無法獲取整個(ge)文件(jian),或者可能(neng)(neng)會使(shi)文件(jian)無序(xu),這將使(shi)文件(jian)變得無用。
TCP的用武之地到了!
現(xian)在TCP是(shi)一(yi)種面(mian)向(xiang)連接的(de)協議,這(zhe)基本上意味著它必須首先確(que)認正在通信的(de)兩(liang)臺計(ji)算機(ji)(ji)之(zhi)間(jian)的(de)會話。因此(ci),在任(ren)何通信發生之(zhi)前,這(zhe)兩(liang)臺計(ji)算機(ji)(ji)都會驗證連接,它是(shi)通過三向(xiang)握手來實現(xian)的(de)。因此(ci),第一(yi)步是(shi)計(ji)算機(ji)(ji)將(jiang)發送一(yi)條(tiao)稱為SYN的(de)消(xiao)(xiao)息(xi)(xi)。然后(hou),接收計(ji)算機(ji)(ji)將(jiang)發回一(yi)條(tiao)確(que)認消(xiao)(xiao)息(xi)(xi),告知(zhi)發送方(fang)它已收到該消(xiao)(xiao)息(xi)(xi),最后(hou),發送方(fang)計(ji)算機(ji)(ji)將(jiang)另(ling)一(yi)條(tiao)確(que)認消(xiao)(xiao)息(xi)(xi)發回接收方(fang)。一(yi)旦發生這(zhe)種情況,就可(ke)以交付數據(ju)。
關于TCP,另一件需要記住的(de)重要事情是,它(ta)保證(zheng)了(le)數據(ju)的(de)傳遞。因此,如(ru)果一個數據(ju)包誤(wu)入歧途并且(qie)沒(mei)有到(dao)達,那么TCP將重新發送(song)它(ta)。