複製鏈接
請複製以下鏈接發送給好友

TCP/IP協議

鎖定
TCP/IP(Transmission Control Protocol/Internet Protocol,傳輸控制協議/網際協議)是指能夠在多個不同網絡間實現信息傳輸的協議簇。TCP/IP協議不僅僅指的是TCPIP兩個協議,而是指一個由FTPSMTP、TCP、UDP、IP等協議構成的協議簇, 只是因為在TCP/IP協議中TCP協議和IP協議最具代表性,所以被稱為TCP/IP協議。 [1] 
中文名
傳輸控制協議/互聯協議
外文名
Transmission Control Protocol/Internet Protocol
簡    稱
TCP/IP協議
層級結構
4層
所屬領域
計算機技術

TCP/IP協議簡介

TCP/IP傳輸協議,即傳輸控制/網絡協議,也叫作網絡通訊協議。它是在網絡的使用中的最基本的通信協議。TCP/IP傳輸協議對互聯網中各部分進行通信的標準和方法進行了規定。並且,TCP/IP傳輸協議是保證網絡數據信息及時、完整傳輸的兩個重要的協議。TCP/IP傳輸協議是嚴格來説是一個四層的體系結構,應用層、傳輸層、網絡層和數據鏈路層都包含其中。 [2] 
TCP/IP協議是Internet最基本的協議,其中應用層的主要協議有TelnetFTPSMTP等,是用來接收來自傳輸層的數據或者按不同應用要求與方式將數據傳輸至傳輸層;傳輸層的主要協議有UDP、TCP,是使用者使用平台和計算機信息網內部數據結合的通道,可以實現數據傳輸與數據共享;網絡層的主要協議有ICMP、IP、IGMP,主要負責網絡中數據包的傳送等;而網絡訪問層,也叫網絡接口層或數據鏈路層,主要協議有ARP、RARP,主要功能是提供鏈路管理錯誤檢測、對不同通信媒介有關信息細節問題進行有效處理等。 [3] 

TCP/IP協議歷史

TCP/IP協議產生背景

Internet網絡的前身ARPANET當時使用的並不是傳輸控制協議/網際協議(Transmission Control Protocol/Internet Protocol,TCP/IP),而是一種叫網絡控制協議(Network Control Protocol,NCP)的網絡協議,但隨着網絡的發展和用户對網絡的需求不斷提高,設計者們發現,NCP協議存在着很多的缺點以至於不能充分支持ARPANET網絡,特別是NCP僅能用於同構環境中(所謂同構環境是網絡上的所有計算機都運行相同的操作系統),設計者就認為“同構”這一限制不應被加到一個分佈廣泛的網絡上。1980年,用於“異構”網絡環境中的TCP/IP協議研製成功,也就是説,TCP/IP協議可以在各種硬件和操作系統上實現互操作。1982年,ARPANET開始採用TCP/IP協議。

TCP/IP協議產生過程

(1)1973年,卡恩與瑟夫開發出了TCP/IP協議中最核心的兩個協議:TCP協議和IP協議。 [1] 
(2)1974年12月,卡恩與瑟夫正式發表了TCP/IP協議並對其進行了詳細的説明。同時,為了驗證TCP/IP協議的可用性,使一個數據包由一端發出,在經過近10萬km的旅程後到達服務端。在這次傳輸中,數據包沒有丟失一個字節,這充分説明了TCP/IP協議的成功。 [1] 
(3)1983年元旦,TCP/IP協議正式替代NCP,從此以後TCP/IP成為大部分因特網共同遵守的一種網絡規則。 [1] 
(4)1984年,TCP/IP協議得到美國國防部的肯定,成為多數計算機共同遵守的一個標準。 [1] 
(5)2005年9月9日卡恩和瑟夫由於他們對於美國文化做出的卓越貢獻被授予總統自由勳章。 [1] 

TCP/IP協議TCP/IP協議的組成

TCP/IP協議在一定程度上參考了OSI的體系結構。OSI模型共有七層,從下到上分別是物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層。但是這顯然是有些複雜的,所以在TCP/IP協議中,它們被簡化為了四個層次。 [1] 
(1)應用層、表示層、會話層三個層次提供的服務相差不是很大,所以在TCP/IP協議中,它們被合併為應用層一個層次。 [1] 
(2)由於傳輸層和網絡層在網絡協議中的地位十分重要,所以在TCP/IP協議中它們被作為獨立的兩個層次。 [1] 
(3)因為數據鏈路層和物理層的內容相差不多,所以在TCP/IP協議中它們被歸併在網絡接口層一個層次裏。只有四層體系結構的TCP/IP協議,與有七層體系結構的OSI相比要簡單了不少,也正是這樣,TCP/IP協議在實際的應用中效率更高,成本更低。 [1] 
分別介紹TCP/IP協議中的四個層次。
應用層:應用層是TCP/IP協議的第一層,是直接為應用進程提供服務的。
(1)對不同種類的應用程序它們會根據自己的需要來使用應用層的不同協議,郵件傳輸應用使用了SMTP協議、萬維網應用使用了HTTP協議、遠程登錄服務應用使用了有TELNET協議。 [1] 
(2)應用層還能加密、解密、格式化數據。 [1] 
(3)應用層可以建立或解除與其他節點的聯繫,這樣可以充分節省網絡資源。 [1] 
傳輸層:作為TCP/IP協議的第二層,傳輸層在整個TCP/IP協議中起到了中流砥柱的作用。且在傳輸層中,TCP和UDP也同樣起到了中流砥柱的作用。 [1] 
網絡層:網絡層在TCP/IP協議中的位於第三層。在TCP/IP協議中網絡層可以進行網絡連接的建立和終止以及IP地址的尋找等功能。 [1] 
網絡接口層:在TCP/IP協議中,網絡接口層位於第四層。由於網絡接口層兼併了物理層數據鏈路層所以,網絡接口層既是傳輸數據的物理媒介,也可以為網絡層提供一條準確無誤的線路。 [1] 

TCP/IP協議特點

TCP/IP協議能夠迅速發展起來併成為事實上的標準,是它恰好適應了世界範圍內數據通信的需要。它有以下特點:
(1)協議標準是完全開放的,可以供用户免費使用,並且獨立於特定的計算機硬件與操作系統
(2)獨立於網絡硬件系統,可以運行在廣域網,更適合於互聯網
(3)網絡地址統一分配,網絡中每一設備和終端都具有一個唯一地址。
(4)高層協議標準化,可以提供多種多樣可靠網絡服務。

TCP/IP協議通信過程及相關協議

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

TCP/IP協議鏈路層

以太網協議規定,接入網絡的設備都必須安裝網絡適配器,即網卡,數據包必須是從一塊網卡傳送到另一塊網卡。而網卡地址就是數據包的發送地址和接收地址,有了MAC地址以後,以太網採用廣播形式,把數據包發給該子網內所有主機,子網內每台主機在接收到這個包以後,都會讀取首部裏的目標MAC地址,然後和自己的MAC地址進行對比,如果相同就做下一步處理,如果不同,就丟棄這個包。 [4] 
所以鏈路層的主要工作就是對電信號進行分組並形成具有特定意義的數據幀,然後以廣播的形式通過物理介質發送給接收方。 [4] 

TCP/IP協議網絡層

IP協議
網絡層引入了IP協議,制定了一套新地址,使得我們能夠區分兩台主機是否同屬一個網絡,這套地址就是網絡地址,也就是所謂的IP地址。IP協議將這個32位的地址分為兩部分,前面部分代表網絡地址,後面部分表示該主機在局域網中的地址。如果兩個IP地址在同一個子網內,則網絡地址一定相同。為了判斷IP地址中的網絡地址,IP協議還引入了子網掩碼,IP地址和子網掩碼通過按位與運算後就可以得到網絡地址。 [4] 
ARP協議
即地址解析協議,是根據IP地址獲取MAC地址的一個網絡層協議。其工作原理如下:ARP首先會發起一個請求數據包,數據包的首部包含了目標主機的IP地址,然後這個數據包會在鏈路層進行再次包裝,生成以太網數據包,最終由以太網廣播給子網內的所有主機,每一台主機都會接收到這個數據包,並取出包頭裏的IP地址,然後和自己的IP地址進行比較,如果相同就返回自己的MAC地址,如果不同就丟棄該數據包。ARP接收返回消息,以此確定目標機的MAC地址;與此同時,ARP還會將返回的MAC地址與對應的IP地址存入本機ARP緩存中並保留一定時間,下次請求時直接查詢ARP緩存以節約資源。 [4] 
路由協議
首先通過IP協議來判斷兩台主機是否在同一個子網中,如果在同一個子網,就通過ARP協議查詢對應的MAC地址,然後以廣播的形式向該子網內的主機發送數據包;如果不在同一個子網,以太網會將該數據包轉發給本子網的網關進行路由。網關互聯網上子網與子網之間的橋樑,所以網關會進行多次轉發,最終將該數據包轉發到目標IP所在的子網中,然後再通過ARP獲取目標機MAC,最終也是通過廣播形式將數據包發送給接收方。而完成這個路由協議的物理設備就是路由器,路由器扮演着交通樞紐的角色,它會根據信道情況,選擇並設定路由,以最佳路徑來轉發數據包。 [4] 
所以,網絡層的主要工作是定義網絡地址、區分網段、子網內MAC尋址、對於不同子網的數據包進行路由。 [4] 

TCP/IP協議傳輸層

鏈路層定義了主機的身份,即MAC地址,而網絡層定義了IP地址,明確了主機所在的網段,有了這兩個地址,數據包就可以從一個主機發送到另一台主機。但實際上數據包是從一個主機的某個應用程序發出,然後由對方主機的應用程序接收。而每台電腦都有可能同時運行着很多個應用程序,所以當數據包被髮送到主機上以後,是無法確定哪個應用程序要接收這個包。因此傳輸層引入了UDP協議來解決這個問題,為了給每個應用程序標識身份。
UDP協議
UDP協議定義了端口,同一個主機上的每個應用程序都需要指定唯一的端口號,並且規定網絡中傳輸的數據包必須加上端口信息,當數據包到達主機以後,就可以根據端口號找到對應的應用程序了。UDP協議比較簡單,實現容易,但它沒有確認機制,數據包一旦發出,無法知道對方是否收到,因此可靠性較差,為了解決這個問題,提高網絡可靠性,TCP協議就誕生了。
TCP協議
TCP即傳輸控制協議,是一種面向連接的、可靠的、基於字節流的通信協議。簡單來説TCP就是有確認機制的UDP協議,每發出一個數據包都要求確認,如果有一個數據包丟失,就收不到確認,發送方就必須重發這個數據包。為了保證傳輸的可靠性,TCP協議在UDP基礎之上建立了三次對話的確認機制,即在正式收發數據前,必須和對方建立可靠的連接。TCP數據包和UDP一樣,都是由首部和數據兩部分組成,唯一不同的是,TCP數據包沒有長度限制,理論上可以無限長,但是為了保證網絡的效率,通常TCP數據包的長度不會超過IP數據包的長度,以確保單個TCP數據包不必再分割。 [4] 
傳輸層的主要工作是定義端口,標識應用程序身份,實現端口到端口的通信,TCP協議可以保證數據傳輸的可靠性。 [4] 

TCP/IP協議應用層

理論上講,有了以上三層協議的支持,數據已經可以從一個主機上的應用程序傳輸到另一台主機的應用程序了,但此時傳過來的數據是字節流,不能很好的被程序識別,操作性差,因此,應用層定義了各種各樣的協議來規範數據格式,常見的有http,ftp,smtp等,在請求Header中,分別定義了請求數據格式Accept和響應數據格式Content-Type,有了這個規範以後,當對方接收到請求以後就知道該用什麼格式來解析,然後對請求進行處理,最後按照請求方要求的格式將數據返回,請求端接收到響應後,就按照規定的格式進行解讀。 [4] 
所以應用層的主要工作就是定義數據格式並按照對應的格式解讀數據。 [4] 

TCP/IP協議安全隱患

TCP/IP協議鏈路層上的攻擊

在TCP/IP網絡中,鏈路層這一層次的複雜程度是最高的。其中最常見的攻擊方式通常是網絡嗅探組成的TCP/IP協議的以太網。當前,我國應用較為廣泛的局域網是以太網,且其共享信道利用率非常高。以太網卡有兩種主要的工作方式,一種是一般工作方式,另一種是較特殊的混雜方式。這一情況下,很可能由於被攻擊的原因而造成信息丟失情況,且攻擊者可以通過數據分析來獲取賬户、密碼等多方面的關鍵數據信息。 [3] 

TCP/IP協議網絡層上的攻擊

ARP欺騙
ARP(地址解析協議)是根據IP地址獲取物理地址的一個TCP/IP協議。通常情況下,在IP數據包發送過程中會存在一個子網或者多個子網主機利用網絡級別第一層,而ARP則充當源主機第一個查詢工具,在未找到IP地址相對應的物理地址時,將主機和IP地址相關的物理地址信息發送給主機。與此同時,源主機將包括自身IP地址和ARP檢測的應答發送給目的主機。如果ARP識別鏈接錯誤,這樣的話ARP直接應用可疑信息,那麼可疑信息就會很容易進入目標主機當中。ARP協議沒有狀態,不管有沒有收到請求,主機會將任何受到的ARP相應自動緩存。如果信息中帶有病毒,採用ARP欺騙就會導致網絡信息安全泄露。因此,在ARP識別環節,應加大保護,建立更多的識別關卡,不能只簡單通過IP名進行識別,還需充分參考IP相關性質等。 [3] 
ICMP欺騙
ICMP協議也是因特網控制報文協議,主要用在主機與路由器之間進行控制信息傳遞。通過這一協議可對網絡是否通暢、主機是否可達、路由是否可用等信息進行控制。一旦出現差錯,數據包會利用主機進行即時發送,並自動返回描述錯誤的信息。該協議在網絡安全當中是十分重要的協議。但由於自身特點的原因,其極易受到入侵,通常而言,目標主機在長期發送大量ICMP數據包的情況下,會造成目標主機佔用大量CPU資源,最終造成系統癱瘓。 [3] 

TCP/IP協議傳輸層上的攻擊

在傳輸層還存在網絡安全問題。如在網絡安全領域中,IP欺騙就是隱藏自己的有效手段,主要是通過將自身IP地址進行偽造,並向目標主機發送惡意的請求,攻擊主機,而主機卻因為IP地址被隱藏而無法準確確認攻擊源。或者通過獲取目標主機信任而趁機竊取相關的機密信息。在DOS攻擊中往往會使用IP欺騙,這是因為數據包地址來源較廣泛,無法進行有效過濾,從而使IP基本防禦的有效性大幅度下降。此外,在ICMP傳輸通道,由於ICMP是IP層的組成部分之一,在IP軟件中任何端口向ICMP發送一個PING文件,藉此用作申請,申請文件傳輸是否被允許,而ICMP會做出應答,這一命令可檢測消息的合法性。所有申請傳輸的數據基本上傳輸層都會同意,造成這一情況的原因主要是PING軟件編程無法智能識別出惡意信息,一般網絡安全防護系統與防火牆會自動默認PING存在,從而忽視其可能帶來的安全風險。 [3] 

TCP/IP協議應用層上的攻擊

對於因特網而言,IP地址與域名均是一一對應的,這兩者之間的轉換工作,被稱為域名解析。而DNS就是域名解析的服務器。DNS欺騙指的是攻擊方冒充域名服務器的行為,使用DNS欺騙能將錯誤DNS信息提供給目標主機。所以説,通過DNS欺騙可誤導用户進入非法服務器,讓用户相信詐騙IP。另外,PTP網絡上接口接受到不屬於主機的數據,這也是應用層存在的安全問題,一些木馬病毒可趁機入侵,造成數據泄露,從而引發網絡安全問題。 [3] 

TCP/IP協議安全策略

TCP/IP協議防火牆技術

防火牆技術的核心是在不安全網絡環境中去構建相對安全的子網環境,以保證內部網絡安全。可以將其想成為一個阻止輸入、允許輸入的開關,也就是説防火牆技術可允許有訪問權限的資源通過,拒絕其他沒有權限的通信數據,在調用過濾器時,會被調到內核當中實現執行,而在服務停止時,會從內核中將過濾規則消除,內核當中所有分組過濾功能運行均在堆棧深層中。同時,還有代理服務型防火牆,其特點是將內網與外網之間的直接通信進行徹底隔離,內網對外網的訪問轉變為代理防火牆對外網的訪問,之後再轉發給內網。代理服務器在發現被攻擊跡象的時候,會保留攻擊痕跡,及時向網絡管理員進行示警。 [3] 

TCP/IP協議入侵檢測系統

入侵檢測系統是近些年興起的網絡安全技術。該技術屬於一種動態安全技術,通過對入侵行為特點與入侵過程進行研究,安全系統即刻做出實時響應,在攻擊者尚未完成的情況下逐步進行攔截與防護。入侵檢測系統也屬於網絡安全問題研究中的重要內容,藉助該技術可實現邏輯補償防火牆技術,可以實時阻止內部入侵、誤操作以及外部入侵,還具有實時報警功能,更是為網絡安全防護增添了一道保護網。入侵檢測技術有智能化入侵檢測、全面安全防禦方案與分佈式入侵檢測三個發展方面。 [3] 

TCP/IP協議訪問控制策略

訪問控制是保護與防範網絡安全的主要策略。由於每一個系統要訪問用户是要有訪問權限的,只有擁有訪問權限才能允許訪問,這樣的機制就被稱為訪問控制。這一安全防範策略並不是通過直接抵禦入侵行為來實現的,但是,是實際應用的網絡防護的重要策略,也是用户迫切需要的。其主要包括兩個方面的功能,一個是對外部訪問進行合法性檢查,這種功能和防火牆相類似,另一個是對從內到外的訪問進行一些目標站點檢查,封鎖非法站點,在服務器上,可以對那些用户進行訪問服務限制。 [3] 

TCP/IP協議時效性研究

TCP/IP傳輸協議的時效性是指,傳輸的信息在一定的使用情景、時間範圍內,數據信息對使用者是有價值的。更宏觀的來説,信息的時效性還包括數據信息在傳輸後引起接受者的興趣和對社會產生的影響。但隨着時間的推移,數據信息的被利用價值就會越來越小。也就是説,針對同一事物的相關數據信息在不同的時間段裏有着或大或小的價值差異,這種差異我們叫作數據信息的時效性。TCP/IP傳輸協議下的數據信息傳輸,克服了傳統信息傳輸方式的滯後、拖延、效率低下的問題。TCP/IP傳輸協議往往能及時地將有效信息傳輸給信息需要者,這就能實現數據信息的價值最大化,保證數據信息的時效性。 [2] 

TCP/IP協議數據的時新性

隨着現代社會的高速運轉,人們接收的數據信息數量呈爆炸式增長,但數據信息的質量則是參差不齊。所以,人們對於接收到的信息往往會隨着時間的流逝便拋之腦後。一般性的事件信息在很短的時間內就可能失去時效。所以説,具有時效性的數據信息一定有着時新性特點,能夠與時俱進。而計算機網絡中的TCP/IP傳輸協議的時效性則恰好具有時新性特點。它能利用高速運轉的網絡技術,及時捕捉科學有效的數據信息。並且能隨着時間的變化,自動淘汰過時的無用信息,做到與時俱進。 [2] 

TCP/IP協議數據的靈活性

數據在傳輸之後,它最終是要滿足使用者的需要。計算機網絡中的TCP/IP傳輸協議除了能保障數據信息的時新性,還能根據使用者的不同需求,提供與實際相符的數據信息,具有充分的靈活性和可擴展性。 [2] 

TCP/IP協議數據的安全準確性

數據信息在傳輸過程中會一般會受傳輸者、接收者、傳輸渠道以及外部環境的影響。這些因素會不同程度上影響數據信息輸送的及時性。例如由於傳輸者自身的計算機專業能力的水平有限,沒有認識到信息傳輸的重要性,對數據的收集不夠完整和有效,或者是採用了錯誤的傳輸方式,都會影響信息傳輸的時效性。而計算機網絡中的TCP/IP傳輸協議的數據傳輸,不僅能處理好複雜的信息結構,繁多的數據信息,還能維護數據信息的安全,確保數據信息的科學準確性。 [2] 

TCP/IP協議數據傳輸過程的流暢性

為了滿足當今社會對數據信息的需求,計算機網絡中的TCP/IP傳輸協議在對傳統的數據傳輸過程進行了改善,使得網絡信息的傳輸具備時效性特點,更加快速便捷。基於計算機網絡的TCP/IP協議,數據傳輸流程主要是建立TCP/IP連接、數據發送、數據接收這三個主要環節。這三個環節的無縫連接使得數據信息實現了實時性傳輸。在TCP/IP傳輸協議的通信中,為保證數據信息到達目的地址,數據的發送端口和數據的接受端口需要向雙方發送信息以確認是否能夠建立通信連接。建立TCP/IP連接站口是數據信息傳輸的前提條件。在建立了TCP/IP連接站口後,就可以進行數據信息的發送。數據信息首先進入發送緩衝區傳輸層,然後一層一層進行傳輸。在發送的過程中,傳輸層協議會對數據信息進行相應地封裝,以便實現完整準確的傳輸。數據信息的接收主要就是接收計算機發送的數據傳輸電路板的控制命令。目的主機在接收到數據信息包後,首先會進行識別,確定該數據包的有效載體是IP、ARP還RARP,然後進行相應地數據解封處理。最後將數據信息發送到需要的應用程序。數據信息傳輸的過程中三個環節環環相扣,實現了基於計算機網絡TCP/IP傳輸協議的時效性。 [2] 

TCP/IP協議傳輸技術的先進易用性

能夠實現實時性的信息傳輸,最主要的是離不開網絡技術的支持。TCP/IP傳輸協議能夠保證數據信息及時傳輸,它採用的技術具有先進性,並且容易理解和使用。計算機網絡中TCP/IP傳輸協議主要採用的是先進的數據壓縮技術。數據壓縮就是文本編碼的過程,以便將相同的數據信儲存在更少的字節空間。文本佔用空間減少、傳輸速度加快。數據壓縮技術允許以最快的操作速度進行實時編碼。 [2] 

TCP/IP協議缺陷

像OSl模型一樣,TCP/IP模型和協議也有自己的問題。
(1)該模型沒有明顯地區分服務、接口和協議的概念。因此,對於使用新技術來設計新網絡,TCP/IP模型不是一個太好的模板。 [5] 
(2)TCP/IP模型完全不是通用的,並且不適合描述除TCP/IP模型之外的任何協議棧 [5] 
(3)鏈路層並不是通常意義上的一層。它是一個接口,處於網絡層和數據鏈路層之間。接口和層間的區別是很重要的。 [5] 
(4)TCP/IP模型不區分物理層和數據鏈路層。這兩層完全不同,物理層必須處理銅纜、光纖和無線通信的傳輸特徵;而數據鏈路層的工作是確定幀的開始和結束,並且按照所需的可靠程度把幀從一端發送到另一端。 [5] 
參考資料