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

Transmission Control Protocol/Internet Protocol

鎖定
Transmission Control Protocol/Internet Protocol,中文名是傳輸控制協議,以允許,許多獨立的多廠商系統間通信為發展目標而簽訂的協議。
中文名
傳輸控制協議
外文名
Transmission Control Protocol
發展目標
允許許多獨立的多廠商系統間通信
優    勢
具有很強的網絡互聯能力

目錄

Transmission Control Protocol/Internet Protocol簡介

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

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協議是為互聯使用多種不同類型的傳輸方式的網絡而開發的。為了適應這些介質的差異,創建了網關(有時稱為路由器)的概念,它是指對來自一個網絡的分組進行封裝,變成一個包括另一個網關的地址的分組。在這個分組抵達它的最終目的地之前,它可能還會被再次打包和編址到一些網關。採用這種封裝方式是有一些原因的,但其中最重要的原因是:設計人員不希望這些不同網絡的主人通過改變自己以適應網絡互聯的網內策略。它假設每個網絡都要實現它自己的通信技術。
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數據報域的情況。注意:鑑別、標誌和段偏址域,是為在不能處理大的數據報的子網絡上傳輸,而將分組的片段分解為兩個或多個數據報時所需的。
版本(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終端仿真