tcp/ip協議

TCP/IP協議,TCP/IP協議內容和做用是什麼?

2010年03月19日 13:55  www.elecfans.co 做者:佚名 用戶評論(0)

TCP/IP協議,TCP/IP協議內容和做用是什麼?php

TCP/IP是一組協議的代名詞,它還包括許多別的協議,組成了TCP/IP協議簇。通常來講,TCP/IP提供運輸層服務,而IP提供網絡層服務。TCP/IP的體系結構與ISO的OSI層參考模型的對應關係如圖1所示。html

在TCP/IP層次模型中,第二層爲TCP/IP的實現基礎,其中可包含MENETIEEF802.3的CSMA/CD、IEEEJ802.4的Token Bus以及EEE802.5的Token Ring。swift

在第三層網絡層中,IP爲網際協議(Internet Pmtocol)、ICMP爲網際控制報文協議.(Internet Control Message Protocol)、ARP爲地址轉換協議(Address Resolution Protocol)RARP爲反向地址轉換協議(Reverse ARP)。緩存

image:bk064256w-1.jpg

第四層爲運輸層,TCP/IP爲傳輸控制協議、UDP爲用戶數據報協議(User Datagram Pro-toed)。服務器

第五~七層中,SlMTP爲簡單郵件傳送協議(Simple Mail Transfer Protocol)、DNS爲域名服務(Domain Name Service)、FTP爲文件傳輸協議(File Transfer Protocol)、爲遠程終端訪問協議。網絡

TCP/IP協議自己的分層模型如圖3.21所示。如下各節側重從體系結構的角度分層介紹TCP/IP的協議組。分佈式

image:bk064256w-2.jpg

TCP/IP協議,TCP/IP協議內容和做用是什麼?
數據鏈路層 
數據鏈路層不是TCP/IP協議的一部分,但它是TCP/IP賴以存在的各類通訊網和TCP/IP之間的接口,這些通訊網包括多種廣域網,如ARPANET、MILNET和X.25公用數據網,以及各類局域網,如Ethernet、IEEE的各類標準局域網等。IP層提供了專門的功能,解決與各類網絡物理地址的轉換。
測試

通常狀況下,各物理網絡可使用本身的數據鏈路層協議和物理層協議,不須要在數據鏈路層上設置專門的TCPAP協議。可是,當使用串行線路鏈接主機與網絡,或鏈接網絡與網絡時,例如用戶使用電話線和MODEM接入網絡,或兩個相距較遠的網絡經過數據專線互連時,則須要在數據鏈路層運行專門的SLIP (Serial Line IP)協議或PPP(Point to Pointprotoed)協議。編碼

1.SLE協議spa

SLIP提供在串行通訊線路上封裝IP分組的簡單方法,用以使遠程用戶經過電話線和MODEM能方便地接人TCP/IP網絡。SLIP是一種簡單的組幀方式,使用時還存在一些問題。首先,SLIP不支持在鏈接過程當中的動態IP地址分配,通訊雙方必須事先告知對方IP地址,這給沒有固定IP地址的我的用戶上Internet網帶來了很大的不便;其次,SLIP幀中元協議類型字段,所以它只能支持IP協議;再有,SLIP幀中無校驗字段,所以鏈路層上沒法檢測出傳輸差錯,必須由上層實體或具備糾錯能力的MODEM來解決傳輸差錯問題。

2.PPP協議

爲了解決SLIP存在的問題,在串行通訊應用中又開發了PPP協議。PPP協議是一種有效的點一點通訊協議,它由串行通訊線路上的組幀方式,用於創建、配製、測試和拆除數據鏈路的鏈路控制協議LCP及一組用以支持不一樣網絡層協議的網絡控制協議NCPs三部分組成。

因爲PPP幀中設置了校驗字段,於是PPP在鏈路層上具備差錯檢測的功能。 PPP中的協議提供了通訊雙方進行參數協商的手段,而且提供了一組NCPs協議,使得PPP能夠支持多種網絡層協議,如IP、IPX、OSI等。另外,支持IP的NCP提供了在創建鏈接時動態分配IP地址的功能,解決了我的用戶上Internet網的問題。

 


TCP/IP的網絡層 
網絡層中含有四個重要的協議:互連網協議IP、互連網控制報文協議ICMP、地址轉換協議ARP和反向地址轉換協議RARR。

網絡層的功能主要由IP來提供。除了提供端到端的分組分發功能外,IP還提供了不少擴充功能。例如,爲了克服數據鏈路層對幀大小的限制,網絡層提供了數據分塊和重組功能,這使得很大的IP數據報能以較小的分組在網上傳輸。

網絡層的另外一個重要服務是在互相獨立的局域網上創建互連網絡,即網際網。網間的報文來往根據它的目的IP地址經過路由器傳到另外一網絡。

1.互連網協議IP(Internet Protocol)

網絡層最重要的協議是IP,它將多個網絡聯成一個互連網,能夠把高層的數據以多個數據報的形式經過互連網分發出去。

IP的基本任務是經過互連網傳送數據報,各個IP數據報之間是相互獨立的。主機上的IP層向運輸層提供服務。 IP從源運輸實體取得數據,經過它的數據鏈路層服務傳給目的主機的I層。IP不保證服務的可靠性,在主機資源不足的狀況下,它可能丟棄某些數據報,同時IP也不檢查被數據鏈路層丟棄的報文。

在傳送時,高層協議將數據傳給IP,IP再將數據封裝爲互連網數據報,並交給數據鏈路層協議經過局域網傳送。若目的主機直接連在本網中,IP可直接經過網絡將數據報傳給目的主機;若目的主機在遠地網絡中,則IP路由器傳送數據報,而路由器則依次經過下一網絡將數據報傳送到目的主機或再下一個路由器。也即一個IP數據報是經過互連網絡,從一個IP模塊傳到另外一個IP模塊,直到終點爲止。

須要鏈接獨立管理的網絡的路由器,能夠選擇它所需的任何協議,這樣的協議稱爲內部網間鏈接器協議IGP (Interior Geteway Pmtocol)。在IP環境中,一個獨立管理的系統稱爲自治系統。

跨越不一樣的理域的路由器(如從專用網到PDN)所使用的協議,稱爲外部網間鏈接器協議EGP(Exterior Gateway Protocol),EGP是一組簡單的定義完備的正式協議。

2.互連網控制報文協議ICMP

從IP互連網協議的功能,能夠知道IP提供的是一種不可靠的元鏈接報文分組傳送服務。若路由器或主機故障使網絡阻塞,就須要通知發送主機採起相應措施。

爲了使互連網能報告差錯,或提供有關意外狀況的信息,在IP層加入了一類特殊用途的報文機制,即互連網控制報文協議ICMP。

分組接收方利用ICMP來通知IP模塊發送方某些方面所需的修改。 ICMP一般是由發現別的站發來的報文有問題的站產生的,例如可由目的主機或中繼路由器來發現問題併產生有關的ICMP。若是一個分組不能傳送,ICMP即可以被用來警告分組源,說明有網絡、主機或端口不可達。ICMP在P也能夠用來報告網絡阻塞。ICMP是IP正式協議的一部分,ICMP數據報經過IP送出,所以它在功能上屬於網絡第三層,但實際上它是像第四層協議同樣被編碼的。

3.地址轉換協議ARP

在TCPAP網絡環境下,每一個主機都分配了一個32位的IP地址,這種互連網地址是在網際範圍標識主機的一種邏輯地址。爲了讓報文在物理網上傳送,必須知道彼此的物理地址。這樣就存在把互連網地址變換爲物理地址的地址轉換問題。以以太網(Ethernet)環境爲例,爲了正確地向目的站傳送報文,必須把目的站的32位IP地址轉換成48位以太網目的地址DAo這就須要在網絡層有一組服務將IP地址轉換爲相應物理網絡地址,這組協議便是成P。

在進行報文發送時,若是源網絡層所給的報文只有IP地址,而沒有對應的以太網地址,則網絡層廣播ARP請求以獲取目的站信息,而目的站必須回答該AP請求。這樣源站點能夠收到以太網48位地址,並將地址放入相應的高速緩存(Cache)。下一次源站點對同一目的站點的地址轉換可直接引用高速緩存中的地址內容。地址轉換協議ARP使主機能夠找出同一物理網絡中任一個物理主機的物理地址,只需給出目的主機的IP地址便可。這樣,網絡的物理編址能夠對網絡層服務透明。

在互聯網環境下,爲了將報文送到另外一個網絡的主機,數據報先定向發送到發送方所在網絡的IP路由器。所以,發送主機首先必須肯定路由器的物理地址,而後依次將數據報發往接收端。除基本AP機制外,有時還需在路由器上設置代理ARP,其目的是由IP路由器代替目的站對發送方ARP請求作出響應。

4.反向地址轉換協議RAPP

反向地址轉換協議用於一種特殊狀況,若是站點初始化之後,只有本身的物理網絡地址而沒有IP地址,則它能夠經過隊RP協議,發出廣播請求,徵求本身的IP地址,而RARP服務器則負責回答。這樣,無IP地址的站點能夠經過RARP協議取得本身的IP地址,這個地址在下一次系統從新開始之前都有效,不用連續廣播請求。RARP普遍用於獲取元盤工做站的IP地址。


TCP/IP的傳輸層 
TCP/IP這一層提供了兩個主要的協議:傳輸控制協議(冗P)和用戶數據報協議(UDP),另外還有一些別的協議,例如用於傳送數字化語音的NVP協議。

1.傳輸控制協議TCP

TCP提供的是一種可靠的數據流服務。當傳送受差錯干擾的數據,或基礎網絡故障,或網絡負荷過重而使網際基本傳輸系統(元鏈接報文遞交系統)不能正常工做時,就須要經過其它的協議來保證通訊的可靠。TCP就是這樣的協議,它對應於OSI模型的運輸層,它在IP協議的基礎上,提供端到端的面向鏈接的可靠傳輸。

TCP採用"帶重傳的確定確認"技術來實現傳輸的可靠性。簡單的"帶重傳的確定確認"是指與發送方通訊的接收者,每接收一次數據,就送回一個確認報文,發送者對每一個發出去的報文分組都留一份記錄,等到收到確認以後再發出下一個報文分組。發送者發出一個報文分組時,啓動一個計時器,若計時器計數完畢,確認還未到達,則發送者從新發送該報文分組。

簡單的確認重傳嚴重浪費帶寬,TCP還採用一種稱之爲"滑動窗口"的流量控制機制來提升網絡的吞吐量,窗口的範圍決定了發送方發送的但未被接收方確認的數據報的數量。每當接收方正確收到一則報文時,窗口便向前滑動,這種機制使網絡中未被確認的數據報數量增長,提升了網絡的吞吐量。

TCP通訊創建在面向鏈接的基礎上,實現了一種"虛電路"的概念。雙方通訊以前,/IP在先創建一條鏈接,而後雙方就能夠在其上發送數據流。這種數據交換方式能提升效率,但事先創建鏈接和過後拆除鏈接須要開銷。TCP鏈接的創建採用三次握手的過程,整個過程由發送方請求創建鏈接、接收方確認、發送方再發送一則關於確認的確認三個過程組成。

2.用戶數據報協議mp

用戶數據報協議是對IP協議組的擴充,它增長了一種機制,發送方使用這種機制能夠區分一臺計算機上的多個接收者。每一個UDP報文除了包含某用戶進程發送的數據外,還有報文目的端口的編號和報文源端口的編號,從而使UDP軟件能夠把報文遞送給正確的接收者,而後接收者要發出一個應答。因爲UDP的這種擴充,使得在兩個用戶進程之間遞送數據報成爲可能。

UDP是依靠IP協議來傳送報文的,於是它的服務和IP同樣是不可靠的。這種服務不用確認、不對報文排序、也不進行流量控制,UDP報文可能會出現丟失、重複、失序等現象。

TCP/IP的會話層至應用層 
TCP/IP的上三層與OSI參考模型有較大區別,也沒有很是明確的層次劃分。其中FTP、TELNET、SMTP DNS是幾個在各類不一樣機型上普遍實現的協議,TCP/IP中還定義了許多別的高層協議。

1.文件傳輸協議FTP

文件傳輸協議是網際提供的用於訪問遠程機器的一個協議,它使用戶能夠在本地機與遠程機之間進行有關文件的操做。 FTP工做時創建兩條TCP鏈接,一條用於傳送文件,另外一條用於傳送控制。FTP採用客戶/服務器模式,它包含客戶Frp和服務器FTP。客戶FTP啓動傳送過程,而服務器FTP對其作出應答。客戶FTP大多有一個交互式界面,使客戶能夠靈活地向遠地傳文件或從遠地取文件。

2.遠程終端訪問IELNET

TELNET的鏈接是一個TCP鏈接,用於傳送具備TELNET控制信息的數據。它提供了與終端設備或終端進程交互的標準方法,支持終端到終端的鏈接及進程到進程分佈式計算的通訊。

3.域名服務DNS

DNS是一個域名服務的協議,提供域名到IP地址的轉換,容許對域名資源進行分散管理。DNS最初設計的目的是使郵件發送方知道郵件接收主機及郵件發送主機的IP地址。

4.簡單郵件傳送協議SMTP

互連網標準中的電子郵件是一個簡單的基於文本的協議,用於可靠、有效的數據傳輸。MTP做爲應用層的服務,並不關心它下面採用的是何種傳輸服務,它可經過網絡在TCP鏈接上傳送郵件,或者簡單地在同一機器的進程之間經過進程通訊的通道來傳送郵件。這樣,郵件傳輸就獨立於傳輸子系統,可在TCP/IP環境、OSI運輸層或X.25協議環境中傳輸郵件。

郵件發送以前必須協商好發送者、接收者。SMTP服務進程贊成爲某個接收方發送郵件時,它將郵件直接交給接收方用戶或將郵件逐個通過網絡鏈接器,直到郵件交給接收方用戶。在郵件傳輸過程當中,所通過的路由被記錄下來。這樣,當郵件不能正常傳輸時可按原路由找到發送者。

在當前的UNIX版本中,已將TCP/IP協議融入其中,使之成爲UNIX操做系統的一個部分。DOS上也推出了相應的TCP/IP軟件產品。SUN公司則將TCP/IP普遍推向商務系統,它在全部的工做站系統中都預先安裝了ICP/IP網絡軟件及網絡硬件,使網絡和計算機成爲一體,同時也使TCP/IP網絡軟件及其客戶/服務器的工做方式爲廣大用戶所接受。

相關文章
相關標籤/搜索