面向連線的tcp「面向連線」就是在正式通訊前必須要與對方建立起連線。比如你給別人打**,必須等線路接通了、對方拿起話筒才能相互通話。
tcp(transmission control protocol,傳輸控制協議)是基於連線的協議,也就是說,在正式收發資料前,必須和對方建立可靠的連線。乙個tcp連線必須要經過三次「對話」才能建立起來,其中的過程非常複雜,我們這裡只做簡單、形象的介紹,你只要做到能夠理解這個過程即可。我們來看看這三次對話的簡單過程:主機a向主機b發出連線請求資料報:「我想給你發資料,可以嗎?」,這是第一次對話;主機b向主機a傳送同意連線和要求同步(同步就是兩台主機乙個在傳送,乙個在接收,協調工作)的資料報:「可以,你什麼時候發?」,這是第二次對話;主機a再發出乙個資料報確認主機b的要求同步:「我現在就發,你接著吧!」,這是第三次對話。三次「對話」的目的是使資料報的傳送和接收同步,經過三次「對話」之後,主機a才向主機b正式傳送資料。
tcp協議能為應用程式提供可靠的通訊連線,使一台計算機發出的位元組流無差錯地發往網路上的其他計算機,對可靠性要求高的資料通訊系統往往使用tcp協議傳輸資料。
面向非連線的udp協議
「面向非連線」就是在正式通訊前不必與對方先建立連線,不管對方狀態就直接傳送。這與現在風行的手機簡訊非常相似:你在發簡訊的時候,只需要輸入對方手機號就ok了。
udp(user data protocol,使用者資料報協議)是與tcp相對應的協議。它是面向非連線的協議,它不與對方建立連線,而是直接就把資料報傳送過去!
udp適用於一次只傳送少量資料、對可靠性要求不高的應用環境。比如,我們經常使用「ping」命令來測試兩台主機之間tcp/ip通訊是否正常,其實「ping」命令的原理就是向對方主機傳送udp資料報,然後對方主機確認收到資料報,如果資料報是否到達的訊息及時反饋回來,那麼網路就是通的。例如,在預設狀態下,一次「ping」操作傳送4個資料報(如圖2所示)。大家可以看到,傳送的資料報數量是4包,收到的也是4包(因為對方主機收到後會發回乙個確認收到的資料報)。這充分說明了udp協議是面向非連線的協議,沒有建立連線的過程。正因為udp協議沒有連線的過程,所以它的通訊效果高;但也正因為如此,它的可靠性不如tcp協議高。qq就使用udp發訊息,因此有時會出現收不到訊息的情況。
tcp協議和udp協議各有所長、各有所短,適用於不同要求的通訊環境。
計算機網路 TCP與UDP
1.tcp的三次握手過程?為什麼會採用三次握手,若採用二次握手可以嗎?建立連線的過程是利用客戶伺服器模式,假設主機a為客戶端,主機b為伺服器端。1 tcp的三次握手過程 主機a向b傳送連線請求 主機b對收到的主機a的報文段進行確認 主機a再次對主機b的確認進行確認。2 採用三次握手是為了防止失效的連...
計算機網路 TCP與UDP
tcp ip中有兩個具有代表性的傳輸層協議,它們分別是tcp與udp。tcp提供可靠地通訊傳輸。udp則常被用於讓廣播和細節控制交給應用的通訊傳輸。tcp ip的眾多應用協議大多以客戶端 服務端形式執行。客戶端是請求的發起端。服務端是表示提供服務的意思。服務端的程式必須提前啟動,準備接收客戶端的請求...
計算機網路 TCP與UDP
tcp釋放 四次揮手 tcp擁塞控制 1.從連線方面 tcp面向連線 call之前建立連線 udp無連線 2.可靠方面 tcp可靠交付 無差錯 不丟失不重複 按序到達 udp盡最大努力交付,不保證可靠 3.面向什麼 tcp面向位元組流,udp面向報文 4.連線方式 tcp點對點,udp支援一對 一 ...