TCP常見問題總結

TCP協議和UDP協議的區別是什么

TCP協議是有連接的,有連接的意思是開始傳輸實際數據之前TCP的客戶端和服務器端必須通過三次握手建立連接,會話結束之后也要結束連接。而UDP是無連接的

TCP協議保證數據按序發送,按序到達,提供超時重傳來保證可靠性,但是UDP不保證按序到達,甚至不保證到達,只是努力交付,即便是按序發送的序列,也不保證按序送到。

TCP協議所需資源多,TCP首部需20個字節(不算可選項),UDP首部字段只需8個字節。

TCP有流量控制和擁塞控制,UDP沒有,網絡擁堵不會影響發送端的發送速率

TCP是一對一的連接,而UDP則可以支持一對一,多對多,一對多的通信。

TCP面向的是字節流的服務,UDP面向的是報文的服

建立連接:三次握手

TCP常見問題總結 

關閉連接:四次揮手

TCP常見問題總結 

三次握手建立連接時,發送方再次發送確認的必要性?

要是為了防止已失效的連接請求報文段突然又傳到了B,因而產生錯誤。假定出現一種異常情況,即A發出的第一個連接請求報文段并沒有丟失,而是在某些網絡結 點長時間滯留了,一直延遲到連接釋放以后的某個時間才到達B,本來這是一個早已失效的報文段。但B收到此失效的連接請求報文段后,就誤認為是A又發出一次 新的連接請求,于是就向A發出確認報文段,同意建立連接。假定不采用三次握手,那么只要B發出確認,新的連接就建立了,這樣一直等待A發來數據,B的許多 資源就這樣白白浪費了。

四次揮手釋放連接時,等待2MSL的意義?

一,為了保證A發送的最有一個ACK報文段能夠到達B。這個ACK報文段有可能丟失,因而使處在LAST-ACK狀態的B收不到對已發送的FIN和ACK 報文段的確認。B會超時重傳這個FIN和ACK報文段,而A就能在2MSL時間內收到這個重傳的ACK+FIN報文段。接著A重傳一次確認。

第二,就是防止上面提到的已失效的連接請求報文段出現在本連接中,A在發送完最有一個ACK報文段后,再經過2MSL,就可以使本連接持續的時間內所產生的所有報文段都從網絡中消失。

 

原創文章,作者:15893442518,如若轉載,請注明出處:http://www.www58058.com/85879

(2)
1589344251815893442518
上一篇 2017-09-02
下一篇 2017-09-02

相關推薦

  • HA專題: 使用pacemaker+corosync實現MySQL高可用

    HA專題: 使用pacemaker+corosync實現MySQL高可用 前言 實驗拓撲 實驗環境 實驗步驟 準備工作 安裝HA組件并配置 配置NFS 配置MySQL 配置HA資源 測試 總結 前言 上篇文章我們介紹了使用pacemkaer+corosync實現簡單的nginx高可用, 這篇文章我們介紹如何使用pacemaker+corosync實現MySQ…

    Linux干貨 2016-04-11
  • linux文件權限

    一、前言 在linux中,每個目錄或者文件都有相對應的權限,linux通過文件屬主(user),文件屬組(group),其它人(order)對一個文件或者目錄控制讀寫執行權限,當然在這些基本權限之外還有特殊權限,facl(file access control list)等。 二、文件基本權限    2.1:屬主、屬組、order概念 &…

    Linux干貨 2015-08-17
  • LVM基礎

    邏輯卷的原理 邏輯卷的組成上包括物理卷,邏輯組,邏輯卷 物理卷即是磁盤分區或者塊設備經過轉換以后形成的抽象的邏輯設備 邏輯組即是將物理卷進行統一打包,合成一個更大的邏輯上的分區 邏輯卷是在邏輯組的基礎上細分的課動態調節的虛擬磁盤分 其工作原理是通過某種機制將物理上的塊設備或者分區抽象的進行封裝,然后以邏輯卷的方式統一呈現給 上層的應用 邏輯卷的操作 一:創建…

    2017-05-01
  • 文件管理命令及通配符練習

    1.Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例 按增刪改查的思路來 增: touch filename:這個命令本身不是用來新建文件的,它是用來修改文件的時間屬性,不過默認情況時當filename不存在時,它會默認建立一個空文件 mkdir: 常用參數 -p:相當于遞歸創建目錄 -v:顯示出創建過程中的信息 cp : 常用參數 -r:…

    Linux干貨 2016-11-06
  • ldirectord 結合ipvsadm 配置nat,dr模型

    ldirectord 結合ipvsadm 配置nat,dr模型  一、nat模型 1、 drector # wget ftp://172.16.0.1/pub/Sources/7.x86_64/crmsh/ldirectord-3.9.6-0rc1.1.1.x86_64.rpm # yum -y install nginx (同…

    Linux干貨 2016-11-24
  • 軟鏈接,硬鏈接區別

    軟硬鏈接涉及文件系統inode, 區分于inode號,硬鏈接inode號與鏈接文件相同,且創建鏈接不占空間.而軟鏈接占名稱字節個空間,且inode號與鏈接文件不同; 兩者查找inode號命令都可查找inode號,命令為ls -i,如需查找本目錄要加d; 在創建鏈接環境上,硬鏈接只能在同分區創建一個,不能跨分區創建;而軟鏈接可以跨分區創建多個鏈接文件且可以多個…

    Linux干貨 2016-10-20
欧美性久久久久