TCP/IP協定(tcp/ip)

TCP/IP協定

tcp/ip一般指本詞條

TCP/IP(Transmission Control Protocol/Internet Protocol,傳輸控制協定/網際協定)是指能夠在多個不同網路間實現信息傳輸的協定簇。TCP/IP協定不僅僅指的是TCPIP兩個協定,而是指一個由FTPSMTP、TCP、UDP、IP等協定構成的協定簇, 只是因為在TCP/IP協定中TCP協定和IP協定最具代表性,所以被稱為TCP/IP協定。

基本介紹

  • 中文名:傳輸控制協定/互聯協定
  • 外文名:Transmission Control Protocol/Internet Protocol
  • 簡稱:TCP/IP協定
  • 層級結構:4層
  • 所屬領域:計算機技術
簡介,歷史,產生背景,產生過程,TCP/IP協定的組成,特點,通信過程及相關協定,鏈路層,網路層,傳輸層,套用層,安全隱患,鏈路層上的攻擊,網路層上的攻擊,傳輸層上的攻擊,套用層上的攻擊,安全策略,防火牆技術,入侵檢測系統,訪問控制策略,時效性研究,數據的時新性,數據的靈活性,數據的安全準確性,數據傳輸過程的流暢性,傳輸技術的先進易用性,缺陷,

簡介

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

歷史

產生背景

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協定。

產生過程

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

TCP/IP協定的組成

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

特點

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

通信過程及相關協定

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

鏈路層

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

網路層

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

傳輸層

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

套用層

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

安全隱患

鏈路層上的攻擊

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

網路層上的攻擊

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

傳輸層上的攻擊

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

套用層上的攻擊

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

安全策略

防火牆技術

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

入侵檢測系統

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

訪問控制策略

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

時效性研究

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

數據的時新性

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

數據的靈活性

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

數據的安全準確性

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

數據傳輸過程的流暢性

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

傳輸技術的先進易用性

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

缺陷

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

相關詞條

熱門詞條

聯絡我們