亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

TCP/IP

TCP/IP協(xié)議是什么

時間:2024-08-26 14:41:23 興亮 TCP/IP 我要投稿
  • 相關(guān)推薦

TCP/IP協(xié)議是什么

  在日常學(xué)習(xí)、工作或生活中,大家對TCP/IP都再熟悉不過了吧,以下是小編為大家收集的TCP/IP協(xié)議是什么,希望對大家有所幫助。

TCP/IP協(xié)議是什么

  TCP和UDP處在同一層---運輸層,但是TCP和UDP最不同的地方是,TCP提供了一種可靠的數(shù)據(jù)傳輸服務(wù),TCP是面向連接的,也就是說,利用TCP通信的兩臺主機首先要經(jīng)歷一個“撥打電話”的過程,等到通信準(zhǔn)備結(jié)束才開始傳輸數(shù)據(jù),最后結(jié)束通話。所以TCP要比UDP可靠的多,UDP是把數(shù)據(jù)直接發(fā)出去,而不管對方是不是在收信,就算是UDP無法送達,也不會產(chǎn)生ICMP差錯報文,這一經(jīng)時重申了很多遍了。

  把TCP保證可靠性的簡單工作原理:

  應(yīng)用數(shù)據(jù)被分割成TCP認為最適合發(fā)送的數(shù)據(jù)塊。這和UDP完全不同,應(yīng)用程序產(chǎn)生的 數(shù)據(jù)報長度將保持不變。由TCP傳遞給IP的信息單位稱為報文段或段

  當(dāng)TCP發(fā)出一個段后,它啟動一個定時器,等待目的端確認收到這個報文段。如果不能 及時收到一個確認,將重發(fā)這個報文段.

  當(dāng)TCP收到發(fā)自TCP連接另一端的數(shù)據(jù),它將發(fā)送一個確認。這個確認不是立即發(fā)送,通常將推遲幾分之一秒.

  TCP將保持它首部和數(shù)據(jù)的檢驗和。這是一個端到端的檢驗和,目的是檢測數(shù)據(jù)在傳輸 過程中的任何變化。如果收到段的檢驗和有差錯, T P將丟棄這個報文段和不確認收到此報文段(希望發(fā)端超時并重發(fā))。

  既然TCP報文段作為IP數(shù)據(jù)報來傳輸,而IP數(shù)據(jù)報的到達可能會失序,因此TCP報文段 的到達也可能會失序。如果必要, TCP將對收到的數(shù)據(jù)進行重新排序,將收到的數(shù)據(jù)以正確的順序交給應(yīng)用層。

  TCP還能提供流量控制。TCP連接的每一方都有固定大小的緩沖空間。TCP的接收端只允許另一端發(fā)送接收端緩沖區(qū)所能接納的數(shù)據(jù)。這將防止較快主機致使較慢主機的緩沖區(qū)溢出。

  從這段話中可以看到,TCP中保持可靠性的方式就是超時重發(fā),這是有道理的,雖然TCP也可以用各種各樣的ICMP報文來處理這些,但是這也不是可靠的,最可靠的方式就是只要不得到確認,就重新發(fā)送數(shù)據(jù)報,直到得到對方的確認為止。

  TCP的首部和UDP首部一樣,都有發(fā)送端口號和接收端口號。但是顯然,TCP的首部信息要比UDP的多,可以看到,TCP協(xié)議提供了發(fā)送和確認所需要的所有必要的信息?梢韵胂笠粋TCP數(shù)據(jù)的發(fā)送應(yīng)該是如下的一個過程。

  雙方建立連接

  發(fā)送方給接受方TCP數(shù)據(jù)報,然后等待對方的確認TCP數(shù)據(jù)報,如果沒有,就重新發(fā),如果有,就發(fā)送下一個數(shù)據(jù)報。

  接受方等待發(fā)送方的數(shù)據(jù)報,如果得到數(shù)據(jù)報并檢驗無誤,就發(fā)送ACK(確認)數(shù)據(jù)報,并等待下一個TCP數(shù)據(jù)報的到來。直到接收到FIN(發(fā)送完成數(shù)據(jù)報)

  中止連接

  可以想見,為了建立一個TCP連接,系統(tǒng)可能會建立一個新的進程(最差也是一個線程),來進行數(shù)據(jù)的傳送

  --

  TCP協(xié)議

  TCP是一個面向連接的協(xié)議,在發(fā)送輸送之前 ,雙方需要確定連接。而且,發(fā)送的數(shù)據(jù)可以進行TCP層的分片處理。

  TCP連接的建立過程 ,可以看成是三次握手 。而連接的中斷可以看成四次握手 。

  1.連接的建立

  在建立連接的時候,客戶端首先向服務(wù)器申請打開某一個端口(用SYN段等于1的TCP報文),然后服務(wù)器端發(fā)回一個ACK報文通知客戶端請求報文收到,客戶端收到確認報文以后再次發(fā)出確認報文確認剛才服務(wù)器端發(fā)出的確認報文(繞口么),至此,連接的建立完成。這就叫做三次握手。如果打算讓雙方都做好準(zhǔn)備的話,一定要發(fā)送三次報文,而且只需要三次報文就可以了。

  可以想見,如果再加上TCP的超時重傳機制,那么TCP就完全可以保證一個數(shù)據(jù)包被送到目的地。

  2.結(jié)束連接

  TCP有一個特別的概念叫做half-close,這個概念是說,TCP的連接是全雙工(可以同時發(fā)送和接收)連接,因此在關(guān)閉連接的時候,必須關(guān)閉傳和送兩個方向上的連接。客戶機給服務(wù)器一個FIN為1的TCP報文,然后服務(wù)器返回給客戶端一個確認ACK報文,并且發(fā)送一個FIN報文,當(dāng)客戶機回復(fù)ACK報文后(四次握手),連接就結(jié)束了。

  3.最大報文長度

  在建立連接的時候,通信的雙方要互相確認對方的最大報文長度(MSS),以便通信。一般這個SYN長度是MTU減去固定IP首部和TCP首部長度。對于一個以太網(wǎng),一般可以達到1460字節(jié)。當(dāng)然如果對于非本地的IP,這個MSS可能就只有536字節(jié),而且,如果中間的傳輸網(wǎng)絡(luò)的MSS更加的小的話,這個值還會變得更小。

  4.客戶端應(yīng)用程序的狀態(tài)遷移圖

  客戶端的狀態(tài)可以用如下的流程來表示:

  CLOSED->SYN_SENT->ESTABLISHED->FIN_WAIT_1->FIN_WAIT_2->TIME_WAIT->CLOSED

  以上流程是在程序正常的情況下應(yīng)該有的流程,從書中的圖中可以看到,在建立連接時,當(dāng)客戶端收到SYN報文的ACK以后,客戶端就打開了數(shù)據(jù)交互地連接。而結(jié)束連接則通常是客戶端主動結(jié)束的,客戶端結(jié)束應(yīng)用程序以后,需要經(jīng)歷FIN_WAIT_1,F(xiàn)IN_WAIT_2等狀態(tài),這些狀態(tài)的遷移就是前面提到的結(jié)束連接的四次握手。

  5.服務(wù)器的狀態(tài)遷移圖

  服務(wù)器的狀態(tài)可以用如下的流程來表示:

  CLOSED->LISTEN->SYN收到->ESTABLISHED->CLOSE_WAIT->LAST_ACK->CLOSED

  在建立連接的時候,服務(wù)器端是在第三次握手之后才進入數(shù)據(jù)交互狀態(tài),而關(guān)閉連接則是在關(guān)閉連接的第二次握手以后(注意不是第四次)。而關(guān)閉以后還要等待客戶端給出最后的ACK包才能進入初始的狀態(tài)。

  6.TCP服務(wù)器設(shè)計

  前面曾經(jīng)講述過UDP的服務(wù)器設(shè)計,可以發(fā)現(xiàn)UDP的服務(wù)器完全不需要所謂的并發(fā)機制,它只要建立一個數(shù)據(jù)輸入隊列就可以。但是TCP不同,TCP服務(wù)器對于每一個連接都需要建立一個獨立的進程(或者是輕量級的,線程),來保證對話的獨立性。所以TCP服務(wù)器是并發(fā)的。而且TCP還需要配備一個呼入連接請求隊列(UDP服務(wù)器也同樣不需要),來為每一個連接請求建立對話進程,這也就是為什么各種TCP服務(wù)器都有一個最大連接數(shù)的原因。而根據(jù)源主機的IP和端口號碼,服務(wù)器可以很輕松的區(qū)別出不同的會話,來進行數(shù)據(jù)的分發(fā)。

  TCP的交互數(shù)據(jù)流

  對于交互性要求比較高的應(yīng)用,TCP給出兩個策略來提高發(fā)送效率和減低網(wǎng)絡(luò)負擔(dān):(1)捎帶ACK。(2)Nagle算法(一次盡量多的發(fā)數(shù)據(jù))

  捎帶ACK的發(fā)送方式

  這個策略是說,當(dāng)主機收到遠程主機的TCP數(shù)據(jù)報之后,通常不馬上發(fā)送ACK數(shù)據(jù)報,而是等上一個短暫的時間,如果這段時間里面主機還有發(fā)送到遠程主機的TCP數(shù)據(jù)報,那么就把這個ACK數(shù)據(jù)報“捎帶”著發(fā)送出去,把本來兩個TCP數(shù)據(jù)報整合成一個發(fā)送。一般的,這個時間是200ms?梢悦黠@地看到這個策略可以把TCP數(shù)據(jù)報的利用率提高很多。

  Nagle算法

  上過bbs的人應(yīng)該都會有感受,就是在網(wǎng)絡(luò)慢的時候發(fā)貼,有時鍵入一串字符串以后,經(jīng)過一段時間,客戶端“發(fā)瘋”一樣突然回顯出很多內(nèi)容,就好像數(shù)據(jù)一下子傳過來了一樣,這就是Nagle算法的作用。

  Nagle算法是說,當(dāng)主機A給主機B發(fā)送了一個TCP數(shù)據(jù)報并進入等待主機B的ACK數(shù)據(jù)報的狀態(tài)時,TCP的輸出緩沖區(qū)里面只能有一個TCP數(shù)據(jù)報,并且,這個數(shù)據(jù)報不斷地收集后來的數(shù)據(jù),整合成一個大的數(shù)據(jù)報,等到B主機的ACK包一到,就把這些數(shù)據(jù)“一股腦”的發(fā)送出去。雖然這樣的描述有些不準(zhǔn)確,但還算形象和易于理解,我們同樣可以體會到這個策略對于低減網(wǎng)絡(luò)負擔(dān)的好處。

  在編寫插口程序的時候,可以通過TCP_NODELAY來關(guān)閉這個算法。并且,使用這個算法看情況的,比如基于TCP的X窗口協(xié)議,如果處理鼠標(biāo)事件時還是用這個算法,那么“延遲”可就非常大了。

  歷史

  產(chǎn)生背景

  Internet網(wǎng)絡(luò)的前身ARPANET當(dāng)時使用的并不是傳輸控制協(xié)議/網(wǎng)際協(xié)議(Transmission Control Protocol/Internet Protocol,TCP/IP),而是一種叫網(wǎng)絡(luò)控制協(xié)議(Network Control Protocol,NCP)的網(wǎng)絡(luò)協(xié)議,但隨著網(wǎng)絡(luò)的發(fā)展和用戶對網(wǎng)絡(luò)的需求不斷提高,設(shè)計者們發(fā)現(xiàn),NCP協(xié)議存在著很多的缺點以至于不能充分支持ARPANET網(wǎng)絡(luò),特別是NCP僅能用于同構(gòu)環(huán)境中(所謂同構(gòu)環(huán)境是網(wǎng)絡(luò)上的所有計算機都運行相同的操作系統(tǒng)),設(shè)計者就認為“同構(gòu)”這一限制不應(yīng)被加到一個分布廣泛的網(wǎng)絡(luò)上。1980年,用于“異構(gòu)”網(wǎng)絡(luò)環(huán)境中的TCP/IP協(xié)議研制成功,也就是說,TCP/IP協(xié)議可以在各種硬件和操作系統(tǒng)上實現(xiàn)互操作。1982年,ARPANET開始采用TCP/IP協(xié)議。

  產(chǎn)生過程

 。1)1973年,卡恩與瑟夫開發(fā)出了TCP/IP協(xié)議中最核心的兩個協(xié)議:TCP協(xié)議和IP協(xié)議。

 。2)1974年12月,卡恩與瑟夫正式發(fā)表了TCP/IP協(xié)議并對其進行了詳細的說明。同時,為了驗證TCP/IP協(xié)議的可用性,使一個數(shù)據(jù)包由一端發(fā)出,在經(jīng)過近10萬km的旅程后到達服務(wù)端。在這次傳輸中,數(shù)據(jù)包沒有丟失一個字節(jié),這充分說明了TCP/IP協(xié)議的成功。

 。3)1983年元旦,TCP/IP協(xié)議正式替代NCP,從此以后TCP/IP成為大部分因特網(wǎng)共同遵守的一種網(wǎng)絡(luò)規(guī)則。

  (4)1984年,TCP/IP協(xié)議得到美國國防部的肯定,成為多數(shù)計算機共同遵守的一個標(biāo)準(zhǔn)。

  (5)2005年9月9日卡恩和瑟夫由于他們對于美國文化做出的卓越貢獻被授予總統(tǒng)自由勛章。

  TCP/IP協(xié)議的組成

  TCP/IP協(xié)議在一定程度上參考了OSI的體系結(jié)構(gòu)。OSI模型共有七層,從下到上分別是物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、運輸層、會話層、表示層和應(yīng)用層。但是這顯然是有些復(fù)雜的,所以在TCP/IP協(xié)議中,它們被簡化為了四個層次。

 。1)應(yīng)用層、表示層、會話層三個層次提供的服務(wù)相差不是很大,所以在TCP/IP協(xié)議中,它們被合并為應(yīng)用層一個層次。

 。2)由于運輸層和網(wǎng)絡(luò)層在網(wǎng)絡(luò)協(xié)議中的地位十分重要,所以在TCP/IP協(xié)議中它們被作為獨立的兩個層次。

  (3)因為數(shù)據(jù)鏈路層和物理層的內(nèi)容相差不多,所以在TCP/IP協(xié)議中它們被歸并在網(wǎng)絡(luò)接口層一個層次里。只有四層體系結(jié)構(gòu)的TCP/IP協(xié)議,與有七層體系結(jié)構(gòu)的OSI相比要簡單了不少,也正是這樣,TCP/IP協(xié)議在實際的應(yīng)用中效率更高,成本更低。

  分別介紹TCP/IP協(xié)議中的四個層次。

  應(yīng)用層:應(yīng)用層是TCP/IP協(xié)議的第一層,是直接為應(yīng)用進程提供服務(wù)的。

 。1)對不同種類的應(yīng)用程序它們會根據(jù)自己的需要來使用應(yīng)用層的不同協(xié)議,郵件傳輸應(yīng)用使用了SMTP協(xié)議、萬維網(wǎng)應(yīng)用使用了HTTP協(xié)議、遠程登錄服務(wù)應(yīng)用使用了有TELNET協(xié)議。

 。2)應(yīng)用層還能加密、解密、格式化數(shù)據(jù)。

 。3)應(yīng)用層可以建立或解除與其他節(jié)點的聯(lián)系,這樣可以充分節(jié)省網(wǎng)絡(luò)資源。

  運輸層:作為TCP/IP協(xié)議的第二層,運輸層在整個TCP/IP協(xié)議中起到了中流砥柱的作用。且在運輸層中,TCP和UDP也同樣起到了中流砥柱的作用。

  網(wǎng)絡(luò)層:網(wǎng)絡(luò)層在TCP/IP協(xié)議中的位于第三層。在TCP/IP協(xié)議中網(wǎng)絡(luò)層可以進行網(wǎng)絡(luò)連接的建立和終止以及IP地址的尋找等功能。

  網(wǎng)絡(luò)接口層:在TCP/IP協(xié)議中,網(wǎng)絡(luò)接口層位于第四層。由于網(wǎng)絡(luò)接口層兼并了物理層和數(shù)據(jù)鏈路層所以,網(wǎng)絡(luò)接口層既是傳輸數(shù)據(jù)的物理媒介,也可以為網(wǎng)絡(luò)層提供一條準(zhǔn)確無誤的線路。

  特點

  TCP/IP協(xié)議能夠迅速發(fā)展起來并成為事實上的標(biāo)準(zhǔn),是它恰好適應(yīng)了世界范圍內(nèi)數(shù)據(jù)通信的需要。它有以下特點:

 。1)協(xié)議標(biāo)準(zhǔn)是完全開放的,可以供用戶免費使用,并且獨立于特定的計算機硬件與操作系統(tǒng)。

 。2)獨立于網(wǎng)絡(luò)硬件系統(tǒng),可以運行在廣域網(wǎng),更適合于互聯(lián)網(wǎng)。

 。3)網(wǎng)絡(luò)地址統(tǒng)一分配,網(wǎng)絡(luò)中每一設(shè)備和終端都具有一個唯一地址。

 。4)高層協(xié)議標(biāo)準(zhǔn)化,可以提供多種多樣可靠網(wǎng)絡(luò)服務(wù)。

  通信過程及相關(guān)協(xié)議

  在網(wǎng)絡(luò)通信的過程中,將發(fā)出數(shù)據(jù)的主機稱為源主機,接收數(shù)據(jù)的主機稱為目的主機。當(dāng)源主機發(fā)出數(shù)據(jù)時,數(shù)據(jù)在源主機中從上層向下層傳送。源主機中的應(yīng)用進程先將數(shù)據(jù)交給應(yīng)用層,應(yīng)用層加上必要的控制信息就成了報文流,向下傳給傳輸層。傳輸層將收到的數(shù)據(jù)單元加上本層的控制信息,形成報文段、數(shù)據(jù)報,再交給網(wǎng)際層。網(wǎng)際層加上本層的控制信息,形成IP數(shù)據(jù)報,傳給網(wǎng)絡(luò)接口層。網(wǎng)絡(luò)接口層將網(wǎng)際層交下來的IP數(shù)據(jù)報組裝成幀,并以比特流的形式傳給網(wǎng)絡(luò)硬件(即物理層),數(shù)據(jù)就離開源主機。

  鏈路層

  以太網(wǎng)協(xié)議規(guī)定,接入網(wǎng)絡(luò)的設(shè)備都必須安裝網(wǎng)絡(luò)適配器,即網(wǎng)卡,數(shù)據(jù)包必須是從一塊網(wǎng)卡傳送到另一塊網(wǎng)卡。而網(wǎng)卡地址就是數(shù)據(jù)包的發(fā)送地址和接收地址,有了MAC地址以后,以太網(wǎng)采用廣播形式,把數(shù)據(jù)包發(fā)給該子網(wǎng)內(nèi)所有主機,子網(wǎng)內(nèi)每臺主機在接收到這個包以后,都會讀取首部里的目標(biāo)MAC地址,然后和自己的MAC地址進行對比,如果相同就做下一步處理,如果不同,就丟棄這個包。

  所以鏈路層的主要工作就是對電信號進行分組并形成具有特定意義的數(shù)據(jù)幀,然后以廣播的形式通過物理介質(zhì)發(fā)送給接收方。

  網(wǎng)絡(luò)層

  IP協(xié)議

  網(wǎng)絡(luò)層引入了IP協(xié)議,制定了一套新地址,使得我們能夠區(qū)分兩臺主機是否同屬一個網(wǎng)絡(luò),這套地址就是網(wǎng)絡(luò)地址,也就是所謂的IP地址。IP協(xié)議將這個32位的地址分為兩部分,前面部分代表網(wǎng)絡(luò)地址,后面部分表示該主機在局域網(wǎng)中的地址。如果兩個IP地址在同一個子網(wǎng)內(nèi),則網(wǎng)絡(luò)地址一定相同。為了判斷IP地址中的網(wǎng)絡(luò)地址,IP協(xié)議還引入了子網(wǎng)掩碼,IP地址和子網(wǎng)掩碼通過按位與運算后就可以得到網(wǎng)絡(luò)地址。

  ARP協(xié)議

  即地址解析協(xié)議,是根據(jù)IP地址獲取MAC地址的一個網(wǎng)絡(luò)層協(xié)議。其工作原理如下:ARP首先會發(fā)起一個請求數(shù)據(jù)包,數(shù)據(jù)包的首部包含了目標(biāo)主機的IP地址,然后這個數(shù)據(jù)包會在鏈路層進行再次包裝,生成以太網(wǎng)數(shù)據(jù)包,最終由以太網(wǎng)廣播給子網(wǎng)內(nèi)的所有主機,每一臺主機都會接收到這個數(shù)據(jù)包,并取出包頭里的IP地址,然后和自己的IP地址進行比較,如果相同就返回自己的MAC地址,如果不同就丟棄該數(shù)據(jù)包。ARP接收返回消息,以此確定目標(biāo)機的MAC地址;與此同時,ARP還會將返回的MAC地址與對應(yīng)的IP地址存入本機ARP緩存中并保留一定時間,下次請求時直接查詢ARP緩存以節(jié)約資源。

  路由協(xié)議

  首先通過IP協(xié)議來判斷兩臺主機是否在同一個子網(wǎng)中,如果在同一個子網(wǎng),就通過ARP協(xié)議查詢對應(yīng)的MAC地址,然后以廣播的形式向該子網(wǎng)內(nèi)的主機發(fā)送數(shù)據(jù)包;如果不在同一個子網(wǎng),以太網(wǎng)會將該數(shù)據(jù)包轉(zhuǎn)發(fā)給本子網(wǎng)的網(wǎng)關(guān)進行路由。網(wǎng)關(guān)是互聯(lián)網(wǎng)上子網(wǎng)與子網(wǎng)之間的橋梁,所以網(wǎng)關(guān)會進行多次轉(zhuǎn)發(fā),最終將該數(shù)據(jù)包轉(zhuǎn)發(fā)到目標(biāo)IP所在的子網(wǎng)中,然后再通過ARP獲取目標(biāo)機MAC,最終也是通過廣播形式將數(shù)據(jù)包發(fā)送給接收方。而完成這個路由協(xié)議的物理設(shè)備就是路由器,路由器扮演著交通樞紐的角色,它會根據(jù)信道情況,選擇并設(shè)定路由,以最佳路徑來轉(zhuǎn)發(fā)數(shù)據(jù)包。

  所以,網(wǎng)絡(luò)層的主要工作是定義網(wǎng)絡(luò)地址、區(qū)分網(wǎng)段、子網(wǎng)內(nèi)MAC尋址、對于不同子網(wǎng)的數(shù)據(jù)包進行路由。

  傳輸層

  鏈路層定義了主機的身份,即MAC地址,而網(wǎng)絡(luò)層定義了IP地址,明確了主機所在的網(wǎng)段,有了這兩個地址,數(shù)據(jù)包就可以從一個主機發(fā)送到另一臺主機。但實際上數(shù)據(jù)包是從一個主機的某個應(yīng)用程序發(fā)出,然后由對方主機的應(yīng)用程序接收。而每臺電腦都有可能同時運行著很多個應(yīng)用程序,所以當(dāng)數(shù)據(jù)包被發(fā)送到主機上以后,是無法確定哪個應(yīng)用程序要接收這個包。因此傳輸層引入了UDP協(xié)議來解決這個問題,為了給每個應(yīng)用程序標(biāo)識身份。

  UDP協(xié)議

  UDP協(xié)議定義了端口,同一個主機上的每個應(yīng)用程序都需要指定唯一的端口號,并且規(guī)定網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)包必須加上端口信息,當(dāng)數(shù)據(jù)包到達主機以后,就可以根據(jù)端口號找到對應(yīng)的應(yīng)用程序了。UDP協(xié)議比較簡單,實現(xiàn)容易,但它沒有確認機制,數(shù)據(jù)包一旦發(fā)出,無法知道對方是否收到,因此可靠性較差,為了解決這個問題,提高網(wǎng)絡(luò)可靠性,TCP協(xié)議就誕生了。

  TCP協(xié)議

  TCP即傳輸控制協(xié)議,是一種面向連接的、可靠的、基于字節(jié)流的通信協(xié)議。簡單來說TCP就是有確認機制的UDP協(xié)議,每發(fā)出一個數(shù)據(jù)包都要求確認,如果有一個數(shù)據(jù)包丟失,就收不到確認,發(fā)送方就必須重發(fā)這個數(shù)據(jù)包。為了保證傳輸?shù)目煽啃,TCP協(xié)議在UDP基礎(chǔ)之上建立了三次對話的確認機制,即在正式收發(fā)數(shù)據(jù)前,必須和對方建立可靠的連接。TCP數(shù)據(jù)包和UDP一樣,都是由首部和數(shù)據(jù)兩部分組成,唯一不同的是,TCP數(shù)據(jù)包沒有長度限制,理論上可以無限長,但是為了保證網(wǎng)絡(luò)的效率,通常TCP數(shù)據(jù)包的長度不會超過IP數(shù)據(jù)包的長度,以確保單個TCP數(shù)據(jù)包不必再分割。

  傳輸層的主要工作是定義端口,標(biāo)識應(yīng)用程序身份,實現(xiàn)端口到端口的通信,TCP協(xié)議可以保證數(shù)據(jù)傳輸?shù)目煽啃浴?/p>

  應(yīng)用層

  理論上講,有了以上三層協(xié)議的支持,數(shù)據(jù)已經(jīng)可以從一個主機上的應(yīng)用程序傳輸?shù)搅硪慌_主機的應(yīng)用程序了,但此時傳過來的數(shù)據(jù)是字節(jié)流,不能很好的被程序識別,操作性差,因此,應(yīng)用層定義了各種各樣的協(xié)議來規(guī)范數(shù)據(jù)格式,常見的有http,ftp,smtp等,在請求Header中,分別定義了請求數(shù)據(jù)格式Accept和響應(yīng)數(shù)據(jù)格式Content-Type,有了這個規(guī)范以后,當(dāng)對方接收到請求以后就知道該用什么格式來解析,然后對請求進行處理,最后按照請求方要求的格式將數(shù)據(jù)返回,請求端接收到響應(yīng)后,就按照規(guī)定的格式進行解讀。

  所以應(yīng)用層的主要工作就是定義數(shù)據(jù)格式并按照對應(yīng)的格式解讀數(shù)據(jù)。

  安全隱患

  鏈路層上的攻擊

  在TCP/IP網(wǎng)絡(luò)中,鏈路層這一層次的復(fù)雜程度是最高的。其中最常見的攻擊方式通常是網(wǎng)絡(luò)嗅探組成的TCP/IP協(xié)議的以太網(wǎng)。當(dāng)前,我國應(yīng)用較為廣泛的局域網(wǎng)是以太網(wǎng),且其共享信道利用率非常高。以太網(wǎng)卡有兩種主要的工作方式,一種是一般工作方式,另一種是較特殊的混雜方式。這一情況下,很可能由于被攻擊的原因而造成信息丟失情況,且攻擊者可以通過數(shù)據(jù)分析來獲取賬戶、密碼等多方面的關(guān)鍵數(shù)據(jù)信息。

  網(wǎng)絡(luò)層上的攻擊

  ARP欺騙

  ARP(地址解析協(xié)議)是根據(jù)IP地址獲取物理地址的一個TCP/IP協(xié)議。通常情況下,在IP數(shù)據(jù)包發(fā)送過程中會存在一個子網(wǎng)或者多個子網(wǎng)主機利用網(wǎng)絡(luò)級別第一層,而ARP則充當(dāng)源主機第一個查詢工具,在未找到IP地址相對應(yīng)的物理地址時,將主機和IP地址相關(guān)的物理地址信息發(fā)送給主機。與此同時,源主機將包括自身IP地址和ARP檢測的應(yīng)答發(fā)送給目的主機。如果ARP識別鏈接錯誤,這樣的話ARP直接應(yīng)用可疑信息,那么可疑信息就會很容易進入目標(biāo)主機當(dāng)中。ARP協(xié)議沒有狀態(tài),不管有沒有收到請求,主機會將任何受到的ARP相應(yīng)自動緩存。如果信息中帶有病毒,采用ARP欺騙就會導(dǎo)致網(wǎng)絡(luò)信息安全泄露。因此,在ARP識別環(huán)節(jié),應(yīng)加大保護,建立更多的識別關(guān)卡,不能只簡單通過IP名進行識別,還需充分參考IP相關(guān)性質(zhì)等。

  ICMP欺騙

  ICMP協(xié)議也是因特網(wǎng)控制報文協(xié)議,主要用在主機與路由器之間進行控制信息傳遞。通過這一協(xié)議可對網(wǎng)絡(luò)是否通暢、主機是否可達、路由是否可用等信息進行控制。一旦出現(xiàn)差錯,數(shù)據(jù)包會利用主機進行即時發(fā)送,并自動返回描述錯誤的信息。該協(xié)議在網(wǎng)絡(luò)安全當(dāng)中是十分重要的協(xié)議。但由于自身特點的原因,其極易受到入侵,通常而言,目標(biāo)主機在長期發(fā)送大量ICMP數(shù)據(jù)包的情況下,會造成目標(biāo)主機占用大量CPU資源,最終造成系統(tǒng)癱瘓。

  傳輸層上的攻擊

  在傳輸層還存在網(wǎng)絡(luò)安全問題。如在網(wǎng)絡(luò)安全領(lǐng)域中,IP欺騙就是隱藏自己的有效手段,主要是通過將自身IP地址進行偽造,并向目標(biāo)主機發(fā)送惡意的請求,攻擊主機,而主機卻因為IP地址被隱藏而無法準(zhǔn)確確認攻擊源;蛘咄ㄟ^獲取目標(biāo)主機信任而趁機竊取相關(guān)的機密信息。在DOS攻擊中往往會使用IP欺騙,這是因為數(shù)據(jù)包地址來源較廣泛,無法進行有效過濾,從而使IP基本防御的有效性大幅度下降。此外,在ICMP傳輸通道,由于ICMP是IP層的組成部分之一,在IP軟件中任何端口向ICMP發(fā)送一個PING文件,借此用作申請,申請文件傳輸是否被允許,而ICMP會做出應(yīng)答,這一命令可檢測消息的合法性。所有申請傳輸?shù)臄?shù)據(jù)基本上傳輸層都會同意,造成這一情況的原因主要是PING軟件編程無法智能識別出惡意信息,一般網(wǎng)絡(luò)安全防護系統(tǒng)與防火墻會自動默認PING存在,從而忽視其可能帶來的安全風(fēng)險。

  應(yīng)用層上的攻擊

  對于因特網(wǎng)而言,IP地址與域名均是一一對應(yīng)的,這兩者之間的轉(zhuǎn)換工作,被稱為域名解析。而DNS就是域名解析的服務(wù)器。DNS欺騙指的是攻擊方冒充域名服務(wù)器的行為,使用DNS欺騙能將錯誤DNS信息提供給目標(biāo)主機。所以說,通過DNS欺騙可誤導(dǎo)用戶進入非法服務(wù)器,讓用戶相信詐騙IP。另外,PTP網(wǎng)絡(luò)上接口接受到不屬于主機的數(shù)據(jù),這也是應(yīng)用層存在的安全問題,一些木馬病毒可趁機入侵,造成數(shù)據(jù)泄露,從而引發(fā)網(wǎng)絡(luò)安全問題。

  安全策略

  防火墻技術(shù)

  防火墻技術(shù)的核心是在不安全網(wǎng)絡(luò)環(huán)境中去構(gòu)建相對安全的子網(wǎng)環(huán)境,以保證內(nèi)部網(wǎng)絡(luò)安全?梢詫⑵湎氤蔀橐粋阻止輸入、允許輸入的開關(guān),也就是說防火墻技術(shù)可允許有訪問權(quán)限的資源通過,拒絕其他沒有權(quán)限的通信數(shù)據(jù),在調(diào)用過濾器時,會被調(diào)到內(nèi)核當(dāng)中實現(xiàn)執(zhí)行,而在服務(wù)停止時,會從內(nèi)核中將過濾規(guī)則消除,內(nèi)核當(dāng)中所有分組過濾功能運行均在堆棧深層中。同時,還有代理服務(wù)型防火墻,其特點是將內(nèi)網(wǎng)與外網(wǎng)之間的直接通信進行徹底隔離,內(nèi)網(wǎng)對外網(wǎng)的訪問轉(zhuǎn)變?yōu)榇矸阑饓ν饩W(wǎng)的訪問,之后再轉(zhuǎn)發(fā)給內(nèi)網(wǎng)。代理服務(wù)器在發(fā)現(xiàn)被攻擊跡象的時候,會保留攻擊痕跡,及時向網(wǎng)絡(luò)管理員進行示警。

  入侵檢測系統(tǒng)

  入侵檢測系統(tǒng)是近些年興起的網(wǎng)絡(luò)安全技術(shù)。該技術(shù)屬于一種動態(tài)安全技術(shù),通過對入侵行為特點與入侵過程進行研究,安全系統(tǒng)即刻做出實時響應(yīng),在攻擊者尚未完成的情況下逐步進行攔截與防護。入侵檢測系統(tǒng)也屬于網(wǎng)絡(luò)安全問題研究中的重要內(nèi)容,借助該技術(shù)可實現(xiàn)邏輯補償防火墻技術(shù),可以實時阻止內(nèi)部入侵、誤操作以及外部入侵,還具有實時報警功能,更是為網(wǎng)絡(luò)安全防護增添了一道保護網(wǎng)。入侵檢測技術(shù)有智能化入侵檢測、全面安全防御方案與分布式入侵檢測三個發(fā)展方面。

  訪問控制策略

  訪問控制是保護與防范網(wǎng)絡(luò)安全的主要策略。由于每一個系統(tǒng)要訪問用戶是要有訪問權(quán)限的,只有擁有訪問權(quán)限才能允許訪問,這樣的機制就被稱為訪問控制。這一安全防范策略并不是通過直接抵御入侵行為來實現(xiàn)的,但是,是實際應(yīng)用的網(wǎng)絡(luò)防護的重要策略,也是用戶迫切需要的。其主要包括兩個方面的功能,一個是對外部訪問進行合法性檢查,這種功能和防火墻相類似,另一個是對從內(nèi)到外的訪問進行一些目標(biāo)站點檢查,封鎖非法站點,在服務(wù)器上,可以對那些用戶進行訪問服務(wù)限制。

  時效性研究

  TCP/IP傳輸協(xié)議的時效性是指,傳輸?shù)男畔⒃谝欢ǖ氖褂们榫、時間范圍內(nèi),數(shù)據(jù)信息對使用者是有價值的。更宏觀的來說,信息的時效性還包括數(shù)據(jù)信息在傳輸后引起接受者的興趣和對社會產(chǎn)生的影響。但隨著時間的推移,數(shù)據(jù)信息的被利用價值就會越來越小。也就是說,針對同一事物的相關(guān)數(shù)據(jù)信息在不同的時間段里有著或大或小的價值差異,這種差異我們叫作數(shù)據(jù)信息的時效性。TCP/IP傳輸協(xié)議下的數(shù)據(jù)信息傳輸,克服了傳統(tǒng)信息傳輸方式的滯后、拖延、效率低下的問題。TCP/IP傳輸協(xié)議往往能及時地將有效信息傳輸給信息需要者,這就能實現(xiàn)數(shù)據(jù)信息的價值最大化,保證數(shù)據(jù)信息的時效性。

  數(shù)據(jù)的時新性

  隨著現(xiàn)代社會的高速運轉(zhuǎn),人們接收的數(shù)據(jù)信息數(shù)量呈爆炸式增長,但數(shù)據(jù)信息的質(zhì)量則是參差不齊。所以,人們對于接收到的信息往往會隨著時間的流逝便拋之腦后。一般性的事件信息在很短的時間內(nèi)就可能失去時效。所以說,具有時效性的數(shù)據(jù)信息一定有著時新性特點,能夠與時俱進。而計算機網(wǎng)絡(luò)中的TCP/IP傳輸協(xié)議的時效性則恰好具有時新性特點。它能利用高速運轉(zhuǎn)的網(wǎng)絡(luò)技術(shù),及時捕捉科學(xué)有效的數(shù)據(jù)信息。并且能隨著時間的變化,自動淘汰過時的無用信息,做到與時俱進。

  數(shù)據(jù)的靈活性

  數(shù)據(jù)在傳輸之后,它最終是要滿足使用者的需要。計算機網(wǎng)絡(luò)中的TCP/IP傳輸協(xié)議除了能保障數(shù)據(jù)信息的時新性,還能根據(jù)使用者的不同需求,提供與實際相符的數(shù)據(jù)信息,具有充分的靈活性和可擴展性。

  數(shù)據(jù)的安全準(zhǔn)確性

  數(shù)據(jù)信息在傳輸過程中會一般會受傳輸者、接收者、傳輸渠道以及外部環(huán)境的影響。這些因素會不同程度上影響數(shù)據(jù)信息輸送的及時性。例如由于傳輸者自身的計算機專業(yè)能力的水平有限,沒有認識到信息傳輸?shù)闹匾,對?shù)據(jù)的收集不夠完整和有效,或者是采用了錯誤的傳輸方式,都會影響信息傳輸?shù)臅r效性。而計算機網(wǎng)絡(luò)中的TCP/IP傳輸協(xié)議的數(shù)據(jù)傳輸,不僅能處理好復(fù)雜的信息結(jié)構(gòu),繁多的數(shù)據(jù)信息,還能維護數(shù)據(jù)信息的安全,確保數(shù)據(jù)信息的科學(xué)準(zhǔn)確性。

  數(shù)據(jù)傳輸過程的流暢性

  為了滿足當(dāng)今社會對數(shù)據(jù)信息的需求,計算機網(wǎng)絡(luò)中的TCP/IP傳輸協(xié)議在對傳統(tǒng)的數(shù)據(jù)傳輸過程進行了改善,使得網(wǎng)絡(luò)信息的傳輸具備時效性特點,更加快速便捷;谟嬎銠C網(wǎng)絡(luò)的TCP/IP協(xié)議,數(shù)據(jù)傳輸流程主要是建立TCP/IP連接、數(shù)據(jù)發(fā)送、數(shù)據(jù)接收這三個主要環(huán)節(jié)。這三個環(huán)節(jié)的無縫連接使得數(shù)據(jù)信息實現(xiàn)了實時性傳輸。在TCP/IP傳輸協(xié)議的通信中,為保證數(shù)據(jù)信息到達目的地址,數(shù)據(jù)的發(fā)送端口和數(shù)據(jù)的接受端口需要向雙方發(fā)送信息以確認是否能夠建立通信連接。建立TCP/IP連接站口是數(shù)據(jù)信息傳輸?shù)那疤釛l件。在建立了TCP/IP連接站口后,就可以進行數(shù)據(jù)信息的發(fā)送。數(shù)據(jù)信息首先進入發(fā)送緩沖區(qū)傳輸層,然后一層一層進行傳輸。在發(fā)送的過程中,傳輸層協(xié)議會對數(shù)據(jù)信息進行相應(yīng)地封裝,以便實現(xiàn)完整準(zhǔn)確的傳輸。數(shù)據(jù)信息的接收主要就是接收計算機發(fā)送的數(shù)據(jù)傳輸電路板的控制命令。目的主機在接收到數(shù)據(jù)信息包后,首先會進行識別,確定該數(shù)據(jù)包的有效載體是IP、ARP還RARP,然后進行相應(yīng)地數(shù)據(jù)解封處理。最后將數(shù)據(jù)信息發(fā)送到需要的應(yīng)用程序。數(shù)據(jù)信息傳輸?shù)倪^程中三個環(huán)節(jié)環(huán)環(huán)相扣,實現(xiàn)了基于計算機網(wǎng)絡(luò)TCP/IP傳輸協(xié)議的時效性。

  傳輸技術(shù)的先進易用性

  能夠?qū)崿F(xiàn)實時性的信息傳輸,最主要的是離不開網(wǎng)絡(luò)技術(shù)的支持。TCP/IP傳輸協(xié)議能夠保證數(shù)據(jù)信息及時傳輸,它采用的技術(shù)具有先進性,并且容易理解和使用。計算機網(wǎng)絡(luò)中TCP/IP傳輸協(xié)議主要采用的是先進的數(shù)據(jù)壓縮技術(shù)。數(shù)據(jù)壓縮就是文本編碼的過程,以便將相同的數(shù)據(jù)信儲存在更少的字節(jié)空間。文本占用空間減少、傳輸速度加快。數(shù)據(jù)壓縮技術(shù)允許以最快的操作速度進行實時編碼。

  缺陷

  像OSl模型一樣,TCP/IP模型和協(xié)議也有自己的問題。

  (1)該模型沒有明顯地區(qū)分服務(wù)、接口和協(xié)議的概念。因此,對于使用新技術(shù)來設(shè)計新網(wǎng)絡(luò),TCP/IP模型不是一個太好的模板。

  (2)TCP/IP模型完全不是通用的,并且不適合描述除TCP/IP模型之外的任何協(xié)議棧。

 。3)鏈路層并不是通常意義上的一層。它是一個接口,處于網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層之間。接口和層間的區(qū)別是很重要的。

 。4)TCP/IP模型不區(qū)分物理層和數(shù)據(jù)鏈路層。這兩層完全不同,物理層必須處理銅纜、光纖和無線通信的傳輸特征;而數(shù)據(jù)鏈路層的工作是確定幀的開始和結(jié)束,并且按照所需的可靠程度把幀從一端發(fā)送到另一端。

【TCP/IP協(xié)議是什么】相關(guān)文章:

TCP/IP三次握手四次揮手過程08-16

網(wǎng)絡(luò)技術(shù)IP地址計算習(xí)題附答案07-15

茶盞是什么04-26

少兒聲樂是什么03-16

CPU主頻是什么07-13

php是什么格式?01-14

熱力瑜伽是什么05-18

游學(xué)的意義是什么07-21

EHS是什么意思?06-17