TCP/IP簡介

一.TCP/IP協議簇簡介

TCP/IP(傳輸控制協議/網間協議)是一種網絡通信協議,它規範了網絡上的所有通信設備,尤其是一個主機與另一個主機之間的數據往來格式以及傳送方式。TCP/IP是INTERNET的基礎協議,也是一種電腦數據打包和尋址的標準方法。在數據傳送中,可以形象地理解爲有兩個信封,TCP和IP就像是信封,要傳遞的信息被劃分成若干段,每一段塞入一個TCP信封,並在該信封面上記錄有分段號的信息,再將TCP信封塞入IP大信封,發送上網。在接受端,一個TCP軟件包收集信封,抽出數據,按發送前的順序還原,並加以校驗,若發現差錯,TCP將會要求重發。因此,TCP/IP在INTERNET中幾乎可以無差錯地傳送數據。在任何一個物理網絡中,各站點都有一個機器可識別的地址,該地址叫做物理地址.物理地址有兩個

特點:

(1)物理地址的長度,格式等是物理網絡技術的一部分,物理網絡不同,物理地址也不同.

(2)同一類型不同網絡上的站點可能擁有相同的物理地址.

以上兩點決定了,不能用物理網絡進行網間網通訊.

在網絡術語中,協議中,協議是爲了在兩臺計算機之間交換數據而預先規定的標準。TCP/IP並不是一個而是許多協議,這就是爲什麼你經常聽到它代表一個協議集的原因,而TCP和IP只是其中兩個基本協議而已。

你裝在計算機-的TCP/IP軟件提供了一個包括TCP、IP以及TCP/IP協議集中其它協議的工具平臺。特別是它包括一些高層次的應用程序和FTP(文件傳輸協議),它允許用戶在命令行上進行網絡文件傳輸。

TCP/IP是美國政府資助的高級研究計劃署(ARPA)在二十世紀七十年代的一個研究成果,用來使全球的研究網絡聯在一起形成一個虛擬網絡,也就是國際互聯網。原始的Internet通過將已有的網絡如ARPAnet轉換到TCP/IP上來而形成,而這個Internet最終成爲如今的國際互聯網的骨幹網。

如今TCP/IP如此重要的原因,在於它允許獨立的網格加入到Internet或組織在一起形成私有的內部網(Intranet)。構成內部網的每個網絡通過一種-做路由器或IP路由器的設備在物理上聯接在一起。路由器是一臺用來從一個網絡到另一個網絡傳輸數據包的計算機。在一個使用TCP/IP的內部網中,信息通過使用一種獨立的叫做IP包(IPpacket)或IP數據報(IP datagrams)的數據單元進--傳輸。TCP/IP軟件使得每臺聯到網絡上的計算機同其它計算機“看”起來一模一樣,事實上它隱藏了路由器和基本的網絡體系結構並使其各方面看起來都像一個大網。如同聯入以太網時需要確認一個48位的以太網地址一樣,聯入一個內部網也需要確認一個32位的IP地址。我們將它用帶點的十進制數表示,如128.10.2.3。給定一個遠程計算機的IP地址,在某個內部網或Internet上的本地計算機就可以像處在同一個物理網絡中的兩臺計算機那樣向遠程計算機發送數據。

TCP/IP提供了一個方案用來解決屬於同一個內部網而分屬不同物理網的兩臺計算機之間怎樣交換數據的問題。這個方案包括許多部分,而TCP/IP協議集的每個成員則用來解決問題的某一部分。如TCP/IP協議集中最基本的協議-IP協議用來在內部網中交換數據並且執行一項重要的功能:路由選擇--選擇數據報從A主機到B主機將要經過的路徑以及利用合適的路由器完成不同網絡之間的跨越(hop)。

TCP是一個更高層次的它允許運行在在不同主機上的應用程序相互交換數據流。TCP將數據流分成小段叫做TCP數據段(TCP segments),並利用IP協議進行傳輸。在大多數情況下,每個TCP數據段裝在一個IP數據報中進行發送。但如需要的話,TCP將把數據段分成多個數據報,而IP數據報則與同一網絡不同主機間傳輸位流和字節流的物理數據幀相容。由於IP並不能保證接收的數據報的順序相一致,TCP會在收信端裝配TCP數據段並形成一個不間斷的數據流。FTP和Telnet就是兩個非常流行的依靠TCP的TCP/IP應用程序。

另一個重要的TCP/IP協議集的成員是用戶數據報協議(UDP),它同TCP相似但比TCP原始許多。TCP是一個可靠的協議,因爲它有錯誤檢查和握手確認來保證數據完整的到達目的地。UDP是一個“不可靠”的協議,因爲它不能保證數據報的接收順序同發送順序相同,甚至不能保證它們是否全部到達。如果有可靠性要求,則應用程序避免使用它。同許多TCP/IP工具同時提供的SNMP(簡單網絡管理協議)就是一個使用UDP協議的應用例子。

其它TCP/IP協議在TCP/IP網絡中工作在幕後,但同樣也發揮着重要作用。例如地址轉換協議(ARP)將IP地址轉換爲物理網絡地址如以太網地址。而與其對應的反向地址轉換協議(RARP)做相反的工作,即將物理網絡地址轉換爲IP地址。網際控制報文協議(ICMP)則是一個支持性協議,它利用IP完成IP數據報在傳輸時的控制信息和錯誤信息的傳輸。例如,如果一個路由器不能向前發送一個IP數據報,它就會利用ICMP來告訴發送者這裏出現了問題。

二.TCP/IP網絡的七層結構模型

網絡設計者在解決網絡體系結構時經常使用ISO/OSI(國際標準化組織/開放系統互連)七層模型,該模型每一層代表一定層次的網絡功能。最下面是物理層,它代表着進行數據轉輸的物理介質,換句話說,即網絡電纜。其上是數據鏈路層,它通過網絡接口卡提供服務。最上層是應用層,這裏運行着使用網絡服務的應用程序。

TCP/IP是同ISO/OSI模型等價的。當一個數據單元從網絡應用程序下流到網絡接口卡,它通過了一列的TCP/IP模塊。這其中的每一步,數據單元都會同網絡另一端對等TCP/IP模塊所需的信息一起打成包。這樣當數據最終傳到網卡時,它成了一個標準的以太幀(假設物理網絡是以太網)。而接收端的TCP/IP軟件通過剝去以太網幀並將數據向上傳輸過TCP/IP棧來爲處於接收狀態的應用程序重新恢復原始數據(一種最好的瞭解TCP/IP工作實質的方法,是使用探測程序來觀察網絡中的到處流動的幀中被不同TCP/IP模塊所加上的信息)。爲了勾勒TCP/IP在現實網絡世界中所扮演的角色,請考慮當使用HTTP(超文本傳輸協議)的Web瀏覽器從連接在Internet上的Web服務器上獲取一頁HTML數據時所發生的情況。爲形成同Web服務器的虛鏈路,瀏覽器使用一種被抽象地稱爲套接口(socket)的高層軟件。爲了獲取Web頁,它通過向套接口向套接口寫入HTTPGET命令來向Web服務器發出該指令。接下來套接口軟件使用TCP協議向Web服務器發出包含GET命令的字節流和位流,TCP將數據分段並將各獨立段傳到IP模塊,該模塊將數據段轉換成數據報併發送給Web服務器。

如果瀏覽器和服務器運--在不同物理網絡的計算機上(一般情況如此),數據報從一個網絡傳到另一個網絡,直到抵達服務器所在的那個網。最終,數據被傳輸到目的地址並被重新裝配,這樣Web服務器通過讀自己的套接口來獲得數據主幹,並進而查看連續的數據流。對瀏覽器和服務器來說,數據在這一端寫入套接口而在另一端出現如同魔術一般,但這只是底下發生的各種複雜的交互,它創造了數據經過網絡無縫傳輸的假象。

這就是TCP/IP所做的:將許多小網聯成一個大網。並在這個大網也就是Internet上提供應用程序所需要的相互通信的服務。

三.評論

對於TCP/IP有許多可談的,但這裏僅講三個關鍵點:

1.TCP/IP是一族用來把不同的物理網絡聯在一起構成網際網的協議。TCP/IP聯接獨立的網絡形成一個虛擬的網,在網內用來確認各種獨立的不是物理網絡地址,而是IP地址。

2.TCP/IP使用多層體系結構,該結構清晰定義了每個協議的責任。TCP和UDP向網絡應用程序提供了高層的數據傳輸服務,並都需要IP來傳輸數據包。IP有責任爲數據包到達目的地選擇合適的路由。

3.在Internet主機上,兩個運行着的應用程序之間傳送要通過主機的TCP/IP堆棧上下移動。在發送端TCP/IP模塊加在數據上的信息將在接收端對應的TCP/IP模塊上濾掉,並將最終恢復原始數據。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章