資源描述:
《中的傳輸控制協(xié)議tcp》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、Internet中的傳輸控制協(xié)議TCP張翱翔信息學(xué)院570228學(xué)號(hào)2000714063aoxiang803@yahoo.com.cn摘要:TCP控制協(xié)議保證數(shù)據(jù)傳輸可靠,按序,無丟失和無重復(fù)的機(jī)制關(guān)鍵字:TCP的編號(hào),確認(rèn),流量控制,重發(fā)機(jī)制,報(bào)文格式,運(yùn)輸連接管理。Abstract:TCP-isresponsibleforverifyingthecorrectdeliveryofdatafromclienttoserver.Datacanbelostintheintermediatenetwork.TCPaddssup
2、porttodetecterrorsorlostdataandtotriggerretransmissionuntilthedataiscorrectlyandcompletelyreceived.1.TCP的歷史在六十年代末和七十年代初,因特網(wǎng)開始以稱為ARPANET的廣域網(wǎng)形式漸現(xiàn)雛形。ARPANET是由美國國防部高級(jí)研究規(guī)劃局(DARPA)出資建設(shè)的。從1969年開始,它包括用實(shí)驗(yàn)性的分組交換系統(tǒng)建立和連接的計(jì)算機(jī)。開始,這個(gè)系統(tǒng)采用了一種客戶機(jī)/服務(wù)器關(guān)系,但后來決定采用主機(jī)對(duì)主機(jī)協(xié)議會(huì)好一些。這種協(xié)議稱為網(wǎng)絡(luò)控制
3、協(xié)議(NCP)。到1972年,進(jìn)行了一些驗(yàn)試,其中,許多終端在不同的遠(yuǎn)程鏈路上被連接到不同的主機(jī)上。隨著這種實(shí)驗(yàn)的繼續(xù),有一種不斷增加的需求,就是必須對(duì)許多不同類型計(jì)算機(jī)進(jìn)行互聯(lián)的過程進(jìn)行簡化。那時(shí)每個(gè)計(jì)算機(jī)廠商都使用不同的硬件和軟件來互聯(lián)它們的系統(tǒng)。它的目標(biāo)就是開發(fā)一種互聯(lián)方式,使得能夠在不同類型的傳輸方式上(包括低速、高速和無線連接)支持不同類型的計(jì)算機(jī)。傳輸控制協(xié)議(TCP)的開發(fā)始于1973年,由DARPA和VintonCerf進(jìn)行,然后在斯坦福大學(xué)進(jìn)行。到1978年,它已經(jīng)基本完成了,并在此之后被稱為傳輸控制協(xié)議
4、/Internet協(xié)議(TCP/IP),這時(shí)因?yàn)樾枰獙CP協(xié)議分解成順序的、面向連接的協(xié)議(TCP)和一種高效的、端點(diǎn)對(duì)端點(diǎn)無連接協(xié)議(IP)。在七十年代末的某個(gè)時(shí)候,有一種將TCP/IP協(xié)議組集成到開放式系統(tǒng)互聯(lián)(OSI)協(xié)議的努力,但是這個(gè)努力失敗了。DARPA已經(jīng)資助UCBerkeley將TCP/IP集成到它的UNIX版本中。這個(gè)集成后的產(chǎn)品取得了巨大的商業(yè)成功,并推助TCP/IP成為在美國選擇的網(wǎng)絡(luò)互聯(lián)標(biāo)準(zhǔn)。2.TCP的原理TCP協(xié)議主要為了在主機(jī)間實(shí)現(xiàn)高可靠性的包交換傳輸協(xié)議。本文將描述協(xié)議標(biāo)準(zhǔn)和實(shí)現(xiàn)的一些方法
5、。因?yàn)橛?jì)算機(jī)網(wǎng)絡(luò)在現(xiàn)代社會(huì)中已經(jīng)是不可缺少的了,TCP協(xié)議主要在網(wǎng)絡(luò)不可靠的時(shí)候完成通信,對(duì)軍方可能特別有用,但是對(duì)于政府和商用部門也適用。TCP是面向連接的端到端的可靠協(xié)議。它支持多種網(wǎng)絡(luò)應(yīng)用程序。TCP對(duì)下層服務(wù)沒有多少要求,它假定下層只能提供不可靠的數(shù)據(jù)報(bào)服務(wù),它可以在多種硬件構(gòu)成的網(wǎng)絡(luò)上運(yùn)行。下面的圖是TCP在層次式結(jié)構(gòu)中的位置,它的下層是IP協(xié)議,TCP可以根據(jù)IP協(xié)議提供的服務(wù)傳送大小不定的數(shù)據(jù),IP協(xié)議負(fù)責(zé)對(duì)數(shù)據(jù)進(jìn)行分段,重組,在多種網(wǎng)絡(luò)中傳送。TCP的上面就是應(yīng)用程序,下面是IP協(xié)議,上層接口包括一系列類似
6、于操作系統(tǒng)中斷的調(diào)用。對(duì)于上層應(yīng)用程序來說,TCP應(yīng)該能夠異步傳送數(shù)據(jù)。下層接口我們假定為IP協(xié)議接口。為了在并不可靠的網(wǎng)絡(luò)上實(shí)現(xiàn)面向連接的可靠的傳送數(shù)據(jù),TCP必須解決可靠性,流量控制的問題,必須能夠?yàn)樯蠈討?yīng)用程序提供多個(gè)接口,同時(shí)為多個(gè)應(yīng)用程序提供數(shù)據(jù),同時(shí)TCP必須解決連接問題,這樣TCP才能稱得上是面向連接的,最后,TCP也必須能夠解決通信安全性的問題。網(wǎng)絡(luò)環(huán)境包括由網(wǎng)關(guān)(或其它設(shè)備)連接的網(wǎng)絡(luò),網(wǎng)絡(luò)可以是局域網(wǎng)也可以是一些城域網(wǎng)或廣域網(wǎng),但無論它們是什么,它們必須是基于包交換的。主機(jī)上不同的協(xié)議有不同的端口號(hào),一
7、對(duì)進(jìn)程通過這個(gè)端口號(hào)進(jìn)行通信。這個(gè)通信不包括計(jì)算機(jī)內(nèi)的I/O操作,只包括在網(wǎng)絡(luò)上進(jìn)行的操作。網(wǎng)絡(luò)上的計(jì)算機(jī)被看作包傳送的源和目的結(jié)點(diǎn)。特別應(yīng)該注意的是:計(jì)算機(jī)中的不同進(jìn)程可能同時(shí)進(jìn)行通信,這時(shí)它們會(huì)用端口號(hào)進(jìn)行區(qū)別,不會(huì)把發(fā)向A進(jìn)程的數(shù)據(jù)由B進(jìn)程接收的。進(jìn)程為了傳送數(shù)據(jù)會(huì)調(diào)用TCP,將數(shù)據(jù)和相應(yīng)的參數(shù)傳送給TCP,于是TCP會(huì)將數(shù)據(jù)傳送到目的TCP那里,當(dāng)然這是通過將TCP包打包在IP包內(nèi)在網(wǎng)絡(luò)上傳送達(dá)到的。接收方TCP在接收到數(shù)據(jù)后會(huì)通信上層應(yīng)用程序,TCP會(huì)保證接收數(shù)據(jù)順序的正確性。雖然下層協(xié)議可能不會(huì)保證順序是正確的
8、。這里需要說明的是網(wǎng)關(guān)在接收到這個(gè)包后,會(huì)將包解開,看看是不是已經(jīng)到目的地了,如果沒有到,應(yīng)該走什么路由達(dá)到目的地,在決定后,網(wǎng)關(guān)會(huì)根據(jù)下一個(gè)網(wǎng)絡(luò)內(nèi)的協(xié)議情況再次將TCP包打包傳送,如果需要,還要把這個(gè)包再次分成幾段再傳送。這個(gè)落地檢查的過程是一個(gè)耗時(shí)的過程。從上面,我們可以看出TCP傳送的基本過程,當(dāng)