有關 TCP 與 UDP 協定

下列有關 TCP 與 UDP 協定的說明何者正確?
(A)TCP 與 UDP 都具有建立連線的功能 (B)TCP 與 UDP 都具有控制流量的功能
(C)TCP 與 UDP 都具有確認與傳送的功能 (D)UDP 的傳輸方式是送出後不理

答案:(D)

最近112年特種考試地方政府公務人員考試結束,總計報考人數3萬4412人,經試務處統計,到考率為62.75%,初估錄取率11.29%,感覺好像有比較好考了說。另外從民國113年起,這項考試將有重大變革,其一是刪除地方特考五等考試,相關職缺提列到初等考試取才;其二,地方特考三等及四等考試比照高普考,適度減少應試專業科目數,以減輕應考人負擔,聚焦核心職能選才。這項訊息給想要投入公職的朋友們知道一下。

接下來我們再來看看TCP 與 UDP 協定,以前在學網路的部份總是覺得很複雜,很多要記憶背誦的,到現在我還是覺得這樣,所以要能克服這類的考題,就只能多做練習多唸書了。

傳輸控制協定

傳輸控制協定(英語:Transmission Control Protocol,縮寫:TCP)是一種連接導向的、可靠的、基於位元組流的傳輸層通訊協定,由IETF的RFC 793定義。在簡化的電腦網路OSI模型中,它完成第四層傳輸層所指定的功能。TCP相較於UDP,額外做了錯誤控制、流量控制等,所以會花較多的時間去做控制。

TCP 協定的功用

TCP 協定是屬於網路 OSI 模型中傳輸層 (Transport Layer) 的協定,其主要功用如下:

建立連線

在發送端和接收端之間建立 TCP 連線 (Connection) 。就像我們在撥電話時,必須等到對方拿起話筒接聽,才算連線成功;而 TCP 連線則是藉由發送端送出 TCP 封包,要求與接收端建立連線,俟接收端回覆 OK,才是成功建立 TCP 連線,接著開始傳送資料。在建立連線的過程中,收發雙方會協調、交換必要的通訊參數,以維持穩定而有效率的資料傳輸。

控制流量

控制流量猶如交通指揮,當前方路口塞車時,就要暫停後方的車流繼續湧入,以避免情形更惡化。同理,當接收端來不及消化收到的資料時,就以 TCP封包通知發送端減緩或停止發送;直到有空處理時,再以另一種 TCP 封包告知發送端恢復正常傳送。

確認與重送

接收端對於收到的所有資料,都會以 TCP 封包回覆發送端:『我已經收到X 號封包無誤!』,發送端收到該回覆後,便繼續送出下一筆資料;倘若發送端在等待特定的時間之後,沒有收到回覆,便認定接收端沒收到該資料,於是便重送一次相同的資料。整個傳輸過程便是透過不斷的 『確認(Acknowledge) 』 與 『重送 (Retransmit)』,以確保所有的資料順利到達接收端。

使用者資料包協定

使用者資料包協定(英語:User Datagram Protocol,縮寫:UDP;又稱使用者資料包協定)是一個簡單的面向資料包的通訊協定,位於OSI模型的傳輸層。該協定由David P. Reed在1980年設計且在RFC 768中被規範。典型網路上的眾多使用UDP協定的關鍵應用在一定程度上是相似的。使用者資料包協定(UDP)是同一層內另一個重要的傳輸協定。它透過在資料傳輸之前不正式建立連線來加速通訊。這使得資料可以非常快速地傳輸,但也可能導致封包在傳輸過程中丟失——並為 DDoS 攻擊形式的漏洞利用創造機會。UDP在傳輸資料前不用事先與接收端做HandShake,也沒做錯誤控制、流量控制,因此傳輸效率較佳,但相對傳輸可靠性就會比較差。

UDP 的功能比 TCP 簡單得多,打個比方來說,TCP 像是『寄掛號信』,一旦對方簽收,我們就能確定對方收到信;而UDP 像是『寄平信』,我們只能確認信件的確投入郵筒,卻不能確定對方一定能收到。

整體來說,UDP 沒有『建立連線』、『控制流量』和『確認與傳送』這些功能,它的傳輸方式就是單純地『送出後不理』。乍看之下,UDP 似乎不實用,不過也正因為它的功能單純,所以傳輸效率相對較高,在程式撰寫上比較簡單,在某些場合還是蠻適合使用,例如:利用 DNS 服務解析網址時。

TCP 是一種連接導向的協定,具有保證資料傳送的完整性、順序和可靠性的功能。TCP 通過檢查資料是否已正確接收,以確保傳送的資料的完整性。UDP是一種無連接的協定,主要用於即時應用,例如音訊和視訊流。UDP 不保證資料的完整性、順序和可靠性,因此它的傳送速度比 TCP 更快。

下圖是大陸一個網站的圖解TCP、UDP,流量控制、壅塞控制控制圖:

這一題的說明很感謝Google到徐培倫老師的計算機概論的簡報裡有這些說明,我們終於做完了這一題。

感謝你看到這裡,很快就可以離開了,但最好的獎勵行動就是按一下幫我分享或留言,感恩喔~

點我分享到Facebook

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *