2017-02-09 自頂向下:運輸層概述、運輸層和網絡層的關係、多路複用與多路分解、UDP簡介

2017-02-09 自頂向下:運輸層概述、運輸層和網絡層的關係、多路複用與多路分解、UDP簡介

邏輯通信(logic communication)、運輸層報文段(segment)、盡力而爲交付服務(best-effort delivery service)、不可靠服務(unreliable service)、多路複用(transport-layer multiplexing)、多路分解(demultiplexing)、靠數據傳輸(reliable data transfer)、擁塞控制(congestion control)、周知端口號(well-known port number)、源端口號字段(source port number field)、目的段口號字段(destination port number field)


第3章 運輸層

    3.1 概述和運輸層服務

        運輸層協議爲運行在不同主機上的應用進程之間提供了邏輯通信(logic communication)功能。從應用程序的角度看,通過邏輯通信,運行不同進程的主機好像直接相連一樣。

        運輸層協議是在端系統中而不是在路由器中實現的。在發送端,運輸層將從發送應用程序接收到的報文轉換成運輸層分組,該分組稱爲運輸層報文段(segment)。

        3.1.1 運輸層和網絡層的關係

            網絡層提供了主機之間的邏輯通信,而運輸層爲運行在不同主機之間上的進程提供了邏輯通信。

        3.1.2 因特網運輸層概述

            UDP/TCP位於運輸層。IP即網際協議位於網絡層。IP爲主機之間提供了邏輯通信。IP的服務模型是盡力而爲交付服務(best-effort delivery service)。這就意味着IP盡它“最大努力”在通信的主機之間交付報文段,但它並不做任何確保。不確保報文段的交付、不確保按序交付、不確保數據完整性。由於這些原因,IP被稱爲不可靠服務(unreliable service)。每臺主機有一個IP地址。

            UDP與TCP最基本的職責是,將兩個端系統間IP的交付服務擴展爲運行在端系統上的兩個進程之間的交付服務。將主機件交付擴展到進程間交付被稱爲運輸層的多路複用(transport-layer multiplexing)與多路分解(demultiplexing)。

            進程到進程的數據交付和差錯檢查是兩種最低限度的運輸層服務,也是UDP所能提供的僅有的兩種服務。

            TCP提供可靠數據傳輸(reliable data transfer)還提供擁塞控制(congestion control)。擁塞控制與其說是一種提供給使用它的應用程序的服務,不如說是一種提供給整個因特網的服務。


    3.2 多路複用與多路分解

        一個進程(作爲網絡應用的一部分)有一個或多個套接字(socket),它相當於從網絡向進程傳遞數據和從進程向網絡傳遞數據的門戶。將運輸層報文段中的數據交付到正確的套接字的工作稱爲多路分解(demultiplexing)

        而在源主機中從不同套接字中收集數據塊,並未每個數據塊封裝上首部信息從而生成報文段,然後將報文段傳遞到網絡層,所有這些工作稱爲多路複用(multiplexing)


        運輸層多路複用要求:(1)套接字有唯一標識符;(2)每個報文段有特殊字段用來指示該報文段所要交付到的套接字。這些特殊的字段是源端口號字段(source port number field)和目的段口號字段(destination port number field)。

        端口號是一個16比特的數,其大小在0-65535之間。0-1023範圍的端口號稱爲周知端口號(well-known port number),當我們開發一個新的應用程序時必須爲其分配一個端口號。


        3.2.1 無連接的多路複用和多路分解

        3.2.2 面相連接的多路複用和多路分解

            TCP套接字是由一個四元組(源IP地址,源端口號,目的IP地址,目的端口號)來標識的。

        3.2.3 Web服務器與TCP

    3.3 無連接運輸:UDP

        使用UDP時,在發送報文段之前,發送發和接收方的運輸層實體之間沒有握手。正因爲如此,UDP被稱爲是無連接的。UDP的優點有:

            關於何時、發送什麼數據的應用層控制更爲精細。

            無需連接建立。

            無連接狀態。

            分組首部開銷小。    

        使用UDP的應用是可以實現可靠數據傳輸的。這可通過在應用程序自身中建立可靠性機制來完成。

        3.3.1 UDP報文段結構

            源端口號+目的段口號+長度+檢驗和+應用數據(報文)

 

        3.3.2 UDP檢驗和

            UDP檢驗和提供了差錯檢測功能。雖然UDP提供了差錯檢測,但它對差錯恢復無能爲力。

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