精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

TCP/IP,你必知必會的十個問題

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
本文整理了一些TCP/IP協(xié)議簇中需要必知必會的十大問題,既是面試高頻問題,又是程序員必備基礎(chǔ)素養(yǎng)。

本文整理了一些TCP/IP協(xié)議簇中需要必知必會的十大問題,既是面試高頻問題,又是程序員必備基礎(chǔ)素養(yǎng)。

TCP/IP

一、TCP/IP模型

TCP/IP協(xié)議模型(Transmission Control Protocol/Internet Protocol),包含了一系列構(gòu)成互聯(lián)網(wǎng)基礎(chǔ)的網(wǎng)絡(luò)協(xié)議,是Internet的核心協(xié)議。

基于TCP/IP的參考模型將協(xié)議分成四個層次,它們分別是鏈路層、網(wǎng)絡(luò)層、傳輸層和應(yīng)用層。下圖表示TCP/IP模型與OSI模型各層的對照關(guān)系。

TCP/IP協(xié)議族按照層次由上到下,層層包裝。最上面的是應(yīng)用層,這里面有http,ftp,等等我們熟悉的協(xié)議。而第二層則是傳輸層,著名的TCP和UDP協(xié)議就在這個層次。

第三層是網(wǎng)絡(luò)層,IP協(xié)議就在這里,它負(fù)責(zé)對數(shù)據(jù)加上IP地址和其他的數(shù)據(jù)以確定傳輸?shù)哪繕?biāo)。第四層是數(shù)據(jù)鏈路層,這個層次為待傳送的數(shù)據(jù)加入一個以太網(wǎng)協(xié)議頭,并進(jìn)行CRC編碼,為***的數(shù)據(jù)傳輸做準(zhǔn)備。

TCP/IP

上圖清楚地表示了TCP/IP協(xié)議中每個層的作用,而TCP/IP協(xié)議通信的過程其實(shí)就對應(yīng)著數(shù)據(jù)入棧與出棧的過程。入棧的過程,數(shù)據(jù)發(fā)送方每層不斷地封裝首部與尾部,添加一些傳輸?shù)男畔?,確保能傳輸?shù)侥康牡?。出棧的過程,數(shù)據(jù)接收方每層不斷地拆除首部與尾部,得到最終傳輸?shù)臄?shù)據(jù)。

TCP/IP

上圖以HTTP協(xié)議為例,具體說明。

二、數(shù)據(jù)鏈路層

物理層負(fù)責(zé)0、1比特流與物理設(shè)備電壓高低、光的閃滅之間的互換。 數(shù)據(jù)鏈路層負(fù)責(zé)將0、1序列劃分為數(shù)據(jù)幀從一個節(jié)點(diǎn)傳輸?shù)脚R近的另一個節(jié)點(diǎn),這些節(jié)點(diǎn)是通過MAC來唯一標(biāo)識的(MAC,物理地址,一個主機(jī)會有一個MAC地址)。

TCP/IP

封裝成幀:把網(wǎng)絡(luò)層數(shù)據(jù)報加頭和尾,封裝成幀,幀頭中包括源MAC地址和目的MAC地址。

透明傳輸:零比特填充、轉(zhuǎn)義字符。

可靠傳輸:在出錯率很低的鏈路上很少用,但是無線鏈路WLAN會保證可靠傳輸。

差錯檢測(CRC):接收者檢測錯誤,如果發(fā)現(xiàn)差錯,丟棄該幀。

三、網(wǎng)絡(luò)層

1. IP協(xié)議

IP協(xié)議是TCP/IP協(xié)議的核心,所有的TCP,UDP,IMCP,IGMP的數(shù)據(jù)都以IP數(shù)據(jù)格式傳輸。要注意的是,IP不是可靠的協(xié)議,這是說,IP協(xié)議沒有提供一種數(shù)據(jù)未傳達(dá)以后的處理機(jī)制,這被認(rèn)為是上層協(xié)議:TCP或UDP要做的事情。

(1) IP地址

在數(shù)據(jù)鏈路層中我們一般通過MAC地址來識別不同的節(jié)點(diǎn),而在IP層我們也要有一個類似的地址標(biāo)識,這就是IP地址。

32位IP地址分為網(wǎng)絡(luò)位和地址位,這樣做可以減少路由器中路由表記錄的數(shù)目,有了網(wǎng)絡(luò)地址,就可以限定擁有相同網(wǎng)絡(luò)地址的終端都在同一個范圍內(nèi),那么路由表只需要維護(hù)一條這個網(wǎng)絡(luò)地址的方向,就可以找到相應(yīng)的這些終端了。

  • A類IP地址:0.0.0.0~127.255.255.255
  • B類IP地址:128.0.0.0~191.255.255.255
  • C類IP地址:192.0.0.0~239.255.255.255

(2) IP協(xié)議頭

這里只介紹:八位的TTL字段。這個字段規(guī)定該數(shù)據(jù)包在穿過多少個路由之后才會被拋棄。某個IP數(shù)據(jù)包每穿過一個路由器,該數(shù)據(jù)包的TTL數(shù)值就會減少1,當(dāng)該數(shù)據(jù)包的TTL成為零,它就會被自動拋棄。

這個字段的***值也就是255,也就是說一個協(xié)議包也就在路由器里面穿行255次就會被拋棄了,根據(jù)系統(tǒng)的不同,這個數(shù)字也不一樣,一般是32或者是64。

TCP/IP

2. ARP及RARP協(xié)議

ARP 是根據(jù)IP地址獲取MAC地址的一種協(xié)議。

ARP(地址解析)協(xié)議是一種解析協(xié)議,本來主機(jī)是完全不知道這個IP對應(yīng)的是哪個主機(jī)的哪個接口,當(dāng)主機(jī)要發(fā)送一個IP包的時候,會首先查一下自己的ARP高速緩存(就是一個IP-MAC地址對應(yīng)表緩存)。

如果查詢的IP-MAC值對不存在,那么主機(jī)就向網(wǎng)絡(luò)發(fā)送一個ARP協(xié)議廣播包,這個廣播包里面就有待查詢的IP地址,而直接收到這份廣播的包的所有主機(jī)都會查詢自己的IP地址,如果收到廣播包的某一個主機(jī)發(fā)現(xiàn)自己符合條件,那么就準(zhǔn)備好一個包含自己的MAC地址的ARP包傳送給發(fā)送ARP廣播的主機(jī)。

而廣播主機(jī)拿到ARP包后會更新自己的ARP緩存(就是存放IP-MAC對應(yīng)表的地方)。發(fā)送廣播的主機(jī)就會用新的ARP緩存數(shù)據(jù)準(zhǔn)備好數(shù)據(jù)鏈路層的的數(shù)據(jù)包發(fā)送工作。

RARP協(xié)議的工作與此相反,不做贅述。

3. ICMP協(xié)議

IP協(xié)議并不是一個可靠的協(xié)議,它不保證數(shù)據(jù)被送達(dá),那么,自然的,保證數(shù)據(jù)送達(dá)的工作應(yīng)該由其他的模塊來完成。其中一個重要的模塊就是ICMP(網(wǎng)絡(luò)控制報文)協(xié)議。ICMP不是高層協(xié)議,而是IP層的協(xié)議。

當(dāng)傳送IP數(shù)據(jù)包發(fā)生錯誤。比如主機(jī)不可達(dá),路由不可達(dá)等等,ICMP協(xié)議將會把錯誤信息封包,然后傳送回給主機(jī)。給主機(jī)一個處理錯誤的機(jī)會,這 也就是為什么說建立在IP層以上的協(xié)議是可能做到安全的原因。

四、ping

ping可以說是ICMP的***的應(yīng)用,是TCP/IP協(xié)議的一部分。利用“ping”命令可以檢查網(wǎng)絡(luò)是否連通,可以很好地幫助我們分析和判定網(wǎng)絡(luò)故障。

例如:當(dāng)我們某一個網(wǎng)站上不去的時候。通常會ping一下這個網(wǎng)站。ping會回顯出一些有用的信息。一般的信息如下:

TCP/IP

ping這個單詞源自聲納定位,而這個程序的作用也確實(shí)如此,它利用ICMP協(xié)議包來偵測另一個主機(jī)是否可達(dá)。原理是用類型碼為0的ICMP發(fā)請 求,受到請求的主機(jī)則用類型碼為8的ICMP回應(yīng)。

ping程序來計算間隔時間,并計算有多少個包被送達(dá)。用戶就可以判斷網(wǎng)絡(luò)大致的情況。我們可以看到, ping給出來了傳送的時間和TTL的數(shù)據(jù)。

五、Traceroute

Traceroute是用來偵測主機(jī)到目的主機(jī)之間所經(jīng)路由情況的重要工具,也是最便利的工具。

Traceroute的原理是非常非常的有意思,它收到到目的主機(jī)的IP后,首先給目的主機(jī)發(fā)送一個TTL=1的UDP數(shù)據(jù)包,而經(jīng)過的***個路由器收到這個數(shù)據(jù)包以后,就自動把TTL減1,而TTL變?yōu)?以后,路由器就把這個包給拋棄了,并同時產(chǎn)生 一個主機(jī)不可達(dá)的ICMP數(shù)據(jù)報給主機(jī)。主機(jī)收到這個數(shù)據(jù)報以后再發(fā)一個TTL=2的UDP數(shù)據(jù)報給目的主機(jī),然后刺激第二個路由器給主機(jī)發(fā)ICMP數(shù)據(jù) 報。如此往復(fù)直到到達(dá)目的主機(jī)。這樣,traceroute就拿到了所有的路由器IP。

TCP/IP

六、TCP/UDP

TCP/UDP都是是傳輸層協(xié)議,但是兩者具有不同的特性,同時也具有不同的應(yīng)用場景,下面以圖表的形式對比分析。

1. 面向報文

面向報文的傳輸方式是應(yīng)用層交給UDP多長的報文,UDP就照樣發(fā)送,即一次發(fā)送一個報文。因此,應(yīng)用程序必須選擇合適大小的報文。若報文太長,則IP層需要分片,降低效率。若太短,會是IP太小。

2. 面向字節(jié)流

面向字節(jié)流的話,雖然應(yīng)用程序和TCP的交互是一次一個數(shù)據(jù)塊(大小不等),但TCP把應(yīng)用程序看成是一連串的無結(jié)構(gòu)的字節(jié)流。TCP有一個緩沖,當(dāng)應(yīng)用程序傳送的數(shù)據(jù)塊太長,TCP就可以把它劃分短一些再傳送。

關(guān)于擁塞控制,流量控制,是TCP的重點(diǎn),后面講解。

TCP和UDP協(xié)議的一些應(yīng)用:

TCP/IP

3. 什么時候應(yīng)該使用TCP?

當(dāng)對網(wǎng)絡(luò)通訊質(zhì)量有要求的時候,比如:整個數(shù)據(jù)要準(zhǔn)確無誤的傳遞給對方,這往往用于一些要求可靠的應(yīng)用,比如HTTP、HTTPS、FTP等傳輸文件的協(xié)議,POP、SMTP等郵件傳輸?shù)膮f(xié)議。

4. 什么時候應(yīng)該使用UDP?

當(dāng)對網(wǎng)絡(luò)通訊質(zhì)量要求不高的時候,要求網(wǎng)絡(luò)通訊速度能盡量的快,這時就可以使用UDP。

七、DNS

DNS(Domain Name System,域名系統(tǒng)),因特網(wǎng)上作為域名和IP地址相互映射的一個分布式數(shù)據(jù)庫,能夠使用戶更方便的訪問互聯(lián)網(wǎng),而不用去記住能夠被機(jī)器直接讀取的IP數(shù)串。通過主機(jī)名,最終得到該主機(jī)名對應(yīng)的IP地址的過程叫做域名解析(或主機(jī)名解析)。DNS協(xié)議運(yùn)行在UDP協(xié)議之上,使用端口號53。

八、TCP連接的建立與終止

1. 三次握手

TCP是面向連接的,無論哪一方向另一方發(fā)送數(shù)據(jù)之前,都必須先在雙方之間建立一條連接。在TCP/IP協(xié)議中,TCP協(xié)議提供可靠的連接服務(wù),連接是通過三次握手進(jìn)行初始化的。三次握手的目的是同步連接雙方的序列號和確認(rèn)號并交換 TCP窗口大小信息。

TCP/IP

  • ***次握手: 建立連接。客戶端發(fā)送連接請求報文段,將SYN位置為1,Sequence Number為x;然后,客戶端進(jìn)入SYN_SEND狀態(tài),等待服務(wù)器的確認(rèn);
  • 第二次握手: 服務(wù)器收到SYN報文段。服務(wù)器收到客戶端的SYN報文段,需要對這個SYN報文段進(jìn)行確認(rèn),設(shè)置Acknowledgment Number為x+1(Sequence Number+1);同時,自己自己還要發(fā)送SYN請求信息,將SYN位置為1,Sequence Number為y;服務(wù)器端將上述所有信息放到一個報文段(即SYN+ACK報文段)中,一并發(fā)送給客戶端,此時服務(wù)器進(jìn)入SYN_RECV狀態(tài);
  • 第三次握手: 客戶端收到服務(wù)器的SYN+ACK報文段。然后將Acknowledgment Number設(shè)置為y+1,向服務(wù)器發(fā)送ACK報文段,這個報文段發(fā)送完畢以后,客戶端和服務(wù)器端都進(jìn)入ESTABLISHED狀態(tài),完成TCP三次握手。

為什么要三次握手?

為了防止已失效的連接請求報文段突然又傳送到了服務(wù)端,因而產(chǎn)生錯誤。

具體例子:“已失效的連接請求報文段”的產(chǎn)生在這樣一種情況下:client發(fā)出的***個連接請求報文段并沒有丟失,而是在某個網(wǎng)絡(luò)結(jié)點(diǎn)長時間的滯留了,以致延誤到連接釋放以后的某個時間才到達(dá)server。本來這是一個早已失效的報文段。

但server收到此失效的連接請求報文段后,就誤認(rèn)為是client再次發(fā)出的一個新的連接請求。于是就向client發(fā)出確認(rèn)報文段,同意建立連接。假設(shè)不采用“三次握手”,那么只要server發(fā)出確認(rèn),新的連接就建立了。由于現(xiàn)在client并沒有發(fā)出建立連接的請求,因此不會理睬server的確認(rèn),也不會向server發(fā)送數(shù)據(jù)。但server卻以為新的運(yùn)輸連接已經(jīng)建立,并一直等待client發(fā)來數(shù)據(jù)。這樣,server的很多資源就白白浪費(fèi)掉了。

采用“三次握手”的辦法可以防止上述現(xiàn)象發(fā)生。例如剛才那種情況,client不會向server的確認(rèn)發(fā)出確認(rèn)。server由于收不到確認(rèn),就知道client并沒有要求建立連接。”

2. 四次揮手

當(dāng)客戶端和服務(wù)器通過三次握手建立了TCP連接以后,當(dāng)數(shù)據(jù)傳送完畢,肯定是要斷開TCP連接的啊。那對于TCP的斷開連接,這里就有了神秘的“四次分手”。

TCP/IP

  • ***次分手:主機(jī)1(可以使客戶端,也可以是服務(wù)器端),設(shè)置Sequence Number,向主機(jī)2發(fā)送一個FIN報文段;此時,主機(jī)1進(jìn)入FIN_WAIT_1狀態(tài);這表示主機(jī)1沒有數(shù)據(jù)要發(fā)送給主機(jī)2了;
  • 第二次分手:主機(jī)2收到了主機(jī)1發(fā)送的FIN報文段,向主機(jī)1回一個ACK報文段,Acknowledgment Number為Sequence Number加1;主機(jī)1進(jìn)入FIN_WAIT_2狀態(tài);主機(jī)2告訴主機(jī)1,我“同意”你的關(guān)閉請求;
  • 第三次分手: 主機(jī)2向主機(jī)1發(fā)送FIN報文段,請求關(guān)閉連接,同時主機(jī)2進(jìn)入LAST_ACK狀態(tài);
  • 第四次分手:主機(jī)1收到主機(jī)2發(fā)送的FIN報文段,向主機(jī)2發(fā)送ACK報文段,然后主機(jī)1進(jìn)入TIME_WAIT狀態(tài);主機(jī)2收到主機(jī)1的ACK報文段以后,就關(guān)閉連接;此時,主機(jī)1等待2MSL后依然沒有收到回復(fù),則證明Server端已正常關(guān)閉,那好,主機(jī)1也可以關(guān)閉連接了。

(1) 為什么要四次分手?

TCP協(xié)議是一種面向連接的、可靠的、基于字節(jié)流的運(yùn)輸層通信協(xié)議。

TCP是全雙工模式,這就意味著,當(dāng)主機(jī)1發(fā)出FIN報文段時,只是表示主機(jī)1已經(jīng)沒有數(shù)據(jù)要發(fā)送了,主機(jī)1告訴主機(jī)2,它的數(shù)據(jù)已經(jīng)全部發(fā)送完畢了;但是,這個時候主機(jī)1還是可以接受來自主機(jī)2的數(shù)據(jù);當(dāng)主機(jī)2返回ACK報文段時,表示它已經(jīng)知道主機(jī)1沒有數(shù)據(jù)發(fā)送了,但是主機(jī)2還是可以發(fā)送數(shù)據(jù)到主機(jī)1的;當(dāng)主機(jī)2也發(fā)送了FIN報文段時,這個時候就表示主機(jī)2也沒有數(shù)據(jù)要發(fā)送了,就會告訴主機(jī)1,我也沒有數(shù)據(jù)要發(fā)送了,之后彼此就會愉快的中斷這次TCP連接。

(2) 為什么要等待2MSL?

MSL:報文段***生存時間,它是任何報文段被丟棄前在網(wǎng)絡(luò)內(nèi)的最長時間。

原因有二:

  • 保證TCP協(xié)議的全雙工連接能夠可靠關(guān)閉。
  • 保證這次連接的重復(fù)數(shù)據(jù)段從網(wǎng)絡(luò)中消失。

***點(diǎn):如果主機(jī)1直接CLOSED了,那么由于IP協(xié)議的不可靠性或者是其它網(wǎng)絡(luò)原因,導(dǎo)致主機(jī)2沒有收到主機(jī)1***回復(fù)的ACK。那么主機(jī)2就會在超時之后繼續(xù)發(fā)送FIN,此時由于主機(jī)1已經(jīng)CLOSED了,就找不到與重發(fā)的FIN對應(yīng)的連接。所以,主機(jī)1不是直接進(jìn)入CLOSED,而是要保持TIME_WAIT,當(dāng)再次收到FIN的時候,能夠保證對方收到ACK,***正確的關(guān)閉連接。

第二點(diǎn):如果主機(jī)1直接CLOSED,然后又再向主機(jī)2發(fā)起一個新連接,我們不能保證這個新連接與剛關(guān)閉的連接的端口號是不同的。也就是說有可能新連接和老連接的端口號是相同的。一般來說不會發(fā)生什么問題,但是還是有特殊情況出現(xiàn):假設(shè)新連接和已經(jīng)關(guān)閉的老連接端口號是一樣的,如果前一次連接的某些數(shù)據(jù)仍然滯留在網(wǎng)絡(luò)中,這些延遲數(shù)據(jù)在建立新連接之后才到達(dá)主機(jī)2,由于新連接和老連接的端口號是一樣的,TCP協(xié)議就認(rèn)為那個延遲的數(shù)據(jù)是屬于新連接的,這樣就和真正的新連接的數(shù)據(jù)包發(fā)生混淆了。

所以TCP連接還要在TIME_WAIT狀態(tài)等待2倍MSL,這樣可以保證本次連接的所有數(shù)據(jù)都從網(wǎng)絡(luò)中消失。

九、TCP流量控制

如果發(fā)送方把數(shù)據(jù)發(fā)送得過快,接收方可能會來不及接收,這就會造成數(shù)據(jù)的丟失。所謂流量控制就是讓發(fā)送方的發(fā)送速率不要太快,要讓接收方來得及接收。

利用滑動窗口機(jī)制可以很方便地在TCP連接上實(shí)現(xiàn)對發(fā)送方的流量控制。

設(shè)A向B發(fā)送數(shù)據(jù)。在連接建立時,B告訴了A:“我的接收窗口是 rwnd = 400 ”(這里的 rwnd 表示 receiver window) 。因此,發(fā)送方的發(fā)送窗口不能超過接收方給出的接收窗口的數(shù)值。請注意,TCP的窗口單位是字節(jié),不是報文段。假設(shè)每一個報文段為100字節(jié)長,而數(shù)據(jù)報文段序號的初始值設(shè)為1。大寫ACK表示首部中的確認(rèn)位ACK,小寫ack表示確認(rèn)字段的值ack。

TCP/IP

從圖中可以看出,B進(jìn)行了三次流量控制。***次把窗口減少到 rwnd = 300 ,第二次又減到了 rwnd = 100 ,***減到 rwnd = 0 ,即不允許發(fā)送方再發(fā)送數(shù)據(jù)了。這種使發(fā)送方暫停發(fā)送的狀態(tài)將持續(xù)到主機(jī)B重新發(fā)出一個新的窗口值為止。B向A發(fā)送的三個報文段都設(shè)置了 ACK = 1 ,只有在ACK=1時確認(rèn)號字段才有意義。

TCP為每一個連接設(shè)有一個持續(xù)計時器(persistence timer)。只要TCP連接的一方收到對方的零窗口通知,就啟動持續(xù)計時器。若持續(xù)計時器設(shè)置的時間到期,就發(fā)送一個零窗口控測報文段(攜1字節(jié)的數(shù)據(jù)),那么收到這個報文段的一方就重新設(shè)置持續(xù)計時器。

十、TCP擁塞控制

1. 慢開始和擁塞避免

發(fā)送方維持一個擁塞窗口 cwnd ( congestion window )的狀態(tài)變量。擁塞窗口的大小取決于網(wǎng)絡(luò)的擁塞程度,并且動態(tài)地在變化。發(fā)送方讓自己的發(fā)送窗口等于擁塞窗口。

發(fā)送方控制擁塞窗口的原則是:只要網(wǎng)絡(luò)沒有出現(xiàn)擁塞,擁塞窗口就再增大一些,以便把更多的分組發(fā)送出去。但只要網(wǎng)絡(luò)出現(xiàn)擁塞,擁塞窗口就減小一些,以減少注入到網(wǎng)絡(luò)中的分組數(shù)。

(1) 慢開始算法:

當(dāng)主機(jī)開始發(fā)送數(shù)據(jù)時,如果立即所大量數(shù)據(jù)字節(jié)注入到網(wǎng)絡(luò),那么就有可能引起網(wǎng)絡(luò)擁塞,因?yàn)楝F(xiàn)在并不清楚網(wǎng)絡(luò)的負(fù)荷情況。

因此,較好的方法是 先探測一下,即由小到大逐漸增大發(fā)送窗口,也就是說,由小到大逐漸增大擁塞窗口數(shù)值。

通常在剛剛開始發(fā)送報文段時,先把擁塞窗口 cwnd 設(shè)置為一個***報文段MSS的數(shù)值。而在每收到一個對新的報文段的確認(rèn)后,把擁塞窗口增加至多一個MSS的數(shù)值。用這樣的方法逐步增大發(fā)送方的擁塞窗口 cwnd ,可以使分組注入到網(wǎng)絡(luò)的速率更加合理。

TCP/IP

每經(jīng)過一個傳輸輪次,擁塞窗口 cwnd 就加倍。一個傳輸輪次所經(jīng)歷的時間其實(shí)就是往返時間RTT。不過“傳輸輪次”更加強(qiáng)調(diào):把擁塞窗口cwnd所允許發(fā)送的報文段都連續(xù)發(fā)送出去,并收到了對已發(fā)送的***一個字節(jié)的確認(rèn)。

另外,慢開始的“慢”并不是指cwnd的增長速率慢,而是指在TCP開始發(fā)送報文段時先設(shè)置cwnd=1,使得發(fā)送方在開始時只發(fā)送一個報文段(目的是試探一下網(wǎng)絡(luò)的擁塞情況),然后再逐漸增大cwnd。

為了防止擁塞窗口cwnd增長過大引起網(wǎng)絡(luò)擁塞,還需要設(shè)置一個慢開始門限ssthresh狀態(tài)變量。慢開始門限ssthresh的用法如下:

  • 當(dāng) cwnd < ssthresh 時,使用上述的慢開始算法。
  • 當(dāng) cwnd > ssthresh 時,停止使用慢開始算法而改用擁塞避免算法。
  • 當(dāng) cwnd = ssthresh 時,既可使用慢開始算法,也可使用擁塞控制避免算法。

(2) 擁塞避免

讓擁塞窗口cwnd緩慢地增大,即每經(jīng)過一個往返時間RTT就把發(fā)送方的擁塞窗口cwnd加1,而不是加倍。這樣擁塞窗口cwnd按線性規(guī)律緩慢增長,比慢開始算法的擁塞窗口增長速率緩慢得多。

TCP/IP

無論在慢開始階段還是在擁塞避免階段,只要發(fā)送方判斷網(wǎng)絡(luò)出現(xiàn)擁塞(其根據(jù)就是沒有收到確認(rèn)),就要把慢開始門限ssthresh設(shè)置為出現(xiàn)擁塞時的發(fā)送 方窗口值的一半(但不能小于2)。然后把擁塞窗口cwnd重新設(shè)置為1,執(zhí)行慢開始算法。

這樣做的目的就是要迅速減少主機(jī)發(fā)送到網(wǎng)絡(luò)中的分組數(shù),使得發(fā)生 擁塞的路由器有足夠時間把隊列中積壓的分組處理完畢。

如下圖,用具體數(shù)值說明了上述擁塞控制的過程。現(xiàn)在發(fā)送窗口的大小和擁塞窗口一樣大。

TCP/IP

2. 快重傳和快恢復(fù)

(1) 快重傳

快重傳算法首先要求接收方每收到一個失序的報文段后就立即發(fā)出重復(fù)確認(rèn)(為的是使發(fā)送方及早知道有報文段沒有到達(dá)對方)而不要等到自己發(fā)送數(shù)據(jù)時才進(jìn)行捎帶確認(rèn)。

TCP/IP

接收方收到了M1和M2后都分別發(fā)出了確認(rèn)?,F(xiàn)在假定接收方?jīng)]有收到M3但接著收到了M4。

顯然,接收方不能確認(rèn)M4,因?yàn)镸4是收到的失序報文段。根據(jù) 可靠傳輸原理,接收方可以什么都不做,也可以在適當(dāng)時機(jī)發(fā)送一次對M2的確認(rèn)。

但按照快重傳算法的規(guī)定,接收方應(yīng)及時發(fā)送對M2的重復(fù)確認(rèn),這樣做可以讓 發(fā)送方及早知道報文段M3沒有到達(dá)接收方。發(fā)送方接著發(fā)送了M5和M6。接收方收到這兩個報文后,也還要再次發(fā)出對M2的重復(fù)確認(rèn)。這樣,發(fā)送方共收到了 接收方的四個對M2的確認(rèn),其中后三個都是重復(fù)確認(rèn)。

快重傳算法還規(guī)定,發(fā)送方只要一連收到三個重復(fù)確認(rèn)就應(yīng)當(dāng)立即重傳對方尚未收到的報文段M3,而不必 繼續(xù)等待M3設(shè)置的重傳計時器到期。

由于發(fā)送方盡早重傳未被確認(rèn)的報文段,因此采用快重傳后可以使整個網(wǎng)絡(luò)吞吐量提高約20%。

(2) 快恢復(fù)

與快重傳配合使用的還有快恢復(fù)算法,其過程有以下兩個要點(diǎn):

當(dāng)發(fā)送方連續(xù)收到三個重復(fù)確認(rèn),就執(zhí)行“乘法減小”算法,把慢開始門限ssthresh減半。

與慢開始不同之處是現(xiàn)在不執(zhí)行慢開始算法(即擁塞窗口cwnd現(xiàn)在不設(shè)置為1),而是把cwnd值設(shè)置為 慢開始門限ssthresh減半后的數(shù)值,然后開始執(zhí)行擁塞避免算法(“加法增大”),使擁塞窗口緩慢地線性增大。

TCP/IP

 
責(zé)任編輯:趙寧寧 來源: 簡書
相關(guān)推薦

2020-06-03 15:25:27

運(yùn)維架構(gòu)技術(shù)

2024-01-23 18:49:38

SQL聚合函數(shù)數(shù)據(jù)分析

2023-09-20 22:52:12

Kubernetes快捷方式

2023-11-08 18:01:53

硬重置Git命令

2023-12-01 18:06:35

2024-08-22 08:57:32

Python技巧參數(shù)

2018-10-26 14:10:21

2023-05-08 15:25:19

Python編程語言編碼技巧

2023-04-20 14:31:20

Python開發(fā)教程

2009-07-16 13:28:14

2022-08-26 14:46:31

機(jī)器學(xué)習(xí)算法線性回歸

2020-07-10 07:58:14

Linux

2024-11-15 11:11:48

2020-08-23 18:18:27

Python列表數(shù)據(jù)結(jié)構(gòu)

2023-12-15 10:42:05

2021-03-03 10:39:11

容器微服務(wù)IT

2011-02-28 16:43:55

2024-01-03 07:56:50

2025-10-30 07:20:00

2022-09-28 08:40:04

殺死一個終端進(jìn)程
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

这里只有精品6| 好吊日免费视频| 肉体视频在线| wwww国产精品欧美| 国产精品高清在线观看| 91网站免费入口| 精品一区二区三区四区五区| 国产精品久99| 精品国产综合区久久久久久| 欧美激情亚洲综合| 97人人精品| 亚洲国产小视频在线观看| 国产精品宾馆在线精品酒店| 三级在线播放| 国产精品自在在线| 97超级碰碰碰久久久| 极品人妻videosss人妻| 日韩三区四区| 欧美视频免费在线| 蜜臀av性久久久久蜜臀av| 亚洲国产视频一区二区三区| 91久久夜色精品国产九色| 亚洲丝袜在线视频| 精品久久久久一区二区| 国产私拍福利精品视频二区| 国产精品免费久久| 精品一卡二卡三卡四卡日本乱码| 国内av在线播放| 亚洲日本黄色| 美女国内精品自产拍在线播放| 国产精品伦子伦| 国产色99精品9i| 日本道精品一区二区三区| 精品国产一区二区三区在线| 午夜影院免费体验区| 国内精品伊人久久久久av一坑 | 风韵丰满熟妇啪啪区老熟熟女| xxxxx性欧美特大| 亚洲国产欧美另类丝袜| 伊人色综合久久天天五月婷| 丰满岳乱妇国产精品一区| 蜜桃视频第一区免费观看| 欧美亚洲成人网| 国产在线视频第一页| 91蜜臀精品国产自偷在线| 精品呦交小u女在线| 国产又黄又嫩又滑又白| 精品国产黄a∨片高清在线| 天天操天天色综合| 日韩一级性生活片| 国产蜜臀在线| 亚洲国产精品一区二区www在线| 一区二区成人国产精品 | 欧洲杯什么时候开赛| 亚洲成人网av| 国产av一区二区三区传媒| 999精品视频在线观看| 欧美伊人久久大香线蕉综合69 | 国产乱人伦偷精品视频免下载| 国产精品99蜜臀久久不卡二区| 在线观看免费国产视频| 欧美亚洲不卡| 欧美黑人国产人伦爽爽爽| 国产午夜精品理论片| 色喇叭免费久久综合网| 少妇精69xxtheporn| 免费看污片的网站| 欧美一区三区| www日韩中文字幕在线看| 秋霞网一区二区三区| 欧美猛男男男激情videos| 国产视频精品在线| 日本高清黄色片| 婷婷亚洲五月色综合| 日韩在线欧美在线| 中文字幕av播放| 黄色亚洲免费| 91av在线影院| 日韩久久久久久久久久| 日本不卡免费在线视频| 国产欧美久久一区二区| 91丨porny丨在线中文 | 久久夜色精品一区| 日本高清不卡三区| 免费黄色网页在线观看| 亚洲视频一区二区在线| 老司机午夜网站| 高潮在线视频| 欧美色欧美亚洲另类二区| www.这里只有精品| 97超碰成人| 国产亚洲欧美日韩精品| 国精产品视频一二二区| 在线中文一区| 91成人性视频| 91在线精品入口| av男人天堂一区| 日韩欧美一区二区三区久久婷婷| 欧洲日本在线| 午夜天堂影视香蕉久久| 久久婷婷国产精品| 国产免费av国片精品草莓男男| 欧美精品一区二区三区很污很色的| 亚洲精品乱码久久久久久不卡| 国产91久久精品一区二区| 北条麻妃在线一区二区| 久一视频在线观看| 六月丁香婷婷色狠狠久久| 99三级在线| 成年在线电影| 五月婷婷激情综合| 欧美激情第3页| 特黄特色欧美大片| 久久不射热爱视频精品| 黄色片免费观看视频| 狠狠色伊人亚洲综合成人| 国产精品一区而去| 国产在线观看av| 日本韩国精品在线| 性色av蜜臀av浪潮av老女人 | 国产老妇另类xxxxx| 精品婷婷色一区二区三区蜜桃| 思思99re6国产在线播放| 亚洲v中文字幕| 黄色三级视频在线播放| 九九亚洲视频| 69**夜色精品国产69乱| 国产精品-色哟哟| 中文字幕欧美日韩一区| 亚洲 自拍 另类小说综合图区| 伊人久久大香| 中日韩午夜理伦电影免费| 日韩视频免费观看高清| 精品影视av免费| 亚洲v国产v| 午夜欧美巨大性欧美巨大| 欧美变态tickle挠乳网站| 久久久久麻豆v国产| 亚欧成人精品| 久久99久久99精品蜜柚传媒| 免费网站免费进入在线| 欧美制服丝袜第一页| 毛茸茸多毛bbb毛多视频| 欧美三级不卡| 粉嫩精品一区二区三区在线观看| 欧美黑人激情| 91麻豆精品国产91久久久久久久久| 亚洲国产无码精品| 国产情侣一区| 日本一区免费看| 99欧美精品| 日日狠狠久久偷偷四色综合免费| 日本免费在线观看视频| jlzzjlzz亚洲日本少妇| 成人一级生活片| 999国产精品一区| 欧美激情伊人电影| 亚洲免费国产视频| 婷婷综合另类小说色区| 在线免费看黄色片| 亚洲国产mv| 久久综合九色综合网站| 日韩理论视频| 亚洲欧美日韩中文视频| 潘金莲一级淫片aaaaaa播放| 成人美女视频在线看| 奇米影视亚洲色图| 伊人春色精品| 国产狼人综合免费视频| 欧美黑人激情| 亚洲第一福利网站| 日韩 国产 欧美| 亚洲欧洲美洲综合色网| 欧洲美女亚洲激情| 一本久道综合久久精品| 欧美lavv| 久久久久久久久久久久电影| xxxxx成人.com| 亚洲va久久久噜噜噜无码久久| 亚洲尤物视频在线| 国产女主播喷水高潮网红在线| 日韩精品亚洲一区| 国产又粗又爽又黄的视频| 亚洲精品一区二区三区在线| 久操成人在线视频| 日本精品专区| 欧美一级专区免费大片| 日韩免费av片| 国产精品美女久久久久久2018 | 1级黄色大片儿| 中文字幕精品—区二区四季| 九九精品久久久| 激情综合亚洲| 青青草原国产免费| 亚洲aaa级| 亚洲在线免费视频| 亚洲v.com| 欧美成人合集magnet| 五月婷婷综合久久| 欧美一区二区美女| 无码人妻久久一区二区三区 | 久草视频中文在线| 久久精品视频免费| 波多野结衣中文字幕在线播放| 国产精品日本| 日本福利视频在线观看| 欧洲专线二区三区| 国产精品一区二区免费| 国产成+人+综合+亚洲欧美| 国产69精品久久久久9| 波多野结衣在线影院| 精品美女一区二区| 一级特黄特色的免费大片视频| 亚洲v精品v日韩v欧美v专区| 中文字幕网站在线观看| 粉嫩绯色av一区二区在线观看| 激情五月亚洲色图| 亚洲免费在线| 国产成人永久免费视频| 日韩成人a**站| 农村寡妇一区二区三区| eeuss鲁片一区二区三区| 热久久美女精品天天吊色| caoporn国产精品免费视频| 亚洲成人在线网| 国产喷水福利在线视频| 91电影在线观看| wwwxxx亚洲| 亚洲一级二级在线| 一区二区三区四区五区| 国产欧美精品一区二区三区四区| 国产一线在线观看| 国产宾馆实践打屁股91| 蜜臀一区二区三区精品免费视频| 久久久蜜桃一区二区人| 国产精品999视频| 亚洲精品极品| 国产毛片视频网站| 国产精品第十页| 国产精品自拍合集| 欧美欧美天天天天操| 日韩第一页在线观看| 青青草国产成人a∨下载安卓| 日本视频一区在线观看| 日韩激情网站| 欧美久久在线| 欧洲三级视频| 亚洲亚洲精品三区日韩精品在线视频| 精品久久久久久久| 翔田千里亚洲一二三区| jiujiure精品视频播放| 日本欧洲国产一区二区| 韩日一区二区三区| 四虎永久国产精品| 国产精品麻豆久久| 亚洲精品天堂成人片av在线播放| 亚洲国产精品久久久天堂| 久久久一二三四| 欧美日韩一视频区二区| 日本wwwcom| 国产精品久久777777毛茸茸 | 精品久久久久久综合日本欧美| 国产强被迫伦姧在线观看无码| 4438成人网| 亚洲国产精品久久久久爰性色| 日韩女优电影在线观看| 亚洲AV无码一区二区三区少妇| 日韩欧美国产三级| 神马午夜电影一区二区三区在线观看| 日韩精品免费在线视频观看| 色一情一乱一区二区三区| 精品伊人久久97| 麻豆传媒在线免费看| 久久69精品久久久久久久电影好| 色操视频在线| 国产精品电影观看| 欧美黄色一级| 久久综合福利| 一精品久久久| 免费看一级大黄情大片| 久久精品日产第一区二区| 久久这里只精品| 懂色av一区二区三区免费观看| 国产熟女高潮一区二区三区| aaa欧美日韩| 久草福利资源在线| 五月天久久比比资源色| 日本妇乱大交xxxxx| 欧美一区二区三区电影| 日本人妻熟妇久久久久久| 亚洲午夜久久久影院| 草莓福利社区在线| 97欧美精品一区二区三区| 高清av一区二区三区| 3d动漫精品啪啪一区二区三区免费 | 激情懂色av一区av二区av| 无码人妻丰满熟妇区五十路 | 成年网站免费在线观看| 豆国产96在线|亚洲| 69视频在线观看免费| 一区二区三区欧美激情| 无码人妻熟妇av又粗又大| 日韩一区二区三区精品视频| 人妻一区二区三区免费| 一本色道久久88综合日韩精品| 青青青国内视频在线观看软件| 57pao国产成人免费| 亚洲男女网站| 日韩av电影免费播放| 欧美视频官网| 欧美自拍小视频| 99riav一区二区三区| 亚洲少妇xxx| 91久久国产最好的精华液| 亚洲爱情岛论坛永久| 色香阁99久久精品久久久| 校园春色亚洲| 国产亚洲一区二区三区在线播放| 日韩欧美网站| 中文字幕国产传媒| 久久久蜜桃精品| 黄色片视频网站| 精品国产百合女同互慰| 老司机午夜在线| 国产美女久久精品香蕉69| 亚洲ab电影| 亚洲自偷自拍熟女另类| 久久99久久久久久久久久久| 三级男人添奶爽爽爽视频 | 日韩中文字幕在线视频| 欧美三级网址| 欧美三级华人主播| 免费亚洲一区| 素人fc2av清纯18岁| 午夜精品久久久久久久99水蜜桃| 国产极品久久久| 欧美精品一区在线播放| 亚洲高清影院| 日本一级淫片演员| 国产在线精品免费av| 国产主播av在线| 欧美日韩成人一区| 免费网站看v片在线a| 91精品久久久久久久久久另类| 国产麻豆精品久久| 国产免费视频传媒| 国产欧美一区二区精品仙草咪| 激情视频网站在线观看| 亚洲乱码国产乱码精品精天堂| 999av小视频在线| 久久国产精品一区二区三区| 亚洲视频福利| 亚洲一区二区三区四区五区六区| 午夜精品爽啪视频| 欧美高清成人| 国产精品久久久久久久久久免费| 免费看成人吃奶视频在线| 国产精品99久久免费黑人人妻| 久久久亚洲午夜电影| 波多野结衣mp4| 久久激情视频免费观看| 国产午夜精品一区在线观看| 一区不卡字幕| 成人一区二区三区在线观看 | 国内精品久久久久久野外| 成人在线视频网| 亚洲视频一二| 美女爆乳18禁www久久久久久 | 青青草原成人网| 中文字幕电影一区| 国产黄色av片| 38少妇精品导航| 亚洲精品一区二区在线看| 日批视频在线看| 日韩欧美在线播放| 夜级特黄日本大片_在线| 亚洲最大av在线| 香蕉亚洲视频| 久草福利资源在线| 亚洲国产精品电影在线观看| 国产在线看片免费视频在线观看| 欧美极品日韩| 国产精品影视网| av大全在线观看| 欧美成人性生活| 欧美激情在线免费| wwwww在线观看| 在线欧美小视频| 欧美草逼视频| 亚洲国产婷婷香蕉久久久久久99 | 日本精品一二三区| 欧美日韩中文精品| 96av在线| 艳母动漫在线免费观看| 成人毛片视频在线观看| 无码人妻丰满熟妇奶水区码| 色妞欧美日韩在线| 校园春色另类视频| 亚洲丝袜在线观看| 欧美三级韩国三级日本三斤|