日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1万字30张图说清TCP协议

發布時間:2023/12/20 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1万字30张图说清TCP协议 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本篇文章較長,大家先看下目錄

1、簡介

2、TCP協議頭

3、TCP 數據包的編號(SEQ)

4、三次握手建立連接

5、四次揮手斷開連接

6、TCP可靠性的保證

7、滑動窗口技術

9、窗口滑動的數據重發

9、TCP 流控制

10、網線“斷”了怎么辦

01

簡介

TCP(Transmission Control Protocol 傳輸控制協議)是一種基于IP的傳輸層協議,TCP協議面向連接、正面確認與重傳、緩沖機制、流量控制、差錯控制、擁塞控制,可保證高可靠性(數據無丟失、數據無失序、數據無錯誤、數據無重復到達)傳輸層協議。

上圖形象展示了TCP協議是基于IP協議的傳輸層協議,對于IP協議的詳解,請看《IP協議詳解》。

02

TCP協議頭

TCP協議頭數據個數如下:

端口號[16bit]

我們知道,網絡實現的是不同主機的進程間通信。在一個操作系統中,有很多進程,當數據到來時要提交給哪個進程進行處理呢?這就需要用到端口號。在TCP頭中,有源端口號(SourcePort)和目標端口號(DestinationPort)。源端口號標識了發送主機的進程,目標端口號標識接受方主機的進程。端口是由互聯網分配號碼管理局(IANA)分配的,具體請看《UDP協議詳解》。

序號[32bit]

序號分為發送序號(SequenceNumber)和確認序號(AcknowledgmentNumber)。

發送序號:用來標識從TCP源端向TCP目的端發送的數據字節流,它表示在這個報文段中的第一個數據字節的順序號。如果將字節流看作在兩個應用程序間的單向流動,則?TCP用順序號對每個字節進行計數。序號是32bit的無符號數,序號到達2∧32-?1后又從?0開始。當建立一個新的連接時,SYN標志變1,順序號字段包含由這個主機選擇的該連接的初始順序號ISN(Initial Sequence Number)。

確認序號:包含發送確認的一端所期望收到的下一個順序號。因此,確認序號應當是上次已成功收到數據字節順序號加?1。只有ACK標志為1時確認序號字段才有效。TCP為應用層提供全雙工服務,這意味數據能在兩個方向上獨立地進行傳輸。因此,連接的每一端必須保持每個方向上的傳輸數據順序號。

在wireshark的抓包文件中,Seq表示發送序列號,Ack表示確認序列號。

偏移[4bit]

這里的偏移實際指的是TCP首部的長度,它用來表明TCP首部中32bit字的數目,通過它可以知道一個TCP包它的用戶數據是從哪里開始的。這個字段占4bit,如4bit的值是0101,則說明TCP首部長度是5* 4 = 20字節。所以TCP的首部長度最大為15* 4 = 60字節。然而沒有可選字段,正常長度為20字節。

Reserved [3bit]

目前沒有使用,它的值都為0。注意:在比較舊的資料中顯示6bit的保留字節,因為新的TCP協議使用了3個位作為標志,所以只剩下3個保留位。

標志[9bit]

上面說到增加了3位作標志位,增加的是:

NS: "nonce sum"簡寫。隨機和,該標簽用來保護不受發送者發送的突發的惡意隱藏報文的侵害。

CWR: "Congestion WindowReduced"簡寫。擁塞窗口減,發送方降低它的發送速率,發送者在接收到一個帶有ECEflag包時,將會使用CWRflag。

ECE: "ECN-Echo"簡寫。ECN表示ExplicitCongestion Notification(顯式擁塞通知),發送方接收到了一個更早的擁塞通告。表示TCPpeer有ECN能力。

其他6個標志位

URG: "urgent"簡寫。通知接收端處理在處理其他包前優先處理接收到的緊急報文(urgentpackets),緊急指針(urgentpointer)有效。

ACK: "Acknowledgment"簡寫。表示包已經被成功接收,確認序號有效。

PSH: "push"簡寫。通知接收端處理接收的報文,而不是將報文緩存到buffer中。

RST:"reset"簡寫。重置連接標志,用于重置由于主機崩潰或其他原因而出現錯誤的連接。復位通訊請求,一般表示斷開一個連接。我們把含有RST標識的報文稱為復位報文段。

SYN:"Synchronisation"簡寫。表示三次握手建立連接的第一步,在建立連接時發送者發送的第一個包中設置flag值為SYN。我們把含有SYN標識的報文稱為同步報文段。

FIN: "finished"簡寫。表示發送者以及發送完數據,通常用在發送者通知對端,本端即將關閉。我們把含有FIN標識的報文稱為結束報文段

注意:他們中的多個可同時被置為1。

窗口大小(window)[16bit]

指的是接收窗口,窗口的大小,表示源方法最多能接受的字節數。

校驗和[16bit]

校驗和覆蓋了整個的TCP報文段:TCP首部和TCP數據。這是一個強制性的字段,一定是由發端計算和存儲,并由收端進行驗證。

緊急指針[16bit]

只有當URG標志置為1時緊急指針才有效。緊急指針是一個正的偏移量,和序號字段中的值相加表示緊急數據最后一個字節的序號。TCP的緊急方式是發送端向另一端發送緊急數據的一種方式。

TCP選項

長度不定,但長度必須是32bits的整數倍。TCP頭部的最后一個選項字段(options)是可變長的可選信息。這部分最多包含40字節,因為TCP頭部最長是60字節(其中還包含前面討論的20字節的固定部分)。典型的TCP選項頭部結構如圖所示。

  • 選項的第一個字段kind說明選項的類型,有的TCP選項沒有后面兩個字段,僅包含1字節的kind字段。

  • 第二個字段length(如果有的話)指定該選項的總長度,該長度包括kind字段和length字段占據的2字節。

  • 第三個字段info(如果有的話)是選項的具體信息。

  • 常見的TCP選項有7種,如圖所示

    1、kind=0,選項表結束(EOP)選項

    一個報文段僅用一次。放在末尾用于填充,用途是說明:首部已經沒有更多的消息,應用數據在下一個32位字開始處。

    2、kind=1,空操作(NOP)選項

    沒有特殊含義,一般用于將TCP選項的總長度填充為4字節的整數倍。

    3、kind=2,最大報文段長度(MSS)選項

    TCP連接初始化時,通信雙方使用該選項來協商最大報文段長度。TCP模塊通常將MSS設置為(MTU-40)字節(減掉的這40字節包括20字節的TCP頭部和20字節的IP頭部)。這樣攜帶TCP報文段的IP數據報的長度就不會超過MTU(假設TCP頭部和IP頭部都不包含選項字段,并且這也是一般情況),從而避免本機發生IP分片。對以太網而言,MSS值是1460(1500-40)字節。

    4、kind=3,窗口擴大因子選項

    TCP連接初始化時,通信雙方使用該選項來協商接收窗口的擴大因子。在TCP的頭部中,接收窗口大小是用16位表示的,故最大為65535字節,但實際上TCP模塊允許的接收窗口大小遠不止這個數(為了提高TCP通信的吞吐量)。窗口擴大因子解決了這個問題。

    假設TCP頭部中的接收通告窗口大小是N,窗口擴大因子(移位數)是M,那么TCP報文段的實際接收通告窗口大小是N*(2^M),或者說N左移M位。注意,M的取值范圍是0~14。我們可以通過修改/proc/sys/net/ipv4/tcp_window_scaling內核變量來啟用或關閉窗口擴大因子選項。

    和MSS選項一樣,窗口擴大因子選項只能出現在同步報文段中,否則將被忽略。但同步報文段本身不執行窗口擴大操作,即同步報文段頭部的接收窗口大小就是該TCP報文段的實際接收窗口大小。當連接建立好之后,每個數據傳輸方向的窗口擴大因子就固定不變了。

    5、kind=4,選擇性確認(SelectiveAcknowledgment,SACK)選項

    TCP通信時,如果某個TCP報文段丟失,則TCP會重傳最后被確認的TCP報文段后續的所有報文段,這樣原先已經正確傳輸的TCP報文段也可能重復發送,從而降低了TCP性能。SACK技術正是為改善這種情況而產生的,它使TCP只重新發送丟失的TCP報文段,而不用發送所有未被確認的TCP報文段。選擇性確認選項用在連接初始化時,表示是否支持SACK技術。我們可以通過修改/proc/sys/net/ipv4/tcp_sack 內核變量來啟用或關閉選擇性確認選項。

    6、kind=5,SACK實際工作的選項

    該選項的參數告訴發送方本端已經收到并緩存的不連續的數據塊,從而讓發送端可以據此檢查并重發丟失的數據塊。每個塊邊沿(edgeofblock)參數包含一個4字節的序號。其中塊左邊沿表示不連續塊的第一個數據的序號,而塊右邊沿則表示不連續塊的最后一個數據的序號的下一個序號。這樣一對參數(塊左邊沿和塊右邊沿)之間的數據是沒有收到的。因為一個塊信息占用8字節,所以TCP頭部選項中實際上最多可以包含4個這樣的不連續數據塊(考慮選項類型和長度占用的2字節)。

    7、kind=8,時間戳選項。

    該選項提供了較為準確的計算通信雙方之間的回路時間(RoundTrip Time,RTT)的方法,從而為TCP流量控制提供重要信息。我們可以通過修改/proc/sys/net/ipv4/tcp_timestamps內核變量來啟用或關閉時間戳選項。

    以SYN的TCP選項的MSS為例的wireshark分析,其他的大家可以自行分析。

    整個TCP協議頭部的wireshark解析。

    03

    TCP數據包的編號(SEQ)

    一個包1400字節,那么一次性發送大量數據,就必須分成多個包。比如,一個10MB 的文件,需要發送7100多個包。

    發送的時候,TCP協議為每個包編號(sequencenumber,簡稱SEQ),以便接收的一方按照順序還原。萬一發生丟包,也可以知道丟失的是哪一個包。

    第一個包的編號是一個隨機數。為了便于理解,這里就把它稱為1號包。假定這個包的負載長度是100字節,那么可以推算出下一個包的編號應該是101。這就是說,每個數據包都可以得到兩個編號:自身的編號,以及下一個包的編號。接收方由此知道,應該按照什么順序將它們還原成原始文件。

    這里的編號就是TCP頭中的確認號。wireshark顯示的Seq和Ack是wireshark重新編號的。

    數據包1:發送序號:532420307(1),確認序號:2978637660(1)。數據包長6

    數據包2:發送序號:2978637660(1),確認序號:532420313(7)。

    備注:括號里是wireshark的編號。

    可以發現:

    數據包2的發送序號是數據包1的確認序號。

    數據包2的確認序號是數據包1的發送序號+6,也就是加上數據包長。

    符合上面的文字描述。

    04

    三次握手建立連接

    三次握手建立連接過程:

    a.請求端(通常稱為客戶)發送一個SYN段指明客戶打算連接的服務器的端口,以及初始序號(ISN,在這個例子中為1415531521)。這個SYN段為報文段1。

    b.服務器發回包含服務器的初始序號的SYN報文段(報文段2)作為應答。同時,將確認序號設置為客戶的ISN加1以對客戶的SYN報文段進行確認。一個SYN將占用一個序號。

    c.客戶必須將確認序號設置為服務器的ISN加1以對服務器的SYN報文段進行確認(報文段3)。

    這三個報文段完成連接的建立。這個過程也稱為三次握手(three-wayhandshake)。

    用wirshark抓包如下:

    可以看到三次握手確定了雙方間包的序號、最大接受數據的大小(window)以及MSS(MaximumSegment Size)。

    MSS = MTU - IP頭-TCP頭,MTU表示最大傳輸單元,我們在IP頭分析的時候會講到,它一般為1500個字節。IP頭和TCP頭部帶可選選項的時候都是20個字節。這樣的話MSS=1500- 20 -20 = 1460。

    MSS限制了TCP包攜帶數據的大小,它的意思就是當應用層向傳輸層提交數據通過TCP協議進行傳輸時,如果應用層的數據大于MSS就必須分段,分成多個段,逐個的發過去。這部分內容是不是IP分片,不要和IP分片混淆了,IP分片是IP協議層的數據報分片,這是TCP的分片,IP協議分片詳細請看《IP協議詳解》。

    我們wireshar抓包顯示MSS都是1460,這樣顯示不出來握手的協商機制。假設客戶端的MSS是4312,服務器的MSS是1460,那么握手過程中的協商可以下圖形象表示。

    其中,第1 次和第2 次握手包的TCP 首部包含MSS 選項,互相通知對方網絡接口能夠適應的MSS 的大小,然后雙方會使用較小的MSS 值進行傳輸。

    前面講解TCP頭中flg中就有SYN標志,在wireshark抓包中也有顯示。

    讀到這里,好像一切順理成章,決定既然互聯網“先驅”定義了三次握手建立,那么就是三次握手建立連接。可有些人會有疑問,為什么兩次握手不能。

    比如A給B東西,

    A說:我要和你建立,你準備好了嗎?

    B說:好的,我準備好了。

    A直接把東西給B。

    這樣的邏輯在生活中好像一點毛病也沒有,但其實這樣是不行,3次握手完成兩個重要的功能,既要雙方做好發送數據的準備工作(雙方都知道彼此已準備好),也要允許雙方就初始序列號進行協商,這個序列號在握手過程中被發送和確認。

    現在把三次握手改成僅需要兩次握手,死鎖是可能發生的。其實上面有個“坑”,那就是一開始我們限制了A給B東西,但實際的TCP通信中,連接建立了,可以客戶端主動和服務器通信,也可以服務器主動和客戶端通信,如果兩次握手,B收到A的握手申請,發送好的,我準備好了。這時候B在想,A如果收不到怎么辦,A到底有沒有收到啊,我(B)能不能向A發數據???

    所以需要三次握手。

    A說:我和你建立,你準備好了嗎?

    B說:好的,我準備好了。

    A說:我知道你準備好了(我也準備好了)。

    開始愉快的相互傳輸數據。

    05

    四次揮手斷開連接

    四次揮手斷開連接過程:

    a.現在的網絡通信都是基于socket實現的,當客戶端將自己的socket進行關閉時,內核協議棧會向服務器自動發送一個FIN置位的包,請求斷開連接。我們稱首先發起斷開請求的一方稱為主動斷開方。

    b.服務器端收到請客端的FIN斷開請求后,內核協議棧會立即發送一個ACK包作為應答,表示已經收到客戶端的請求。

    c.服務器運行一段時間后,關閉了自己的socket。這個時候內核協議棧會向客戶端發送一個FIN置位的包,請求斷開連接。

    d.客戶端收到服務端發來的FIN斷開請求后,會發送一個ACK做出應答,表示已經收到服務端的請求。

    用wirshar抓包分析如下:

    前面講解TCP頭中flg中就有FIN標志,在wireshark抓包中也有顯示。

    下圖類比四次揮手過程:

    這里有個問題,如果有同學自己wireshark抓包分析的話(我提供的wireshark文件第一次通信也是這種情況),會發現下面情況:

    怎么只有3次揮手,應用程序出問題了?wirshark自行”合并“了?為什么別人抓包就有四次揮手斷開?

    這跟Wireshark沒有關系,跟實現有關。四次揮手,都知道是客戶端和服務器之間交互的四個報文,FIN、ACK、FIN、ACK。但抓包來看,卻不是每次如教科書說的那樣。首先要搞明白這個FIN報文的真正用途,FIN報文用在本端沒有數據發送給對方時,關閉從本端到對端的連接。但是并不影響從對方到本端的連接,也就是說本端仍然可以接收對方的數據。即發送通道關閉,接收通道正常。如果對方收到本端FIN報文時,對方的接收通道就會關閉。此時,如果對方也沒有數據發給本端,那么對方也會發送FIN給本端,用于關閉從對方到本端的連接,這時候就可能出現ACK和FIN合在一起的情況。當然,如果對方仍然有數據發送,那么就等數據發完,再發FIN來關閉連接,這時候就是四次揮手了。因此,四次揮手變成三次,跟wireshark沒關系,跟數據的收發雙方才有關系,從這也能看出tcp是雙工通信了。現在的很多的實現都是合并在一起,三個過程,主要是為了效率和安全。

    TCP 連接必須經過時間2MSL 后才真正釋放掉(2MSL的時間的用意?---?為了保證A 發送的最后一個ACK 報文段能夠到達B.防止“已失效的連接請求報文段”出現在本連接中.A在發送完最后一個ACK 報文段后,再經過時間2MSL,就可以使本連接持續的時間內所產生的所有報文段,都從網絡中消失.這樣就可以使下一個新的連接中不會出現這種舊的連接請求報文段)。

    06

    TCP可靠性的保證

    TCP采用一種名為“帶重傳功能的肯定確認(positiveacknowledge withretransmission)”的技術作為提供可靠數據傳輸服務的基礎。這項技術要求接收方收到數據之后向源站回送確認信息ACK。發送方對發出的每個分組都保存一份記錄,在發送下一個分組之前等待確認信息。發送方還在送出分組的同時啟動一個定時器,并在定時器的定時期滿而確認信息還沒有到達的情況下,重發剛才發出的分組。

    下圖a表示帶重傳功能的肯定確認協議傳輸數據的情況,下圖a表示分組丟失引起超時和重傳。為了避免由于網絡延遲引起遲到的確認和重復的確認,協議規定在確認信息中稍帶一個分組的序號,使接收方能正確將分組與確認關聯起來。

    下圖a可以看出,雖然網絡具有同時進行雙向通信的能力,但由于在接到前一個分組的確認信息之前必須推遲下一個分組的發送,簡單的肯定確認協議浪費了大量寶貴的網絡帶寬。為此,?TCP使用滑動窗口的機制來提高網絡吞吐量,同時解決端到端的流量控制。

    07

    滑動窗口技術

    TCP的滑動窗口主要有兩個作用,一是提供TCP的可靠性,二是提供TCP的流控特性。同時滑動窗口機制還體現了TCP面向字節流的設計思路。

    TCP的Window是一個16bit位字段,它代表的是窗口的字節容量,也就是TCP的標準窗口最大為2^16-1=65535個字節。另外在TCP的選項字段中還包含了一個TCP窗口擴大因子,option-kind為3,詳細請看上文。

    滑動窗口技術是簡單的帶重傳的肯定確認機制的一個更復雜的變形,它允許發送方在等待一個確認信息之前可以發送多個分組。

    所以,TCP的滑動窗口的可靠性也是建立在“確認重傳”基礎上的。

    TCP 滑動窗口分為:發送窗口和接收窗口。

    發送方的發送緩存內的數據都可以被分為4類:

  • 已發送,已收到ACK

  • 已發送,未收到ACK

  • 未發送,但允許發送

  • 未發送,但不允許發送

  • 其中類型2和3都屬于發送窗口。

    接收方的緩存數據分為3類:

  • 已接收

  • 未接收但準備接收

  • 未接收而且不準備接收

  • 如下圖所示,發送方要發送一個分組序列,滑動窗口協議在分組序列中放置一個固定長度的窗口,然后將窗口內的所有分組都發送出去;當發送方收到對窗口內第一個分組的確認信息時,它可以向后滑動并發送下一個分組;隨著確認的不斷到達,窗口也在不斷的向后滑動。

    上面的解釋,對于不熟悉滑動窗口的同學,可能看不太明白。下面將詳細講述一下。

    上面講解三次握手建立連接時說到,握手過程中商議了MSS,也就是每一包的數據長度。抓包中也顯示的確是1460字節傳輸的。

    但是1460字節不是整數,不方便我們快速計算,下面講解將MSS假設為1000,這樣方面快速理解。

    在進行數據傳輸時,如果傳輸的數據比較大(大于1000),就需要拆分為多個數據包進行發送。TCP協議需要對數據進行確認后,才可以發送下一個數據包,

    從上圖中可以看到,發送端每發送一個數據包,都需要得到接收端的確認應答以后,才可以發送下一個數據包。這樣一來,就會在等待確認應答包環節浪費時間。為了避免這種情況,TCP引入了窗口概念。窗口大小指的是不需要等待確認應答包而可以繼續發送數據包的最大值。

    例如,窗口大小為3,數據包的傳輸如圖所示。

    從上圖中可以看到,發送端發送第一個數據包(1-1000),沒有等待對應的確認應答包,就繼續發送第二個數據包(1001-2000)和第三個包(2001-3000)。當收到第3個數據包的確認應答包時,會連續發送3個數據包(3001-4000,4001-5000,5001-6000)。當收到第6個數據包的確認應答包時,又會發送3個數據包(6001-7000,7001-8000,8001-9000)。

    以這種方式發送,就可以省去多個數據包(第1、2、4、5、7、8個)的確認應答包時間,從而避免了網絡的吞吐量的降低。

    這樣就引出了窗口的概念,窗口大小指的是可以發送數據包的最大數量。建議讀到這里,剛才對窗口不太理解的同學,向上翻翻,再理解一下滑動窗口的圖示。

    那么,此時窗口就通過滑動的方式,向后移動,確保下一次發送仍然可以發送窗口大小的數據包。這樣的發送方式被稱為滑動窗口機制。設置窗口大小為3,滑動窗口機制原理如圖所示。

    上圖中,每1000 個字節表示一個數據包。發送端同時發送了3個數據包(2001-5000),接收端響應的確認應答包為“下一個發送4001”,表示接收端成功響應了前兩個數據包,沒有響應最后一個數據包。此時,最后一個數據包要保留在窗口中。

    由于窗口大小為3,發送端除了最后一個包以外,還可以繼續發送下兩個數據包(5001-6000和6001-7000)。窗口滑動到7001 處。

    08

    窗口滑動的數據重發

    在進行數據包傳輸時,難免會出現數據丟失情況。這種情況一般分為兩種。

  • 第一種,如果未使用滑動窗口機制,發送的數據包沒有收到確認應答包,那么數據都會被重發;如果使用了滑動窗口機制,即使確認應答包丟失,也不會導致數據包重發。

  • 第二種,發送的數據包丟失,將導致數據包重發。

  • 下面詳細介紹使用滑動窗口機制的兩種情況。

    確認應答包丟失

    這種情況指的是前面發送的數據包沒有收到對應的確認應答。當收到后面數據包的確認應答包,表示前面的數據包已經成功被接收端接收了,發送端不需要重新發送前面的數據包了。如圖所示。

    下面分為5 部分對上圖進行講解。

    1) 發送端第1 次發送數據包:這里設置的窗口大小為3,可以最大發送3 個數據包。發送端同時發送3 個數據包1-1000、1001-2000和2001-3000。

    2) 接收端返回確認應答包:接收端接收到這些數據,并給出確認應答包。數據包1-1000 和數據包2001-3000 的確認應答包沒有丟失,但是數據包1001-2000 的確認應答包丟失了。

    3) 發送端第2 次發送數據包:發送端收到接收端發來的確認應答包,雖然沒有收到數據包1001-2000 的確認應答包,但是收到了數據包2001-3000 的確認應答包。判斷第一次發送的3 個數據包都成功到達了接收端。再次發送3 個數據包3001-4000、4001-5000和5001-6000。

    4) 接收端返回確認應答包:接收端接收到這些數據,并給出確認應答包。數據包3001-4000 和數據包4001-5000 的確認應答包丟失了,但是數據包5001-6000 沒有丟失。

    5) 發送端第3 次發送數據包:發送端收到接收端發來的確認應答包,查看到數據包5001-6000 收到了確認應答包。判斷第2 次發送的3 個數據包都成功到達了接收端。再次發送3 個數據包6001-7000、7001-8000和8001-9000。

    發送數據包丟失

    這種情況指的是發送端發送的部分數據包沒有達到接收端。那么,如果在接收端收到的數據包,不是本應該要接收的數據包,那么就會給發送端返回消息,告訴發送端自己應該接收的數據包。

    如果發送端連續收到3 次這樣的數據包,就認為該數據包成功發送到接收端,這時就開始重發該數據包。如圖所示。

    下面分為7 部分對上圖進行講解。

    1) 發送端發送數據包:這里窗口大小為4,發送端發送4 個數據包,分別為1-1000、1001-2000、2001-3000和3001-4000。

    2) 接收端返回確認應答包:接收端接收到這些數據,并給出確認應答包。接收端收到了數據包1-1000,返回了確認應答包;收到了數據包1001-2000,返回了確認應答包;但是數據包2001-3000,在發送過程中丟失了,沒有成功到達接收端。數據包3001-4000 沒有丟失,成功到達了接收端,但是該數據包不是接收端應該接收的數據包,數據包2001-3000 才是真正應該接收的數據包。因此收到數據包3001-4000 以后,接收端第一次返回下一個應該發送2001 的數據包的確認應答包。

    3)?發送端發送數據包:發送端仍然繼續向接收端發送4 個數據包,分別為4001-5000、5001-6000、6001-7000和7001-8000。

    4) 接收端返回確認應答包:接收端接收到這些數據,并給出確認應答包。當接收端收到數據包4001-5000 時,發現不是自己應該接收的數據包2001-3000,第二次返回下一個應該發送2001 的數據包的確認應答包。當接收端收到數據包5001-6000 時,仍然發現不是自己應該接收的數據包2001-3000,第三次返回下一個應該發送2001 的數據包的確認應答包。以此類推直到接收完所有數據包,接收端都返回下一個應該發送2001 的數據包的確認應答包。

    5)?發送端重發數據包:發送端連續3 次收到接收端發來的下一個應該發送2001 的數據包的確認應答包,認為數據包2001-3000 丟失了,就進行重發該數據包。

    6)?接收端收到重發數據包:接收端收到重發數據包以后,查看這次是自己應該接收的數據包2001-3000,并返回確認應答包,告訴發送端,下一個該接收8001 的數據包了。

    7)?發送端發送數據包:發送端收到確認應答包后,繼續發送窗口大小為4 的數據包,分別為8001-9000、9001-10000、10001-11000和11001-12000。

    09

    TCP流控制

    在使用滑動窗口機制進行數據傳輸時,發送方根據實際情況發送數據包,接收端接收數據包。但是,接收端處理數據包的能力是不同的。

    1)如果窗口過小,發送端發送少量的數據包,接收端很快就處理了,并且還能處理更多的數據包。這樣,當傳輸比較大的數據時需要不停地等待發送方,造成很大的延遲。

    2)如果窗口過大,發送端發送大量的數據包,而接收端處理不了這么多的數據包,這樣,就會堵塞鏈路。如果丟棄這些本應該接收的數據包,又會觸發重發機制。

    3) 為了避免這種現象的發生,TCP提供了流控制。所謂的流控制就是使用不同的窗口大小發送數據包。發送端第一次以窗口大小(該窗口大小是根據鏈路帶寬的大小來決定的)發送數據包,接收端接收這些數據包,并返回確認應答包,告訴發送端自己下次希望收到的數據包是多少(新的窗口大小),發送端收到確認應答包以后,將以該窗口大小進行發送數據包。

    TCP 流控制過程如圖所示。

    為了方便講解,將上圖以發送端發送數據包進行分隔,將其分為3 部分進行講解。

    第一部分

    發送端根據當前鏈路帶寬大小決定發送數據包的窗口大小。這里,窗口大小為3,表示可以發送3 個數據包。因此發送端發送了3 個數據包,分別為1-1000、1001-2000和2001-3000。

    接收端接收這些數據包,但是只能處理2 個數據包,第3 個數據包2001-3000 沒有被處理。因此返回確認應答包,設置窗口大小為2,告訴發送端自己現在只能處理2 個數據包,下一次請發送2 個數據包。

    第二部分

    發送端接收到確認應答包,查看到接收端返回窗口大小為2,知道接收端只處理了2 個數據包。發過去的第3 個數據包2001-3000 沒有被處理。這說明此時接收端只能處理2 個數據包,第3 個數據包還需要重新發送。

    因此發送端發送2 個數據包2001-3000 和3001-4000。接收端收到這兩個數據包并進行了處理。此時,還是只能處理2 個窗口,繼續向發送端發送確認應答包,設置窗口為2,告訴發送端,下一個應該接收4001 的數據包。

    第三部分

    發送端接收到確認應答包,查看到接收端返回窗口大小為2。說明接收端接收了上次發送的2 個數據包。此時仍然可以處理2 個數據包,繼續發送數據包4001-5000 和5001-6000。

    如果在接收端返回的確認應答包中,窗口設置為0,則表示現在不能接收任何數據。這時,發送端將不會再發送數據包,只有等待接收端發送窗口更新通知才可以繼續發送數據包。

    如果這個更新通知在傳輸中丟失了,那么就可能導致無法繼續通信。為了避免這樣的情況發生,發送端會時不時地發送窗口探測包,該包僅有1個字節,用來獲取最新的窗口大小的信息。

    原理如圖所示。

    下面介紹上圖所示的獲取窗口更新數據包的原理。

    1) 發送端發送數據。發送端以窗口大小為2,發送了2 個數據包,分別為4001-5000 和5001-6000。接收端接收到這些數據以后,緩沖區滿了,無法再處理數據,于是向發送端返回確認應答包,告訴它下一個接收6001 的數據,但是現在處理不了數據,先暫停發送數據,設置窗口大小為0。

    2)?發送端暫停發送數據。發送端收到確認應答包,查看到下一次發送的是6001 的數據,但窗口大小為0,得知接收端此時無法處理數據。此時,不進行發送數據,進入等待狀態。

    3)接收端發送窗口大小更新包。當接收端處理完發送端之前發來的數據包以后,將會給發送端發送一個窗口大小更新包,告訴它,此時可以發送的數據包的數量。這里設置窗口大小為3,表示此時可以處理3 個數據包,但是該數據包丟失了,沒有發送到發送端。

    4)?發送端發送窗口探測包。由于窗口大小更新包丟失,發送端的等待時間超過了重發超時時間。此時,發送端向接收端發送一個窗口探測包,大小為1 字節,這里是6001。

    5)?接收端再次發送窗口大小更新包。接收端收到發送端發來的探測包,再次發送窗口大小更新包,窗口大小為3。

    6)?發送端發送數據。發送端接收到窗口大小更新包,查看到應該發的是6001 的數據包,窗口大小為3,可以發送3 個數據包。因此發送了數據包,分別為6001-7000、7001-8000和8001-9000。

    10

    網線“斷”了怎么辦

    對于TCP鏈接來說,他們之間一旦建立了連接,那么可以一直沒有消息通訊。TCP連接的雙方都沒有向對方發送數據,則在兩個TCP模塊之間不交換任何信息。

    只要兩端的主機沒有被重啟,則連接依然保持建立,不管中間路由器可以崩潰和重啟,還是電話線被掛斷再連通。這意味著我們可以啟動一個客戶與服務器建立一個連接,然后離去數小時、數天、數個星期或者數月,而連接依然保持。

    這對于客戶端來說,倒還好一點,畢竟不會有那么多的連接被占用,對于服務器來說,就是一個很糟糕的事情,這種連接無疑是一種僵尸連接,平白無辜的占用著服務器的資源,一旦這種連接非常多,服務器往往會因為連接數量的限制,導致沒有辦法接入新的客戶端。

    這個時候,其實就需要一種定時探測對端連接是否還存活的機制存在,如此以來彼此都能知道對方的狀態,是否還能繼續使用。

    這種機制,對于TCP來說,就是TCP的保活機制。TCP還設有一個保活計時器,服務器每收到一次客戶端的請求后都會重新復位這個計時器,時間通常是設置為2小時,若兩小時還沒有收到客戶端的任何數據,服務器就會發送一個探測報文段,以后每隔75秒鐘發送一次,俗稱“心跳”。若一連發送10個探測報文仍然沒反應,服務器就認為客戶端出了故障,接著就關閉連接。

    TCP具有保活器,但我建議在應用層最好還要設計一個“心跳”用來維持TCP連接,時間間隔可自行確定。再插一嘴,具有保活器的TCP就是長連接。

    長連接:建立一個連接,多個請求復用這個連接,一直用同一個鏈接傳輸數據,最后再關閉連接。

    短連接:建立一個連接,傳輸一個請求,發送完數據后就關閉連接。

    TCP具有保活器優點:

    1.在連接兩個端系統的網絡出現臨時故障的時候,保活選項會引起一個?實際上很好的連接終止。例如,如果在一個中間路由器崩潰并重新啟動時發送保活探查,那么TCP會認為客戶的主機已經崩潰,而實際上所發生的并非如此。

    2.保活功能主要是為服務器應用程序提供的。服務器應用程序希望知道客戶主機是否崩潰,從而可以代表客戶使用資源,及時回收這些資源。

    TCP具有保活器缺點:

    保活并不是TCP規范中的一部分。HostRequirements RFC提供了3個不使用保活定時器的理由:

    1)在出現短暫差錯的情況下,這可能會使一個非常好的連接釋放掉;

    2)它們耗費不必要的帶寬;

    3)在按分組計費的情況下會在互聯網上花掉更多的錢。

    wireshark抓包文件

    鏈接:https://pan.baidu.com/s/1AYU7lrbjE5zaBdhb76irqg? ?提取碼:yxbf?

    (提示:公眾號不支持外鏈接,請復制鏈接到瀏覽器下載)

    推薦閱讀:

    專輯|Linux文章匯總

    專輯|程序人生

    專輯|C語言

    我的知識小密圈

    關注公眾號,后臺回復「1024」獲取學習資料網盤鏈接。

    歡迎點贊,關注,轉發,在看,您的每一次鼓勵,我都將銘記于心~

    總結

    以上是生活随笔為你收集整理的1万字30张图说清TCP协议的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    国产精品久久久久久a | 久久综合九色综合97_ 久久久 | 欧美日韩高清在线一区 | 综合色综合色 | 伊人手机在线 | 亚洲精品黄色 | 久久久久久美女 | 亚洲国产午夜精品 | 国产免费叼嘿网站免费 | 国色天香av | 免费视频91蜜桃 | 日韩电影中文字幕在线 | 欧美成人久久 | 欧美午夜性 | 亚洲电影久久久 | 色狠狠久久av五月综合 | 中文字幕国产视频 | 久久福利综合 | 国产亚洲片| 91在线观看视频 | 精品久久久国产 | 日本黄色大片免费看 | 日本精品中文字幕在线观看 | 天堂网一区二区三区 | 夜夜操网| a级国产乱理伦片在线播放 久久久久国产精品一区 | 91高清在线 | 中文字幕在线高清 | 色婷婷午夜 | 欧美国产日韩激情 | 怡红院成人在线 | 天天色天天射天天综合网 | 国产麻豆精品一区二区 | 亚洲美女免费精品视频在线观看 | 日韩免费av网址 | 日韩精品免费在线播放 | 人人插人人费 | 国产成本人视频在线观看 | 免费久久99精品国产婷婷六月 | 欧美精品二区 | 亚洲永久国产精品 | 亚洲一区免费在线 | 日本黄色黄网站 | 久久精品日韩 | 久久综合99 | 狠狠色丁香久久婷婷综合五月 | 在线欧美小视频 | 中文字幕亚洲五码 | 天天爱天天草 | 最近高清中文字幕在线国语5 | 美女很黄免费网站 | 美女视频久久 | 午夜视频在线观看一区二区三区 | 免费看黄20分钟 | 久久久久久久久久久国产精品 | 国产高清专区 | 麻豆影视网站 | 国产精品久久久久久久久久99 | 亚洲国产成人在线 | 国产拍揄自揄精品视频麻豆 | 欧洲精品在线视频 | 欧美在线一 | 国产精品久久久久久久久久久久午夜 | 久久精品8 | 国产一线二线三线性视频 | 91精品影视 | 最近免费中文字幕mv在线视频3 | 亚洲激情视频在线 | 国产喷水在线 | 精品人人人人 | 久草视频首页 | 亚洲精品中文字幕在线 | 精品国产福利在线 | 狠狠躁18三区二区一区ai明星 | 久日视频 | 日韩av在线网站 | 精品国产乱码久久久久久1区二区 | 2020天天干夜夜爽 | 激情网色 | 久久99精品视频 | 久久视频在线视频 | 国产精品久久久久av福利动漫 | 麻豆视频国产在线观看 | 亚洲国产午夜 | 波多野结衣视频一区二区三区 | 国产激情电影综合在线看 | 91成人精品在线 | 手机在线看a | 黄av免费在线观看 | 99视频免费 | 中文字幕av在线播放 | 在线免费观看黄网站 | 亚洲精品国精品久久99热一 | 五月天激情视频在线观看 | 激情综合站 | 色视频 在线 | 五月婷婷激情 | 欧美极品一区二区三区 | 国产精品系列在线观看 | 99这里只有久久精品视频 | 激情中文在线 | 免费色视频网站 | 欧美美女激情18p | 国产一级片免费观看 | 免费在线中文字幕 | 69精品在线观看 | 婷婷色在线资源 | 亚洲精品国产精品乱码不99热 | 天天色天天 | 中文字幕在线一区二区三区 | 国产女人免费看a级丨片 | 99久久综合狠狠综合久久 | 天天综合天天做天天综合 | 亚洲一区二区天堂 | 毛片888 | 在线看国产一区 | 人人干狠狠干 | 国产男女无遮挡猛进猛出在线观看 | 免费在线观看av网站 | 日韩免费区 | 免费看国产a | 久久人人爽人人爽人人 | av超碰免费在线 | 日韩黄色在线电影 | 国产精品久久久久久久久费观看 | 国产一区网 | 久久国产精品久久久 | 久久91网 | 91精品老司机久久一区啪 | 999热视频 | 在线之家免费在线观看电影 | 亚洲免费一级电影 | 一级成人在线 | 99久久精品视频免费 | 操操色 | 二区三区在线 | 精品999在线观看 | 日韩电影在线观看一区二区三区 | 日韩三级免费观看 | 国产免费一区二区三区网站免费 | 美女一二三区 | 亚洲经典视频在线观看 | 亚洲国产精品久久久久 | 久久久久亚洲精品成人网小说 | 亚洲影视资源 | 久久蜜臀一区二区三区av | 免费日韩一级片 | 超碰在线观看97 | 午夜神马福利 | www.久久99| 99精品在线视频播放 | 激情网第四色 | 97av在线视频 | 99 精品 在线 | 久久久久国产免费免费 | 毛片久久久| 亚洲播放一区 | 中文字幕黄色网 | 国产精品第72页 | 久久伊人精品一区二区三区 | 欧美日韩高清在线一区 | 91亚洲精品国偷拍 | 激情丁香月 | 在线a视频免费观看 | 成年人免费电影 | 久久久久久久久久毛片 | 日韩欧美电影在线观看 | 久久九九精品久久 | 99久久爱 | 精品国产一区二区久久 | 国产精品久久久久久久久软件 | 天天摸天天舔天天操 | 黄色三几片 | 久久免费片 | wwwwww黄 | 韩国一区二区在线观看 | 国产精品大片免费观看 | 精品国产伦一区二区三区观看说明 | 欧美最猛性xxxxx(亚洲精品) | 中文字幕资源网 国产 | 亚洲精品国偷拍自产在线观看 | 午夜视频一区二区三区 | 日本久久电影网 | 久久久久久久久久久久久久免费看 | 久久久久欠精品国产毛片国产毛生 | 九九99| 探花视频免费观看 | 亚洲女裸体 | 99热精品在线观看 | av资源免费观看 | 欧美一区二区三区在线看 | av激情五月| 欧美性极品xxxx娇小 | 九色琪琪久久综合网天天 | 又黄又爽又无遮挡的视频 | 色狠狠综合天天综合综合 | 精品女同一区二区三区在线观看 | 中文字幕丝袜美腿 | 免费看的黄色 | 日韩精品黄 | 成人黄色片免费看 | 97人人爽| 国产小视频免费在线网址 | 麻豆综合网 | 热久久国产精品 | 国产91大片 | 欧美一二三四在线 | 六月天色婷婷 | 日韩免费观看av | 久草在线在线精品观看 | 天天曰 | se视频网址 | 91成年人在线观看 | 日韩网站免费观看 | 精品在线不卡 | 中文字幕在线观看免费高清电影 | 国产精品第二页 | 日韩欧美精品在线 | 91免费观看国产 | 国产精品久久久久久久久久久久冷 | 久久国产精彩视频 | 天天噜天天色 | 亚洲dvd | 青春草视频在线播放 | 精品成人国产 | 日日夜夜艹 | 成人免费在线视频 | 伊人春色电影网 | 日批网站在线观看 | 91精品国产欧美一区二区 | 中文在线a在线 | 久久丁香网 | 欧美在线日韩在线 | 国产中文欧美日韩在线 | 亚洲 欧美 日韩 综合 | 色99之美女主播在线视频 | 国产精品日韩精品 | 蜜桃视频色 | 成人免费观看网址 | 欧美一级视频一区 | 国产亚洲一级高清 | 天天撸夜夜操 | 亚洲精品午夜久久久 | 国产精品久久久久国产a级 激情综合中文娱乐网 | 狠狠操欧美 | 香蕉视频在线免费 | 日日干影院 | 日韩免费在线一区 | 中文字幕在线观看三区 | 欧美性受极品xxxx喷水 | 国产成人精品一区二 | 国产成人三级三级三级97 | av怡红院 | 亚洲成av人片在线观看 | 中文字幕在线国产精品 | 午夜在线观看 | 国产精品大片免费观看 | 最近中文字幕mv | 日韩精品中文字幕av | 国产一区免费视频 | 亚洲国产欧洲综合997久久, | 久久久久久蜜桃一区二区 | 视频 国产区 | av青草 | 国产精选视频 | 日韩高清av在线 | 精品国产中文字幕 | 久久久久一区二区三区 | 久久婷婷激情 | 久久黄色片 | 亚洲精品乱码白浆高清久久久久久 | 18国产精品福利片久久婷 | 欧洲性视频 | 国产精品欧美久久久久三级 | 91毛片在线 | 亚洲夜夜综合 | 88av网站 | 黄色一级动作片 | 精品黄色在线 | 成人在线观看你懂的 | 国产麻豆果冻传媒在线观看 | 91中文字幕在线观看 | 欧美影片 | 蜜臀av性久久久久av蜜臀妖精 | 欧美一级激情 | 91麻豆国产 | 99草视频在线观看 | 国产精品久久片 | 国产亚洲精品电影 | 欧美国产一区在线 | 日韩在线无 | 操操操com| 91成年人网站 | 中文字幕精品一区二区三区电影 | 美女免费网视频 | 免费在线观看成人 | 国产美女被啪进深处喷白浆视频 | 国模精品在线 | 五月天色丁香 | 手机av永久免费 | 国产精品美女久久久久久久 | 麻豆 videos | 九九久久国产精品 | 免费高清在线视频一区· | 亚洲欧美视频在线播放 | 精品日韩中文字幕 | 精品久久在线 | 欧美夫妻生活视频 | 日韩精品中文字幕在线播放 | 亚州国产精品视频 | 国产三级国产精品国产专区50 | 欧美日韩一级视频 | 免费看污在线观看 | 涩涩伊人| 成人免费视频在线观看 | 成人亚洲精品国产www | 天天se天天cao天天干 | 午夜三级在线 | 超碰国产在线播放 | 手机版av在线 | 久久精品视频播放 | 中文字幕国内精品 | 人人添人人澡 | 国产精品国内免费一区二区三区 | 国产午夜精品一区二区三区在线观看 | 日本中文字幕在线观看 | 美女天天操 | 国产精品九九九九九九 | 国产爽妇网 | 在线视频你懂得 | 91在线看视频免费 | 日韩欧美视频二区 | 久久人人爽视频 | 99热99re6国产在线播放 | 国产高清不卡av | 国产精品视频最多的网站 | 日韩在线免费观看视频 | 五月婷婷毛片 | 精品福利网 | 久久欧美视频 | 国产99在线免费 | 欧洲精品在线视频 | 黄色在线观看www | 国产视频亚洲视频 | 精品国产人成亚洲区 | 一区三区视频 | 911免费视频 | 久久免费av电影 | 最新国产在线观看 | 久久九九精品久久 | 久久福利影视 | 97精品久久人人爽人人爽 | 97精品在线观看 | 国产精品久久久久国产精品日日 | 天天干国产 | 这里只有精品视频在线 | 色之综合网 | 国产成人免费在线观看 | 久久婷五月 | 免费在线观看av网站 | 热久精品| 天堂视频中文在线 | 久久久精品综合 | 国内精品视频在线播放 | 日韩69视频 | 日韩色一区二区三区 | 国产精品嫩草55av | 91| 精品国偷自产国产一区 | 91成版人在线观看入口 | 成人久久国产 | 国产精品99久久免费黑人 | 五月婷婷av在线 | 亚洲欧美日韩在线看 | 中文字幕电影一区 | 中文国产字幕在线观看 | 亚洲精品黄 | 天天草综合网 | 91精品一区二区三区蜜臀 | 福利视频区 | 91最新地址永久入口 | 黄色一级免费电影 | 天天射天天爱天天干 | 97电影手机 | 天天躁日日躁狠狠躁av麻豆 | 久久亚洲欧美日韩精品专区 | 91在线最新 | 在线视频成人 | 91传媒91久久久 | 成人久久亚洲 | 欧美日韩aa | 久久综合影视 | www夜夜操com | 国产麻豆剧果冻传媒视频播放量 | 日韩精品欧美视频 | 奇米影视777四色米奇影院 | 日韩精品三区四区 | 国产精品99页 | 久久精品99精品国产香蕉 | 午夜精品一区二区三区在线播放 | www.婷婷色| 97综合网| 亚洲91av| 免费看的视频 | 在线电影日韩 | 精品国产一区二区在线 | 午夜av电影院 | 99精品在线免费视频 | 欧美日韩一级久久久久久免费看 | 色爱成人网 | 国产亚洲综合在线 | 日韩丝袜在线观看 | 久草在线这里只有精品 | 亚洲精品久久视频 | 婷婷激情在线 | 国产一区二区中文字幕 | 欧美精品乱码久久久久久按摩 | 成人午夜在线电影 | 免费精品人在线二线三线 | 99精品福利 | www.天天操 | 色妞久久福利网 | 福利区在线观看 | 国产精品久久久久影视 | 国产精品久久久久国产精品日日 | 91在线中字| 欧美日韩国产一区二区三区 | 成人a大片 | 国产精品久久久久久久电影 | 免费人成在线观看 | 日日日干 | 国产综合精品一区二区三区 | 久久无码av一区二区三区电影网 | 久久99国产精品二区护士 | 97超碰总站| www国产亚洲 | 丰满少妇在线 | 国产视频在线观看一区二区 | 亚洲成人动漫在线观看 | 天天操比 | 91色欧美 | 久久亚洲福利 | 久久精品久久久久电影 | 日本高清免费中文字幕 | 亚洲免费在线视频 | 色国产视频 | 最新日韩视频在线观看 | 欧美韩国日本在线观看 | 91精品爽啪蜜夜国产在线播放 | 久草视频国产 | 91网页版免费观看 | www.亚洲在线 | 成年人免费av | 中文字幕在线观看免费 | 国产丝袜高跟 | 久久免费在线视频 | 国产成人三级在线观看 | aaa毛片视频| 免费在线色视频 | 日本在线观看一区二区 | 免费观看第二部31集 | av在线免费观看黄 | 久久久免费精品视频 | 午夜精品久久久99热福利 | 中文字幕在线播放第一页 | 黄色av电影免费观看 | 欧洲激情综合 | 色综合夜色一区 | 99久久久国产精品 | 一二三区在线 | 日韩xxxxxxxxx | 天天干天天操天天拍 | 99久免费精品视频在线观看 | 日韩字幕在线观看 | 亚洲第一成网站 | 91精品国自产在线偷拍蜜桃 | 精品一二三四在线 | 制服丝袜天堂 | 特级片免费看 | 日韩精品一区二区三区水蜜桃 | 黄色片免费在线 | 亚洲精品男人的天堂 | 国产精品久久久久av福利动漫 | 午夜黄色 | 欧美视频国产视频 | 免费av大全 | 欧美黄色高清 | 亚洲午夜精品在线观看 | 97香蕉久久超级碰碰高清版 | 久久久久久国产精品美女 | 狠狠干天天射 | 久久电影中文字幕视频 | 欧美999| 亚洲视频www| 18国产精品白浆在线观看免费 | 色www精品视频在线观看 | 国产一区二区影院 | 成人av一二三区 | 91精品欧美一区二区三区 | 日本成人中文字幕在线观看 | 人人爽人人片 | 偷拍精品一区二区三区 | 日韩理论在线 | 欧美日韩精品在线视频 | 亚洲经典精品 | 亚洲狠狠干 | www夜夜操com| www黄色大片 | 伊人色播| 一区二区三区四区精品 | 亚洲视频综合 | 精品自拍av | 五月天激情婷婷 | 国产美女在线免费观看 | 精品国产一区二区三区av性色 | 久久国产精品一区二区三区四区 | 97超碰人人澡人人爱 | 免费精品国产va自在自线 | 久久国产精品视频免费看 | 国产99在线播放 | 国产精品视频永久免费播放 | 九九视频一区 | 免费日韩一区二区三区 | 国产特黄色片 | 99精品久久久久 | 97视频播放 | 999国产| 亚洲经典精品 | 欧美嫩草影院 | 免费一级片视频 | 亚洲免费精彩视频 | 国产一级免费播放 | 国产一级大片在线观看 | 综合天天 | 超碰在线免费福利 | 色91在线视频 | 玖玖视频在线 | 香蕉精品视频在线观看 | 伊人资源视频在线 | 午夜在线观看 | 国产美女精品久久久 | 又黄又爽又无遮挡免费的网站 | 国产精品午夜在线观看 | 高清在线一区 | 午夜影视一区 | 69国产成人综合久久精品欧美 | 久久视频国产 | 97看片 | 国产免费亚洲高清 | 亚洲成人黄色在线观看 | 日本aaa在线观看 | 人人看人人爱 | www.色婷婷.com | 婷婷丁香综合 | 欧美极品裸体 | 玖玖爱免费视频 | 有码一区二区三区 | 狠狠撸电影 | 九九爱免费视频 | 亚洲精品美女在线观看 | 色婷婷成人 | 人人干人人超 | 岛国片在线 | www.99av| 粉嫩av一区二区三区四区 | 国产成人a v电影 | 午夜视频在线观看欧美 | 在线一区av | 日韩精品中文字幕在线观看 | 激情欧美一区二区免费视频 | 激情婷婷综合网 | 成人精品久久久 | 五月婷婷丁香在线观看 | 夜夜狠狠 | 中文字幕有码在线播放 | 亚洲国产精品久久久久 | 久草免费在线观看 | 夜夜操狠狠干 | 亚洲精品欧美精品 | 日韩精品免费在线 | 精品自拍av | 国产精品久久久久999 | 99视频在线观看一区三区 | 成年人在线免费看片 | 欧美性生活大片 | 国产一二三区av | 亚洲第一中文网 | 亚洲va天堂va欧美ⅴa在线 | 国产成人福利片 | 午夜视频在线观看欧美 | 日韩欧美精品在线 | 中文字幕免费高清在线观看 | 日韩欧美一区二区在线 | 天天躁天天狠天天透 | 66av99精品福利视频在线 | 成人av一级片 | 97视频在线观看成人 | 九九国产精品视频 | 91九色porny蝌蚪主页 | 91成人网页版 | 婷婷在线免费观看 | 日韩精品大片 | 中文字幕人成人 | 一区二区三高清 | 欧美小视频在线 | 精品美女国产在线 | 美女免费视频黄 | 日日夜夜免费精品视频 | 天天射天天干天天爽 | 色国产精品一区在线观看 | 亚洲精品乱码久久久久久9色 | 国产麻豆视频免费观看 | 国产综合精品一区二区三区 | 97精品国产一二三产区 | 天天亚洲综合 | 天天摸天天操天天爽 | 国产97av| 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 在线视频日韩一区 | 欧美精品在线一区 | 精品一区在线看 | 夜夜躁狠狠躁日日躁 | 日韩高清不卡在线 | 日韩欧美视频在线观看免费 | 日韩.com| 玖玖玖影院 | 九九九免费视频 | 中文字幕成人在线 | 麻豆91在线播放 | 高清日韩一区二区 | 欧美日韩99 | 国产精品一区在线观看 | 久久精品国产精品亚洲 | 射久久| 亚洲精品一区二区三区四区高清 | 2019精品手机国产品在线 | 最近乱久中文字幕 | 麻豆一区在线观看 | 色综合久久中文综合久久牛 | 日韩视 | 国产精品欧美激情在线观看 | 午夜精品久久久久久久久久 | 成年人免费观看在线视频 | 免费福利在线播放 | 久久综合久久久久88 | 中文字幕三区 | 国产人成看黄久久久久久久久 | 欧美大香线蕉线伊人久久 | 天天插天天狠 | 中文字幕在线观看2018 | 99久e精品热线免费 99国产精品久久久久久久久久 | www.久久免费视频 | 国产91成人在在线播放 | 久久一区精品 | 免费福利视频网站 | 亚洲 欧美 综合 在线 精品 | 久久久久国产a免费观看rela | www黄色软件 | 天堂av在线网站 | 色中色综合 | 一区二区三区免费在线观看 | 久久91网| 一区二区 不卡 | 在线观看黄a | 国语精品视频 | 国产黄a三级三级 | 亚洲精品乱码久久久久久高潮 | 国产日产精品一区二区三区四区的观看方式 | 久久久久久久99精品免费观看 | 人人讲下载 | 国产亚洲精品久久久久久移动网络 | 日韩免费不卡视频 | 国产精品综合久久久久 | 中文字幕a∨在线乱码免费看 | 国产一区二区在线免费 | 337p日本欧洲亚洲大胆裸体艺术 | 丁香九月激情 | 97视频在线免费观看 | 久草在线资源观看 | 色偷偷88888欧美精品久久 | 国产91亚洲精品 | 日本性动态图 | 免费看av片网站 | 婷婷五情天综123 | 国产精品欧美 | 免费av在线播放 | 精品国产一区二区三区四区在线观看 | 91在线免费视频观看 | 亚洲少妇自拍 | 日韩在线视频不卡 | 特黄色大片 | 不卡电影免费在线播放一区 | 日韩特级毛片 | 久草在线最新视频 | 日本高清免费中文字幕 | 免费观看一级成人毛片 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 日韩在线视频一区二区三区 | 手机看片99| 亚洲理论片在线观看 | 亚洲一级特黄 | 亚洲综合一区二区精品导航 | 欧美成人999 | 欧美一区在线看 | 色偷偷男人的天堂av | www.伊人网 | 91麻豆精品国产91久久久无限制版 | 91成人在线视频 | 日韩视频在线一区 | 激情欧美日韩一区二区 | 人人爽人人av | 久久 一区 | 久久久久久久国产精品影院 | 日韩精品一区二区电影 | 91黄色免费看| 成人在线视频免费观看 | 国产一二区视频 | 久久成人麻豆午夜电影 | 人人爽人人乐 | 日韩精品aaa | 又黄又刺激又爽的视频 | 欧美一级久久久 | 中中文字幕av在线 | 久久亚洲综合国产精品99麻豆的功能介绍 | 中文字幕中文字幕在线中文字幕三区 | 99色在线观看视频 | 在线看中文字幕 | 国产精品麻豆欧美日韩ww | 国产91精品在线播放 | 国产永久免费观看 | 岛国一区在线 | 天天干天天做天天爱 | 欧美在线观看禁18 | 日韩丝袜 | 色久天| 人人爽人人干 | 国产涩图 | 欧美成人在线网站 | 婷色| 激情综合婷婷 | www中文在线 | 国产99视频在线观看 | 久久精品国产亚洲精品 | 日韩视频免费观看高清 | 国产精品久久久久久久午夜 | 国产又粗又猛又爽又黄的视频先 | 丰满少妇麻豆av | 黄色大片av | 97视频在线观看播放 | 久碰视频在线观看 | 九九视频免费观看视频精品 | 久久av免费 | 伊人婷婷网 | 国产黄色在线观看 | 国产在线色视频 | 亚洲国产网站 | 成人精品99| 黄网站污 | 国产一卡二卡四卡国 | 国产精品一码二码三码在线 | 中文字幕在线播放日韩 | 久久艹精品 | 国产色女人 | 国产香蕉在线 | 五月婷婷黄色网 | 亚洲97在线 | 91久久国产自产拍夜夜嗨 | 99久久精品免费看国产免费软件 | 国产精品99在线播放 | 91精品一区国产高清在线gif | 天天做日日做天天爽视频免费 | 国产精品精品国产色婷婷 | 国内精品亚洲 | 婷婷视频在线播放 | 伊人国产女 | 日本黄色黄网站 | 亚洲在线成人精品 | 成人午夜精品福利免费 | 欧美在线视频日韩 | 国产手机在线精品 | 色婷五月天 | 九九九视频精品 | 中文字幕中文中文字幕 | 91禁在线观看 | 日韩电影在线观看一区 | 婷婷亚洲综合五月天小说 | 国产日韩中文字幕在线 | 在线色吧 | 99精品国产99久久久久久福利 | 欧美另类交在线观看 | 久久精品99国产精品日本 | 欧美日韩一区二区视频在线观看 | 日韩av偷拍 | 在线观看亚洲免费视频 | 色大片免费看 | 日韩在线视频免费观看 | 四虎在线免费观看 | 97激情影院 | 精品久久99| 天堂久久电影网 | 激情久久小说 | 玖玖视频在线 | 亚洲国内精品视频 | 天堂麻豆 | 欧美一区二区在线看 | 成人久久久电影 | 欧美午夜激情网 | 久久久久久免费网 | 玖玖爱国产在线 | 青青河边草观看完整版高清 | 精品在线观 | 日韩欧美精品在线观看 | 狠狠色噜噜狠狠狠合久 | 久久精品欧美视频 | 91香蕉视频好色先生 | 国产精品一区二区三区在线看 | 亚洲va天堂va欧美ⅴa在线 | 欧美成人区 | 日本特黄特色aaa大片免费 | av在线短片 | 国产在线久草 | 欧美性生交大片免网 | 精品国产综合区久久久久久 | 日韩在线精品一区 | 国产精品黑丝在线观看 | 在线观看你懂的网站 | 国产精品毛片久久 | 99视频免费观看 | 五月婷婷综 | 激情综合站 | 久久精品日本啪啪涩涩 | 精品视频一区在线观看 | 天天天天射 | 久久国产精品免费一区二区三区 | 国产精品资源网 | 国产一区国产二区在线观看 | 天天射天天干天天插 | 97视频免费在线看 | 欧美色888 | 国产精品免费久久久久久久久久中文 | 精品国产一区二区在线 | 国产精品人人做人人爽人人添 | 久久免费观看视频 | 天天草综合 | 午夜视频免费播放 | 91香蕉视频在线 | 免费69视频 | 国内综合精品午夜久久资源 | 亚洲天堂激情 | 不卡的一区二区三区 | 在线观看视频黄色 | 亚洲精品久久久久久国 | 亚洲区精品视频 | 国产精品24小时在线观看 | 天天天操操操 | 久久亚洲精品电影 | 国产日韩欧美在线看 | 日韩精品一区二区三区外面 | 久久成人免费视频 | 亚洲va韩国va欧美va精四季 | 97色综合 | 99视频一区二区 | 日韩欧美一区二区三区视频 | 日韩精品免费在线观看 | 天天干,天天插 | 中文国产在线观看 | 日本一区二区免费在线观看 | 99c视频在线 | 婷婷在线网站 | 久久九九九九 | 午夜久久影视 | 日韩中字在线 | 国产精品大全 | 97国产在线| 精品免费在线视频 | 成人国产电影在线观看 | 国产中文字幕久久 | 在线看的av网站 | 久草在线免费资源 | 亚洲毛片一区二区三区 | 精品999国产| 日韩在线免费播放 | 成人av一区二区兰花在线播放 | 中文字幕亚洲综合久久五月天色无吗'' | 中文字幕日韩精品有码视频 | 亚洲天堂首页 | 欧美在线视频精品 | 精品在线小视频 | 亚洲精品免费视频 | 天天干天天搞天天射 | 日韩免费一区二区在线观看 | 久久久91精品国产一区二区三区 | 国产露脸91国语对白 | 国产午夜精品久久久久久久久久 | 麻豆精品传媒视频 | 成人亚洲综合 | 亚洲91中文字幕无线码三区 | 日韩电影在线视频 | 日韩精品在线一区 | 国产一区二区三区视频在线 | 午夜aaaa| 欧美91av| 在线国产观看 | 六月婷婷久香在线视频 | 国产日韩欧美在线免费观看 | 91激情视频在线观看 | 不卡视频在线看 | 国产视频九色蝌蚪 | 超碰在线97免费 | 国产一区高清在线 | 国产精品日韩久久久久 | 亚洲色图美腿丝袜 | 韩国av一区| 日本动漫做毛片一区二区 | 亚洲成人av免费 | 黄色在线免费观看网址 | 97电影院在线观看 | 久久久久久久国产精品视频 | 美女久久99 | 日韩电影在线观看一区 | 最近中文字幕完整高清 | 日韩xxxx视频 | 精品在线免费观看 | 免费视频区 | 91在线porny国产在线看 | 精品夜夜嗨av一区二区三区 | 欧美a级成人淫片免费看 | 天躁狠狠躁 | 去干成人网| 狠狠躁天天躁 | 一区二区在线电影 | 又湿又紧又大又爽a视频国产 | 国产一区二区久久久 | 国产精品久久久久久久久久久久午夜 | 国产视频一区在线免费观看 | 99久久99久久综合 | 色婷婷狠狠五月综合天色拍 | 天天躁天天躁天天躁婷 | 碰超人人| 五月婷婷.com | 久久精品国产免费观看 | 96精品视频 | 久久精品观看 | 99精品热 | 久久伊人精品一区二区三区 | 中文字幕免费成人 | 亚洲天堂网视频在线观看 | 91最新国产 | 97在线观看视频国产 | 天天综合网在线 | 欧美日本三级 | 国产99视频在线观看 | 深爱激情av | 成人免费在线观看电影 | 色综合久久久久综合体桃花网 | 久久不射电影院 | 国产成人在线一区 | 成人av电影网址 | 99精品在线免费在线观看 | 色一级片 | 久久久久成 | 国产精品99久久久精品 | 97av影院 | 久久久久日本精品一区二区三区 | 亚洲国产一区在线观看 | 精品乱码一区二区三四区 | 国产黄色免费观看 | 97在线观看视频 | 国产一区在线观看视频 | 日韩成人av在线 | 人人爽人人爽人人片av | a√资源在线 | 日韩网站免费观看 | 一区二区三区四区久久 | 日韩影视精品 | 一本之道乱码区 | 国产高清视频免费观看 | 天天综合久久 | 精品欧美在线视频 | 麻豆你懂的 | 久久影院中文字幕 | 波多野结衣在线观看一区二区三区 | 免费看成人a | 2021av在线 | 欧洲黄色片 | 国产一级性生活视频 | 日韩免费三区 | 欧美性另类 | 在线亚洲激情 | av中文字幕在线电影 | 激情五月开心 | 久久精品二区 | 精品不卡视频 | 97香蕉视频 | 国产 欧美 在线 | 色综合色综合久久综合频道88 | 日韩av手机在线看 | 国产一级大片在线观看 |