TCP/IP 協定與 Internet 網路:第七章 傳輸層協定         下一頁

 

翻轉工作室:粘添壽

 

第七章 傳輸層協定

7-1 傳輸層簡介

在未探討傳輸層的功能之前,我們先以圖 7-1 來說明,Internet 網路如何建構雙方的通訊連線。

7-1 傳輸層連結功能

首先觀察網路媒介存取層所扮演的角色,它是提供如何將一連串的資料組合成一個訊框,再將其發送到網路上,並且定義接收端如何來判斷一個框的開始和結束的基本技術。這些技術包含資料在傳輸媒介上的訊號方式,以及定義電腦之間在一個共用傳輸媒介上存取的共同協定(如,CSMA/CD 協定),基本上,是屬於同一網路內的通訊方式,因此稱之為『節點對節點連接』(Node-to-Node Connection

另外,網際層是負責在複雜的網路上尋找目的工作站的位址,然後建立雙方電腦之間的連線。在一條通訊連線之中也許會跨越多個不同型態的網路 (譬如,Ethernet 網路),才能到達目的位址,並不在侷限於某一網路之內,因此稱之為Station-to-Station Connection』(工作站對工作站連線)

由上面的敘述我們可以知道,在Internet 網路裡,到達網際層的連結功能時,通訊雙方的工作站已能夠連結到對方,但連結之後如何使雙方通訊,就是屬於傳輸層的功能。傳輸層提供工作站中的應用程式的通訊介面,稱之為『主機對主機連線』(Host-to-Host Connection或稱為『端點對端點連線』(End-to-End Connection

最重要的是,傳輸層的通訊介面將與網路型態無關(Independent),應用程式透過該通訊介面,便可以和對方通訊,而不用理會所經過網路是何種型態,或是到底跨越了多少個網路銜接,因此稱之為『應用通訊』(Application Communication

如圖 7-1,工作站 A B 兩者也許分處 Internet 網路的任何角落,經過網際層連接後,兩部工作站就如同在同一桌面上一樣。網際層的功能也和電話接通一樣,當兩具電話接通後,兩具電話不論在何地區,都像撥接到相鄰電話一樣。當然,工作站之間也許會經過許多區間網路的連接,工作站與工作站的連接就是透過這些區間網路之間的網際層共同來達成,但各區間網路之內連接就屬於網際存取層的功能。而工作站上也許會有許多應用程式同時在執行,傳輸層則提供通訊介面讓這些應用程式連接,例如,工作站 A163.15.2.1)的 IE 程式連接到第 3245 傳輸埠口,該埠口連接到工作站 B168.4.5.1)的第 80 傳輸埠口,而 80 埠口試銜接到 Web 伺服器上。由此可見 163.15.2.1:3245 168.4.5.1:80 之間連線為『端點對端點連線』, IE Web Server 之間為『應用對應用連線』(Application-to-Application Connection。同樣的 163.15.2.1:23(工作站 A)與 168.4.5.1:5678(工作站 B)也是一條傳輸層連線,而 Telnet Telnet Server 之間則是屬於應用層連線(第十三章介紹)。

7-1-1 傳輸層通訊協定

        基本上,傳輸層提供應用程式的連接介面,對一般程式設計師而言(開發電子商務軟體)就顯得特別重要,而網際層和媒介存取層之建設則是比較屬於網路工程師的工作。因此傳輸層介於雙方的連線重點,它的連接功能對整個網路的通訊效益,就有絕對性的影響。傳輸層提供終端對終端連線,相當於 OSI 參考模式的第四層。在 Internet 網路上所訴求的遠距離的連線,因此在網際層方面為了能符合各種不同環境的需求,而採用非連接方式,也就是『電報傳輸』(Datagram,通訊過程中也許會出現錯誤或遺失某些資料,這時就必須仰賴傳輸層去偵測及處理資料保全的工作。譬如,網際層也許會有遺失某些封包而不知曉,傳輸層必須有能力去偵測出,並要求對方重送;或者網際層通訊當中,可能會發生資料錯誤,這也必須由傳輸層檢測出來。因此,在 Internet 網路上必須有一個可靠的通訊協定來補救網際層可能出現的錯誤,一般都採用『傳輸控制協定』(Transmission Control Protocol, TCP,也就有所謂TCP/IP的組合,另外 Internet 網路也提供非連接方式的連接,兩個主要通訊軟體說明如下:

『傳輸控制協定』(Transmission Control Protocol, TCP):提供連接導向(Connection -oriented)程序(Process)之間的可靠性(Reliable)連線服務。TCP 提供標準通訊介面,可讓異質電腦(Hetergeneous)之間連線。

『使用者電報傳輸協定』(User Datagram Protocol, UDP):提供非連接服務(Connectionless)的使用者(或程序)之間連線。類似 TCP 服務但為不可靠性(Unreliable)連線。

7-1-2 傳輸層訊框包裝

        傳輸層的 TCP/UDP 封包經過 IP 封包包裝,又再經過 Ethernet 訊框包裝後,才發送到網路上,其包裝結構如圖 7-2 所示。

7-2 傳輸層訊框包裝

        Ethernet 框標頭中,型態(Type)為 0x0800 表示該訊框是承載 IP 封包,又在 IP 封包標頭中,如 Protocol 欄位為 6 表示本封包是承載 TCP 訊息;如 Protocol = 17 則表示承載 UDP 訊息。一般傳送 TCP/IP 訊息,IP 標頭大多不會攜帶特殊訊息(如來源路徑選擇),也沒有選項欄位(Option),因此 IP 標頭佔用 20 位元組長度。TCP 標頭如沒有特殊訊息,也是佔用 20 位元組長度。而一般 UDP 標頭也都是佔用 20 位元組。

由圖 7-2 可以看出,在 Ethernet 網路環境下,TCP/UDP 所能承載的訊息長度最高為 1460 位元組。一般應用上,如果資料長度大於 1460 位元組,則會選用 TCP 協定傳送,但如果小於 1460 位元組,則儘量使用 UDP 協定傳送,以提高傳輸效率。在 Internet 環境下,TCP 協定大多使用於大量資料的傳輸協定上,例如,FTP HTTP 協定。另一方面,UDP 協定都使用在較少資料量的傳輸協定,例如,DNS SNMP 協定。

 

 

<GOTOP>