電腦網路與連結技術第十 三章 TCP/IP 與 Internet 連結技術 上一頁    下一頁

13-2 TCP/IP 協定堆疊

內容:

  • 13-2-1 TCP/IP 協定堆疊

  • 13-2-2 協定資料單元 (PDU) 包裝

  • 13-3-3 資料名稱與協定定址

一般所說的 TCP/IP 是指 TCP IP 兩個通訊協定,而 TCP/IP 網路是指 ARPANET 網路。目前 ARPANET 網路與『網際網路』(Internet已幾乎整合在一起,都以 Internet 網路為代名詞。圖 13-1 TCP/IP 通訊協定的堆疊,我們還是依照傳統 OSI 參考模式和它比較相關的功能。基本上,早期 ARPANET 所訴求的是讓各偏遠地區上的電腦彼此之間能互相連接(軍事用途),至於應用方面則較為簡單的遠端登入、電子郵遞和檔案傳送等等。因此,ARPANET 網路早期並沒有提供較複雜的使用環境,在應用層方面也沒有再細分表現層和交談層。Internet 網路也沿用 ARPANET 架構,在通訊協定方面只區分為四個層次。但隨著 Internet 網路的應用逐漸複雜,標準化的資料表示(如加密、壓縮等)是否有需要(表現層功能),或異質電腦的程序之間的對談(多方通訊)標準是否有需要制定(交談層功能),也漸漸在 Internet 網路中蘊釀著。

13-1 TCP/IP 協定堆疊

13-2-1 TCP/IP 協定堆疊

         在 TCP/IP 協定堆疊中,區分為四個層次,各個層次功能如下:

(A) 應用層(Application Layer

簡單的說,應用層就是在網路上所開發的應用軟體。隨著網路的發展,應用軟體的開發愈來愈多,應用層也就愈來愈豐富,延伸出許多新的網路軟體技術。雖然 TCP/IP 網路沒有另外區分表現層和交談層,並不表示沒有提供這方面的服務,只是沒有提供這兩個層次的標準介面。儘管它減少開發軟體的方便性,但也促進新技術的發展。以下列出在 TCP/IP 網路上較常見的應用軟體:(有關應用層的相關技術請參考本書第六章)

(1) FTPFile Transfer Protocol):遠端檔案傳輸協定,透過 FTP 可和不同地區的異質電腦之間檔案互相傳送。

(2) SMTPSimple Mail Transfer Protocol):簡易郵件傳輸協定。在各個電子郵件伺服器之間郵件傳輸的協定,使用者可透過 SMTP 傳送郵件。

(3) HTTPHyperText Transfer Protocol):超文件傳輸協定。使用者(瀏覽器)和網頁伺服器器(Web Server)之間超文件(文字、聲音、圖片、影像等)的傳輸協定。

(4) DNSDomain Name Server):將主機名稱和 IP 位址之間的轉換。

(B) 傳輸層(Transport Layer

傳輸層如同 OSI 參考模式的第四層(請參考本書第五章)。基本上,傳輸層是提供可靠性連線服務(TCP),但也提供非連接方式(UDP)的傳輸,以作為一般網路管理或快速資料傳輸之連線使用。兩個主要通訊軟體說明如下:

(1) TCPTransmission Control Protocol):傳輸控制協定。提供連接導向(Connection -oriented程序(Process)之間的可靠性(Reliable)連線服務。TCP 提供標準傳輸介面,讓不同電腦之間可以連線。

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

(C) 網際層(Internet Layer

網際層(Internet Layer)相當於 OSI 參考模式的網路層(請參考本書第四章)。TCP/IP 網路為提供遠距離之間的網路連結,其網際層採用變異性較高的電報傳輸(Datagram)方式,亦是『網際協定』(Internet Protocol, IP)。雖然網際層還有若干個通訊軟體(ICMPIGMP 等),但都包裝在 IP 封包內,以 IP 方式傳輸(Datagram)。以下介紹幾個較重要的通訊軟體:

(1) IPInternet Protocol):提供網路之間的路徑選擇協定。遠端電腦之間可透過 IP 協定尋找出對方位址,並能互相連接在一起。

(2) ICMPInternet Control Message Protocol):網際控制訊息協定。網路之間互相傳送網路狀況的資料格式,以及回報方式的協定。使用者可利用 ICMP 查詢網路狀況(網路負載情況或斷路等等)。

(3) ARPAddress Resolution Protocol):位址解析協定。某部電腦可透過 ARP 協定以對方(使用者)的網路位址(IP 位址),來查問其網路介面卡位址(Ethernet 位址)。

(4) RARPReverse Address Resolution Protocol):反向位址解析協定。使用者透過RARP 協定以本身的網路介面卡位址(Ethernet 位址),向網路上其他電腦(如名稱伺服器)詢問本身的網路位址(IP 位址)

(D) 網路存取層(Network Access Layer

網路存取層相當於 OSI 參考模式中的第一、二層,TCP/IP 網路並未對它提出特殊標準,因此未再細分層次。媒介存取層大多是沿用現有的網路介面存取方式,在區域網路方面以 IEEE 802 系列為主,如 EthernetToken-RingFDDI 等。廣域網路方面,早期有 PPPSLIP 等通訊協定,目前為要求更高的傳輸速度,即有 ATM 網路中的 IP over ATM ADSLCable Modem 等標準介面被製定出來。

13-2-2 協定資料單元包裝

TCP/IP協定堆疊的特性如同 OSI 參考模式一樣,各個層次之間也具有隔離性和獨立性。上下層之間的『協定資料單元』(Protocol Data Unit, PDU)經過『包裝』(Encapsulation)(傳送端)和『拆裝』(Decapsulation)(接收端),控制訊息(通訊協定)包裝在『協定標頭』(Protocol header)上。

如圖 13-2 中,傳送端(User_A)發送一個訊息經由應用層加入 AH 的協定前頭,再經過傳輸層加入 TH包裝成為 TL-PDU,再傳送給網際層。接收端依反方向拆裝,網際層接收到 IL-PDU 拆解出 IH 協定標頭,得到傳送端給予有關網際層的控制訊息,再將 TL-PDU 傳送給傳輸層,依此類推,各層次之間的通訊協定就如此構成。路由器(Router_X Router_Y)只負責封包路徑之尋找及轉送,因此只提供到網際層(Internet Layer)的服務,對於 PDU 的拆裝和解裝也只有到網際層。

13-2 TCP/IP 之協定資料單元的包裝

13-2-3 資料名稱及協定定址

OSI 參考模式之中各個層次的資料都稱為『協定資料單元』(Protocol Data Unit, PDU),如傳輸層(Transport Layer)的資料就稱為 TL-PDU。同樣的,TCP/IP 協定堆疊的每一層資料都有其固定的結構和名稱,理論上,每一層皆可忽略其他層次的資料結構。但實際上,由於考量了傳輸效率的因素,每一層的資料結構都被設計成相容於該層的上、下兩層的資料結構。在 TCP/IP 網路底下,我們為了能突顯出每一資料單元的特性,而各訂一個特殊的名稱,這樣在程式設計時,也比較能夠區分其屬性。各層次資料單元的名稱如圖 13-3 所示,其中應用層如使用 TCP 連接時,其資料單元稱之為『串流』(Stream);而使用 UDP 連線則稱之為『訊息』(Message)。在傳輸層方面,TCP 的協定資料單元,稱之為『資料段』(Segment);在 UDP 中則稱為『封包』(Packet)。網際層的資料單元統稱為『資料片』(Datagram);網路存取層的資料單元稱為『訊框』(Frame)。但在網路上傳送的資料包裝,一般還是以『封包』(Packet)稱呼較多。

在通訊協定裡,每一層次皆有多工處理的功能,每一條虛擬鏈路在各層次之間都要有一個位址,這各位址就是在 OSI 參考模式中,各層次之間的『服務存取點』(Service Access Point)。TCP/IP 制定一個『協定定址方法』(Protocol Addressing)來表示一個通訊連線,在各層次之間的連結位址,如圖 13-3 13-4 所示。各層次間的連接位址有:網路實體位址(如Ethernet Address)、 IP 位址(IP address)、協定號碼(Protocol Number)與埠口號碼(Port Number)。其中協定號碼比較特殊,這是因為傳輸層或許多網際層協定(如TCPUDPICMP)都是使用 IP 封包轉送,因此,必須有協定號碼來標示目前 IP 封包上,所承載的資料是屬於哪一個通訊軟體(如TCP ICMP)。

13-3 TCP/IP 協定堆疊各層的資料名稱及定址

 

13-4 TCP/IP 各層次的定址名稱

翻轉工作室:粘添壽

 

電腦網路與連結技術:

 

 

翻轉電子書系列: