Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol

Transmission Control Protocol/Internet Protocol,中文名是傳輸控制協定,以允許,許多獨立的多廠商系統間通信為發展目標而簽訂的協定。

基本介紹

  • 中文名:傳輸控制協定
  • 外文名:Transmission Control Protocol
  • 發展目標:允許許多獨立的多廠商系統間通信
  • 優勢:具有很強的網路互聯能力
簡介,發展目標,

簡介

傳輸控制協定/Internet協定 Transmission Control Protocol/Internet Protocol

發展目標

傳輸控制協定/Internet協定(TCP/IP) TCP/IP協定組的發展目標是,允許在許多獨立的多廠商系統間進行通信。在1983年,TCP/IP成為國防部Internet的官方運輸機制,它融進了一個跨越全球的網際網路的系統。它具有很強的網路互聯能力,並且正在不斷地變得更加流行,這是因為它的開發是開放的,並且受到美國政府的支持。這種協定經過很好的測試,並具有很好的文檔。
注意:這裡引用的歷史信息來源於Vinton Cerf(他是TCP/IP協定組的顧問)和DanielC.Lynch(Interop公司的總裁和創始人)的報告。這些報告出現在Internet System Handbook(Greenwich,connecticut:AddisonWesley,1993)。
在六十年代末和七十年代初,網際網路開始以稱為ARPANET的廣域網形式漸現雛形。ARPANET是由美國國防部高級研究規劃局(DARPA)出資建設的。從1969年開始,它包括用實驗性的分組交換系統建立和連線的計算機。開始,這個系統採用了一種客戶機/伺服器關係,但後來決定採用主機對主機協定會好一些。這種協定稱為網路控制協定(NCP)。
到1972年,進行了一些驗試,其中,許多終端在不同的遠程鏈路上被連線到不同的主機上。隨著這種實驗的繼續,有一種不斷增加的需求,就是必須對許多不同類型計算機進行互聯的過程進行簡化。那時每個計算機廠商都使用不同的硬體和軟體來互聯它們的系統。它的目標就是開發一種互聯方式,使得能夠在不同類型的傳輸方式上(包括低速、高速和無線連線)支持不同類型的計算機。
傳輸控制協定(TCP)的開發始於1973年,由DARPA和Vinton Cerf進行,然後在史丹福大學進行。到1978年,它已經基本完成了,並在此之後被稱為傳輸控制協定/Internet協定(TCP/IP),這時因為需要將TCP協定分解成順序的、面向連線的協定(TCP)和一種高效的、端點對端點無連線協定(IP)。
在七十年代末的某個時候,有一種將TCP/IP協定組集成到開放式系統互聯(OSI)協定的努力,但是這個努力失敗了。DARPA已經資助UC Berkeley將TCP/IP集成到它的UNⅨ版本中。這個集成後的產品取得了巨大的商業成功,並推助TCP/IP成為在美國選擇的網路互聯標準。
在1975年,ARPANET成為了一個運營實體,而不僅僅是一個實驗,於是用了6個月時間將它轉交給國防部(DOD)防禦通信局(DCA)。DCA然後就開始管理這個網路。在1985年,國家科學基金會(NSF)開始資助一些將許多大學和協會連線起來的主幹線纜的研究工作。這個主幹已經創立,並稱為NSFnet,它替代ARPANET,而成為了網際網路的支柱。
同時,TCP/IP協定組也在繼續改進。TCP/IP開發的一個最重要的方面是,經過測試的程式和政府的認可,它們保證了開發人員可以得到出版的TCP/IP標準。這保證了開發人員不必為適合他們的需要而改變協定標準,以及可能在TCP/IP的其它部分出現混淆。今天,TCP/IP協定的使用基本保證了使用它進行通信的系統之間的互聯性,並且在一些情況的具有一定互操作性
The TCP Protocol TCP協定,傳輸控制協定
最初,TCP協定是為互聯使用多種不同類型的傳輸方式的網路而開發的。為了適應這些介質的差異,創建了網關(有時稱為路由器)的概念,它是指對來自一個網路的分組進行封裝,變成一個包括另一個網關的地址的分組。在這個分組抵達它的最終目的地之前,它可能還會被再次打包和編址到一些網關。如圖T-13所示。採用這種封裝方式是有一些原因的,但其中最重要的原因是:設計人員不希望這些不同網路的主人通過改變自己以適應網路互聯的網內策略。它假設每個網路都要實現它自己的通信技術。
TCP協定採用sockets接口在兩個系統間建立雙向(雙工)連線。sockets是描述計算機通信地址的端點和正在運行通信套用的計算機內的一個“連線埠”。你可以將這種安排想像為你想打通建築物中的電話,這個建築物有一個地址,並且這個電話就象一個將你與一個特定的人連線在一起的位於這個建築物的一個連線埠。同樣,一個sockets就是到一個計算機內的應用程式或進程的連線。
TCP通信會話是面向連線的並且具有如下特徵:
流控為兩個系統提供了在分組通信中的實際協調,以防止溢出和丟失分組。
分組接收的應答使得傳送方知道接收方已經接收到分組。
端點對端點的序列化可以保證分組按順序到達,所以目的地不再需要對它們重新進行組織。
口檢驗和特徵,用於保證分組的完整性。
分組損壞或丟失,導致分組重發,以按時並有效的方式來處理。
面向連線的會話需要一個建立階段、一個切斷階段和一些監督功能,以及一些不是數據運輸所必須的額外通信開銷。在開發TCP的過程中,USC的Denny Cohen為適應“追求及時而不是精確”的目標,建議分解TCP協定。他說,所有的流控和錯誤檢查,以及建議面向連線的會話的開銷,並不總是必須的。所需的途徑是,儘快地將數據傳送到另外一個系統,然後由這個系統自己進行錯誤檢查和數據排列工作。這樣,TCP就變成了TCP和網際網路協定(IP)。用戶數據報協定(UDP)的創立,也為套用訪問IP的無連線特徵提供了一條途徑。TCP和UDP都使用IP。下面先進行簡單的介紹,然後再進行細節性的介紹。
TCP通過使用面向連線的技術,提供了從一個結點到另外一個結點的可靠數據傳輸。
UDP為套用提供了數據報服務。UDP的基本作用是,將一個應用程式進程的連線埠地址加到一個IP分組上。
IP是一種提供基本數據報傳遞服務的無連線服務。
下面將詳細討論IP和TCP協定。IP將首先討論,這是因為TCP使用IP在網路上傳輸信息。下面不討論另外兩種在TCP/IP網路中使用的協定:
網間控制訊息協定(ICMP)提供一條報告網路中錯誤的途徑。ICMP分組使用IP協定傳送,並且提供數據報產生錯誤的信息,或提供查詢遠程地點情況的途徑。
網間組訊息協定(IGMP)提供使用IP協定將訊息傳送給一組用戶的途徑。這種功能稱為多址(multicasting)傳送。
Internet Protocol(IP) Internet協定(IP) ,網際網路協定(IP)
IP是提供數據報服務的一種無連線通信協定。數據報是分組交換中的一種完整分組。它獨立於其它分組,並且攜帶足夠的信息,用於選擇從源DTE數據終端設備到目的數據終端設備的路由,這種選擇不依賴於原來在各個數據設備和網路之間的交換。它是根據它們的地址、以及在這個路由器中的路由選擇信息表、被路由器進行轉發的。數據報可以被編址到一個單一結點或多個結點。其中沒有流控、接收應答、錯誤檢查和序列化。數據報可能通過不同的路逕到達目的地,於是可能是亂序抵達的。接收站點負責進行順序排列並檢查是否有分組丟失了。IP通過簡單地拋棄一些分組來處理通信擁擠。重新排序和錯誤處理有更高層協定負責處理,而不是由IP進行處理的。因而,IP是快速有效的,並且非常適合已經提供了相對可靠服務的現代網路和遠程通信系統。
IP在一些區域網路和廣域網上工作。例如,當IP運行在乙太網上的區域網路環境時,在乙太網幀中的數據域存放IP分組,並且在這個幀中有一個特定的域說明包含了IP信息。IP使用一個獨立於網路編址策略之外的編址策略。例如,每個乙太網適配器都有一個生產廠商賦予的硬體地址。IP不使用這個地址,如下所述,它實際上對每個結點使用一個授予的地址。
IP編址
TCP/IP網路中的每個結點都需要一個4位元組(32位)數字地址,它用於辨別是一個網路、一個局部主機、還是這個網路中的結點。這個地址被寫成由小點隔開的四個數字,例如,191.31.140.115。在大多數情況下,網路管理人員安裝一個新的工作站時,建立這些地址;然而,在另一些情況下,也可能是工作站在自舉時向工作站查詢以被動地授予地址。
這些地址的授予是由一個公司或機構專斷的,但是如果這個公司計畫在最近的什麼時候要與Internet相連,就必須從防禦數據網路(DDN)的網路信息中心(NIC)獲得一個註冊地址,防禦數據網路的網路信息中心是由在Vairginia的Chantilly的網路裁決局(Network Solution)管理的。隨著網際網路越來越流行,建議所有的機構都獲得一個註冊地址,以避免將來出現地址衝突。
存在三種Internet地址:A類、B類和C類:
A類 支持16,000,000個主機(連線的計算機),但只有127個可賦的網路號。
B類 支持65,000台主機和16,000個網路號。
C類 支持254台主機和2,000,000個網路號。
由於Internet地址是主機和網路號的結合,所以多個主機可以共享這個網路號的主機部分,但是每個主機必須具有它自己獨特的號碼。例如,在C類號碼中,第一組數字是主機號,最後三組數字是網路號。
IP編址支持上百萬個地址,但最近,也出現了潛在的短缺危機。伴隨著Internet的不斷流行,短缺可賦予的地址是不可避免的。
預計在1995年,Internet將用完它的地址。一種稱為簡單Internet協定(SIP)將改善這種局面。SIP將使用64位地址而不是IP的32位地址,從而加倍了可能的地址數目。SIP將對IP向後兼容
IP數據報結構
IP數據報包含地址、路由選擇信息和其它為將數據的分組從源地傳送到目的地的分組頭信息。下面將介紹IP數據報域的情況。注意:鑑別、標誌和段偏址域,是為在不能處理大的數據報的子網路上傳輸,而將分組的片段分解為兩個或多個數據報時所需的。
版本(version)說明IP協定的版本,允許從一個協定版本變為另一個版本。
長度(length) 描述分組頭的長度。
服務類型(Type of service:TOS)用於指示數據報所需的服務類型或“質量”。處理數據報的路由器閱讀這個域,如果需要,將提供優先服務。以前,這個域指示軍事急件或關鍵事件所要的優先處理。根據在Internet Engineering Task Force(IETF)最近的討論看出,現在,TOS的定義已經改變為減少延遲、減少金錢開銷、增大吞吐率,或增加可靠性的需要。
總長度(Total length) 說明數據報的總長度,最大長度為65,536個位元組。
鑑別(Identification)提供連線獨立分段數據報的信息,於是目的站點就可以將它們組裝成一個完整的分組。
標誌(flags) 有兩個標誌位。第一個標誌位指定一個分組不允許被分段,所以必須在能將處理分組當前長度的子網路上傳輸。第二個標誌位指定一個數據報是一個分段分組的最後。
段偏址(Fragment offset) 對於分段數據報,這個域指出這個數據在分組中的原來位置,在重新組裝的過程中將用到這個信息。
存活時間(Time-to-live)這個時間以秒為單位,它是數據報可以生存的時間。在傳輸中,如果超過了這個時間,這個數據報就被認為丟失了,或在一個循環內並且被廢棄。
協定(protocol)標識數據報的協定類型,這樣就可以允許非TCP/IP協定工作。
分組頭檢驗和(header checksum)提供一個錯誤檢查數值,以保證一個被分發分組的完整性。
源/目地址 這是數據報源地和這個數據報目的地的地址。
選擇(option)這個域是可選的,它提供了記錄通過網路的一條路徑或指定一條路徑(源地路由選擇)。
Transmission Control Protocol(TCP)傳輸控制協定(TCP)
TCP提供了一條為可靠地傳送訊息和數據,而在端系統間建立一條連線的途徑。TCP連線具有前面介紹的所有面向連線的特徵,例如流控、應答、序列化、進行校驗和檢測和重發等。當一個套用使用TCP時,就需要一個連線建立階段,但是一旦這個連線建立好了,它就可以在端系統間提供可靠有效的數據傳遞。對於長期的數據交換,或當需要一種相對永久的連線時,面向連線的會話是有用的。
為建立TCP連線,活動站點向另一個站點傳送一個訊息。這個站點回告這個活動站點,它已經準備好建立一個通信會話了。然後,第一個站點也回告確認這個連線,並且進行一次起始數據傳送,以建立數據傳輸控制。下面介紹TCP分組中域的情況:
源/目連線埠(source/destination port) 使用TCP服務的套用進程的連線埠號。
序列號(sequence number) 提供接收方對分組進行排序和確認是否有分組丟失的信息。
應答號(acknowledgement number) 提供接收到位元組的指示,返回給傳送方,於是如果需要就可重發丟失的分組。
長度或偏址(offset or length) 說明分組頭的長度。
代碼(codes)這個域包括:指示緊急需要的分組或這個分組是數據尾的代碼。
滑動視窗(sliding window)提供一種增加分組體積的途徑,從而改進數據傳輸的有效性。
分組頭檢驗和(header checksum)提供一種錯誤檢查的數值,以確保被傳送分組的完整性。
緊急指針(urgent pointer)指示放置緊急數據的位置。
選擇(option)一個為將來或特殊選擇準備的可變域。
注意,為了提供可靠的功能,TCP層在端系統上運行時,可以使用IP在網路結點間傳輸數據。IP分組包含端點結點的地址,而TCP分組包含源地和目的地連線埠號。比如,你與一個朋友進行了一次會談,卻通過另外一條電話線路向這個朋友傳送信息,你使用“語音會話”為“數據通信會話”建立參數,然後,討論交換的過程,最後應答,完成了全部數據的接收。
Application Protocols 應用程式協定
已經在TCP/IP協定組的上面建造了下面的應用程式,並且在許多TCP/IP安裝中都可以獲得這些應用程式,其中包括Internet。這些套用在本書的其它地方也有討論。
網路檔案系統(NFS) 針對UNⅨ主機的一種檔案系統,它是可共享的並且是分布的。它最早是由Sun Microsystems公司開發的。
簡單網路管理協定(SNMP)一種網路管理協定,它採集網路的信息,並且將它報告給管理人員。
檔案傳送協定(FTP)使得可以在工作站與UNⅨ主機或Novell NetWareNFS之間傳輸檔案的協定。
簡單郵件運輸協定(SMTP) 一種能夠進行電子訊息傳遞的協定。
Telnet DEC VT100和VT 330終端仿真

相關詞條

熱門詞條

聯絡我們