91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

一文看懂IP、UDP和TCP三者的關系

發布時間:2020-08-12 14:10:21 來源:ITPUB博客 閱讀:205 作者:安全劍客 欄目:互聯網科技
互聯網,實際上是一套理念和協議組成的體系架構。其中,協議是一套眾所周知的規則和標準,如果各方都同意使用,那么它們之間的通信將變得毫無障礙。

互聯網,實際上是一套理念和協議組成的體系架構。其中,協議是一套眾所周知的規則和標準,如果各方都同意使用,那么它們之間的通信將變得毫無障礙。

一文看懂IP、UDP和TCP三者的關系

IP:把數據包送達目的主機

數據包要在互聯網上進行傳輸,就要符合網際協議(IP)標準,互聯網上不同的在線設備都有唯一的地址,地址只是一個數字,這和大部分家庭收件地址類似,你只需要知道一個家庭的具體地址,就可以往這個地址發送包裹,這樣物流系統就能把物品送到目的地。

計算機的地址就稱為 IP 地址,訪問任何網站實際上只是你的計算機向另外一臺計算機請求信息。

如果要想把一個數據主機 A 發送給主機 B,那么在傳輸之前,數據包上會被附加上主機 B 的 IP 地址信息,這樣在傳輸過程中才能正確尋址。額外地,數據包上還會附加上主機 A 本身的 IP 地址,有了這些信息主機 B 才可以回復信息給主機 A。這些附加的信息會被裝進一個叫 IP 頭的數據結構里。IP 頭是 IP 數據包開頭的信息,包含 IP 版本、源 IP 地址、目標 IP 地址、生存時間等信息。

一文看懂IP、UDP和TCP三者的關系

簡化的 UDP 網絡三層傳輸模型

UDP:把數據包送達應用程序

IP 是非常底層的協議,只負責把數據包傳送到對方電腦,但是對方電腦并不知道把數據包交給哪個程序,是交給瀏覽器還是交給王者榮耀?因此,需要基于 IP 之上開發能和應用打交道的協議,最常見的是“用戶數據包協議(User Datagram Protocol)”,簡稱UDP。

UDP 中一個最重要的信息是端口號,端口號其實就是一個數字,每個想訪問網絡的程序都需要綁定一個端口號。通過端口號 UDP 就能把指定的數據包發送給指定的程序了,所以IP 通過 IP 地址信息把數據包發送給指定的電腦,而 UDP 通過端口號把數據包分發給正確的程序。和 IP 頭一樣,端口號會被裝進 UDP 頭里面,UDP 頭再和原始數據包合并組成新的 UDP 數據包。UDP 頭中除了目的端口,還有源端口號等信息。

一文看懂IP、UDP和TCP三者的關系

簡化的 UDP 網絡四層傳輸模型

UDP 不能保證數據可靠性,但是傳輸速度卻非常快,所以 UDP 會應用在一些關注速度、但不那么嚴格要求數據完整性的領域,如在線視頻、互動游戲等。

TCP:把數據完整地送達應用程序

對于瀏覽器請求,或者郵件這類要求數據傳輸可靠性(reliability)的應用,如果使用 UDP 來傳輸會存在兩個問題:

  • 數據包在傳輸過程中容易丟失;
  • 大文件會被拆分成很多小的數據包來傳輸,這些小的數據包會經過不同的路由,并在不同的時間到達接收端,而 UDP 協議并不知道如何組裝這些數據包,從而把這些數據包還原成完整的文件。

基于這兩個問題,我們引入 TCP 了。TCP(Transmission Control Protocol,傳輸控制協議)是一種面向連接的、可靠的、基于字節流的傳輸層通信協議。相對于 UDP,TCP 有下面兩個特點:

  • 對于數據包丟失的情況,TCP 提供重傳機制;
  • TCP 引入了數據包排序機制,用來保證把亂序的數據包組合成一個完整的文件。

和 UDP 頭一樣,TCP 頭除了包含了目標端口和本機端口號外,還提供了用于排序的序列號,以便接收端通過序號來重排數據包。

一文看懂IP、UDP和TCP三者的關系

簡化的 TCP 網絡四層傳輸模型

下面我們再看下完整的 TCP 連接過程,通過這個過程你可以明白 TCP 是如何保證重傳機制和數據包的排序功能的。

一文看懂IP、UDP和TCP三者的關系

一個TCP連接的生命周期

從上圖可以看出,一個完整的 TCP 連接的生命周期包括了建立連接、傳輸數據、關閉連接三個階段。

  • 首先,建立連接階段。這個階段是通過“三次握手”來建立客戶端和服務器之間的連接。TCP 提供面向連接的通信傳輸。面向連接是指在數據通信開始之前先做好兩端之間的準備工作。所謂三次握手,是指在建立一個 TCP 連接時,客戶端和服務器總共要發送三個數據包以確認連接的建立。
  • 其次,傳輸數據階段。在該階段,接收端需要對每個數據包進行確認操作,也就是接收端在接收到數據包之后,需要發送確認數據包給發送端。所以當發送端發送了一個數據包之后,在規定時間內沒有接收到接收端反饋的確認消息,則判斷為數據包丟失,并觸發發送端的重發機制。同樣,一個大的文件在傳輸過程中會被拆分成很多小的數據包,這些數據包到達接收端后,接收端會按照 TCP 頭中的序號為其排序,從而保證組成完整的數據。
  • 最后,斷開連接階段。數據傳輸完畢之后,就要終止連接了,涉及到最后一個階段“四次揮手”來保證雙方都能斷開連接。

TCP 為了保證數據傳輸的可靠性,犧牲了數據包的傳輸速度,因為“三次握手”和“數據包校驗機制”等把傳輸過程中的數據包的數量提高了一倍。

原文地址: https://www.linuxprobe.com/ip-tcp-udp.html

向AI問一下細節
推薦閱讀:
  1. UDP-TCP
  2. TCP與UDP

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

惠州市| 全椒县| 固原市| 鄂托克旗| 项城市| 东乡县| 黄浦区| 凤台县| 木兰县| 台北县| 井研县| 巴林左旗| 昭苏县| 汉寿县| 延吉市| 玛纳斯县| 德州市| 万山特区| 新源县| 高邮市| 达州市| 岚皋县| 吴忠市| 抚松县| 明水县| 安图县| 保定市| 化德县| 浦县| 长武县| 金门县| 龙里县| 仁寿县| 勃利县| 凉山| 苍梧县| 章丘市| 封开县| 灯塔市| 富顺县| 沈阳市|