程序並不直接把資料交給運輸層,而是把資料交給套接字,由套接字把資料交給運輸層。由於每個主機上有多個套接字存在,所以就需要為每個套接字提供乙個唯一標識,這個標識就是常說的主機的埠號
為了知道每個報文是發往哪個主機的哪個程序的,所以有了ip協議的ip位址和tcp/udp協議的埠號
ip位址提供主機到主機的運輸,埠號提供同一主機內向多個程序的多路分解。
udp套接字是由乙個二元組標識的,該二元組包括目的ip位址和目的埠號。因此,如果兩個udp報文有不同的源ip位址或源埠號,但有相同的目的ip位址和目的埠號,那麼這兩個報文將被傳送到相同的套接字上
tcp套接字是由四元組標識的,包括源ip位址和目的ip位址,源埠號和目的埠號。因此如果兩個udp報文有不同的源ip位址或源埠號,但有相同的目的ip位址和目的埠號,這兩個報文將被傳送到不同的套接字
造成這種差異的原因是,tcp建立新連線的方式不同,它總是有乙個listen_fd來接收新連線,而udp不用
運輸層多路復用與多路分解
我們現在來看這樣乙個案例,張三家很有錢,川普是張三家的老管家。張三有兩個兒子,大三和二三,乙個女兒,姍姍。李四也是富豪,李四的管家叫巴馬,李四也有兩個兒子乙個女兒。大李,二李,和莉莉。現在兩家因為是親戚,所以子女間會有書信往來,大三,二三,莉莉寫完信以後,交給管家川普去封裝,寫上張三家的位址還有各自...
運輸層學習筆記二 多路復用與多路分解
多路分解 將運輸層報文段中的資料交付到正確的套接字的工作 多路復用 在源主機從不同套接字中收集資料塊,並為每個資料塊封裝上首部資訊從而生成報文段,然後將報文段傳遞到網路層的工作 資料本身是進入到套接字。運輸層多路復用的要求 使用下面方式建立udp套接字時,運輸層自動為該套接字分配乙個埠號。clien...
計算機網路運輸層之多路復用與多路分解
一 什麼是多路復用和多路分解 為了說明這個問題,先來補充一下 作業系統方面的知識,以linux對檔案和裝置的管理和使用方式為例。為了方便資源的使用,提高機器的效能 利用率和穩定性等等原因,我們的計算機都有一層軟體叫做作業系統,它用於幫我們管理計算機可以使用的資源,當我們的程式要使用乙個資源的時候,可...