郭天艷

【摘要】 人們在日常生活交流中要按一定的規則進行交流,同樣在Internet互聯網上計算機進行相互通信時,也必須要按一定的事先約定好的規則進行,因此:TCP/IP協議是針對Internet互聯網上不同計算機之間通信的協議標準,也是互聯網絡數據傳輸中不可或缺的一部分。本文著重介紹網絡通信TCP/IP協議的定義和組成,詳細闡述了TCP/IP協議工作原理和工作方式,從而對于互聯網絡不同通信層的數據通信協議進行探討和分析。
【關鍵詞】 TCP/IP協議 Internet 應用層 傳輸層 網絡層 數據鏈路層 物理層 網絡
TCP/IP協議是Internet各種協議中最基本的協議,也是最重要和最著名的兩個協議,即傳輸控制協議TCP(Transmission Control Protocol)和網際協議IP(InternetProtocol),簡單的說,就是主要由底層的lP協議和TCP協議組成。因此,我們經常提到的TCP/IP并不一定是指TCP和lP這兩個協議,而往往是指Internet所使用的體系結構或是指整個的TCP/IP協議族。
一、TCP/IP參考模型
TCP/IP協議將Internet分為五個層次,也稱為互聯分層網模型或互聯網分層參考模型。這五個層次分別是應用層(第五層)、傳輸層(第四層)、網絡層(第三層)、數據鏈路層(第二層)、物理層(第一層)。模型如下圖所示:
由于TCP/IP協議在設計時考慮到要與具體的物理傳輸媒體無關,因此在TCP/IP的標準中并沒有對數據鏈路層和物理層做出規定,而只是將最低的一層取名為網絡接口層。這樣,如果不考慮沒有多少內容的網絡接口層,那么TCP/IP體系實際上就只有三個層次:應用層、傳輸層和網絡層。
1、物理層:對應于網絡的基本硬件,是Internet的物理構成,例如,PC機、互聯網服務器、網絡設備等。物理層的任務就是透明的傳送比特流。在物理層上所傳送數據的單位是比特。傳遞信息所利用的一些物理媒體,如雙絞線、同軸電纜、光纜等,并不在物理層之內而在物理層的下面。
2、數據鏈路層:定義了將數據組成正確的幀的規范和在網絡中傳輸幀的規范。幀:是指一串數據,是數據在網絡中傳輸的基本單位。數據鏈路層的任務是在兩個相鄰結點間的線路上無差錯地傳送以幀(frame)為單位的數據。每一幀包括數據和必要的控制信息。在傳送數據時,若接收結點檢測到所收到的數據中有差錯,就要通知發送方重發這一幀直到這一幀準確無誤的到達接收結點為止。在每一幀所包含的控制信息中,由同步信息、地址信息、差錯控制、以及流量控制信息等。
3、網絡層:定義了在Internet中傳輸的“信息包”的格式,以及從一個源,通過一個或多個路由器到達最終目標的“信息包”轉發機制。這里要強調指出,網絡層中“網絡”二字,已不是我們通常談到的網絡的概念,而是在計算機網絡體系結構中的專用名詞。
4、傳輸層:為兩個用戶進程之間、管理和拆除可靠而又有效的端到端的鏈接。這一層曾有幾個譯名,如傳送層、傳輸層或轉送層。現在比較一致的意見是譯為運輸層。在運輸層,信息的傳送單位是報文。當報文較長時,先要把它分割成若干個分組,然后再交給下一層(網絡層)進行傳輸。
傳輸層的任務是根據下面的通信子網的特性最佳的利用網絡資源,并以可靠和經濟的方式,為兩端主機(也就是源站和目的站)的進程之間,建立一條運輸連接,以透明地傳送報文。或者說,運輸層向上一層進行的通信的兩個進程之間提供一個可靠的端到端的服務,使它們看不見運輸層以下的數據通信的細節。在通信子網內的各個交換結點以及連接各通信子網的路由器,都沒有運輸層。運輸層只能存在于通信子網外面的主機之中。運輸層以上的各層就不再關心信息傳輸的問題了。正因為如此,運輸層就成為計算機網絡體系結構中非常重要的一層。
5、應用層:定義了應用程序使用Internet的規范。應用層是原理體系結構中的最高層,應用層確定進程之間通信的性質以滿足用戶的需要(這反應在用戶所產生的服務請求)。應用層不僅要提供應用進程所需要的信息交換和遠地操作,而且還要作為互相作用的應用進程的用戶代理(useragent),來完成一些為進行語義上有意義的信息交換所必須的功能。應用層直接為用戶的應用提供服務。需要注意的是,應用層協議不是解決用戶各種具體應用的協議。
二、TCP/IP主要協議
TCP/IP是一組通信協議的帶名詞,是由一系列協議組成的協議簇。它本身至兩個協議集:TCP-傳輸控制協議,IP——互聯網協議。網絡層、傳輸層、應用層中使用的TCP、lP主要協議有:
2.1、網絡層
TCP/IP網絡層包括以下協議:
IP(網間協議)——定義一套在網絡中通訊的規則。IP包括地址信息和一些控制信息。IP有兩個主要任務:在網絡中提供無連接的、盡力而為的數據報傳送,以及提供數據報分片和重組以支持具有不同最大傳輸單元(MTU)的數據連路。IPv4是當前網絡中使用的版本;IPv6是新的協議版本。
ARP(地址解析協議)——允許主機動態的發現對應于特定IP網絡層地址的MAC(傳輸媒體訪問控制)地址。給定網絡中的兩個設備,若要通信,它們必須要知道對方設備的物理地址。
RARP(逆地址解析協議)——用于將MAC地址以射到lP地址。未知其IP地址的無盤工作站在啟動時可使用RARP,它在邏輯上是ARP的逆過程。RARP依賴于具有MAC地址到lP地址映射表項的RARP服務器。
ICMP(網際控制報文協議)——用以將錯誤以及其他有關lP分組處理的信息報告給源站。
2.2 傳輸層
TCP/IP傳輸層中定義了一下兩個傳輸層協議:
TCP(傳輸控制協議)——提供IP網絡中面向鏈接的、端到端的可靠數據傳輸。
TCP使用三次握手機制建立連接。三次握手通過允許各方對初始序列號達成一致來使得連接兩端同步。此機制也保證了各方已準備好數據發送/接收,并且知道對方也已準備好。使用此機制保證會話建立期間和會話終止后不會傳輸或重傳分組。
UDP(數據報協議)——作為IP和上層進程接口的無連接協議。與TCP不同,UDP并未給IP加入可靠性、流量控制或差錯恢復等功能。由于UDP的簡單性,UDP頭比TCP包含更少的字節,同時消耗更少的網絡開銷。
TCP和UDP使用協議端口號來相互區分運行在同一設備上的多個應用。端口號是TCP和UDP段的一部分,用來識別數據段屬于哪個應用。眾所周知的或標準的端口號被分配給各種應用,以使得TCP/JP協議的不同實現可以互操作。這些眾所周知的端口號的例子包括一下幾種:
①FTP(傳輸協議)TCP端口20(數據)和端口21(控制)。②Telnet TCP端口23。③TFTP(普通文件傳輸協議)UDP端口69。
2.3 應用層
在TCP/IP協議中,對應OSI模型的上面三層并成一層,稱為應用層。這里由許多應用層協議,它們代表多種應用,主要包括一下幾種:①FTP(文件傳輸協議)和TFTP(普通文件傳輸協議)用于傳輸大量數據。②SNMP(簡單網絡管理協議)用于網絡管理,報告網絡異常,并設置網絡閾值。③SMTP(簡單郵件傳輸協議)提供電子郵件服務。④DNS(域名系統)講網絡節點名轉換成網絡地址。
三、lP協議和TCP協議所提供的服務分析
3.1 lP協議服務分析
3.1.1 不可靠的投遞服務
lP協議提供不可靠的、盡力的、無連接的數據投遞服務,它無法保證數據報投遞的結果。在傳輸的過程中,數據報可能會丟失、重發、延遲和亂序等,但是IP服務的本身卻不關心這些結果,也不講這些結果通知收發雙方。
3.1.2 無連接的投遞服務
每個數據報獨立處理和傳輸,因此,由一臺主機發出的數據報序列。可能取不同的路徑,甚至其中的一部分數據報會在傳輸過程中丟失。
3.1.3 盡力的投遞服務
lP協議軟件決不簡單的丟棄數據報,只要有一線希望,就向前投遞;盡力投遞的另一種體現方法是lP協議軟件執行數據報的分段,以適應具體的傳輸網絡,數據報的合段則由最終節點的lP模塊來完成。
3.2 TCP協議服務分析
3.2.1 面向流的投遞服務
TCP協議在IP協議軟件提供的服務基礎啊上,支持面向鏈接的、可靠的、面向流的投遞服務。應用程序之間傳輸的數據可被視為無結構的字節流(或位留),流投遞服務保證收發的字節順序完全一致。
3.2.2 面向鏈接的投遞服務
流傳輸之前,TCP收發模塊之間需建立鏈接(類似虛電路),其后的TCP報文在此連接基礎上傳輸。TCP連接報文通過lP數據報進行傳輸,由于IP數據報的傳輸導致ARP地址映射表產生,從而保證了后繼的TCP報文可以具有相同的路徑。
3.2.3 可靠地投遞服務
發送方TCP模塊在形成TCP報文的同時,形成一個所謂的“累計核對”。“累計核對”類似校驗和,并隨同TCP報文一起傳輸。接收方TCP模塊根據該校驗和判斷傳輸的正確性。如果傳輸不正確,接收方簡單的丟棄該TCP報文,否則進行應答。發送方如果在規定的時間內未能獲得應答報文,講自動進行重傳操作。
四、結束語
本文從TCP/IP協議的模型、主要協議和所提供的服務幾個方面深入的分析了它在計算機網絡、數據交換、信息傳遞中所起的重要作用,使我們對TCP/IP協議有了更深的認識和理解,并且熟悉它在網絡中的應用,能夠幫助我們更好的處理解決一些網絡問題。