tcp擁塞控制常用算法 UDP和TCP的socket一般分別用在什么地方?
UDP和TCP的socket一般分別用在什么地方?套接字是一種常見的網絡通信。它不是一個具體的對象,也不是像http那樣的通信協(xié)議。你可以把它想象成一組基于TCP和UDP通信協(xié)議的接口。Socket實
UDP和TCP的socket一般分別用在什么地方?
套接字是一種常見的網絡通信。它不是一個具體的對象,也不是像http那樣的通信協(xié)議。你可以把它想象成一組基于TCP和UDP通信協(xié)議的接口。Socket實際上是一種門面模式,將復雜的TCP/IP協(xié)議族隱藏在Socket接口后面。對于用戶來說,一組簡單的接口就足夠了,這樣Socket就可以組織數據來滿足指定的協(xié)議。
Socket的基本概念在了解Socket之前,需要對計算機通信的分層有一個大概的了解。我贏了。;不要在這里談論它。我來和大家分享一張好圖:
上圖詳細描述了基本的整體計算機通信的分層結構,我不知道。;我對它了解不多。我們只看我們關心的TCP/IP,它的分層簡化圖如下:
很好的理解Socket,在理解了基本的層次機制之后,讓 現(xiàn)在我們明白什么是插座了。我這里有一個很生動的例子可以幫助我們很好的理解Socket,這是我在學習Socket編程的時候認識到的,那就是logistics。
我們要傳輸的數據是物流中的貨物,ip是發(fā)貨人和收貨人的。那么什么是Socket呢?想一想這個交付過程中缺少了什么?對,物流公司,對吧?物流公司就是插座,負責幫你做送貨的瑣事,比如你的貨物怎么包裝,易碎品怎么防止摔壞,怎么運輸等等。如果海外貨物涉及報關等一系列復雜瑣碎的事情,這些物流公司(插座)幫你處理。示意圖如下:
了解TCP和UDP的區(qū)別,三次握手和四波,然后讓 讓我們來談談TCP和UDP的區(qū)別。前面說過,Socket相當于一個物流公司,那么TCP協(xié)議就相當于:假設你是發(fā)貨人,你要給你的朋友發(fā)一個禮物,你要先去物流公司發(fā),這樣你就可以在物流公司建立一個東西(Socket實例)。那么物流公司有兩種服務模式供你選擇(TCP和UDP)。
讓 讓我們先來談談TCP。TCP是一種保守的協(xié)議。物流公司說,我必須確保你的朋友會收到這個禮物,否則它贏了。;別寄了。于是物流公司回去聯(lián)系你朋友。那么聯(lián)系內容大致如下:
物流:你好,我有你朋友給你的禮物。你接受嗎?
你朋友:好,好。什么時候發(fā),要多久?
物流:現(xiàn)在寄,大概12個小時到。
然后物流就開始發(fā)貨了,會給你一個物流單號,這個物流單號是給你和你朋友的這個貨物的發(fā)貨和收貨憑證。這就是所謂的三次握手。示意圖:
物流發(fā)出后,你會聯(lián)系你的朋友。大致對話如下:
物流:您好,貨物已經送到了。發(fā)送,請注意查收
你的朋友:好的。
貨送到了,你朋友:好的,收到貨就可以結案了。
物流:好的,我結案了。
這就是所謂的四浪(拜拜);
(注:三次握手揮四次,根據您建立Socket時選擇的協(xié)議確定)。
這樣很麻煩嗎?估計順豐有這個服務,但是其他大部分公司還是沒有 我沒有這么貼心的服務。它們可能是UDP協(xié)議。
UDP相對簡單。當你用插座發(fā)送貨物時,物流公司不。;我不在乎你的朋友是否能和你聯(lián)系。它只負責送你的貨,完成它。沒有必要通知你的朋友,你和你的朋友不要。;不需要連接。這叫沒有聯(lián)系。
兩種協(xié)議的區(qū)別和應用UDP常用于一次傳輸相對少量數據的網絡應用,UDP也常用于多媒體應用(如IP、實時視頻會議、流媒體等。).顯然,可靠的數據傳輸對于這些應用來說并不是最重要的,但是TCP的擁塞控制會導致數據出現(xiàn)較大的延遲,這是他們所不能容忍的。我們最熟悉的視頻通話,大部分都在使用UDP協(xié)議。
TCP是面向連接的,即在發(fā)送數據之前需要建立一個連接,TCP有擁塞機制。當前部分數據還沒有收到,后面部分數據會被阻塞,直到第一部分數據傳送OK,所以通過TCP連接傳輸的數據是無錯、不丟失、不重復、按順序到達的;TCP協(xié)議需要用在對數據完整性和安全性要求較高的場景,比如發(fā)送重要的辦公文檔和圖片,會影響數據質量。
tcp/ip協(xié)議簇中傳輸層采用的是?
tcp/ip協(xié)議族中傳輸層使用的主要協(xié)議是面向連接的傳輸控制協(xié)議tcp和無連接用戶數據報協(xié)議UDP。
UDP的主要特點:
(1)UDP是無連接的,發(fā)送數據前不需要建立連接。
(2)UDP使用最大努力來傳送,并且不保證可靠的傳送。
(3)UDP是面向消息的。UDP會在應用層傳遞的消息中添加一個報頭,然后直接傳遞給網絡層。
(4)UDP沒有擁塞控制,所以網絡擁塞不會降低源主機的發(fā)送速率,這一點對于一些實時應用非常重要。
(5)UDP支持一對一、一對多、多對一、多對多的交互通信。
(6)6)UDP的報頭開銷很小,只有8個字節(jié)。